From 51d7c709efb72912eb0c8cddeee486484fc90099 Mon Sep 17 00:00:00 2001 From: Kyle Van Essen Date: Fri, 22 Jan 2021 23:26:26 -0800 Subject: [PATCH 1/2] Prepare for 0.15.0 --- BlueprintUILists.podspec | 2 +- CHANGELOG.md | 25 ++++++++++++++++--------- ListableUI.podspec | 2 +- Podfile.lock | 12 ++++++------ 4 files changed, 24 insertions(+), 17 deletions(-) diff --git a/BlueprintUILists.podspec b/BlueprintUILists.podspec index e41ce17f7..3a8a389a4 100644 --- a/BlueprintUILists.podspec +++ b/BlueprintUILists.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = 'BlueprintUILists' - s.version = '0.14.2' + s.version = '0.15.0' s.summary = 'Declarative list views for iOS apps that deploy back to iOS 11.0.' s.homepage = 'https://github.com/kyleve/Listable' s.license = 'Apache License, Version 2.0' diff --git a/CHANGELOG.md b/CHANGELOG.md index 13b434b4b..0ef730580 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,27 +4,33 @@ ### Added -- [Introduce support for layout customization for `Item`, `HeaderFooter`, and `Section`](https://github.com/kyleve/Listable/pull/257) for all `ListLayout` types, not just `.table`. - -- [Add `inserted` and `removed` items to `.onContentChanged`](https://github.com/kyleve/Listable/pull/260), to easily determine what content was added or removed from the list a central location. - ### Removed ### Changed -- [Rename `.list` layout to `.table`](https://github.com/kyleve/Listable/pull/258), which is clearer, and also reduces confusion between `ListLayout` (the base protocol for layouts), and the specific table-type layout. - ### Misc # Past Releases -# [0.14.2] - 2020-01-21 +# [0.15.0] - 2021-01-22 + +### Added + +- [Introduce support for layout customization for `Item`, `HeaderFooter`, and `Section`](https://github.com/kyleve/Listable/pull/257) for all `ListLayout` types, not just `.table`. + +- [Add `inserted` and `removed` items to `.onContentChanged`](https://github.com/kyleve/Listable/pull/260), to easily determine what content was added or removed from the list a central location. + +### Changed + +- [Rename `.list` layout to `.table`](https://github.com/kyleve/Listable/pull/258), which is clearer, and also reduces confusion between `ListLayout` (the base protocol for layouts), and the specific table-type layout. + +# [0.14.2] - 2021-01-21 ### Fixed - `SwipeActionsConfiguration.performsFirstActionWithFullSwipe` is now respected when set to `false`. -# [0.14.1] - 2020-01-06 +# [0.14.1] - 2021-01-06 ### Fixed @@ -279,7 +285,8 @@ Earlier releases were ad-hoc and not tracked. To see all changes, please reference [closed PRs on Github](https://github.com/kyleve/Listable/pulls?q=is%3Apr+is%3Aclosed). -[Main]: https://github.com/kyleve/Listable/compare/0.14.2...HEAD +[Main]: https://github.com/kyleve/Listable/compare/0.15.0...HEAD +[0.15.0]: https://github.com/kyleve/Listable/compare/0.14.2...0.15.0 [0.14.1]: https://github.com/kyleve/Listable/compare/0.14.1...0.14.2 [0.14.1]: https://github.com/kyleve/Listable/compare/0.13.0...0.14.1 [0.13.0]: https://github.com/kyleve/Listable/compare/0.12.1...0.13.0 diff --git a/ListableUI.podspec b/ListableUI.podspec index bd27a4f1c..8f46fc45b 100644 --- a/ListableUI.podspec +++ b/ListableUI.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = 'ListableUI' - s.version = '0.14.2' + s.version = '0.15.0' s.summary = 'Declarative list views for iOS apps that deploy back to iOS 11.0.' s.homepage = 'https://github.com/kyleve/Listable' s.license = 'Apache License, Version 2.0' diff --git a/Podfile.lock b/Podfile.lock index c59683520..f4e54cfc5 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -2,15 +2,15 @@ PODS: - BlueprintUI (0.20.0) - BlueprintUICommonControls (0.20.0): - BlueprintUI - - BlueprintUILists (0.14.2): + - BlueprintUILists (0.15.0): - BlueprintUI - ListableUI - - BlueprintUILists/Tests (0.14.2): + - BlueprintUILists/Tests (0.15.0): - BlueprintUI - ListableUI - EnglishDictionary (1.0.0.LOCAL) - - ListableUI (0.14.2) - - ListableUI/Tests (0.14.2): + - ListableUI (0.15.0) + - ListableUI/Tests (0.15.0): - EnglishDictionary - Snapshot - Snapshot (1.0.0.LOCAL) @@ -45,9 +45,9 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: BlueprintUI: d26766f3e006d1f9348cba6a7f15efc64da74cb3 BlueprintUICommonControls: b7b6a10581203f4bd6283c9d2a9b810d513d804b - BlueprintUILists: afcc5b470731c70d1c2952ee4c24e6bcd566a2bd + BlueprintUILists: f18013df0909d82d463c3a18f4c477b2034040c0 EnglishDictionary: f03968b9382ddc5c8dd63535efbf783c6cd45f1c - ListableUI: 40e95b6299084145f04b421353612efbf9f50672 + ListableUI: fc0cb30981776da135ac6e50792c8e1ba9aa6b9f Snapshot: cda3414db426919d09f775434b36289c8e864183 PODFILE CHECKSUM: c1209f66d9213201c70fd26a2f0907a6e29e8cbe From 4c87cfb5e4f0c91a16611eeb3fab293f1579ba73 Mon Sep 17 00:00:00 2001 From: Kyle Van Essen Date: Fri, 22 Jan 2021 23:28:11 -0800 Subject: [PATCH 2/2] Update docs for 0.15.0 --- docs/BlueprintLists/Extensions.html | 2 +- docs/BlueprintLists/Extensions/Element.html | 2 +- .../Extensions/HeaderFooter.html | 2 +- docs/BlueprintLists/Extensions/Item.html | 2 +- docs/BlueprintLists/Protocols.html | 2 +- .../BlueprintHeaderFooterContent.html | 2 +- .../Protocols/BlueprintItemContent.html | 2 +- docs/BlueprintLists/Structs.html | 2 +- .../BlueprintHeaderFooterContentWrapper.html | 2 +- .../Structs/BlueprintItemContentWrapper.html | 2 +- docs/BlueprintLists/Structs/List.html | 2 +- .../Structs/ListReorderGesture.html | 2 +- docs/BlueprintLists/Typealiases.html | 2 +- .../Resources/Documents/Extensions.html | 2 +- .../Documents/Extensions/Element.html | 2 +- .../Documents/Extensions/HeaderFooter.html | 2 +- .../Resources/Documents/Extensions/Item.html | 2 +- .../Resources/Documents/Protocols.html | 2 +- .../BlueprintHeaderFooterContent.html | 2 +- .../Protocols/BlueprintItemContent.html | 2 +- .../Contents/Resources/Documents/Structs.html | 2 +- .../BlueprintHeaderFooterContentWrapper.html | 2 +- .../Structs/BlueprintItemContentWrapper.html | 2 +- .../Resources/Documents/Structs/List.html | 2 +- .../Documents/Structs/ListReorderGesture.html | 2 +- .../Resources/Documents/Typealiases.html | 2 +- .../Contents/Resources/Documents/index.html | 12 +- .../BlueprintLists/docsets/BlueprintLists.tgz | Bin 94040 -> 94046 bytes docs/BlueprintLists/index.html | 12 +- docs/BlueprintLists/undocumented.json | 10 +- docs/JSON/BlueprintUILists.json | 874 +- docs/JSON/ListableUI.json | 32546 ++++++++-------- docs/Listable/Classes.html | 58 +- docs/Listable/Classes/AnyIdentifier.html | 58 +- .../DefaultItemContentCoordinator.html | 58 +- .../Classes/DefaultSwipeActionsView.html | 58 +- docs/Listable/Classes/DynamicSource.html | 58 +- docs/Listable/Classes/Identifier.html | 58 +- .../ItemContentCoordinatorActions.html | 58 +- .../Classes/ItemContentCoordinatorInfo.html | 58 +- docs/Listable/Classes/ItemPreviewView.html | 58 +- docs/Listable/Classes/ListActions.html | 58 +- .../Classes/ListActions/Scrolling.html | 58 +- .../ViewControllerTransitioning.html | 58 +- docs/Listable/Classes/ListLayoutContent.html | 58 +- docs/Listable/Classes/ListView.html | 58 +- docs/Listable/Classes/ListViewController.html | 60 +- docs/Listable/Classes/ReorderingActions.html | 58 +- docs/Listable/Classes/SourceState.html | 58 +- docs/Listable/Classes/StateAccessor.html | 58 +- docs/Listable/Classes/StaticSource.html | 58 +- docs/Listable/Classes/StaticSource/State.html | 58 +- .../__LST_KeyboardObserver_ObjCAccess.html | 58 +- docs/Listable/Enums.html | 58 +- docs/Listable/Enums/ApplyReason.html | 58 +- docs/Listable/Enums/AutoScrollAction.html | 58 +- .../AutoScrollAction/OnInsertedItem.html | 58 +- .../AutoScrollAction/ScrollDestination.html | 58 +- docs/Listable/Enums/ContentFilters.html | 58 +- docs/Listable/Enums/CustomWidth.html | 58 +- .../Listable/Enums/CustomWidth/Alignment.html | 58 +- docs/Listable/Enums/CustomWidth/Custom.html | 58 +- docs/Listable/Enums/ItemPosition.html | 58 +- docs/Listable/Enums/ItemSelectionStyle.html | 58 +- docs/Listable/Enums/LayoutDirection.html | 58 +- docs/Listable/Enums/ListSizing.html | 58 +- docs/Listable/Enums/ScrollAnimation.html | 58 +- .../ScrollAnimation/AnimationOptions.html | 58 +- docs/Listable/Enums/Sizing.html | 58 +- docs/Listable/Enums/Sizing/Constraint.html | 58 +- .../Enums/Sizing/Constraint/Axis.html | 58 +- .../Enums/Sizing/Constraint/Axis/Value.html | 58 +- docs/Listable/Enums/SwipeActionState.html | 58 +- docs/Listable/Enums/WidthConstraint.html | 58 +- docs/Listable/Extensions.html | 58 +- docs/Listable/Extensions/SectionedDiff.html | 58 +- docs/Listable/Extensions/Set.html | 58 +- docs/Listable/Extensions/UIRectEdge.html | 58 +- docs/Listable/Functions.html | 58 +- docs/Listable/Protocols.html | 184 +- docs/Listable/Protocols/AnyHeaderFooter.html | 66 +- .../Protocols/AnyHeaderFooter_Internal.html | 66 +- docs/Listable/Protocols/AnyItem.html | 66 +- docs/Listable/Protocols/AnyItem_Internal.html | 58 +- .../AnyLayoutDescriptionConfiguration.html | 58 +- docs/Listable/Protocols/AnyListLayout.html | 58 +- .../Protocols/AnyLocalizedCollatableItem.html | 58 +- docs/Listable/Protocols/AnySectionInfo.html | 58 +- .../CollectionViewLayoutDelegate.html | 58 +- .../Protocols/HeaderFooterContent.html | 58 +- .../HeaderFooterLayoutsValue.html} | 181 +- docs/Listable/Protocols/ItemContent.html | 58 +- .../Protocols/ItemContentCoordinator.html | 58 +- .../ItemContentSwipeActionsView.html | 58 +- .../ItemLayoutsValue.html} | 125 +- .../Protocols/ListEnvironmentKey.html | 58 +- docs/Listable/Protocols/ListLayout.html | 58 +- .../Protocols/ListLayoutAppearance.html | 58 +- docs/Listable/Protocols/ListViewSource.html | 58 +- .../LocalizedCollatableItemContent.html | 58 +- docs/Listable/Protocols/SectionInfo.html | 58 +- .../SectionLayoutsValue.html} | 181 +- docs/Listable/Structs.html | 381 +- docs/Listable/Structs/Appearance.html | 58 +- .../Structs/ApplyHeaderFooterContentInfo.html | 58 +- .../Structs/ApplyItemContentInfo.html | 58 +- docs/Listable/Structs/Behavior.html | 58 +- .../Behavior/KeyboardAdjustmentMode.html | 58 +- .../Structs/Behavior/ScrollsToTop.html | 58 +- .../Structs/Behavior/SelectionMode.html | 58 +- docs/Listable/Structs/Behavior/Underflow.html | 58 +- .../Structs/Behavior/Underflow/Alignment.html | 58 +- docs/Listable/Structs/Color.html | 58 +- docs/Listable/Structs/Content.html | 66 +- .../Structs/DefaultItemProperties.html | 74 +- docs/Listable/Structs/EmbeddedList.html | 58 +- .../Listable/Structs/EmbeddedList/Sizing.html | 58 +- docs/Listable/Structs/GridAppearance.html | 142 +- .../HeaderFooterLayout.html} | 126 +- .../Structs/GridAppearance/ItemLayout.html | 651 + .../Structs/GridAppearance/Layout.html | 58 +- .../SectionLayout.html} | 95 +- .../Structs/GridAppearance/Sizing.html | 58 +- .../GridAppearance/Sizing/ItemSize.html | 58 +- docs/Listable/Structs/HeaderFooter.html | 74 +- .../Structs/HeaderFooterContentViews.html | 58 +- .../Listable/Structs/HeaderFooterLayouts.html | 756 + docs/Listable/Structs/HorizontalPadding.html | 58 +- docs/Listable/Structs/Item.html | 76 +- docs/Listable/Structs/Item/OnDeselect.html | 58 +- docs/Listable/Structs/Item/OnDisplay.html | 58 +- docs/Listable/Structs/Item/OnEndDisplay.html | 58 +- docs/Listable/Structs/Item/OnInsert.html | 58 +- docs/Listable/Structs/Item/OnMove.html | 58 +- docs/Listable/Structs/Item/OnRemove.html | 58 +- docs/Listable/Structs/Item/OnSelect.html | 58 +- docs/Listable/Structs/Item/OnUpdate.html | 58 +- docs/Listable/Structs/ItemContentViews.html | 58 +- .../ItemInsertAndRemoveAnimations.html | 58 +- .../Attributes.html | 58 +- docs/Listable/Structs/ItemLayouts.html | 755 + docs/Listable/Structs/ItemPreview.html | 58 +- .../Structs/ItemPreview/Properties.html | 58 +- .../Structs/ItemPreviewAppearance.html | 58 +- docs/Listable/Structs/ItemState.html | 58 +- docs/Listable/Structs/LayoutDescription.html | 84 +- docs/Listable/Structs/ListEnvironment.html | 58 +- .../Structs/ListLayoutAttributes.html | 58 +- docs/Listable/Structs/ListLayoutDefaults.html | 58 +- docs/Listable/Structs/ListLayoutPoint.html | 58 +- .../ListLayoutScrollViewProperties.html | 58 +- .../ContentInsetAdjustmentBehavior.html | 58 +- docs/Listable/Structs/ListLayoutSize.html | 58 +- docs/Listable/Structs/ListProperties.html | 72 +- .../Structs/ListScrollPositionInfo.html | 58 +- docs/Listable/Structs/ListStateObserver.html | 58 +- .../ListStateObserver/ContentUpdated.html | 113 +- .../ContentUpdated/InsertionsAndRemovals.html | 680 + .../InsertionsAndRemovals/ChangedIDs.html | 652 + .../Structs/ListStateObserver/DidScroll.html | 58 +- .../ListStateObserver/FrameChanged.html | 58 +- .../ListStateObserver/SelectionChanged.html | 58 +- .../ListStateObserver/VisibilityChanged.html | 58 +- .../Structs/LocalizedItemCollator.html | 58 +- .../CollatedSection.html | 58 +- docs/Listable/Structs/PagedAppearance.html | 58 +- docs/Listable/Structs/RefreshControl.html | 58 +- .../Structs/RefreshControl/Title.html | 58 +- docs/Listable/Structs/Reordering.html | 58 +- docs/Listable/Structs/Reordering/Result.html | 58 +- .../Listable/Structs/Reordering/Sections.html | 58 +- docs/Listable/Structs/ScrollPosition.html | 58 +- .../ScrollPosition/IfAlreadyVisible.html | 58 +- .../Structs/ScrollPosition/Position.html | 58 +- docs/Listable/Structs/Section.html | 242 +- docs/Listable/Structs/SectionLayouts.html | 755 + docs/Listable/Structs/SwipeAction.html | 58 +- .../Structs/SwipeActionsConfiguration.html | 58 +- ...stAppearance.html => TableAppearance.html} | 208 +- .../TableAppearance/HeaderFooterLayout.html | 680 + .../Structs/TableAppearance/ItemLayout.html | 736 + .../TableAppearance}/Layout.html | 102 +- .../TableAppearance/SectionLayout.html | 764 + .../SectionLayout/Columns.html | 706 + .../Sizing.html | 94 +- docs/Listable/Typealiases.html | 58 +- docs/Listable/badge.svg | 4 +- .../Contents/Resources/Documents/Classes.html | 58 +- .../Documents/Classes/AnyIdentifier.html | 58 +- .../DefaultItemContentCoordinator.html | 58 +- .../Classes/DefaultSwipeActionsView.html | 58 +- .../Documents/Classes/DynamicSource.html | 58 +- .../Documents/Classes/Identifier.html | 58 +- .../ItemContentCoordinatorActions.html | 58 +- .../Classes/ItemContentCoordinatorInfo.html | 58 +- .../Documents/Classes/ItemPreviewView.html | 58 +- .../Documents/Classes/ListActions.html | 58 +- .../Classes/ListActions/Scrolling.html | 58 +- .../ViewControllerTransitioning.html | 58 +- .../Documents/Classes/ListLayoutContent.html | 58 +- .../Resources/Documents/Classes/ListView.html | 58 +- .../Documents/Classes/ListViewController.html | 60 +- .../Documents/Classes/ReorderingActions.html | 58 +- .../Documents/Classes/SourceState.html | 58 +- .../Documents/Classes/StateAccessor.html | 58 +- .../Documents/Classes/StaticSource.html | 58 +- .../Documents/Classes/StaticSource/State.html | 58 +- .../__LST_KeyboardObserver_ObjCAccess.html | 58 +- .../Contents/Resources/Documents/Enums.html | 58 +- .../Documents/Enums/ApplyReason.html | 58 +- .../Documents/Enums/AutoScrollAction.html | 58 +- .../AutoScrollAction/OnInsertedItem.html | 58 +- .../AutoScrollAction/ScrollDestination.html | 58 +- .../Documents/Enums/ContentFilters.html | 58 +- .../Documents/Enums/CustomWidth.html | 58 +- .../Enums/CustomWidth/Alignment.html | 58 +- .../Documents/Enums/CustomWidth/Custom.html | 58 +- .../Documents/Enums/ItemPosition.html | 58 +- .../Documents/Enums/ItemSelectionStyle.html | 58 +- .../Documents/Enums/LayoutDirection.html | 58 +- .../Resources/Documents/Enums/ListSizing.html | 58 +- .../Documents/Enums/ScrollAnimation.html | 58 +- .../ScrollAnimation/AnimationOptions.html | 58 +- .../Resources/Documents/Enums/Sizing.html | 58 +- .../Documents/Enums/Sizing/Constraint.html | 58 +- .../Enums/Sizing/Constraint/Axis.html | 58 +- .../Enums/Sizing/Constraint/Axis/Value.html | 58 +- .../Documents/Enums/SwipeActionState.html | 58 +- .../Documents/Enums/WidthConstraint.html | 58 +- .../Resources/Documents/Extensions.html | 58 +- .../Documents/Extensions/SectionedDiff.html | 58 +- .../Resources/Documents/Extensions/Set.html | 58 +- .../Documents/Extensions/UIRectEdge.html | 58 +- .../Resources/Documents/Functions.html | 58 +- .../Resources/Documents/Protocols.html | 184 +- .../Documents/Protocols/AnyHeaderFooter.html | 66 +- .../Protocols/AnyHeaderFooter_Internal.html | 66 +- .../Documents/Protocols/AnyItem.html | 66 +- .../Documents/Protocols/AnyItem_Internal.html | 58 +- .../AnyLayoutDescriptionConfiguration.html | 58 +- .../Documents/Protocols/AnyListLayout.html | 58 +- .../Protocols/AnyLocalizedCollatableItem.html | 58 +- .../Documents/Protocols/AnySectionInfo.html | 58 +- .../CollectionViewLayoutDelegate.html | 58 +- .../Protocols/HeaderFooterContent.html | 58 +- .../Protocols/HeaderFooterLayoutsValue.html | 639 + .../Documents/Protocols/ItemContent.html | 58 +- .../Protocols/ItemContentCoordinator.html | 58 +- .../ItemContentSwipeActionsView.html | 58 +- .../ItemLayoutsValue.html} | 125 +- .../Protocols/ListEnvironmentKey.html | 58 +- .../Documents/Protocols/ListLayout.html | 58 +- .../Protocols/ListLayoutAppearance.html | 58 +- .../Documents/Protocols/ListViewSource.html | 58 +- .../LocalizedCollatableItemContent.html | 58 +- .../Documents/Protocols/SectionInfo.html | 58 +- .../Protocols/SectionLayoutsValue.html | 639 + .../Contents/Resources/Documents/Structs.html | 381 +- .../Documents/Structs/Appearance.html | 58 +- .../Structs/ApplyHeaderFooterContentInfo.html | 58 +- .../Structs/ApplyItemContentInfo.html | 58 +- .../Resources/Documents/Structs/Behavior.html | 58 +- .../Behavior/KeyboardAdjustmentMode.html | 58 +- .../Structs/Behavior/ScrollsToTop.html | 58 +- .../Structs/Behavior/SelectionMode.html | 58 +- .../Documents/Structs/Behavior/Underflow.html | 58 +- .../Structs/Behavior/Underflow/Alignment.html | 58 +- .../Resources/Documents/Structs/Color.html | 58 +- .../Resources/Documents/Structs/Content.html | 66 +- .../Structs/DefaultItemProperties.html | 74 +- .../Documents/Structs/EmbeddedList.html | 58 +- .../Structs/EmbeddedList/Sizing.html | 58 +- .../Documents/Structs/GridAppearance.html | 142 +- .../HeaderFooterLayout.html} | 126 +- .../Structs/GridAppearance/ItemLayout.html | 651 + .../Structs/GridAppearance/Layout.html | 58 +- .../SectionLayout.html} | 95 +- .../Structs/GridAppearance/Sizing.html | 58 +- .../GridAppearance/Sizing/ItemSize.html | 58 +- .../Documents/Structs/HeaderFooter.html | 74 +- .../Structs/HeaderFooterContentViews.html | 58 +- .../Structs/HeaderFooterLayouts.html | 756 + .../Documents/Structs/HorizontalPadding.html | 58 +- .../Resources/Documents/Structs/Item.html | 76 +- .../Documents/Structs/Item/OnDeselect.html | 58 +- .../Documents/Structs/Item/OnDisplay.html | 58 +- .../Documents/Structs/Item/OnEndDisplay.html | 58 +- .../Documents/Structs/Item/OnInsert.html | 58 +- .../Documents/Structs/Item/OnMove.html | 58 +- .../Documents/Structs/Item/OnRemove.html | 58 +- .../Documents/Structs/Item/OnSelect.html | 58 +- .../Documents/Structs/Item/OnUpdate.html | 58 +- .../Documents/Structs/ItemContentViews.html | 58 +- .../ItemInsertAndRemoveAnimations.html | 58 +- .../Attributes.html | 58 +- .../Documents/Structs/ItemLayouts.html | 755 + .../Documents/Structs/ItemPreview.html | 58 +- .../Structs/ItemPreview/Properties.html | 58 +- .../Structs/ItemPreviewAppearance.html | 58 +- .../Documents/Structs/ItemState.html | 58 +- .../Documents/Structs/LayoutDescription.html | 84 +- .../Documents/Structs/ListEnvironment.html | 58 +- .../Structs/ListLayoutAttributes.html | 58 +- .../Documents/Structs/ListLayoutDefaults.html | 58 +- .../Documents/Structs/ListLayoutPoint.html | 58 +- .../ListLayoutScrollViewProperties.html | 58 +- .../ContentInsetAdjustmentBehavior.html | 58 +- .../Documents/Structs/ListLayoutSize.html | 58 +- .../Documents/Structs/ListProperties.html | 72 +- .../Structs/ListScrollPositionInfo.html | 58 +- .../Documents/Structs/ListStateObserver.html | 58 +- .../ListStateObserver/ContentUpdated.html | 113 +- .../ContentUpdated/InsertionsAndRemovals.html | 680 + .../InsertionsAndRemovals/ChangedIDs.html | 652 + .../Structs/ListStateObserver/DidScroll.html | 58 +- .../ListStateObserver/FrameChanged.html | 58 +- .../ListStateObserver/SelectionChanged.html | 58 +- .../ListStateObserver/VisibilityChanged.html | 58 +- .../Structs/LocalizedItemCollator.html | 58 +- .../CollatedSection.html | 58 +- .../Documents/Structs/PagedAppearance.html | 58 +- .../Documents/Structs/RefreshControl.html | 58 +- .../Structs/RefreshControl/Title.html | 58 +- .../Documents/Structs/Reordering.html | 58 +- .../Documents/Structs/Reordering/Result.html | 58 +- .../Structs/Reordering/Sections.html | 58 +- .../Documents/Structs/ScrollPosition.html | 58 +- .../ScrollPosition/IfAlreadyVisible.html | 58 +- .../Structs/ScrollPosition/Position.html | 58 +- .../Resources/Documents/Structs/Section.html | 242 +- .../Documents/Structs/SectionLayouts.html | 755 + .../Documents/Structs/SwipeAction.html | 58 +- .../Structs/SwipeActionsConfiguration.html | 58 +- ...stAppearance.html => TableAppearance.html} | 208 +- .../TableAppearance/HeaderFooterLayout.html | 680 + .../Structs/TableAppearance/ItemLayout.html | 736 + .../Structs/TableAppearance}/Layout.html | 102 +- .../TableAppearance/SectionLayout.html | 764 + .../SectionLayout/Columns.html | 706 + .../Sizing.html | 94 +- .../Resources/Documents/Typealiases.html | 58 +- .../Contents/Resources/Documents/index.html | 68 +- .../Contents/Resources/Documents/search.json | 2 +- .../Contents/Resources/docSet.dsidx | Bin 229376 -> 245760 bytes docs/Listable/docsets/Listable.tgz | Bin 664004 -> 727078 bytes docs/Listable/index.html | 68 +- docs/Listable/search.json | 2 +- docs/Listable/undocumented.json | 1787 +- 348 files changed, 47765 insertions(+), 22650 deletions(-) rename docs/Listable/{Structs/ItemLayout.html => Protocols/HeaderFooterLayoutsValue.html} (83%) rename docs/Listable/{Structs/HeaderFooterLayout.html => Protocols/ItemLayoutsValue.html} (88%) rename docs/Listable/{docsets/Listable.docset/Contents/Resources/Documents/Structs/ItemLayout.html => Protocols/SectionLayoutsValue.html} (83%) rename docs/Listable/Structs/{Section/Columns.html => GridAppearance/HeaderFooterLayout.html} (89%) create mode 100644 docs/Listable/Structs/GridAppearance/ItemLayout.html rename docs/Listable/Structs/{Section/Layout.html => GridAppearance/SectionLayout.html} (89%) create mode 100644 docs/Listable/Structs/HeaderFooterLayouts.html create mode 100644 docs/Listable/Structs/ItemLayouts.html create mode 100644 docs/Listable/Structs/ListStateObserver/ContentUpdated/InsertionsAndRemovals.html create mode 100644 docs/Listable/Structs/ListStateObserver/ContentUpdated/InsertionsAndRemovals/ChangedIDs.html create mode 100644 docs/Listable/Structs/SectionLayouts.html rename docs/Listable/Structs/{ListAppearance.html => TableAppearance.html} (84%) create mode 100644 docs/Listable/Structs/TableAppearance/HeaderFooterLayout.html create mode 100644 docs/Listable/Structs/TableAppearance/ItemLayout.html rename docs/Listable/{docsets/Listable.docset/Contents/Resources/Documents/Structs/ListAppearance => Structs/TableAppearance}/Layout.html (89%) create mode 100644 docs/Listable/Structs/TableAppearance/SectionLayout.html create mode 100644 docs/Listable/Structs/TableAppearance/SectionLayout/Columns.html rename docs/Listable/Structs/{ListAppearance => TableAppearance}/Sizing.html (90%) create mode 100644 docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Protocols/HeaderFooterLayoutsValue.html rename docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/{Structs/HeaderFooterLayout.html => Protocols/ItemLayoutsValue.html} (88%) create mode 100644 docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Protocols/SectionLayoutsValue.html rename docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/{Section/Columns.html => GridAppearance/HeaderFooterLayout.html} (89%) create mode 100644 docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/GridAppearance/ItemLayout.html rename docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/{Section/Layout.html => GridAppearance/SectionLayout.html} (89%) create mode 100644 docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/HeaderFooterLayouts.html create mode 100644 docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/ItemLayouts.html create mode 100644 docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/ListStateObserver/ContentUpdated/InsertionsAndRemovals.html create mode 100644 docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/ListStateObserver/ContentUpdated/InsertionsAndRemovals/ChangedIDs.html create mode 100644 docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/SectionLayouts.html rename docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/{ListAppearance.html => TableAppearance.html} (84%) create mode 100644 docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/TableAppearance/HeaderFooterLayout.html create mode 100644 docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/TableAppearance/ItemLayout.html rename docs/Listable/{Structs/ListAppearance => docsets/Listable.docset/Contents/Resources/Documents/Structs/TableAppearance}/Layout.html (89%) create mode 100644 docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/TableAppearance/SectionLayout.html create mode 100644 docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/TableAppearance/SectionLayout/Columns.html rename docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/{ListAppearance => TableAppearance}/Sizing.html (90%) diff --git a/docs/BlueprintLists/Extensions.html b/docs/BlueprintLists/Extensions.html index 5f71a7324..696827983 100644 --- a/docs/BlueprintLists/Extensions.html +++ b/docs/BlueprintLists/Extensions.html @@ -208,7 +208,7 @@

Declaration

diff --git a/docs/BlueprintLists/Extensions/Element.html b/docs/BlueprintLists/Extensions/Element.html index 8e06b6633..d94ba14fb 100644 --- a/docs/BlueprintLists/Extensions/Element.html +++ b/docs/BlueprintLists/Extensions/Element.html @@ -160,7 +160,7 @@

Declaration

diff --git a/docs/BlueprintLists/Extensions/HeaderFooter.html b/docs/BlueprintLists/Extensions/HeaderFooter.html index 12bab46e6..4b0669848 100644 --- a/docs/BlueprintLists/Extensions/HeaderFooter.html +++ b/docs/BlueprintLists/Extensions/HeaderFooter.html @@ -253,7 +253,7 @@

Declaration

diff --git a/docs/BlueprintLists/Extensions/Item.html b/docs/BlueprintLists/Extensions/Item.html index c3078e3fb..3f627d345 100644 --- a/docs/BlueprintLists/Extensions/Item.html +++ b/docs/BlueprintLists/Extensions/Item.html @@ -257,7 +257,7 @@

Declaration

diff --git a/docs/BlueprintLists/Protocols.html b/docs/BlueprintLists/Protocols.html index 8e78f7900..c45db4c6f 100644 --- a/docs/BlueprintLists/Protocols.html +++ b/docs/BlueprintLists/Protocols.html @@ -269,7 +269,7 @@

Declaration

diff --git a/docs/BlueprintLists/Protocols/BlueprintHeaderFooterContent.html b/docs/BlueprintLists/Protocols/BlueprintHeaderFooterContent.html index 6cdd663c7..ca8e7b7c7 100644 --- a/docs/BlueprintLists/Protocols/BlueprintHeaderFooterContent.html +++ b/docs/BlueprintLists/Protocols/BlueprintHeaderFooterContent.html @@ -423,7 +423,7 @@

Declaration

diff --git a/docs/BlueprintLists/Protocols/BlueprintItemContent.html b/docs/BlueprintLists/Protocols/BlueprintItemContent.html index 3c6fc614b..8a6010d43 100644 --- a/docs/BlueprintLists/Protocols/BlueprintItemContent.html +++ b/docs/BlueprintLists/Protocols/BlueprintItemContent.html @@ -434,7 +434,7 @@

Declaration

diff --git a/docs/BlueprintLists/Structs.html b/docs/BlueprintLists/Structs.html index 90964f5f7..fd197d222 100644 --- a/docs/BlueprintLists/Structs.html +++ b/docs/BlueprintLists/Structs.html @@ -291,7 +291,7 @@

Declaration

diff --git a/docs/BlueprintLists/Structs/BlueprintHeaderFooterContentWrapper.html b/docs/BlueprintLists/Structs/BlueprintHeaderFooterContentWrapper.html index 6c7d5608e..8ee51f192 100644 --- a/docs/BlueprintLists/Structs/BlueprintHeaderFooterContentWrapper.html +++ b/docs/BlueprintLists/Structs/BlueprintHeaderFooterContentWrapper.html @@ -268,7 +268,7 @@

Declaration

diff --git a/docs/BlueprintLists/Structs/BlueprintItemContentWrapper.html b/docs/BlueprintLists/Structs/BlueprintItemContentWrapper.html index 36a495d0e..9d8a34a1e 100644 --- a/docs/BlueprintLists/Structs/BlueprintItemContentWrapper.html +++ b/docs/BlueprintLists/Structs/BlueprintItemContentWrapper.html @@ -293,7 +293,7 @@

Declaration

diff --git a/docs/BlueprintLists/Structs/List.html b/docs/BlueprintLists/Structs/List.html index 9e9046f1e..71701d128 100644 --- a/docs/BlueprintLists/Structs/List.html +++ b/docs/BlueprintLists/Structs/List.html @@ -332,7 +332,7 @@

Declaration

diff --git a/docs/BlueprintLists/Structs/ListReorderGesture.html b/docs/BlueprintLists/Structs/ListReorderGesture.html index 10c4971bb..5f0fa2c2f 100644 --- a/docs/BlueprintLists/Structs/ListReorderGesture.html +++ b/docs/BlueprintLists/Structs/ListReorderGesture.html @@ -309,7 +309,7 @@

Declaration

diff --git a/docs/BlueprintLists/Typealiases.html b/docs/BlueprintLists/Typealiases.html index 12554e63d..5daf840fc 100644 --- a/docs/BlueprintLists/Typealiases.html +++ b/docs/BlueprintLists/Typealiases.html @@ -181,7 +181,7 @@

Declaration

diff --git a/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Extensions.html b/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Extensions.html index 5f71a7324..696827983 100644 --- a/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Extensions.html +++ b/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Extensions.html @@ -208,7 +208,7 @@

Declaration

diff --git a/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Extensions/Element.html b/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Extensions/Element.html index 8e06b6633..d94ba14fb 100644 --- a/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Extensions/Element.html +++ b/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Extensions/Element.html @@ -160,7 +160,7 @@

Declaration

diff --git a/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Extensions/HeaderFooter.html b/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Extensions/HeaderFooter.html index 12bab46e6..4b0669848 100644 --- a/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Extensions/HeaderFooter.html +++ b/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Extensions/HeaderFooter.html @@ -253,7 +253,7 @@

Declaration

diff --git a/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Extensions/Item.html b/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Extensions/Item.html index c3078e3fb..3f627d345 100644 --- a/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Extensions/Item.html +++ b/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Extensions/Item.html @@ -257,7 +257,7 @@

Declaration

diff --git a/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Protocols.html b/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Protocols.html index 8e78f7900..c45db4c6f 100644 --- a/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Protocols.html +++ b/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Protocols.html @@ -269,7 +269,7 @@

Declaration

diff --git a/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Protocols/BlueprintHeaderFooterContent.html b/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Protocols/BlueprintHeaderFooterContent.html index 6cdd663c7..ca8e7b7c7 100644 --- a/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Protocols/BlueprintHeaderFooterContent.html +++ b/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Protocols/BlueprintHeaderFooterContent.html @@ -423,7 +423,7 @@

Declaration

diff --git a/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Protocols/BlueprintItemContent.html b/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Protocols/BlueprintItemContent.html index 3c6fc614b..8a6010d43 100644 --- a/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Protocols/BlueprintItemContent.html +++ b/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Protocols/BlueprintItemContent.html @@ -434,7 +434,7 @@

Declaration

diff --git a/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Structs.html b/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Structs.html index 90964f5f7..fd197d222 100644 --- a/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Structs.html +++ b/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Structs.html @@ -291,7 +291,7 @@

Declaration

diff --git a/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Structs/BlueprintHeaderFooterContentWrapper.html b/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Structs/BlueprintHeaderFooterContentWrapper.html index 6c7d5608e..8ee51f192 100644 --- a/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Structs/BlueprintHeaderFooterContentWrapper.html +++ b/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Structs/BlueprintHeaderFooterContentWrapper.html @@ -268,7 +268,7 @@

Declaration

diff --git a/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Structs/BlueprintItemContentWrapper.html b/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Structs/BlueprintItemContentWrapper.html index 36a495d0e..9d8a34a1e 100644 --- a/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Structs/BlueprintItemContentWrapper.html +++ b/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Structs/BlueprintItemContentWrapper.html @@ -293,7 +293,7 @@

Declaration

diff --git a/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Structs/List.html b/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Structs/List.html index 9e9046f1e..71701d128 100644 --- a/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Structs/List.html +++ b/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Structs/List.html @@ -332,7 +332,7 @@

Declaration

diff --git a/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Structs/ListReorderGesture.html b/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Structs/ListReorderGesture.html index 10c4971bb..5f0fa2c2f 100644 --- a/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Structs/ListReorderGesture.html +++ b/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Structs/ListReorderGesture.html @@ -309,7 +309,7 @@

Declaration

diff --git a/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Typealiases.html b/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Typealiases.html index 12554e63d..5daf840fc 100644 --- a/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Typealiases.html +++ b/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/Typealiases.html @@ -181,7 +181,7 @@

Declaration

diff --git a/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/index.html b/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/index.html index e290d5c8b..8ef7746fa 100644 --- a/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/index.html +++ b/docs/BlueprintLists/docsets/BlueprintLists.docset/Contents/Resources/Documents/index.html @@ -194,12 +194,12 @@

Highly Customizable

public var stickySectionHeaders : Bool - public var list : ListAppearance + public var list : TableAppearance } -

You use the ListAppearance.Sizing struct to control the default measurements within the list: How tall are standard rows, headers, footers, etc.

-
public struct ListAppearance.Sizing : Equatable
+

You use the TableAppearance.Sizing struct to control the default measurements within the list: How tall are standard rows, headers, footers, etc.

+
public struct TableAppearance.Sizing : Equatable
 {
     public var itemHeight : CGFloat
 
@@ -213,8 +213,8 @@ 

Highly Customizable

}
-

You can use ListAppearance.Layout to customize the padding of the entire list, how wide the list should be (eg, up to 700px, more than 400px, etc) plus control spacing between items, headers, and footers.

-
public struct ListAppearance.Layout : Equatable
+

You can use TableAppearance.Layout to customize the padding of the entire list, how wide the list should be (eg, up to 700px, more than 400px, etc) plus control spacing between items, headers, and footers.

+
public struct TableAppearance.Layout : Equatable
 {
     public var padding : UIEdgeInsets
     public var width : WidthConstraint
@@ -768,7 +768,7 @@ 
       
     
     
   
diff --git a/docs/BlueprintLists/docsets/BlueprintLists.tgz b/docs/BlueprintLists/docsets/BlueprintLists.tgz
index 41973c1efcff106ff1aecf8c1858c041f0ebdff8..ed93cd4c94f8fe8ecfd39b7fbb229de891b3bffe 100644
GIT binary patch
delta 90406
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

&9l{JUZu4lyT>2R2o30ra(l+z@x-*0a)Z>^ zoH5?2xu?#xD;u%gfe}T;D_JGgeeQF`BshkGyTEP*X2st4a}-;z?4DtF!LDkro!Kne zMJ6&8bAK^pN|ywA8|XN+3r(RH8i?E_*}|2$EA&$Ot6E*L5Mt3h+hv(XGZ| zm;_WJK5Q8`8T%$B)p|L-xz+D3Kt9Qj?vT#O5r2O3t&X=Kr(KfaPddm*)t=TVfT8lY zH8N9Ug+tvx;cwJ2-dv5mA&M=DbZpPLRd~tg=H0|nC_fjsMcKyBwLHg5KF`h*VClvn zLF_ejTq6a9`lG=}>NS~O=HRTx(w-9xN3=WpewuyIR?#Geob`^sM{;ZN!EBg4La=Za z?|%fFhXEz#5mY*NERCj?r63TO=~xfIHDLIs=f9UZ-YZoh)}&-n_U~s&ZwZ
v7z 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�|sypeB0_Z`~EChd4C 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%0Do@-59c_XzFHo*VNP#h#2*R3}gv8b`cYzml7 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 k;c2D6fylqvRpHy;x4&Hxq90FFBs*8l(j delta 90424 zcmb4~LzE^=6Q#?xZQHhO+v>9YmTlX%ZQHhOcd6(5XEW>B#WGIh%@dJ%W)u5En=wJ;kn6$$cBr^y4IE(W+S)NIOm&Yd0p z@>1sGCVut*xo9ieUh_mE{`z&WuSp&KRXk=j`WKHjeUa&AP9`_e^RK!zb}4J)pS3T< z&A-4sHW+>QyjUiPn(?zw@0;KBY281GUxql_bf^OJAHRlQfVty1id?F)Qk>6My-uYm z=_mtEoT|O9JRiq@7QZ%kyu8!vdwbpOKL47B{UV8iT|W-Sa)b4$(-|>nck9Z~qJ7@q zONMzNSHDnRl^$0|N0*nEgJNo7+=_$YYmW-8UD22CNY_peLq&$|PmHj( zx)F17&855607};!{(<%JDZg`fv$*`dh18Jn11hbRG-s_OzY01+xYH0R_O}C$q4TGd zil3ob!Dk!&ZnYCQAwE5{9w`%j-;m@*;rzu0>NleDZP{U)ozxy`wS=3?LRxBn6x+6Z zPN+V88fNoUPINd5b_4g62=>+3PnFuX6G5vsiWb^h0}P znu9?0;Q-rPTRQahqOg@MU0r>BeMEM0M*AZ9dFIm;0Z&#!yjE+r6nvJ?j{kC#=aIhV zN$sncjrcj%*N@)-y*-_6$Q%D+RlMAUY2-ccPM%}#|FyQi-`(#0yKyuey4}(4lL%sE z({|9Gr}nnD)K02vMehtWJgBbS%4#}ZWRd1k$uf?ryl^|!Nfao7XIBT1Wk$L4TWoyX_{mpW`Nz%I;*PSNF zcBfO!HBO5>>e=pzk2yu*Al#L8lWA`J>j|~)p=jN+gIG=Ln1j*Rol-TA>~_i16y<`S znA^0TTd#r>pr$E3^?&&i8slu=b}=V5el?Lw@luG%eW}CW_7cbhgN1}L>S#WW0Ju+^SUy-3%I~i{|O*b4s<=zUQ3|}A!Ba8Au#MN_$8~#!-vCz z$XP`*`C4Xs!H7=F;VBQ6qO%wjFTsxcz6cFc7+H8DGE+M0G(KxBfZl4`eSM1oL$_-8 zZuLI_tNMab{)kcYXkzsBIZowj0158I=tKP zd49KjQp(3e!+Au^vKy zTAR6j5S#@HsUtM7hwLv4y3lDX|J%U0U{bSjp*iZzd$-RT8jYw>c+#UpG78TP z$@Oma#uTQR?3^>frwWzK4!~i<{-ZVhERxp}=)8!#QN7Ba1L@QrA3 z4;3co#M{$rUxskhkSL7DFb@Vy$bmpDrZpzH{$9nDe)Uwbuop${)P zN18X9rdNUYt=#bCl+5;R=TfFA*1nH)n}gD}Iep8V&@@2sXTF>F9k3m>!p1hsrT&^` z=GD|^OOxbFQjJq3ts={6(^U2fn>TYWhXr)J9t6zUcL{zz(n_`=j707m(9>K70#A`U z_!OQN(ej#rwk^?8Ff8$dpm-%A8tHYi#T_=`G(d+r`4e_aX$HCcuOrmc595`<%;LN68rX7BQ{!X}Ntr(NHRY z={eBpHiK=)vhq7X<9ujf?P7f0q+2nF8sW z(MU@YA!DLil~W3o_%q7f@JZ$oWWt;C_3-UHig|g?$TeNI%@IK7@nh%Z?s>B_@_Bb) z!_Ouk+j0eA&T}xv6$u=l4Gvgpnhw>%I1;cS zLjezZrBD$q*lLhYf^H0hVfTX?$GB~1s}3$Sv%Ex|e-SqVSzfl(u5GK}$EnFXWjcwr zcHuM_XglwqVf7{EDyOQ3KN9b&znY&k)(Fb6jA;?ad}J;r(;dv{fPO)g&3l}<9`(@Z z&LCOU0;KZa>2S#cC8Jh2z3(&EF!_&%jR@_NkTHU;Ue<{VE2hH;KwE5dqt;4962XpvijN`163i?6*iW zH%_^JJ*?QSSaSYue{U4F*Xuc9Q1ys3_-CQ?0$M(ynS3~e-mIAySQt!5x<`8?08+W{ZP>xtc&@9o#ch@cVPCt{tcyetaM zfEsSeO%sFYv~*FU@j|bcxd%&*N8@kMe%HAgIDPD7OQ5|$≥^iF0P&ESf)8sF{%} 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 z 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 diff --git a/docs/BlueprintLists/index.html b/docs/BlueprintLists/index.html index e290d5c8b..8ef7746fa 100644 --- a/docs/BlueprintLists/index.html +++ b/docs/BlueprintLists/index.html @@ -194,12 +194,12 @@

Highly Customizable

public var stickySectionHeaders : Bool - public var list : ListAppearance + public var list : TableAppearance }
-

You use the ListAppearance.Sizing struct to control the default measurements within the list: How tall are standard rows, headers, footers, etc.

-
public struct ListAppearance.Sizing : Equatable
+

You use the TableAppearance.Sizing struct to control the default measurements within the list: How tall are standard rows, headers, footers, etc.

+
public struct TableAppearance.Sizing : Equatable
 {
     public var itemHeight : CGFloat
 
@@ -213,8 +213,8 @@ 

Highly Customizable

}
-

You can use ListAppearance.Layout to customize the padding of the entire list, how wide the list should be (eg, up to 700px, more than 400px, etc) plus control spacing between items, headers, and footers.

-
public struct ListAppearance.Layout : Equatable
+

You can use TableAppearance.Layout to customize the padding of the entire list, how wide the list should be (eg, up to 700px, more than 400px, etc) plus control spacing between items, headers, and footers.

+
public struct TableAppearance.Layout : Equatable
 {
     public var padding : UIEdgeInsets
     public var width : WidthConstraint
@@ -768,7 +768,7 @@ 
       
     
     
   
diff --git a/docs/BlueprintLists/undocumented.json b/docs/BlueprintLists/undocumented.json
index 5fbd43820..bbf60054d 100644
--- a/docs/BlueprintLists/undocumented.json
+++ b/docs/BlueprintLists/undocumented.json
@@ -1,33 +1,33 @@
 {
   "warnings": [
     {
-      "file": "/Users/k/Desktop/Development/Listable3/BlueprintUILists/Sources/BlueprintHeaderFooterContent.swift",
+      "file": "/Users/k/Desktop/Development/Listable2/BlueprintUILists/Sources/BlueprintHeaderFooterContent.swift",
       "line": 112,
       "symbol": "BlueprintHeaderFooterContent.apply(to:for:with:)",
       "symbol_kind": "source.lang.swift.decl.function.method.instance",
       "warning": "undocumented"
     },
     {
-      "file": "/Users/k/Desktop/Development/Listable3/BlueprintUILists/Sources/HeaderFooter.swift",
+      "file": "/Users/k/Desktop/Development/Listable2/BlueprintUILists/Sources/HeaderFooter.swift",
       "line": 127,
       "symbol": "BlueprintHeaderFooterContentWrapper.representing",
       "symbol_kind": "source.lang.swift.decl.var.instance",
       "warning": "undocumented"
     },
     {
-      "file": "/Users/k/Desktop/Development/Listable3/BlueprintUILists/Sources/HeaderFooter.swift",
+      "file": "/Users/k/Desktop/Development/Listable2/BlueprintUILists/Sources/HeaderFooter.swift",
       "line": 134,
       "symbol": "BlueprintHeaderFooterContentWrapper.isEquivalent(to:)",
       "symbol_kind": "source.lang.swift.decl.function.method.instance",
       "warning": "undocumented"
     },
     {
-      "file": "/Users/k/Desktop/Development/Listable3/BlueprintUILists/Sources/Item.swift",
+      "file": "/Users/k/Desktop/Development/Listable2/BlueprintUILists/Sources/Item.swift",
       "line": 137,
       "symbol": "BlueprintItemContentWrapper.representing",
       "symbol_kind": "source.lang.swift.decl.var.instance",
       "warning": "undocumented"
     }
   ],
-  "source_directory": "/Users/k/Desktop/Development/Listable3"
+  "source_directory": "/Users/k/Desktop/Development/Listable2"
 }
\ No newline at end of file
diff --git a/docs/JSON/BlueprintUILists.json b/docs/JSON/BlueprintUILists.json
index f9c5fd70a..03e45e703 100644
--- a/docs/JSON/BlueprintUILists.json
+++ b/docs/JSON/BlueprintUILists.json
@@ -1,15 +1,15 @@
 [{
-  "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintEnvironment.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintEnvironment.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 654,
     "key.offset" : 0,
     "key.substructure" : [
       {
-        "key.annotated_decl" : "protocol Element : _Blueprint_Elements_Should_Be_Value_Types<\/Type><\/Declaration>",
+        "key.annotated_decl" : "protocol Element<\/Declaration>",
         "key.bodylength" : 198,
         "key.bodyoffset" : 125,
         "key.doc.column" : 17,
-        "key.doc.declaration" : "protocol Element : BlueprintUI._Blueprint_Elements_Should_Be_Value_Types",
+        "key.doc.declaration" : "protocol Element",
         "key.doc.discussion" : [
           {
             "Para" : "The ultimate purpose of an element is to provide visual content. This can be done in two ways:"
@@ -24,13 +24,13 @@
             "CodeListing" : ""
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/Pods\/BlueprintUI\/BlueprintUI\/Sources\/Element\/Element.swift",
-        "key.doc.full_as_xml" : "Element<\/Name>s:11BlueprintUI7ElementP<\/USR>protocol Element : BlueprintUI._Blueprint_Elements_Should_Be_Value_Types<\/Declaration>Conforming types represent a rectangular content area in a two-dimensional layout space.<\/Para><\/Abstract>]]><\/rawHTML>The ultimate purpose of an element is to provide visual content. This can be done in two ways:<\/Para>By providing a view description (ViewDescription<\/codeVoice>).<\/Para><\/Item>By providing child elements that will be displayed recursively within the local coordinate space.<\/Para><\/Item><\/List-Bullet>]]><\/rawHTML>A custom element might look something like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> ViewDescription? {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/Pods\/BlueprintUI\/BlueprintUI\/Sources\/Element\/Element.swift",
+        "key.doc.full_as_xml" : "Element<\/Name>s:11BlueprintUI7ElementP<\/USR>protocol Element<\/Declaration>Conforming types represent a rectangular content area in a two-dimensional layout space.<\/Para><\/Abstract>]]><\/rawHTML>The ultimate purpose of an element is to provide visual content. This can be done in two ways:<\/Para>By providing a view description (ViewDescription<\/codeVoice>).<\/Para><\/Item>By providing child elements that will be displayed recursively within the local coordinate space.<\/Para><\/Item><\/List-Bullet>]]><\/rawHTML>A custom element might look something like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> ViewDescription? {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 41,
         "key.doc.name" : "Element",
         "key.doc.type" : "Class",
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/Pods\/BlueprintUI\/BlueprintUI\/Sources\/Element\/Element.swift",
-        "key.fully_annotated_decl" : "protocol<\/syntaxtype.keyword> Element<\/decl.name> : _Blueprint_Elements_Should_Be_Value_Types<\/ref.protocol><\/decl.protocol>",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/Pods\/BlueprintUI\/BlueprintUI\/Sources\/Element\/Element.swift",
+        "key.fully_annotated_decl" : "protocol<\/syntaxtype.keyword> Element<\/decl.name><\/decl.protocol>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 218,
         "key.modulename" : "BlueprintUI",
@@ -46,7 +46,7 @@
             "key.annotated_decl" : "func wrapInBlueprintEnvironmentFrom(environment: ListEnvironment<\/Type>) -> Element<\/Type><\/Declaration>",
             "key.bodylength" : 107,
             "key.bodyoffset" : 214,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintEnvironment.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintEnvironment.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> wrapInBlueprintEnvironmentFrom<\/decl.name>(environment<\/decl.var.parameter.argument_label>: ListEnvironment<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> Element<\/ref.protocol><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 187,
@@ -89,12 +89,12 @@
             "CodeListing" : ""
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListEnvironment.swift",
-        "key.doc.full_as_xml" : "ListEnvironment<\/Name>s:10ListableUI15ListEnvironmentV<\/USR>struct ListEnvironment<\/Declaration>An environment of keys and values that are passed to every ItemContent<\/codeVoice> and HeaderFooter<\/codeVoice> during layout and measurement, to allow passing down data.<\/Para><\/Abstract>This type is similar to the SwiftUI or Blueprint Environment<\/codeVoice>, where you define a ListEnvironmentKey<\/codeVoice>, and then provide a custom getter and setter to read and write the content:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>You can retrieve the ListEnvironment<\/codeVoice> through the info<\/codeVoice> object passed in ItemContent<\/codeVoice> and HeaderFooter<\/codeVoice>’s apply(to:for:with:)<\/codeVoice> methods.<\/Para><\/zCodeLineNumbered>,]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListEnvironment.swift",
+        "key.doc.full_as_xml" : "ListEnvironment<\/Name>s:10ListableUI15ListEnvironmentV<\/USR>struct ListEnvironment<\/Declaration>An environment of keys and values that are passed to every ItemContent<\/codeVoice> and HeaderFooter<\/codeVoice> during layout and measurement, to allow passing down data.<\/Para><\/Abstract>This type is similar to the SwiftUI or Blueprint Environment<\/codeVoice>, where you define a ListEnvironmentKey<\/codeVoice>, and then provide a custom getter and setter to read and write the content:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>You can retrieve the ListEnvironment<\/codeVoice> through the info<\/codeVoice> object passed in ItemContent<\/codeVoice> and HeaderFooter<\/codeVoice>’s apply(to:for:with:)<\/codeVoice> methods.<\/Para><\/zCodeLineNumbered>,]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 44,
         "key.doc.name" : "ListEnvironment",
         "key.doc.type" : "Class",
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListEnvironment.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListEnvironment.swift",
         "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> ListEnvironment<\/decl.name><\/decl.struct>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 326,
@@ -111,7 +111,7 @@
             "key.annotated_decl" : "var blueprintEnvironment: Environment<\/Type> { get set }<\/Declaration>",
             "key.bodylength" : 96,
             "key.bodyoffset" : 404,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintEnvironment.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintEnvironment.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> blueprintEnvironment<\/decl.name>: Environment<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 137,
@@ -145,7 +145,7 @@
                 "key.offset" : 539
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintEnvironment.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintEnvironment.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> enum<\/syntaxtype.keyword> BlueprintKey<\/decl.name> : ListEnvironmentKey<\/ref.protocol><\/decl.enum>",
             "key.inheritedtypes" : [
               {
@@ -174,12 +174,12 @@
                     "Note" : ""
                   }
                 ],
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListEnvironment.swift",
-                "key.doc.full_as_xml" : "defaultValue<\/Name>s:10ListableUI18ListEnvironmentKeyP12defaultValue0G0QzvpZ<\/USR>static var defaultValue: Self.Value { get }<\/Declaration>The default value that will be vended by an Environment<\/codeVoice> for this key if no other value has been set.<\/Para><\/Abstract>This documentation comment was inherited from ListEnvironmentKey<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Other>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListEnvironment.swift",
+                "key.doc.full_as_xml" : "defaultValue<\/Name>s:10ListableUI18ListEnvironmentKeyP12defaultValue0G0QzvpZ<\/USR>static var defaultValue: Self.Value { get }<\/Declaration>The default value that will be vended by an Environment<\/codeVoice> for this key if no other value has been set.<\/Para><\/Abstract>This documentation comment was inherited from ListEnvironmentKey<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Other>",
                 "key.doc.line" : 79,
                 "key.doc.name" : "defaultValue",
                 "key.doc.type" : "Other",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintEnvironment.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintEnvironment.swift",
                 "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> var<\/syntaxtype.keyword> defaultValue<\/decl.name>: Environment<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.static>",
                 "key.kind" : "source.lang.swift.decl.var.static",
                 "key.length" : 68,
@@ -212,9 +212,9 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
-    "key.length" : 4655,
+    "key.length" : 4636,
     "key.offset" : 0,
     "key.substructure" : [
       {
@@ -230,14 +230,14 @@
         "key.doc.column" : 18,
         "key.doc.comment" : "Alias to allow less verbose creation of headers.",
         "key.doc.declaration" : "public typealias BlueprintHeaderContent = BlueprintHeaderFooterContent",
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
-        "key.doc.full_as_xml" : "BlueprintHeaderContent<\/Name>s:16BlueprintUILists0A13HeaderContenta<\/USR>public typealias BlueprintHeaderContent = BlueprintHeaderFooterContent<\/Declaration>Alias to allow less verbose creation of headers.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
+        "key.doc.full_as_xml" : "BlueprintHeaderContent<\/Name>s:16BlueprintUILists0A13HeaderContenta<\/USR>public typealias BlueprintHeaderContent = BlueprintHeaderFooterContent<\/Declaration>Alias to allow less verbose creation of headers.<\/Para><\/Abstract><\/CommentParts><\/Other>",
         "key.doc.line" : 13,
         "key.doc.name" : "BlueprintHeaderContent",
         "key.doc.type" : "Other",
         "key.doclength" : 53,
         "key.docoffset" : 152,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> typealias<\/syntaxtype.keyword> BlueprintHeaderContent<\/decl.name> = BlueprintHeaderFooterContent<\/ref.protocol><\/decl.typealias>",
         "key.kind" : "source.lang.swift.decl.typealias",
         "key.length" : 63,
@@ -265,14 +265,14 @@
         "key.doc.column" : 18,
         "key.doc.comment" : "Alias to allow less verbose creation of footers.",
         "key.doc.declaration" : "public typealias BlueprintFooterContent = BlueprintHeaderFooterContent",
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
-        "key.doc.full_as_xml" : "BlueprintFooterContent<\/Name>s:16BlueprintUILists0A13FooterContenta<\/USR>public typealias BlueprintFooterContent = BlueprintHeaderFooterContent<\/Declaration>Alias to allow less verbose creation of footers.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
+        "key.doc.full_as_xml" : "BlueprintFooterContent<\/Name>s:16BlueprintUILists0A13FooterContenta<\/USR>public typealias BlueprintFooterContent = BlueprintHeaderFooterContent<\/Declaration>Alias to allow less verbose creation of footers.<\/Para><\/Abstract><\/CommentParts><\/Other>",
         "key.doc.line" : 16,
         "key.doc.name" : "BlueprintFooterContent",
         "key.doc.type" : "Other",
         "key.doclength" : 53,
         "key.docoffset" : 277,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> typealias<\/syntaxtype.keyword> BlueprintFooterContent<\/decl.name> = BlueprintHeaderFooterContent<\/ref.protocol><\/decl.typealias>",
         "key.kind" : "source.lang.swift.decl.typealias",
         "key.length" : 63,
@@ -325,8 +325,8 @@
             "Para" : "The ordering of the elements by z-index is as follows: z-Index 3) `elementRepresentation` z-Index 2) `pressedBackground` (Only if the header\/footer is pressed, eg if the wrapping `HeaderFooter` has an `onTap` handler.) z-Index 1) `background`"
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
-        "key.doc.full_as_xml" : "BlueprintHeaderFooterContent<\/Name>s:16BlueprintUILists0A19HeaderFooterContentP<\/USR>public protocol BlueprintHeaderFooterContent : ListableUI.HeaderFooterContent where Self.BackgroundView == BlueprintUI.BlueprintView, Self.ContentView == BlueprintUI.BlueprintView, Self.PressedBackgroundView == BlueprintUI.BlueprintView<\/Declaration>A HeaderFooterContent<\/codeVoice> specialized for use with Blueprint. Instead of providing custom views from createReusable{...}View<\/codeVoice>, and then updating them in apply(to:)<\/codeVoice>, you instead provide Blueprint elements, and Listable<\/codeVoice> handles mapping this to an underlying BlueprintView<\/codeVoice>.<\/Para><\/Abstract>You do not need to provide any views; just Blueprint Elements<\/codeVoice>. Do not override the createReusable{...}View<\/codeVoice> methods.<\/Para>A non-tappable header that shows a label might look like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>The header is made Equatable<\/codeVoice> in order to synthesize automatic conformance to isEquivalent<\/codeVoice>, based on the header’s properties.<\/Para>If you want to add support for rendering a background view and a pressed state, you should provide both background<\/codeVoice> and pressedBackground<\/codeVoice> properties:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>The ordering of the elements by z-index is as follows: z-Index 3) elementRepresentation<\/codeVoice> z-Index 2) pressedBackground<\/codeVoice> (Only if the header\/footer is pressed, eg if the wrapping HeaderFooter<\/codeVoice> has an onTap<\/codeVoice> handler.) z-Index 1) background<\/codeVoice><\/Para><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
+        "key.doc.full_as_xml" : "BlueprintHeaderFooterContent<\/Name>s:16BlueprintUILists0A19HeaderFooterContentP<\/USR>public protocol BlueprintHeaderFooterContent : ListableUI.HeaderFooterContent where Self.BackgroundView == BlueprintUI.BlueprintView, Self.ContentView == BlueprintUI.BlueprintView, Self.PressedBackgroundView == BlueprintUI.BlueprintView<\/Declaration>A HeaderFooterContent<\/codeVoice> specialized for use with Blueprint. Instead of providing custom views from createReusable{...}View<\/codeVoice>, and then updating them in apply(to:)<\/codeVoice>, you instead provide Blueprint elements, and Listable<\/codeVoice> handles mapping this to an underlying BlueprintView<\/codeVoice>.<\/Para><\/Abstract>You do not need to provide any views; just Blueprint Elements<\/codeVoice>. Do not override the createReusable{...}View<\/codeVoice> methods.<\/Para>A non-tappable header that shows a label might look like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>The header is made Equatable<\/codeVoice> in order to synthesize automatic conformance to isEquivalent<\/codeVoice>, based on the header’s properties.<\/Para>If you want to add support for rendering a background view and a pressed state, you should provide both background<\/codeVoice> and pressedBackground<\/codeVoice> properties:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>The ordering of the elements by z-index is as follows: z-Index 3) elementRepresentation<\/codeVoice> z-Index 2) pressedBackground<\/codeVoice> (Only if the header\/footer is pressed, eg if the wrapping HeaderFooter<\/codeVoice> has an onTap<\/codeVoice> handler.) z-Index 1) background<\/codeVoice><\/Para><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 60,
         "key.doc.name" : "BlueprintHeaderFooterContent",
         "key.doc.type" : "Class",
@@ -339,7 +339,7 @@
             "key.offset" : 2046
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> BlueprintHeaderFooterContent<\/decl.name> : HeaderFooterContent<\/ref.protocol> where<\/syntaxtype.keyword> Self<\/ref.generic_type_param>.BackgroundView == BlueprintView<\/ref.class><\/decl.generic_type_requirement>, Self<\/ref.generic_type_param>.ContentView == BlueprintView<\/ref.class><\/decl.generic_type_requirement>, Self<\/ref.generic_type_param>.PressedBackgroundView == BlueprintView<\/ref.class><\/decl.generic_type_requirement><\/decl.protocol>",
         "key.inheritedtypes" : [
           {
@@ -372,14 +372,14 @@
             "key.doc.column" : 9,
             "key.doc.comment" : "Required. Create and return the Blueprint element used to represent the content.",
             "key.doc.declaration" : "var elementRepresentation: Element { get }",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
-            "key.doc.full_as_xml" : "elementRepresentation<\/Name>s:16BlueprintUILists0A19HeaderFooterContentP21elementRepresentation0A2UI7Element_pvp<\/USR>var elementRepresentation: Element { get }<\/Declaration>Required. Create and return the Blueprint element used to represent the content.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
+            "key.doc.full_as_xml" : "elementRepresentation<\/Name>s:16BlueprintUILists0A19HeaderFooterContentP21elementRepresentation0A2UI7Element_pvp<\/USR>var elementRepresentation: Element { get }<\/Declaration>Required. Create and return the Blueprint element used to represent the content.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 71,
             "key.doc.name" : "elementRepresentation",
             "key.doc.type" : "Other",
             "key.doclength" : 85,
             "key.docoffset" : 2267,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> elementRepresentation<\/decl.name>: Element<\/ref.protocol><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 43,
@@ -407,14 +407,14 @@
                 "Para" : "The default implementation of this method returns nil, and provides no background."
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
-            "key.doc.full_as_xml" : "background<\/Name>s:16BlueprintUILists0A19HeaderFooterContentP10background0A2UI7Element_pSgvp<\/USR>var background: Element? { get }<\/Declaration>Optional. Create and return the Blueprint element used to represent the background of the content. You usually provide this method alongside pressedBackground<\/codeVoice>, if your header has an onTap<\/codeVoice> handler.<\/Para><\/Abstract>]]><\/rawHTML>Note]]><\/rawHTML>The default implementation of this method returns nil, and provides no background.<\/Para><\/Discussion><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
+            "key.doc.full_as_xml" : "background<\/Name>s:16BlueprintUILists0A19HeaderFooterContentP10background0A2UI7Element_pSgvp<\/USR>var background: Element? { get }<\/Declaration>Optional. Create and return the Blueprint element used to represent the background of the content. You usually provide this method alongside pressedBackground<\/codeVoice>, if your header has an onTap<\/codeVoice> handler.<\/Para><\/Abstract>]]><\/rawHTML>Note]]><\/rawHTML>The default implementation of this method returns nil, and provides no background.<\/Para><\/Discussion><\/CommentParts><\/Other>",
             "key.doc.line" : 81,
             "key.doc.name" : "background",
             "key.doc.type" : "Other",
             "key.doclength" : 354,
             "key.docoffset" : 2409,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> background<\/decl.name>: Element<\/ref.protocol>?<\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 33,
@@ -447,14 +447,14 @@
                 "Para" : "The default implementation of this method returns nil, and provides no selected background."
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
-            "key.doc.full_as_xml" : "pressedBackground<\/Name>s:16BlueprintUILists0A19HeaderFooterContentP17pressedBackground0A2UI7Element_pSgvp<\/USR>var pressedBackground: Element? { get }<\/Declaration>Optional. Create and return the Blueprint element used to represent the background of the content when it is pressed. You usually provide this method alongside background<\/codeVoice>, if your header has an onTap<\/codeVoice> handler.<\/Para><\/Abstract>]]><\/rawHTML>Note]]><\/rawHTML>The default implementation of this method returns nil, and provides no selected background.<\/Para><\/Discussion><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
+            "key.doc.full_as_xml" : "pressedBackground<\/Name>s:16BlueprintUILists0A19HeaderFooterContentP17pressedBackground0A2UI7Element_pSgvp<\/USR>var pressedBackground: Element? { get }<\/Declaration>Optional. Create and return the Blueprint element used to represent the background of the content when it is pressed. You usually provide this method alongside background<\/codeVoice>, if your header has an onTap<\/codeVoice> handler.<\/Para><\/Abstract>]]><\/rawHTML>Note]]><\/rawHTML>The default implementation of this method returns nil, and provides no selected background.<\/Para><\/Discussion><\/CommentParts><\/Other>",
             "key.doc.line" : 90,
             "key.doc.name" : "pressedBackground",
             "key.doc.type" : "Other",
             "key.doclength" : 367,
             "key.docoffset" : 2810,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> pressedBackground<\/decl.name>: Element<\/ref.protocol>?<\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 40,
@@ -489,7 +489,7 @@
             "key.offset" : 3226
           }
         ],
-        "key.bodylength" : 1380,
+        "key.bodylength" : 1361,
         "key.bodyoffset" : 3273,
         "key.doc.column" : 17,
         "key.doc.declaration" : "public protocol BlueprintHeaderFooterContent : ListableUI.HeaderFooterContent where Self.BackgroundView == BlueprintUI.BlueprintView, Self.ContentView == BlueprintUI.BlueprintView, Self.PressedBackgroundView == BlueprintUI.BlueprintView",
@@ -516,21 +516,21 @@
             "Para" : "The ordering of the elements by z-index is as follows: z-Index 3) `elementRepresentation` z-Index 2) `pressedBackground` (Only if the header\/footer is pressed, eg if the wrapping `HeaderFooter` has an `onTap` handler.) z-Index 1) `background`"
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
-        "key.doc.full_as_xml" : "BlueprintHeaderFooterContent<\/Name>s:16BlueprintUILists0A19HeaderFooterContentP<\/USR>public protocol BlueprintHeaderFooterContent : ListableUI.HeaderFooterContent where Self.BackgroundView == BlueprintUI.BlueprintView, Self.ContentView == BlueprintUI.BlueprintView, Self.PressedBackgroundView == BlueprintUI.BlueprintView<\/Declaration>A HeaderFooterContent<\/codeVoice> specialized for use with Blueprint. Instead of providing custom views from createReusable{...}View<\/codeVoice>, and then updating them in apply(to:)<\/codeVoice>, you instead provide Blueprint elements, and Listable<\/codeVoice> handles mapping this to an underlying BlueprintView<\/codeVoice>.<\/Para><\/Abstract>You do not need to provide any views; just Blueprint Elements<\/codeVoice>. Do not override the createReusable{...}View<\/codeVoice> methods.<\/Para>A non-tappable header that shows a label might look like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>The header is made Equatable<\/codeVoice> in order to synthesize automatic conformance to isEquivalent<\/codeVoice>, based on the header’s properties.<\/Para>If you want to add support for rendering a background view and a pressed state, you should provide both background<\/codeVoice> and pressedBackground<\/codeVoice> properties:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>The ordering of the elements by z-index is as follows: z-Index 3) elementRepresentation<\/codeVoice> z-Index 2) pressedBackground<\/codeVoice> (Only if the header\/footer is pressed, eg if the wrapping HeaderFooter<\/codeVoice> has an onTap<\/codeVoice> handler.) z-Index 1) background<\/codeVoice><\/Para><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
+        "key.doc.full_as_xml" : "BlueprintHeaderFooterContent<\/Name>s:16BlueprintUILists0A19HeaderFooterContentP<\/USR>public protocol BlueprintHeaderFooterContent : ListableUI.HeaderFooterContent where Self.BackgroundView == BlueprintUI.BlueprintView, Self.ContentView == BlueprintUI.BlueprintView, Self.PressedBackgroundView == BlueprintUI.BlueprintView<\/Declaration>A HeaderFooterContent<\/codeVoice> specialized for use with Blueprint. Instead of providing custom views from createReusable{...}View<\/codeVoice>, and then updating them in apply(to:)<\/codeVoice>, you instead provide Blueprint elements, and Listable<\/codeVoice> handles mapping this to an underlying BlueprintView<\/codeVoice>.<\/Para><\/Abstract>You do not need to provide any views; just Blueprint Elements<\/codeVoice>. Do not override the createReusable{...}View<\/codeVoice> methods.<\/Para>A non-tappable header that shows a label might look like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>The header is made Equatable<\/codeVoice> in order to synthesize automatic conformance to isEquivalent<\/codeVoice>, based on the header’s properties.<\/Para>If you want to add support for rendering a background view and a pressed state, you should provide both background<\/codeVoice> and pressedBackground<\/codeVoice> properties:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>The ordering of the elements by z-index is as follows: z-Index 3) elementRepresentation<\/codeVoice> z-Index 2) pressedBackground<\/codeVoice> (Only if the header\/footer is pressed, eg if the wrapping HeaderFooter<\/codeVoice> has an onTap<\/codeVoice> handler.) z-Index 1) background<\/codeVoice><\/Para><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 60,
         "key.doc.name" : "BlueprintHeaderFooterContent",
         "key.doc.type" : "Class",
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> BlueprintHeaderFooterContent<\/decl.name> : HeaderFooterContent<\/ref.protocol> where<\/syntaxtype.keyword> Self<\/ref.generic_type_param>.BackgroundView == BlueprintView<\/ref.class><\/decl.generic_type_requirement>, Self<\/ref.generic_type_param>.ContentView == BlueprintView<\/ref.class><\/decl.generic_type_requirement>, Self<\/ref.generic_type_param>.PressedBackgroundView == BlueprintView<\/ref.class><\/decl.generic_type_requirement><\/decl.protocol>",
         "key.kind" : "source.lang.swift.decl.extension",
-        "key.length" : 1421,
+        "key.length" : 1402,
         "key.name" : "BlueprintHeaderFooterContent",
         "key.namelength" : 28,
         "key.nameoffset" : 3243,
         "key.offset" : 3233,
         "key.parsed_declaration" : "public extension BlueprintHeaderFooterContent",
-        "key.parsed_scope.end" : 145,
+        "key.parsed_scope.end" : 140,
         "key.parsed_scope.start" : 94,
         "key.substructure" : [
           {
@@ -556,12 +556,12 @@
                 "Note" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
-            "key.doc.full_as_xml" : "background<\/Name>s:16BlueprintUILists0A19HeaderFooterContentP10background0A2UI7Element_pSgvp<\/USR>var background: Element? { get }<\/Declaration>Optional. Create and return the Blueprint element used to represent the background of the content. You usually provide this method alongside pressedBackground<\/codeVoice>, if your header has an onTap<\/codeVoice> handler.<\/Para><\/Abstract>]]><\/rawHTML>Note]]><\/rawHTML>The default implementation of this method returns nil, and provides no background.<\/Para>This documentation comment was inherited from BlueprintHeaderFooterContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
+            "key.doc.full_as_xml" : "background<\/Name>s:16BlueprintUILists0A19HeaderFooterContentP10background0A2UI7Element_pSgvp<\/USR>var background: Element? { get }<\/Declaration>Optional. Create and return the Blueprint element used to represent the background of the content. You usually provide this method alongside pressedBackground<\/codeVoice>, if your header has an onTap<\/codeVoice> handler.<\/Para><\/Abstract>]]><\/rawHTML>Note]]><\/rawHTML>The default implementation of this method returns nil, and provides no background.<\/Para>This documentation comment was inherited from BlueprintHeaderFooterContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Other>",
             "key.doc.line" : 81,
             "key.doc.name" : "background",
             "key.doc.type" : "Other",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> background<\/decl.name>: Element<\/ref.protocol>?<\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 45,
@@ -596,12 +596,12 @@
                 "Note" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
-            "key.doc.full_as_xml" : "pressedBackground<\/Name>s:16BlueprintUILists0A19HeaderFooterContentP17pressedBackground0A2UI7Element_pSgvp<\/USR>var pressedBackground: Element? { get }<\/Declaration>Optional. Create and return the Blueprint element used to represent the background of the content when it is pressed. You usually provide this method alongside background<\/codeVoice>, if your header has an onTap<\/codeVoice> handler.<\/Para><\/Abstract>]]><\/rawHTML>Note]]><\/rawHTML>The default implementation of this method returns nil, and provides no selected background.<\/Para>This documentation comment was inherited from BlueprintHeaderFooterContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
+            "key.doc.full_as_xml" : "pressedBackground<\/Name>s:16BlueprintUILists0A19HeaderFooterContentP17pressedBackground0A2UI7Element_pSgvp<\/USR>var pressedBackground: Element? { get }<\/Declaration>Optional. Create and return the Blueprint element used to represent the background of the content when it is pressed. You usually provide this method alongside background<\/codeVoice>, if your header has an onTap<\/codeVoice> handler.<\/Para><\/Abstract>]]><\/rawHTML>Note]]><\/rawHTML>The default implementation of this method returns nil, and provides no selected background.<\/Para>This documentation comment was inherited from BlueprintHeaderFooterContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Other>",
             "key.doc.line" : 90,
             "key.doc.name" : "pressedBackground",
             "key.doc.type" : "Other",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> pressedBackground<\/decl.name>: Element<\/ref.protocol>?<\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 52,
@@ -634,7 +634,7 @@
             "key.annotated_decl" : "func apply(to views: HeaderFooterContentViews<\/Type><Self<\/Type>>, for reason: ApplyReason<\/Type>, with info: ApplyHeaderFooterContentInfo<\/Type>)<\/Declaration>",
             "key.bodylength" : 358,
             "key.bodyoffset" : 3658,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> apply<\/decl.name>(to<\/decl.var.parameter.argument_label> views<\/decl.var.parameter.name>: HeaderFooterContentViews<\/ref.struct><Self<\/ref.generic_type_param>><\/decl.var.parameter.type><\/decl.var.parameter>, for<\/decl.var.parameter.argument_label> reason<\/decl.var.parameter.name>: ApplyReason<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>, with<\/decl.var.parameter.argument_label> info<\/decl.var.parameter.name>: ApplyHeaderFooterContentInfo<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 509,
@@ -660,8 +660,8 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
             "key.annotated_decl" : "static func createReusableContentView(frame: CGRect<\/Type>) -> ContentView<\/Type><\/Declaration>",
-            "key.bodylength" : 119,
-            "key.bodyoffset" : 4100,
+            "key.bodylength" : 48,
+            "key.bodyoffset" : 4096,
             "key.doc.column" : 17,
             "key.doc.declaration" : "static func createReusableContentView(frame: CGRect) -> Self.ContentView",
             "key.doc.discussion" : [
@@ -672,21 +672,21 @@
                 "Note" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
-            "key.doc.full_as_xml" : "createReusableContentView(frame:)<\/Name>s:10ListableUI19HeaderFooterContentP014createReusableE4View5frame0eH0QzSo6CGRectV_tFZ<\/USR>static func createReusableContentView(frame: CGRect) -> Self.ContentView<\/Declaration>Create and return a new content view used to render the content.<\/Para><\/Abstract>]]><\/rawHTML>Note]]><\/rawHTML>Do not do configuration in this method that will be changed by your view’s theme or appearance – instead do that work in apply(to:)<\/codeVoice>, so the appearance will be updated if the appearance of content changes.<\/Para>This documentation comment was inherited from HeaderFooterContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
+            "key.doc.full_as_xml" : "createReusableContentView(frame:)<\/Name>s:10ListableUI19HeaderFooterContentP014createReusableE4View5frame0eH0QzSo6CGRectV_tFZ<\/USR>static func createReusableContentView(frame: CGRect) -> Self.ContentView<\/Declaration>Create and return a new content view used to render the content.<\/Para><\/Abstract>]]><\/rawHTML>Note]]><\/rawHTML>Do not do configuration in this method that will be changed by your view’s theme or appearance – instead do that work in apply(to:)<\/codeVoice>, so the appearance will be updated if the appearance of content changes.<\/Para>This documentation comment was inherited from HeaderFooterContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 78,
             "key.doc.name" : "createReusableContentView(frame:)",
             "key.doc.type" : "Function",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
             "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> createReusableContentView<\/decl.name>(frame<\/decl.var.parameter.argument_label>: CGRect<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ContentView<\/ref.associatedtype><\/decl.function.returntype><\/decl.function.method.static>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
-            "key.length" : 193,
+            "key.length" : 118,
             "key.name" : "createReusableContentView(frame:)",
             "key.namelength" : 40,
             "key.nameoffset" : 4039,
             "key.offset" : 4027,
             "key.parsed_declaration" : "static func createReusableContentView(frame: CGRect) -> ContentView",
-            "key.parsed_scope.end" : 128,
+            "key.parsed_scope.end" : 124,
             "key.parsed_scope.start" : 122,
             "key.related_decls" : [
               {
@@ -694,23 +694,7 @@
               }
             ],
             "key.substructure" : [
-              {
-                "key.annotated_decl" : "let view: BlueprintView<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
-                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> view<\/decl.name>: BlueprintView<\/ref.class><\/decl.var.type><\/decl.var.local>",
-                "key.kind" : "source.lang.swift.decl.var.local",
-                "key.length" : 38,
-                "key.name" : "view",
-                "key.namelength" : 4,
-                "key.nameoffset" : 4113,
-                "key.offset" : 4109,
-                "key.parsed_declaration" : "let view = BlueprintView(frame: frame)",
-                "key.parsed_scope.end" : 124,
-                "key.parsed_scope.start" : 124,
-                "key.typename" : "BlueprintView",
-                "key.typeusr" : "$s11BlueprintUI0A4ViewCD",
-                "key.usr" : "s:16BlueprintUILists0A19HeaderFooterContentPAAE014createReusableE4View5frame0A2UI0aH0CSo6CGRectV_tFZ4viewL_AHvp"
-              }
+
             ],
             "key.typename" : " (Self.Type) -> (CGRect) -> Self.ContentView",
             "key.typeusr" : "$s5frame11BlueprintUI0B4ViewCSo6CGRectV_tcD",
@@ -719,8 +703,8 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
             "key.annotated_decl" : "static func createReusableBackgroundView(frame: CGRect<\/Type>) -> BackgroundView<\/Type><\/Declaration>",
-            "key.bodylength" : 119,
-            "key.bodyoffset" : 4309,
+            "key.bodylength" : 48,
+            "key.bodyoffset" : 4230,
             "key.doc.column" : 17,
             "key.doc.declaration" : "static func createReusableBackgroundView(frame: CGRect) -> Self.BackgroundView",
             "key.doc.discussion" : [
@@ -731,22 +715,22 @@
                 "Note" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
-            "key.doc.full_as_xml" : "createReusableBackgroundView(frame:)<\/Name>s:10ListableUI19HeaderFooterContentP28createReusableBackgroundView5frame0hI0QzSo6CGRectV_tFZ<\/USR>static func createReusableBackgroundView(frame: CGRect) -> Self.BackgroundView<\/Declaration>Create and return a new background view used to render the content’s background.<\/Para><\/Abstract>]]><\/rawHTML>Note]]><\/rawHTML>Do not do configuration in this method that will be changed by your view’s theme or appearance – instead do that work in apply(to:)<\/codeVoice>, so the appearance will be updated if the appearance of content changes.<\/Para>This documentation comment was inherited from HeaderFooterContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
+            "key.doc.full_as_xml" : "createReusableBackgroundView(frame:)<\/Name>s:10ListableUI19HeaderFooterContentP28createReusableBackgroundView5frame0hI0QzSo6CGRectV_tFZ<\/USR>static func createReusableBackgroundView(frame: CGRect) -> Self.BackgroundView<\/Declaration>Create and return a new background view used to render the content’s background.<\/Para><\/Abstract>]]><\/rawHTML>Note]]><\/rawHTML>Do not do configuration in this method that will be changed by your view’s theme or appearance – instead do that work in apply(to:)<\/codeVoice>, so the appearance will be updated if the appearance of content changes.<\/Para>This documentation comment was inherited from HeaderFooterContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 101,
             "key.doc.name" : "createReusableBackgroundView(frame:)",
             "key.doc.type" : "Function",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
             "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> createReusableBackgroundView<\/decl.name>(frame<\/decl.var.parameter.argument_label>: CGRect<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> BackgroundView<\/ref.associatedtype><\/decl.function.returntype><\/decl.function.method.static>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
-            "key.length" : 199,
+            "key.length" : 124,
             "key.name" : "createReusableBackgroundView(frame:)",
             "key.namelength" : 43,
-            "key.nameoffset" : 4242,
-            "key.offset" : 4230,
+            "key.nameoffset" : 4167,
+            "key.offset" : 4155,
             "key.parsed_declaration" : "static func createReusableBackgroundView(frame: CGRect) -> BackgroundView",
-            "key.parsed_scope.end" : 136,
-            "key.parsed_scope.start" : 130,
+            "key.parsed_scope.end" : 128,
+            "key.parsed_scope.start" : 126,
             "key.related_decls" : [
               {
                 "key.annotated_decl" : "createReusableBackgroundView(frame: CGRect) -> Self.BackgroundView<\/RelatedName>"
@@ -756,23 +740,7 @@
               }
             ],
             "key.substructure" : [
-              {
-                "key.annotated_decl" : "let view: BlueprintView<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
-                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> view<\/decl.name>: BlueprintView<\/ref.class><\/decl.var.type><\/decl.var.local>",
-                "key.kind" : "source.lang.swift.decl.var.local",
-                "key.length" : 38,
-                "key.name" : "view",
-                "key.namelength" : 4,
-                "key.nameoffset" : 4322,
-                "key.offset" : 4318,
-                "key.parsed_declaration" : "let view = BlueprintView(frame: frame)",
-                "key.parsed_scope.end" : 132,
-                "key.parsed_scope.start" : 132,
-                "key.typename" : "BlueprintView",
-                "key.typeusr" : "$s11BlueprintUI0A4ViewCD",
-                "key.usr" : "s:16BlueprintUILists0A19HeaderFooterContentPAAE28createReusableBackgroundView5frame0A2UI0aI0CSo6CGRectV_tFZ4viewL_AHvp"
-              }
+
             ],
             "key.typename" : " (Self.Type) -> (CGRect) -> Self.BackgroundView",
             "key.typeusr" : "$s5frame11BlueprintUI0B4ViewCSo6CGRectV_tcD",
@@ -781,8 +749,8 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
             "key.annotated_decl" : "static func createReusablePressedBackgroundView(frame: CGRect<\/Type>) -> PressedBackgroundView<\/Type><\/Declaration>",
-            "key.bodylength" : 119,
-            "key.bodyoffset" : 4532,
+            "key.bodylength" : 48,
+            "key.bodyoffset" : 4378,
             "key.doc.column" : 17,
             "key.doc.declaration" : "static func createReusablePressedBackgroundView(frame: CGRect) -> Self.PressedBackgroundView",
             "key.doc.discussion" : [
@@ -799,22 +767,22 @@
                 "Note" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
-            "key.doc.full_as_xml" : "createReusablePressedBackgroundView(frame:)<\/Name>s:10ListableUI19HeaderFooterContentP35createReusablePressedBackgroundView5frame0hiJ0QzSo6CGRectV_tFZ<\/USR>static func createReusablePressedBackgroundView(frame: CGRect) -> Self.PressedBackgroundView<\/Declaration>Create and return a new background view used to render the content’s pressed background.<\/Para><\/Abstract>This view is displayed when the user taps\/presses the header \/ footer.<\/Para>If your BackgroundView<\/codeVoice> and SelectedBackgroundView<\/codeVoice> are the same type, this method is provided automatically by calling createReusableBackgroundView<\/codeVoice>.<\/Para>]]><\/rawHTML>Note]]><\/rawHTML>Do not do configuration in this method that will be changed by your view’s theme or appearance – instead do that work in apply(to:)<\/codeVoice>, so the appearance will be updated if the appearance of content changes.<\/Para>This documentation comment was inherited from HeaderFooterContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
+            "key.doc.full_as_xml" : "createReusablePressedBackgroundView(frame:)<\/Name>s:10ListableUI19HeaderFooterContentP35createReusablePressedBackgroundView5frame0hiJ0QzSo6CGRectV_tFZ<\/USR>static func createReusablePressedBackgroundView(frame: CGRect) -> Self.PressedBackgroundView<\/Declaration>Create and return a new background view used to render the content’s pressed background.<\/Para><\/Abstract>This view is displayed when the user taps\/presses the header \/ footer.<\/Para>If your BackgroundView<\/codeVoice> and SelectedBackgroundView<\/codeVoice> are the same type, this method is provided automatically by calling createReusableBackgroundView<\/codeVoice>.<\/Para>]]><\/rawHTML>Note]]><\/rawHTML>Do not do configuration in this method that will be changed by your view’s theme or appearance – instead do that work in apply(to:)<\/codeVoice>, so the appearance will be updated if the appearance of content changes.<\/Para>This documentation comment was inherited from HeaderFooterContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 125,
             "key.doc.name" : "createReusablePressedBackgroundView(frame:)",
             "key.doc.type" : "Function",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
             "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> createReusablePressedBackgroundView<\/decl.name>(frame<\/decl.var.parameter.argument_label>: CGRect<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> PressedBackgroundView<\/ref.associatedtype><\/decl.function.returntype><\/decl.function.method.static>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
-            "key.length" : 213,
+            "key.length" : 138,
             "key.name" : "createReusablePressedBackgroundView(frame:)",
             "key.namelength" : 50,
-            "key.nameoffset" : 4451,
-            "key.offset" : 4439,
+            "key.nameoffset" : 4301,
+            "key.offset" : 4289,
             "key.parsed_declaration" : "static func createReusablePressedBackgroundView(frame: CGRect) -> PressedBackgroundView",
-            "key.parsed_scope.end" : 144,
-            "key.parsed_scope.start" : 138,
+            "key.parsed_scope.end" : 132,
+            "key.parsed_scope.start" : 130,
             "key.related_decls" : [
               {
                 "key.annotated_decl" : "createReusablePressedBackgroundView(frame: CGRect) -> Self.PressedBackgroundView<\/RelatedName>"
@@ -823,28 +791,58 @@
                 "key.annotated_decl" : "createReusablePressedBackgroundView(frame: CGRect) -> Self.PressedBackgroundView<\/RelatedName>"
               }
             ],
+            "key.substructure" : [
+
+            ],
+            "key.typename" : " (Self.Type) -> (CGRect) -> Self.PressedBackgroundView",
+            "key.typeusr" : "$s5frame11BlueprintUI0B4ViewCSo6CGRectV_tcD",
+            "key.usr" : "s:10ListableUI19HeaderFooterContentP35createReusablePressedBackgroundView5frame0hiJ0QzSo6CGRectV_tFZ"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.private",
+            "key.annotated_decl" : "private static func newBlueprintView(with frame: CGRect<\/Type>) -> BlueprintView<\/Type><\/Declaration>",
+            "key.attributes" : [
+              {
+                "key.attribute" : "source.decl.attribute.private",
+                "key.length" : 7,
+                "key.offset" : 4437
+              }
+            ],
+            "key.bodylength" : 119,
+            "key.bodyoffset" : 4513,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
+            "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> newBlueprintView<\/decl.name>(with<\/decl.var.parameter.argument_label> frame<\/decl.var.parameter.name>: CGRect<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> BlueprintView<\/ref.class><\/decl.function.returntype><\/decl.function.method.static>",
+            "key.kind" : "source.lang.swift.decl.function.method.static",
+            "key.length" : 188,
+            "key.name" : "newBlueprintView(with:)",
+            "key.namelength" : 37,
+            "key.nameoffset" : 4457,
+            "key.offset" : 4445,
+            "key.parsed_declaration" : "private static func newBlueprintView(with frame : CGRect) -> BlueprintView",
+            "key.parsed_scope.end" : 139,
+            "key.parsed_scope.start" : 134,
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let view: BlueprintView<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> view<\/decl.name>: BlueprintView<\/ref.class><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 38,
                 "key.name" : "view",
                 "key.namelength" : 4,
-                "key.nameoffset" : 4545,
-                "key.offset" : 4541,
+                "key.nameoffset" : 4526,
+                "key.offset" : 4522,
                 "key.parsed_declaration" : "let view = BlueprintView(frame: frame)",
-                "key.parsed_scope.end" : 140,
-                "key.parsed_scope.start" : 140,
+                "key.parsed_scope.end" : 135,
+                "key.parsed_scope.start" : 135,
                 "key.typename" : "BlueprintView",
                 "key.typeusr" : "$s11BlueprintUI0A4ViewCD",
-                "key.usr" : "s:16BlueprintUILists0A19HeaderFooterContentPAAE35createReusablePressedBackgroundView5frame0A2UI0aJ0CSo6CGRectV_tFZ4viewL_AHvp"
+                "key.usr" : "s:16BlueprintUILists0A19HeaderFooterContentPAAE03newA4View33_02A79BC97C366F3BDEC29D56D447731DLL4with0A2UI0aG0CSo6CGRectV_tFZ4viewL_AIvp"
               }
             ],
-            "key.typename" : " (Self.Type) -> (CGRect) -> Self.PressedBackgroundView",
-            "key.typeusr" : "$s5frame11BlueprintUI0B4ViewCSo6CGRectV_tcD",
-            "key.usr" : "s:10ListableUI19HeaderFooterContentP35createReusablePressedBackgroundView5frame0hiJ0QzSo6CGRectV_tFZ"
+            "key.typename" : " (Self.Type) -> (CGRect) -> BlueprintView",
+            "key.typeusr" : "$s4with11BlueprintUI0B4ViewCSo6CGRectV_tcD",
+            "key.usr" : "s:16BlueprintUILists0A19HeaderFooterContentPAAE03newA4View33_02A79BC97C366F3BDEC29D56D447731DLL4with0A2UI0aG0CSo6CGRectV_tFZ"
           }
         ],
         "key.typename" : "BlueprintHeaderFooterContent.Protocol",
@@ -854,9 +852,9 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintItemContent.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintItemContent.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
-    "key.length" : 5443,
+    "key.length" : 5486,
     "key.offset" : 0,
     "key.substructure" : [
       {
@@ -888,8 +886,8 @@
             "Para" : "The ordering of the elements by z-index is as follows: z-index 3) `element` z-index 2) `selectedBackgroundElement` (Only if the item supports a `selectionStyle` and is selected or highlighted.) z-index 1) `backgroundElement`"
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
-        "key.doc.full_as_xml" : "BlueprintItemContent<\/Name>s:16BlueprintUILists0A11ItemContentP<\/USR>public protocol BlueprintItemContent : ListableUI.ItemContent where Self.BackgroundView == BlueprintUI.BlueprintView, Self.ContentView == BlueprintUI.BlueprintView, Self.SelectedBackgroundView == BlueprintUI.BlueprintView<\/Declaration>An ItemContent<\/codeVoice> specialized for use with Blueprint. Instead of providing custom views from createReusable{...}View<\/codeVoice>, and then updating them in apply(to:)<\/codeVoice>, you instead provide Blueprint elements, and Listable<\/codeVoice> handles mapping this to an underlying BlueprintView<\/codeVoice>.<\/Para><\/Abstract>A BlueprintItemContent<\/codeVoice> that displays text might look like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> Element]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> Element?]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> Element?]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>Which uses the backgroundElement<\/codeVoice> and selectedBackgroundElement<\/codeVoice> methods to provide rendering of a background for the item, which will respond to its selection state.<\/Para>The ordering of the elements by z-index is as follows: z-index 3) element<\/codeVoice> z-index 2) selectedBackgroundElement<\/codeVoice> (Only if the item supports a selectionStyle<\/codeVoice> and is selected or highlighted.) z-index 1) backgroundElement<\/codeVoice><\/Para><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
+        "key.doc.full_as_xml" : "BlueprintItemContent<\/Name>s:16BlueprintUILists0A11ItemContentP<\/USR>public protocol BlueprintItemContent : ListableUI.ItemContent where Self.BackgroundView == BlueprintUI.BlueprintView, Self.ContentView == BlueprintUI.BlueprintView, Self.SelectedBackgroundView == BlueprintUI.BlueprintView<\/Declaration>An ItemContent<\/codeVoice> specialized for use with Blueprint. Instead of providing custom views from createReusable{...}View<\/codeVoice>, and then updating them in apply(to:)<\/codeVoice>, you instead provide Blueprint elements, and Listable<\/codeVoice> handles mapping this to an underlying BlueprintView<\/codeVoice>.<\/Para><\/Abstract>A BlueprintItemContent<\/codeVoice> that displays text might look like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> Element]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> Element?]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> Element?]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>Which uses the backgroundElement<\/codeVoice> and selectedBackgroundElement<\/codeVoice> methods to provide rendering of a background for the item, which will respond to its selection state.<\/Para>The ordering of the elements by z-index is as follows: z-index 3) element<\/codeVoice> z-index 2) selectedBackgroundElement<\/codeVoice> (Only if the item supports a selectionStyle<\/codeVoice> and is selected or highlighted.) z-index 1) backgroundElement<\/codeVoice><\/Para><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 55,
         "key.doc.name" : "BlueprintItemContent",
         "key.doc.type" : "Class",
@@ -902,7 +900,7 @@
             "key.offset" : 1809
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> BlueprintItemContent<\/decl.name> : ItemContent<\/ref.protocol> where<\/syntaxtype.keyword> Self<\/ref.generic_type_param>.BackgroundView == BlueprintView<\/ref.class><\/decl.generic_type_requirement>, Self<\/ref.generic_type_param>.ContentView == BlueprintView<\/ref.class><\/decl.generic_type_requirement>, Self<\/ref.generic_type_param>.SelectedBackgroundView == BlueprintView<\/ref.class><\/decl.generic_type_requirement><\/decl.protocol>",
         "key.inheritedtypes" : [
           {
@@ -938,14 +936,14 @@
                 "Para" : "You can use the provided `ApplyItemContentInfo` to vary the appearance of the element based on the current state of the item."
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
-            "key.doc.full_as_xml" : "element(with:)<\/Name>s:16BlueprintUILists0A11ItemContentP7element4with0A2UI7Element_p08ListableG005ApplycD4InfoV_tF<\/USR>func element(with info: ApplyItemContentInfo) -> Element<\/Declaration>Required. Create and return the Blueprint element used to represent the content.<\/Para><\/Abstract>You can use the provided ApplyItemContentInfo<\/codeVoice> to vary the appearance of the element based on the current state of the item.<\/Para><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
+            "key.doc.full_as_xml" : "element(with:)<\/Name>s:16BlueprintUILists0A11ItemContentP7element4with0A2UI7Element_p08ListableG005ApplycD4InfoV_tF<\/USR>func element(with info: ApplyItemContentInfo) -> Element<\/Declaration>Required. Create and return the Blueprint element used to represent the content.<\/Para><\/Abstract>You can use the provided ApplyItemContentInfo<\/codeVoice> to vary the appearance of the element based on the current state of the item.<\/Para><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 70,
             "key.doc.name" : "element(with:)",
             "key.doc.type" : "Function",
             "key.doclength" : 243,
             "key.docoffset" : 2027,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> element<\/decl.name>(with<\/decl.var.parameter.argument_label> info<\/decl.var.parameter.name>: ApplyItemContentInfo<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> Element<\/ref.protocol><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 57,
@@ -977,14 +975,14 @@
                 "Para" : "The default implementation of this method returns nil, and provides no background."
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
-            "key.doc.full_as_xml" : "backgroundElement(with:)<\/Name>s:16BlueprintUILists0A11ItemContentP17backgroundElement4with0A2UI0F0_pSg08ListableH005ApplycD4InfoV_tF<\/USR>func backgroundElement(with info: ApplyItemContentInfo) -> Element?<\/Declaration>Optional. Create and return the Blueprint element used to represent the background of the content. You usually provide this method alongside selectedBackgroundElement<\/codeVoice>, if your content supports selection or highlighting.<\/Para><\/Abstract>You can use the provided ApplyItemContentInfo<\/codeVoice> to vary the appearance of the element based on the current state of the item.<\/Para>]]><\/rawHTML>Note]]><\/rawHTML>The default implementation of this method returns nil, and provides no background.<\/Para><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
+            "key.doc.full_as_xml" : "backgroundElement(with:)<\/Name>s:16BlueprintUILists0A11ItemContentP17backgroundElement4with0A2UI0F0_pSg08ListableH005ApplycD4InfoV_tF<\/USR>func backgroundElement(with info: ApplyItemContentInfo) -> Element?<\/Declaration>Optional. Create and return the Blueprint element used to represent the background of the content. You usually provide this method alongside selectedBackgroundElement<\/codeVoice>, if your content supports selection or highlighting.<\/Para><\/Abstract>You can use the provided ApplyItemContentInfo<\/codeVoice> to vary the appearance of the element based on the current state of the item.<\/Para>]]><\/rawHTML>Note]]><\/rawHTML>The default implementation of this method returns nil, and provides no background.<\/Para><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 83,
             "key.doc.name" : "backgroundElement(with:)",
             "key.doc.type" : "Function",
             "key.doclength" : 525,
             "key.docoffset" : 2341,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> backgroundElement<\/decl.name>(with<\/decl.var.parameter.argument_label> info<\/decl.var.parameter.name>: ApplyItemContentInfo<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> Element<\/ref.protocol>?<\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 68,
@@ -1021,14 +1019,14 @@
                 "Para" : "The default implementation of this method returns nil, and provides no selected background."
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
-            "key.doc.full_as_xml" : "selectedBackgroundElement(with:)<\/Name>s:16BlueprintUILists0A11ItemContentP25selectedBackgroundElement4with0A2UI0G0_pSg08ListableI005ApplycD4InfoV_tF<\/USR>func selectedBackgroundElement(with info: ApplyItemContentInfo) -> Element?<\/Declaration>Optional. Create and return the Blueprint element used to represent the background of the content when it is selected or highlighted. You usually provide this method alongside backgroundElement<\/codeVoice>, if your content supports selection or highlighting.<\/Para><\/Abstract>You can use the provided ApplyItemContentInfo<\/codeVoice> to vary the appearance of the element based on the current state of the item.<\/Para>]]><\/rawHTML>Note]]><\/rawHTML>The default implementation of this method returns nil, and provides no selected background.<\/Para><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
+            "key.doc.full_as_xml" : "selectedBackgroundElement(with:)<\/Name>s:16BlueprintUILists0A11ItemContentP25selectedBackgroundElement4with0A2UI0G0_pSg08ListableI005ApplycD4InfoV_tF<\/USR>func selectedBackgroundElement(with info: ApplyItemContentInfo) -> Element?<\/Declaration>Optional. Create and return the Blueprint element used to represent the background of the content when it is selected or highlighted. You usually provide this method alongside backgroundElement<\/codeVoice>, if your content supports selection or highlighting.<\/Para><\/Abstract>You can use the provided ApplyItemContentInfo<\/codeVoice> to vary the appearance of the element based on the current state of the item.<\/Para>]]><\/rawHTML>Note]]><\/rawHTML>The default implementation of this method returns nil, and provides no selected background.<\/Para><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 95,
             "key.doc.name" : "selectedBackgroundElement(with:)",
             "key.doc.type" : "Function",
             "key.doclength" : 553,
             "key.docoffset" : 2948,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> selectedBackgroundElement<\/decl.name>(with<\/decl.var.parameter.argument_label> info<\/decl.var.parameter.name>: ApplyItemContentInfo<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> Element<\/ref.protocol>?<\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 76,
@@ -1084,12 +1082,12 @@
             "Para" : "The ordering of the elements by z-index is as follows: z-index 3) `element` z-index 2) `selectedBackgroundElement` (Only if the item supports a `selectionStyle` and is selected or highlighted.) z-index 1) `backgroundElement`"
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
-        "key.doc.full_as_xml" : "BlueprintItemContent<\/Name>s:16BlueprintUILists0A11ItemContentP<\/USR>public protocol BlueprintItemContent : ListableUI.ItemContent where Self.BackgroundView == BlueprintUI.BlueprintView, Self.ContentView == BlueprintUI.BlueprintView, Self.SelectedBackgroundView == BlueprintUI.BlueprintView<\/Declaration>An ItemContent<\/codeVoice> specialized for use with Blueprint. Instead of providing custom views from createReusable{...}View<\/codeVoice>, and then updating them in apply(to:)<\/codeVoice>, you instead provide Blueprint elements, and Listable<\/codeVoice> handles mapping this to an underlying BlueprintView<\/codeVoice>.<\/Para><\/Abstract>A BlueprintItemContent<\/codeVoice> that displays text might look like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> Element]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> Element?]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> Element?]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>Which uses the backgroundElement<\/codeVoice> and selectedBackgroundElement<\/codeVoice> methods to provide rendering of a background for the item, which will respond to its selection state.<\/Para>The ordering of the elements by z-index is as follows: z-index 3) element<\/codeVoice> z-index 2) selectedBackgroundElement<\/codeVoice> (Only if the item supports a selectionStyle<\/codeVoice> and is selected or highlighted.) z-index 1) backgroundElement<\/codeVoice><\/Para><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
+        "key.doc.full_as_xml" : "BlueprintItemContent<\/Name>s:16BlueprintUILists0A11ItemContentP<\/USR>public protocol BlueprintItemContent : ListableUI.ItemContent where Self.BackgroundView == BlueprintUI.BlueprintView, Self.ContentView == BlueprintUI.BlueprintView, Self.SelectedBackgroundView == BlueprintUI.BlueprintView<\/Declaration>An ItemContent<\/codeVoice> specialized for use with Blueprint. Instead of providing custom views from createReusable{...}View<\/codeVoice>, and then updating them in apply(to:)<\/codeVoice>, you instead provide Blueprint elements, and Listable<\/codeVoice> handles mapping this to an underlying BlueprintView<\/codeVoice>.<\/Para><\/Abstract>A BlueprintItemContent<\/codeVoice> that displays text might look like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> Element]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> Element?]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> Element?]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>Which uses the backgroundElement<\/codeVoice> and selectedBackgroundElement<\/codeVoice> methods to provide rendering of a background for the item, which will respond to its selection state.<\/Para>The ordering of the elements by z-index is as follows: z-index 3) element<\/codeVoice> z-index 2) selectedBackgroundElement<\/codeVoice> (Only if the item supports a selectionStyle<\/codeVoice> and is selected or highlighted.) z-index 1) backgroundElement<\/codeVoice><\/Para><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 55,
         "key.doc.name" : "BlueprintItemContent",
         "key.doc.type" : "Class",
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> BlueprintItemContent<\/decl.name> : ItemContent<\/ref.protocol> where<\/syntaxtype.keyword> Self<\/ref.generic_type_param>.BackgroundView == BlueprintView<\/ref.class><\/decl.generic_type_requirement>, Self<\/ref.generic_type_param>.ContentView == BlueprintView<\/ref.class><\/decl.generic_type_requirement>, Self<\/ref.generic_type_param>.SelectedBackgroundView == BlueprintView<\/ref.class><\/decl.generic_type_requirement><\/decl.protocol>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 396,
@@ -1117,14 +1115,14 @@
             "key.doc.column" : 10,
             "key.doc.comment" : "By default, content has no background.",
             "key.doc.declaration" : "func backgroundElement(with info: ApplyItemContentInfo) -> Element?",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
-            "key.doc.full_as_xml" : "backgroundElement(with:)<\/Name>s:16BlueprintUILists0A11ItemContentPAAE17backgroundElement4with0A2UI0F0_pSg08ListableH005ApplycD4InfoV_tF<\/USR>func backgroundElement(with info: ApplyItemContentInfo) -> Element?<\/Declaration>By default, content has no background.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
+            "key.doc.full_as_xml" : "backgroundElement(with:)<\/Name>s:16BlueprintUILists0A11ItemContentPAAE17backgroundElement4with0A2UI0F0_pSg08ListableH005ApplycD4InfoV_tF<\/USR>func backgroundElement(with info: ApplyItemContentInfo) -> Element?<\/Declaration>By default, content has no background.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 106,
             "key.doc.name" : "backgroundElement(with:)",
             "key.doc.type" : "Function",
             "key.doclength" : 43,
             "key.docoffset" : 3686,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> backgroundElement<\/decl.name>(with<\/decl.var.parameter.argument_label> info<\/decl.var.parameter.name>: ApplyItemContentInfo<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> Element<\/ref.protocol>?<\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 92,
@@ -1155,14 +1153,14 @@
             "key.doc.column" : 10,
             "key.doc.comment" : "By default, content has no selected background.",
             "key.doc.declaration" : "func selectedBackgroundElement(with info: ApplyItemContentInfo) -> Element?",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
-            "key.doc.full_as_xml" : "selectedBackgroundElement(with:)<\/Name>s:16BlueprintUILists0A11ItemContentPAAE25selectedBackgroundElement4with0A2UI0G0_pSg08ListableI005ApplycD4InfoV_tF<\/USR>func selectedBackgroundElement(with info: ApplyItemContentInfo) -> Element?<\/Declaration>By default, content has no selected background.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
+            "key.doc.full_as_xml" : "selectedBackgroundElement(with:)<\/Name>s:16BlueprintUILists0A11ItemContentPAAE25selectedBackgroundElement4with0A2UI0G0_pSg08ListableI005ApplycD4InfoV_tF<\/USR>func selectedBackgroundElement(with info: ApplyItemContentInfo) -> Element?<\/Declaration>By default, content has no selected background.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 112,
             "key.doc.name" : "selectedBackgroundElement(with:)",
             "key.doc.type" : "Function",
             "key.doclength" : 52,
             "key.docoffset" : 3831,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> selectedBackgroundElement<\/decl.name>(with<\/decl.var.parameter.argument_label> info<\/decl.var.parameter.name>: ApplyItemContentInfo<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> Element<\/ref.protocol>?<\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 100,
@@ -1200,7 +1198,7 @@
             "key.offset" : 3992
           }
         ],
-        "key.bodylength" : 1410,
+        "key.bodylength" : 1453,
         "key.bodyoffset" : 4031,
         "key.doc.column" : 17,
         "key.doc.declaration" : "public protocol BlueprintItemContent : ListableUI.ItemContent where Self.BackgroundView == BlueprintUI.BlueprintView, Self.ContentView == BlueprintUI.BlueprintView, Self.SelectedBackgroundView == BlueprintUI.BlueprintView",
@@ -1218,21 +1216,21 @@
             "Para" : "The ordering of the elements by z-index is as follows: z-index 3) `element` z-index 2) `selectedBackgroundElement` (Only if the item supports a `selectionStyle` and is selected or highlighted.) z-index 1) `backgroundElement`"
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
-        "key.doc.full_as_xml" : "BlueprintItemContent<\/Name>s:16BlueprintUILists0A11ItemContentP<\/USR>public protocol BlueprintItemContent : ListableUI.ItemContent where Self.BackgroundView == BlueprintUI.BlueprintView, Self.ContentView == BlueprintUI.BlueprintView, Self.SelectedBackgroundView == BlueprintUI.BlueprintView<\/Declaration>An ItemContent<\/codeVoice> specialized for use with Blueprint. Instead of providing custom views from createReusable{...}View<\/codeVoice>, and then updating them in apply(to:)<\/codeVoice>, you instead provide Blueprint elements, and Listable<\/codeVoice> handles mapping this to an underlying BlueprintView<\/codeVoice>.<\/Para><\/Abstract>A BlueprintItemContent<\/codeVoice> that displays text might look like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> Element]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> Element?]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> Element?]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>Which uses the backgroundElement<\/codeVoice> and selectedBackgroundElement<\/codeVoice> methods to provide rendering of a background for the item, which will respond to its selection state.<\/Para>The ordering of the elements by z-index is as follows: z-index 3) element<\/codeVoice> z-index 2) selectedBackgroundElement<\/codeVoice> (Only if the item supports a selectionStyle<\/codeVoice> and is selected or highlighted.) z-index 1) backgroundElement<\/codeVoice><\/Para><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
+        "key.doc.full_as_xml" : "BlueprintItemContent<\/Name>s:16BlueprintUILists0A11ItemContentP<\/USR>public protocol BlueprintItemContent : ListableUI.ItemContent where Self.BackgroundView == BlueprintUI.BlueprintView, Self.ContentView == BlueprintUI.BlueprintView, Self.SelectedBackgroundView == BlueprintUI.BlueprintView<\/Declaration>An ItemContent<\/codeVoice> specialized for use with Blueprint. Instead of providing custom views from createReusable{...}View<\/codeVoice>, and then updating them in apply(to:)<\/codeVoice>, you instead provide Blueprint elements, and Listable<\/codeVoice> handles mapping this to an underlying BlueprintView<\/codeVoice>.<\/Para><\/Abstract>A BlueprintItemContent<\/codeVoice> that displays text might look like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> Element]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> Element?]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> Element?]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>Which uses the backgroundElement<\/codeVoice> and selectedBackgroundElement<\/codeVoice> methods to provide rendering of a background for the item, which will respond to its selection state.<\/Para>The ordering of the elements by z-index is as follows: z-index 3) element<\/codeVoice> z-index 2) selectedBackgroundElement<\/codeVoice> (Only if the item supports a selectionStyle<\/codeVoice> and is selected or highlighted.) z-index 1) backgroundElement<\/codeVoice><\/Para><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 55,
         "key.doc.name" : "BlueprintItemContent",
         "key.doc.type" : "Class",
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> BlueprintItemContent<\/decl.name> : ItemContent<\/ref.protocol> where<\/syntaxtype.keyword> Self<\/ref.generic_type_param>.BackgroundView == BlueprintView<\/ref.class><\/decl.generic_type_requirement>, Self<\/ref.generic_type_param>.ContentView == BlueprintView<\/ref.class><\/decl.generic_type_requirement>, Self<\/ref.generic_type_param>.SelectedBackgroundView == BlueprintView<\/ref.class><\/decl.generic_type_requirement><\/decl.protocol>",
         "key.kind" : "source.lang.swift.decl.extension",
-        "key.length" : 1443,
+        "key.length" : 1486,
         "key.name" : "BlueprintItemContent",
         "key.namelength" : 20,
         "key.nameoffset" : 4009,
         "key.offset" : 3999,
         "key.parsed_declaration" : "public extension BlueprintItemContent",
-        "key.parsed_scope.end" : 154,
+        "key.parsed_scope.end" : 153,
         "key.parsed_scope.start" : 119,
         "key.substructure" : [
           {
@@ -1251,14 +1249,14 @@
             "key.doc.column" : 10,
             "key.doc.comment" : "Maps the `BlueprintItemContent` methods into the underlying `BlueprintView`s used to render the element.",
             "key.doc.declaration" : "func apply(to views: ItemContentViews, for reason: ApplyReason, with info: ApplyItemContentInfo)",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
-            "key.doc.full_as_xml" : "apply(to:for:with:)<\/Name>s:16BlueprintUILists0A11ItemContentPAAE5apply2to3for4withy10ListableUI0cD5ViewsVyxG_AH11ApplyReasonOAH0lcD4InfoVtF<\/USR>func apply(to views: ItemContentViews<Self>, for reason: ApplyReason, with info: ApplyItemContentInfo)<\/Declaration>Maps the BlueprintItemContent<\/codeVoice> methods into the underlying BlueprintView<\/codeVoice>s used to render the element.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
+            "key.doc.full_as_xml" : "apply(to:for:with:)<\/Name>s:16BlueprintUILists0A11ItemContentPAAE5apply2to3for4withy10ListableUI0cD5ViewsVyxG_AH11ApplyReasonOAH0lcD4InfoVtF<\/USR>func apply(to views: ItemContentViews<Self>, for reason: ApplyReason, with info: ApplyItemContentInfo)<\/Declaration>Maps the BlueprintItemContent<\/codeVoice> methods into the underlying BlueprintView<\/codeVoice>s used to render the element.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 126,
             "key.doc.name" : "apply(to:for:with:)",
             "key.doc.type" : "Function",
             "key.doclength" : 109,
             "key.docoffset" : 4080,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> apply<\/decl.name>(to<\/decl.var.parameter.argument_label> views<\/decl.var.parameter.name>: ItemContentViews<\/ref.struct><Self<\/ref.generic_type_param>><\/decl.var.parameter.type><\/decl.var.parameter>, for<\/decl.var.parameter.argument_label> reason<\/decl.var.parameter.name>: ApplyReason<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>, with<\/decl.var.parameter.argument_label> info<\/decl.var.parameter.name>: ApplyItemContentInfo<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 517,
@@ -1284,28 +1282,28 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
             "key.annotated_decl" : "static func createReusableContentView(frame: CGRect<\/Type>) -> ContentView<\/Type><\/Declaration>",
-            "key.bodylength" : 119,
-            "key.bodyoffset" : 4869,
+            "key.bodylength" : 48,
+            "key.bodyoffset" : 4865,
             "key.doc.column" : 17,
             "key.doc.comment" : "Creates the `BlueprintView` used to render the content of the item.",
             "key.doc.declaration" : "static func createReusableContentView(frame: CGRect) -> ContentView",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
-            "key.doc.full_as_xml" : "createReusableContentView(frame:)<\/Name>s:16BlueprintUILists0A11ItemContentPAAE014createReusableD4View5frame0A2UI0aG0CSo6CGRectV_tFZ<\/USR>static func createReusableContentView(frame: CGRect) -> ContentView<\/Declaration>Creates the BlueprintView<\/codeVoice> used to render the content of the item.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
+            "key.doc.full_as_xml" : "createReusableContentView(frame:)<\/Name>s:16BlueprintUILists0A11ItemContentPAAE014createReusableD4View5frame0A2UI0aG0CSo6CGRectV_tFZ<\/USR>static func createReusableContentView(frame: CGRect) -> ContentView<\/Declaration>Creates the BlueprintView<\/codeVoice> used to render the content of the item.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 134,
             "key.doc.name" : "createReusableContentView(frame:)",
             "key.doc.type" : "Function",
             "key.doclength" : 72,
             "key.docoffset" : 4720,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
             "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> createReusableContentView<\/decl.name>(frame<\/decl.var.parameter.argument_label>: CGRect<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ContentView<\/ref.associatedtype><\/decl.function.returntype><\/decl.function.method.static>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
-            "key.length" : 193,
+            "key.length" : 118,
             "key.name" : "createReusableContentView(frame:)",
             "key.namelength" : 40,
             "key.nameoffset" : 4808,
             "key.offset" : 4796,
             "key.parsed_declaration" : "static func createReusableContentView(frame: CGRect) -> ContentView",
-            "key.parsed_scope.end" : 140,
+            "key.parsed_scope.end" : 136,
             "key.parsed_scope.start" : 134,
             "key.related_decls" : [
               {
@@ -1313,23 +1311,7 @@
               }
             ],
             "key.substructure" : [
-              {
-                "key.annotated_decl" : "let view: BlueprintView<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
-                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> view<\/decl.name>: BlueprintView<\/ref.class><\/decl.var.type><\/decl.var.local>",
-                "key.kind" : "source.lang.swift.decl.var.local",
-                "key.length" : 38,
-                "key.name" : "view",
-                "key.namelength" : 4,
-                "key.nameoffset" : 4882,
-                "key.offset" : 4878,
-                "key.parsed_declaration" : "let view = BlueprintView(frame: frame)",
-                "key.parsed_scope.end" : 136,
-                "key.parsed_scope.start" : 136,
-                "key.typename" : "BlueprintView",
-                "key.typeusr" : "$s11BlueprintUI0A4ViewCD",
-                "key.usr" : "s:16BlueprintUILists0A11ItemContentPAAE014createReusableD4View5frame0A2UI0aG0CSo6CGRectV_tFZ4viewL_AHvp"
-              }
+
             ],
             "key.typename" : " (Self.Type) -> (CGRect) -> Self.ContentView",
             "key.typeusr" : "$s5frame11BlueprintUI0B4ViewCSo6CGRectV_tcD",
@@ -1338,29 +1320,29 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
             "key.annotated_decl" : "static func createReusableBackgroundView(frame: CGRect<\/Type>) -> BackgroundView<\/Type><\/Declaration>",
-            "key.bodylength" : 119,
-            "key.bodyoffset" : 5157,
+            "key.bodylength" : 48,
+            "key.bodyoffset" : 5078,
             "key.doc.column" : 17,
             "key.doc.comment" : "Creates the `BlueprintView` used to render the background of the item.",
             "key.doc.declaration" : "static func createReusableBackgroundView(frame: CGRect) -> BackgroundView",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
-            "key.doc.full_as_xml" : "createReusableBackgroundView(frame:)<\/Name>s:16BlueprintUILists0A11ItemContentPAAE28createReusableBackgroundView5frame0A2UI0aH0CSo6CGRectV_tFZ<\/USR>static func createReusableBackgroundView(frame: CGRect) -> BackgroundView<\/Declaration>Creates the BlueprintView<\/codeVoice> used to render the background of the item.<\/Para><\/Abstract><\/CommentParts><\/Function>",
-            "key.doc.line" : 143,
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
+            "key.doc.full_as_xml" : "createReusableBackgroundView(frame:)<\/Name>s:16BlueprintUILists0A11ItemContentPAAE28createReusableBackgroundView5frame0A2UI0aH0CSo6CGRectV_tFZ<\/USR>static func createReusableBackgroundView(frame: CGRect) -> BackgroundView<\/Declaration>Creates the BlueprintView<\/codeVoice> used to render the background of the item.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.line" : 139,
             "key.doc.name" : "createReusableBackgroundView(frame:)",
             "key.doc.type" : "Function",
             "key.doclength" : 75,
-            "key.docoffset" : 4999,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
+            "key.docoffset" : 4924,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
             "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> createReusableBackgroundView<\/decl.name>(frame<\/decl.var.parameter.argument_label>: CGRect<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> BackgroundView<\/ref.associatedtype><\/decl.function.returntype><\/decl.function.method.static>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
-            "key.length" : 199,
+            "key.length" : 124,
             "key.name" : "createReusableBackgroundView(frame:)",
             "key.namelength" : 43,
-            "key.nameoffset" : 5090,
-            "key.offset" : 5078,
+            "key.nameoffset" : 5015,
+            "key.offset" : 5003,
             "key.parsed_declaration" : "static func createReusableBackgroundView(frame: CGRect) -> BackgroundView",
-            "key.parsed_scope.end" : 149,
-            "key.parsed_scope.start" : 143,
+            "key.parsed_scope.end" : 141,
+            "key.parsed_scope.start" : 139,
             "key.related_decls" : [
               {
                 "key.annotated_decl" : "createReusableBackgroundView(frame: CGRect) -> Self.BackgroundView<\/RelatedName>"
@@ -1370,23 +1352,7 @@
               }
             ],
             "key.substructure" : [
-              {
-                "key.annotated_decl" : "let view: BlueprintView<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
-                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> view<\/decl.name>: BlueprintView<\/ref.class><\/decl.var.type><\/decl.var.local>",
-                "key.kind" : "source.lang.swift.decl.var.local",
-                "key.length" : 38,
-                "key.name" : "view",
-                "key.namelength" : 4,
-                "key.nameoffset" : 5170,
-                "key.offset" : 5166,
-                "key.parsed_declaration" : "let view = BlueprintView(frame: frame)",
-                "key.parsed_scope.end" : 145,
-                "key.parsed_scope.start" : 145,
-                "key.typename" : "BlueprintView",
-                "key.typeusr" : "$s11BlueprintUI0A4ViewCD",
-                "key.usr" : "s:16BlueprintUILists0A11ItemContentPAAE28createReusableBackgroundView5frame0A2UI0aH0CSo6CGRectV_tFZ4viewL_AHvp"
-              }
+
             ],
             "key.typename" : " (Self.Type) -> (CGRect) -> Self.BackgroundView",
             "key.typeusr" : "$s5frame11BlueprintUI0B4ViewCSo6CGRectV_tcD",
@@ -1395,8 +1361,8 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
             "key.annotated_decl" : "static func createReusableSelectedBackgroundView(frame: CGRect<\/Type>) -> SelectedBackgroundView<\/Type><\/Declaration>",
-            "key.bodylength" : 61,
-            "key.bodyoffset" : 5378,
+            "key.bodylength" : 48,
+            "key.bodyoffset" : 5228,
             "key.doc.column" : 17,
             "key.doc.declaration" : "static func createReusableSelectedBackgroundView(frame: CGRect) -> Self.SelectedBackgroundView",
             "key.doc.discussion" : [
@@ -1413,22 +1379,22 @@
                 "Note" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-            "key.doc.full_as_xml" : "createReusableSelectedBackgroundView(frame:)<\/Name>s:10ListableUI11ItemContentP36createReusableSelectedBackgroundView5frame0ghI0QzSo6CGRectV_tFZ<\/USR>static func createReusableSelectedBackgroundView(frame: CGRect) -> Self.SelectedBackgroundView<\/Declaration>Create and return a new background view used to render the content’s selected background.<\/Para><\/Abstract>This view is displayed when the content is highlighted or selected.<\/Para>If your BackgroundView<\/codeVoice> and SelectedBackgroundView<\/codeVoice> are the same type, this method is provided automatically by calling createReusableBackgroundView<\/codeVoice>.<\/Para>]]><\/rawHTML>Note]]><\/rawHTML>Do not do configuration in this method that will be changed by your view’s theme or appearance – instead do that work in apply(to:)<\/codeVoice>, so the appearance will be updated if the appearance of content changes.<\/Para>This documentation comment was inherited from ItemContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.doc.full_as_xml" : "createReusableSelectedBackgroundView(frame:)<\/Name>s:10ListableUI11ItemContentP36createReusableSelectedBackgroundView5frame0ghI0QzSo6CGRectV_tFZ<\/USR>static func createReusableSelectedBackgroundView(frame: CGRect) -> Self.SelectedBackgroundView<\/Declaration>Create and return a new background view used to render the content’s selected background.<\/Para><\/Abstract>This view is displayed when the content is highlighted or selected.<\/Para>If your BackgroundView<\/codeVoice> and SelectedBackgroundView<\/codeVoice> are the same type, this method is provided automatically by calling createReusableBackgroundView<\/codeVoice>.<\/Para>]]><\/rawHTML>Note]]><\/rawHTML>Do not do configuration in this method that will be changed by your view’s theme or appearance – instead do that work in apply(to:)<\/codeVoice>, so the appearance will be updated if the appearance of content changes.<\/Para>This documentation comment was inherited from ItemContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 195,
             "key.doc.name" : "createReusableSelectedBackgroundView(frame:)",
             "key.doc.type" : "Function",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
             "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> createReusableSelectedBackgroundView<\/decl.name>(frame<\/decl.var.parameter.argument_label>: CGRect<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> SelectedBackgroundView<\/ref.associatedtype><\/decl.function.returntype><\/decl.function.method.static>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
-            "key.length" : 153,
+            "key.length" : 140,
             "key.name" : "createReusableSelectedBackgroundView(frame:)",
             "key.namelength" : 51,
-            "key.nameoffset" : 5299,
-            "key.offset" : 5287,
+            "key.nameoffset" : 5149,
+            "key.offset" : 5137,
             "key.parsed_declaration" : "static func createReusableSelectedBackgroundView(frame: CGRect) -> SelectedBackgroundView",
-            "key.parsed_scope.end" : 153,
-            "key.parsed_scope.start" : 151,
+            "key.parsed_scope.end" : 145,
+            "key.parsed_scope.start" : 143,
             "key.related_decls" : [
               {
                 "key.annotated_decl" : "createReusableSelectedBackgroundView(frame: CGRect) -> Self.SelectedBackgroundView<\/RelatedName>"
@@ -1443,6 +1409,52 @@
             "key.typename" : " (Self.Type) -> (CGRect) -> Self.SelectedBackgroundView",
             "key.typeusr" : "$s5frame11BlueprintUI0B4ViewCSo6CGRectV_tcD",
             "key.usr" : "s:10ListableUI11ItemContentP36createReusableSelectedBackgroundView5frame0ghI0QzSo6CGRectV_tFZ"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.private",
+            "key.annotated_decl" : "private static func newBlueprintView(with frame: CGRect<\/Type>) -> BlueprintView<\/Type><\/Declaration>",
+            "key.attributes" : [
+              {
+                "key.attribute" : "source.decl.attribute.private",
+                "key.length" : 7,
+                "key.offset" : 5287
+              }
+            ],
+            "key.bodylength" : 119,
+            "key.bodyoffset" : 5363,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
+            "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> newBlueprintView<\/decl.name>(with<\/decl.var.parameter.argument_label> frame<\/decl.var.parameter.name>: CGRect<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> BlueprintView<\/ref.class><\/decl.function.returntype><\/decl.function.method.static>",
+            "key.kind" : "source.lang.swift.decl.function.method.static",
+            "key.length" : 188,
+            "key.name" : "newBlueprintView(with:)",
+            "key.namelength" : 37,
+            "key.nameoffset" : 5307,
+            "key.offset" : 5295,
+            "key.parsed_declaration" : "private static func newBlueprintView(with frame : CGRect) -> BlueprintView",
+            "key.parsed_scope.end" : 152,
+            "key.parsed_scope.start" : 147,
+            "key.substructure" : [
+              {
+                "key.annotated_decl" : "let view: BlueprintView<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
+                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> view<\/decl.name>: BlueprintView<\/ref.class><\/decl.var.type><\/decl.var.local>",
+                "key.kind" : "source.lang.swift.decl.var.local",
+                "key.length" : 38,
+                "key.name" : "view",
+                "key.namelength" : 4,
+                "key.nameoffset" : 5376,
+                "key.offset" : 5372,
+                "key.parsed_declaration" : "let view = BlueprintView(frame: frame)",
+                "key.parsed_scope.end" : 148,
+                "key.parsed_scope.start" : 148,
+                "key.typename" : "BlueprintView",
+                "key.typeusr" : "$s11BlueprintUI0A4ViewCD",
+                "key.usr" : "s:16BlueprintUILists0A11ItemContentPAAE03newA4View33_00A2BB1FCE0BEE1B772989891DE46E9ALL4with0A2UI0aF0CSo6CGRectV_tFZ4viewL_AIvp"
+              }
+            ],
+            "key.typename" : " (Self.Type) -> (CGRect) -> BlueprintView",
+            "key.typeusr" : "$s4with11BlueprintUI0B4ViewCSo6CGRectV_tcD",
+            "key.usr" : "s:16BlueprintUILists0A11ItemContentPAAE03newA4View33_00A2BB1FCE0BEE1B772989891DE46E9ALL4with0A2UI0aF0CSo6CGRectV_tFZ"
           }
         ],
         "key.typename" : "BlueprintItemContent.Protocol",
@@ -1452,147 +1464,23 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/Deprecations.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/Deprecations.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
-    "key.length" : 1743,
+    "key.length" : 1292,
     "key.offset" : 0,
     "key.substructure" : [
       {
         "key.kind" : "source.lang.swift.syntaxtype.comment.mark",
-        "key.length" : 29,
-        "key.name" : "MARK: Deprecated May 29, 2019",
+        "key.length" : 31,
+        "key.name" : "MARK: Deprecated Month XX, 20XX",
         "key.namelength" : 0,
         "key.nameoffset" : 0,
         "key.offset" : 1257
-      },
-      {
-        "key.accessibility" : "source.lang.swift.accessibility.public",
-        "key.attributes" : [
-          {
-            "key.attribute" : "source.decl.attribute.public",
-            "key.length" : 6,
-            "key.offset" : 1351
-          },
-          {
-            "key.attribute" : "source.decl.attribute.available",
-            "key.length" : 59,
-            "key.offset" : 1291
-          }
-        ],
-        "key.doc.comment" : "\nThis file contains deprecations which have occurred in BlueprintUILists, for which there are reasonable\nforward-moving defaults (eg, renames), to ease transitions for consumers when they update their library version.\n\nTo add new deprecations and changes:\n------------------------------------\n1) Add a new `MARK: Deprecated ` section for the deprecations you are adding.\n\n2) Add deprecation annotations like so:\n   ```\n   @available(*, deprecated, renamed: \"ItemContent\")\n   public typealias ItemElement = ItemContent\n   ```\n\n   Or, when deprecating properties, add a passthrough like so:\n   ```\n   public extension Item {\n      @available(*, deprecated, renamed: \"content\")\n      var element : Content {\n         self.content\n      }\n   }\n   ```\n\n3) After 1-2 months has passed, mark the previously `deprecated` items as `unavailable`:\n   ```\n   @available(*, unavailable, renamed: \"ItemContent\")\n   ```\n\n4) After another 1-2 months have passed, feel free to remove the `MARK: Deprecated` section you added.",
-        "key.internal_diagnostic" : "Unavailable in the current compilation context.",
-        "key.kind" : "source.lang.swift.decl.typealias",
-        "key.length" : 53,
-        "key.name" : "BlueprintItemElement",
-        "key.namelength" : 20,
-        "key.nameoffset" : 1368,
-        "key.offset" : 1358
-      },
-      {
-        "key.accessibility" : "source.lang.swift.accessibility.public",
-        "key.attributes" : [
-          {
-            "key.attribute" : "source.decl.attribute.public",
-            "key.length" : 6,
-            "key.offset" : 1481
-          },
-          {
-            "key.attribute" : "source.decl.attribute.available",
-            "key.length" : 67,
-            "key.offset" : 1413
-          }
-        ],
-        "key.internal_diagnostic" : "Unavailable in the current compilation context.",
-        "key.kind" : "source.lang.swift.decl.typealias",
-        "key.length" : 69,
-        "key.name" : "BlueprintHeaderFooterElement",
-        "key.namelength" : 28,
-        "key.nameoffset" : 1498,
-        "key.offset" : 1488
-      },
-      {
-        "key.accessibility" : "source.lang.swift.accessibility.public",
-        "key.annotated_decl" : "public protocol BlueprintHeaderFooterContent : HeaderFooterContent<\/Type> where Self<\/Type>.BackgroundView == BlueprintView<\/Type>, Self<\/Type>.ContentView == BlueprintView<\/Type>, Self<\/Type>.PressedBackgroundView == BlueprintView<\/Type><\/Declaration>",
-        "key.attributes" : [
-          {
-            "key.attribute" : "source.decl.attribute.public",
-            "key.length" : 6,
-            "key.offset" : 1559
-          }
-        ],
-        "key.bodylength" : 135,
-        "key.bodyoffset" : 1606,
-        "key.doc.column" : 17,
-        "key.doc.declaration" : "public protocol BlueprintHeaderFooterContent : ListableUI.HeaderFooterContent where Self.BackgroundView == BlueprintUI.BlueprintView, Self.ContentView == BlueprintUI.BlueprintView, Self.PressedBackgroundView == BlueprintUI.BlueprintView",
-        "key.doc.discussion" : [
-          {
-            "Para" : "You do not need to provide any views; just Blueprint `Elements`. Do not override the `createReusable{...}View` methods."
-          },
-          {
-            "Para" : "A non-tappable header that shows a label might look like this:"
-          },
-          {
-            "CodeListing" : ""
-          },
-          {
-            "Para" : "The header is made `Equatable` in order to synthesize automatic conformance to `isEquivalent`, based on the header’s properties."
-          },
-          {
-            "Para" : "If you want to add support for rendering a background view and a pressed state, you should provide both `background` and `pressedBackground` properties:"
-          },
-          {
-            "CodeListing" : ""
-          },
-          {
-            "Para" : "The ordering of the elements by z-index is as follows: z-Index 3) `elementRepresentation` z-Index 2) `pressedBackground` (Only if the header\/footer is pressed, eg if the wrapping `HeaderFooter` has an `onTap` handler.) z-Index 1) `background`"
-          }
-        ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
-        "key.doc.full_as_xml" : "BlueprintHeaderFooterContent<\/Name>s:16BlueprintUILists0A19HeaderFooterContentP<\/USR>public protocol BlueprintHeaderFooterContent : ListableUI.HeaderFooterContent where Self.BackgroundView == BlueprintUI.BlueprintView, Self.ContentView == BlueprintUI.BlueprintView, Self.PressedBackgroundView == BlueprintUI.BlueprintView<\/Declaration>A HeaderFooterContent<\/codeVoice> specialized for use with Blueprint. Instead of providing custom views from createReusable{...}View<\/codeVoice>, and then updating them in apply(to:)<\/codeVoice>, you instead provide Blueprint elements, and Listable<\/codeVoice> handles mapping this to an underlying BlueprintView<\/codeVoice>.<\/Para><\/Abstract>You do not need to provide any views; just Blueprint Elements<\/codeVoice>. Do not override the createReusable{...}View<\/codeVoice> methods.<\/Para>A non-tappable header that shows a label might look like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>The header is made Equatable<\/codeVoice> in order to synthesize automatic conformance to isEquivalent<\/codeVoice>, based on the header’s properties.<\/Para>If you want to add support for rendering a background view and a pressed state, you should provide both background<\/codeVoice> and pressedBackground<\/codeVoice> properties:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>The ordering of the elements by z-index is as follows: z-Index 3) elementRepresentation<\/codeVoice> z-Index 2) pressedBackground<\/codeVoice> (Only if the header\/footer is pressed, eg if the wrapping HeaderFooter<\/codeVoice> has an onTap<\/codeVoice> handler.) z-Index 1) background<\/codeVoice><\/Para><\/Discussion><\/CommentParts><\/Class>",
-        "key.doc.line" : 60,
-        "key.doc.name" : "BlueprintHeaderFooterContent",
-        "key.doc.type" : "Class",
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
-        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> BlueprintHeaderFooterContent<\/decl.name> : HeaderFooterContent<\/ref.protocol> where<\/syntaxtype.keyword> Self<\/ref.generic_type_param>.BackgroundView == BlueprintView<\/ref.class><\/decl.generic_type_requirement>, Self<\/ref.generic_type_param>.ContentView == BlueprintView<\/ref.class><\/decl.generic_type_requirement>, Self<\/ref.generic_type_param>.PressedBackgroundView == BlueprintView<\/ref.class><\/decl.generic_type_requirement><\/decl.protocol>",
-        "key.kind" : "source.lang.swift.decl.extension",
-        "key.length" : 176,
-        "key.name" : "BlueprintHeaderFooterContent",
-        "key.namelength" : 28,
-        "key.nameoffset" : 1576,
-        "key.offset" : 1566,
-        "key.parsed_declaration" : "public extension BlueprintHeaderFooterContent",
-        "key.parsed_scope.end" : 58,
-        "key.parsed_scope.start" : 53,
-        "key.substructure" : [
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.attributes" : [
-              {
-                "key.attribute" : "source.decl.attribute.available",
-                "key.length" : 60,
-                "key.offset" : 1611
-              }
-            ],
-            "key.bodylength" : 40,
-            "key.bodyoffset" : 1699,
-            "key.internal_diagnostic" : "Unavailable in the current compilation context.",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 64,
-            "key.name" : "element",
-            "key.namelength" : 7,
-            "key.nameoffset" : 1680,
-            "key.offset" : 1676,
-            "key.typename" : "Element"
-          }
-        ],
-        "key.typename" : "BlueprintHeaderFooterContent.Protocol",
-        "key.typeusr" : "$s16BlueprintUILists0A19HeaderFooterContent_pmD",
-        "key.usr" : "s:16BlueprintUILists0A19HeaderFooterContentP"
       }
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/Exports.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/Exports.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 209,
     "key.offset" : 0,
@@ -1601,7 +1489,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/HeaderFooter.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/HeaderFooter.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 5198,
     "key.offset" : 0,
@@ -1610,7 +1498,7 @@
         "key.annotated_decl" : "struct HeaderFooter<Content> : AnyHeaderFooter<\/Type> where Content : HeaderFooterContent<\/Type><\/Declaration>",
         "key.bodylength" : 3998,
         "key.bodyoffset" : 159,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooter.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooter.swift",
         "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> HeaderFooter<\/decl.name><Content<\/decl.generic_type_param.name><\/decl.generic_type_param>> : AnyHeaderFooter<\/ref.protocol> where<\/syntaxtype.keyword> Content : HeaderFooterContent<\/ref.protocol><\/decl.generic_type_requirement><\/decl.struct>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 4023,
@@ -1652,14 +1540,14 @@
                 "CodeListing" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/HeaderFooter.swift",
-            "key.doc.full_as_xml" : "init(_:isEquivalent:element:background:pressedBackground:configure:)<\/Name>s:10ListableUI12HeaderFooterV16BlueprintUIListsE_12isEquivalent7element10background17pressedBackground9configureACyAD0ecD14ContentWrapperVyqd__GGqd___Sbqd___qd__tc0eB07Element_pqd__cAnO_pSgqd__cAPqd__cyAMzXEtcALRszlufc<\/USR>public init<Represented>(_ representing: Represented, isEquivalent: @escaping (Represented, Represented) -> Bool, element: @escaping (Represented) -> Element, background: @escaping (Represented) -> Element? = { _ in nil }, pressedBackground: @escaping (Represented) -> Element? = { _ in nil }, configure: (inout HeaderFooter<BlueprintHeaderFooterContentWrapper<Represented>>) -> () = { _ in }) where Content == BlueprintUILists.BlueprintHeaderFooterContentWrapper<Represented><\/Declaration>Provides a way to create a HeaderFooter<\/codeVoice> for your Blueprint elements without requiring the creation of a new BlueprintHeaderFooterContent<\/codeVoice> struct.<\/Para><\/Abstract>Most arguments on this method are not required – you must only provide an input and an element provider.<\/Para>]]><\/rawHTML>Note]]><\/rawHTML>This initializer is helpful if you have to nest an existing element that needs to be used in a single place, without needing to define an entirely new type.<\/Para>If your header or footer is to be used in more than one place, it is recommended that you create a BlueprintHeaderFooterContent<\/codeVoice> struct to share logic to avoid duplicate code.<\/Para>]]><\/rawHTML>Example]]><\/rawHTML><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/HeaderFooter.swift",
+            "key.doc.full_as_xml" : "init(_:isEquivalent:element:background:pressedBackground:configure:)<\/Name>s:10ListableUI12HeaderFooterV16BlueprintUIListsE_12isEquivalent7element10background17pressedBackground9configureACyAD0ecD14ContentWrapperVyqd__GGqd___Sbqd___qd__tc0eB07Element_pqd__cAnO_pSgqd__cAPqd__cyAMzXEtcALRszlufc<\/USR>public init<Represented>(_ representing: Represented, isEquivalent: @escaping (Represented, Represented) -> Bool, element: @escaping (Represented) -> Element, background: @escaping (Represented) -> Element? = { _ in nil }, pressedBackground: @escaping (Represented) -> Element? = { _ in nil }, configure: (inout HeaderFooter<BlueprintHeaderFooterContentWrapper<Represented>>) -> () = { _ in }) where Content == BlueprintUILists.BlueprintHeaderFooterContentWrapper<Represented><\/Declaration>Provides a way to create a HeaderFooter<\/codeVoice> for your Blueprint elements without requiring the creation of a new BlueprintHeaderFooterContent<\/codeVoice> struct.<\/Para><\/Abstract>Most arguments on this method are not required – you must only provide an input and an element provider.<\/Para>]]><\/rawHTML>Note]]><\/rawHTML>This initializer is helpful if you have to nest an existing element that needs to be used in a single place, without needing to define an entirely new type.<\/Para>If your header or footer is to be used in more than one place, it is recommended that you create a BlueprintHeaderFooterContent<\/codeVoice> struct to share logic to avoid duplicate code.<\/Para>]]><\/rawHTML>Example]]><\/rawHTML><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 44,
             "key.doc.name" : "init(_:isEquivalent:element:background:pressedBackground:configure:)",
             "key.doc.type" : "Function",
             "key.doclength" : 1092,
             "key.docoffset" : 164,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/HeaderFooter.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/HeaderFooter.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword><Represented<\/decl.generic_type_param.name><\/decl.generic_type_param>>(_<\/decl.var.parameter.argument_label> representing<\/decl.var.parameter.name>: Represented<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, isEquivalent<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> (Represented<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, Represented<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>, element<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> (Represented<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> Element<\/ref.protocol><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>, background<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> (Represented<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> Element<\/ref.protocol>?<\/decl.function.returntype><\/decl.var.parameter.type> = { _ in nil }<\/decl.var.parameter>, pressedBackground<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> (Represented<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> Element<\/ref.protocol>?<\/decl.function.returntype><\/decl.var.parameter.type> = { _ in nil }<\/decl.var.parameter>, configure<\/decl.var.parameter.argument_label>: (inout<\/syntaxtype.keyword> HeaderFooter<\/ref.struct><BlueprintHeaderFooterContentWrapper<\/ref.struct><Represented<\/ref.generic_type_param>>><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type> = { _ in }<\/decl.var.parameter>) where<\/syntaxtype.keyword> Content == BlueprintHeaderFooterContentWrapper<\/ref.struct><Represented><\/decl.generic_type_requirement><\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 942,
@@ -1678,13 +1566,13 @@
                 "key.annotated_decl" : "init(_:build:)<\/RelatedName>"
               },
               {
-                "key.annotated_decl" : "init(_:sizing:layout:onTap:)<\/RelatedName>"
+                "key.annotated_decl" : "init(_:sizing:layouts:onTap:)<\/RelatedName>"
               }
             ],
             "key.substructure" : [
               {
                 "key.annotated_decl" : "Represented<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/HeaderFooter.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/HeaderFooter.swift",
                 "key.fully_annotated_decl" : "Represented<\/decl.generic_type_param.name><\/decl.generic_type_param>",
                 "key.kind" : "source.lang.swift.decl.generic_type_param",
                 "key.length" : 11,
@@ -1733,14 +1621,14 @@
                 "CodeListing" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/HeaderFooter.swift",
-            "key.doc.full_as_xml" : "init(_:element:background:pressedBackground:configure:)<\/Name>s:10ListableUI12HeaderFooterV16BlueprintUIListsE_7element10background17pressedBackground9configureACyAD0ecD14ContentWrapperVyqd__GGqd___0eB07Element_pqd__cAmN_pSgqd__cAOqd__cyALzXEtcAKRszSQRd__lufc<\/USR>public init<Represented>(_ representing: Represented, element: @escaping (Represented) -> Element, background: @escaping (Represented) -> Element? = { _ in nil }, pressedBackground: @escaping (Represented) -> Element? = { _ in nil }, configure: (inout HeaderFooter<BlueprintHeaderFooterContentWrapper<Represented>>) -> () = { _ in }) where Content == BlueprintUILists.BlueprintHeaderFooterContentWrapper<Represented>, Represented : Equatable<\/Declaration>Provides a way to create a HeaderFooter<\/codeVoice> for your Blueprint elements without requiring the creation of a new BlueprintHeaderFooterContent<\/codeVoice> struct.<\/Para><\/Abstract>Most arguments on this method are not required – you must only provide an input and an element provider.<\/Para>]]><\/rawHTML>Note]]><\/rawHTML>This initializer is helpful if you have to nest an existing element that needs to be used in a single place, without needing to define an entirely new type.<\/Para>If your header or footer is to be used in more than one place, it is recommended that you create a BlueprintHeaderFooterContent<\/codeVoice> struct to share logic to avoid duplicate code.<\/Para>]]><\/rawHTML>Example]]><\/rawHTML><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/HeaderFooter.swift",
+            "key.doc.full_as_xml" : "init(_:element:background:pressedBackground:configure:)<\/Name>s:10ListableUI12HeaderFooterV16BlueprintUIListsE_7element10background17pressedBackground9configureACyAD0ecD14ContentWrapperVyqd__GGqd___0eB07Element_pqd__cAmN_pSgqd__cAOqd__cyALzXEtcAKRszSQRd__lufc<\/USR>public init<Represented>(_ representing: Represented, element: @escaping (Represented) -> Element, background: @escaping (Represented) -> Element? = { _ in nil }, pressedBackground: @escaping (Represented) -> Element? = { _ in nil }, configure: (inout HeaderFooter<BlueprintHeaderFooterContentWrapper<Represented>>) -> () = { _ in }) where Content == BlueprintUILists.BlueprintHeaderFooterContentWrapper<Represented>, Represented : Equatable<\/Declaration>Provides a way to create a HeaderFooter<\/codeVoice> for your Blueprint elements without requiring the creation of a new BlueprintHeaderFooterContent<\/codeVoice> struct.<\/Para><\/Abstract>Most arguments on this method are not required – you must only provide an input and an element provider.<\/Para>]]><\/rawHTML>Note]]><\/rawHTML>This initializer is helpful if you have to nest an existing element that needs to be used in a single place, without needing to define an entirely new type.<\/Para>If your header or footer is to be used in more than one place, it is recommended that you create a BlueprintHeaderFooterContent<\/codeVoice> struct to share logic to avoid duplicate code.<\/Para>]]><\/rawHTML>Example]]><\/rawHTML><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 97,
             "key.doc.name" : "init(_:element:background:pressedBackground:configure:)",
             "key.doc.type" : "Function",
             "key.doclength" : 1023,
             "key.docoffset" : 2219,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/HeaderFooter.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/HeaderFooter.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword><Represented<\/decl.generic_type_param.name><\/decl.generic_type_param>>(_<\/decl.var.parameter.argument_label> representing<\/decl.var.parameter.name>: Represented<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, element<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> (Represented<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> Element<\/ref.protocol><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>, background<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> (Represented<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> Element<\/ref.protocol>?<\/decl.function.returntype><\/decl.var.parameter.type> = { _ in nil }<\/decl.var.parameter>, pressedBackground<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> (Represented<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> Element<\/ref.protocol>?<\/decl.function.returntype><\/decl.var.parameter.type> = { _ in nil }<\/decl.var.parameter>, configure<\/decl.var.parameter.argument_label>: (inout<\/syntaxtype.keyword> HeaderFooter<\/ref.struct><BlueprintHeaderFooterContentWrapper<\/ref.struct><Represented<\/ref.generic_type_param>>><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type> = { _ in }<\/decl.var.parameter>) where<\/syntaxtype.keyword> Content == BlueprintHeaderFooterContentWrapper<\/ref.struct><Represented><\/decl.generic_type_requirement>, Represented : Equatable<\/ref.protocol><\/decl.generic_type_requirement><\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 903,
@@ -1759,13 +1647,13 @@
                 "key.annotated_decl" : "init(_:build:)<\/RelatedName>"
               },
               {
-                "key.annotated_decl" : "init(_:sizing:layout:onTap:)<\/RelatedName>"
+                "key.annotated_decl" : "init(_:sizing:layouts:onTap:)<\/RelatedName>"
               }
             ],
             "key.substructure" : [
               {
                 "key.annotated_decl" : "Represented<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/HeaderFooter.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/HeaderFooter.swift",
                 "key.fully_annotated_decl" : "Represented<\/decl.generic_type_param.name><\/decl.generic_type_param>",
                 "key.kind" : "source.lang.swift.decl.generic_type_param",
                 "key.length" : 11,
@@ -1805,8 +1693,8 @@
         "key.doc.column" : 15,
         "key.doc.comment" : "The `BlueprintHeaderFooterContent` type that is used to provide\na lightweight way to present an `Element`, without needing to provide an entirely\nnew `BlueprintHeaderFooterContent` type.",
         "key.doc.declaration" : "public struct BlueprintHeaderFooterContentWrapper : BlueprintHeaderFooterContent",
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/HeaderFooter.swift",
-        "key.doc.full_as_xml" : "BlueprintHeaderFooterContentWrapper<\/Name>s:16BlueprintUILists0A26HeaderFooterContentWrapperV<\/USR>public struct BlueprintHeaderFooterContentWrapper<Represented> : BlueprintHeaderFooterContent<\/Declaration>The BlueprintHeaderFooterContent<\/codeVoice> type that is used to provide a lightweight way to present an Element<\/codeVoice>, without needing to provide an entirely new BlueprintHeaderFooterContent<\/codeVoice> type.<\/Para><\/Abstract><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/HeaderFooter.swift",
+        "key.doc.full_as_xml" : "BlueprintHeaderFooterContentWrapper<\/Name>s:16BlueprintUILists0A26HeaderFooterContentWrapperV<\/USR>public struct BlueprintHeaderFooterContentWrapper<Represented> : BlueprintHeaderFooterContent<\/Declaration>The BlueprintHeaderFooterContent<\/codeVoice> type that is used to provide a lightweight way to present an Element<\/codeVoice>, without needing to provide an entirely new BlueprintHeaderFooterContent<\/codeVoice> type.<\/Para><\/Abstract><\/CommentParts><\/Class>",
         "key.doc.line" : 125,
         "key.doc.name" : "BlueprintHeaderFooterContentWrapper",
         "key.doc.type" : "Class",
@@ -1819,7 +1707,7 @@
             "key.offset" : 4425
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/HeaderFooter.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/HeaderFooter.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> BlueprintHeaderFooterContentWrapper<\/decl.name><Represented<\/decl.generic_type_param.name><\/decl.generic_type_param>> : BlueprintHeaderFooterContent<\/ref.protocol><\/decl.struct>",
         "key.inheritedtypes" : [
           {
@@ -1838,7 +1726,7 @@
         "key.substructure" : [
           {
             "key.annotated_decl" : "Represented<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/HeaderFooter.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/HeaderFooter.swift",
             "key.fully_annotated_decl" : "Represented<\/decl.generic_type_param.name><\/decl.generic_type_param>",
             "key.kind" : "source.lang.swift.decl.generic_type_param",
             "key.length" : 11,
@@ -1863,7 +1751,7 @@
                 "key.offset" : 4460
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/HeaderFooter.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/HeaderFooter.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> let<\/syntaxtype.keyword> representing<\/decl.name>: Represented<\/ref.generic_type_param><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 30,
@@ -1881,7 +1769,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "let isEquivalentProvider: (Represented<\/Type>, Represented<\/Type>) -> Bool<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/HeaderFooter.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/HeaderFooter.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> isEquivalentProvider<\/decl.name>: (Represented<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, Represented<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 61,
@@ -1899,7 +1787,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "let elementProvider: (Represented<\/Type>) -> Element<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/HeaderFooter.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/HeaderFooter.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> elementProvider<\/decl.name>: (Represented<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> Element<\/ref.protocol><\/decl.function.returntype><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 46,
@@ -1917,7 +1805,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "let backgroundProvider: (Represented<\/Type>) -> Element<\/Type>?<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/HeaderFooter.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/HeaderFooter.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> backgroundProvider<\/decl.name>: (Represented<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> Element<\/ref.protocol>?<\/decl.function.returntype><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 50,
@@ -1935,7 +1823,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "let pressedBackgroundProvider: (Represented<\/Type>) -> Element<\/Type>?<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/HeaderFooter.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/HeaderFooter.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> pressedBackgroundProvider<\/decl.name>: (Represented<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> Element<\/ref.protocol>?<\/decl.function.returntype><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 57,
@@ -1962,7 +1850,7 @@
             ],
             "key.bodylength" : 78,
             "key.bodyoffset" : 4792,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/HeaderFooter.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/HeaderFooter.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> isEquivalent<\/decl.name>(to<\/decl.var.parameter.argument_label> other<\/decl.var.parameter.name>: `Self`<\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 122,
@@ -2004,12 +1892,12 @@
                 "Note" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
-            "key.doc.full_as_xml" : "elementRepresentation<\/Name>s:16BlueprintUILists0A19HeaderFooterContentP21elementRepresentation0A2UI7Element_pvp<\/USR>var elementRepresentation: Element { get }<\/Declaration>Required. Create and return the Blueprint element used to represent the content.<\/Para><\/Abstract>This documentation comment was inherited from BlueprintHeaderFooterContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
+            "key.doc.full_as_xml" : "elementRepresentation<\/Name>s:16BlueprintUILists0A19HeaderFooterContentP21elementRepresentation0A2UI7Element_pvp<\/USR>var elementRepresentation: Element { get }<\/Declaration>Required. Create and return the Blueprint element used to represent the content.<\/Para><\/Abstract>This documentation comment was inherited from BlueprintHeaderFooterContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Other>",
             "key.doc.line" : 71,
             "key.doc.name" : "elementRepresentation",
             "key.doc.type" : "Other",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/HeaderFooter.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/HeaderFooter.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> elementRepresentation<\/decl.name>: Element<\/ref.protocol><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 91,
@@ -2051,12 +1939,12 @@
                 "Note" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
-            "key.doc.full_as_xml" : "background<\/Name>s:16BlueprintUILists0A19HeaderFooterContentP10background0A2UI7Element_pSgvp<\/USR>var background: Element? { get }<\/Declaration>Optional. Create and return the Blueprint element used to represent the background of the content. You usually provide this method alongside pressedBackground<\/codeVoice>, if your header has an onTap<\/codeVoice> handler.<\/Para><\/Abstract>]]><\/rawHTML>Note]]><\/rawHTML>The default implementation of this method returns nil, and provides no background.<\/Para>This documentation comment was inherited from BlueprintHeaderFooterContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
+            "key.doc.full_as_xml" : "background<\/Name>s:16BlueprintUILists0A19HeaderFooterContentP10background0A2UI7Element_pSgvp<\/USR>var background: Element? { get }<\/Declaration>Optional. Create and return the Blueprint element used to represent the background of the content. You usually provide this method alongside pressedBackground<\/codeVoice>, if your header has an onTap<\/codeVoice> handler.<\/Para><\/Abstract>]]><\/rawHTML>Note]]><\/rawHTML>The default implementation of this method returns nil, and provides no background.<\/Para>This documentation comment was inherited from BlueprintHeaderFooterContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Other>",
             "key.doc.line" : 81,
             "key.doc.name" : "background",
             "key.doc.type" : "Other",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/HeaderFooter.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/HeaderFooter.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> background<\/decl.name>: Element<\/ref.protocol>?<\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 84,
@@ -2098,12 +1986,12 @@
                 "Note" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
-            "key.doc.full_as_xml" : "pressedBackground<\/Name>s:16BlueprintUILists0A19HeaderFooterContentP17pressedBackground0A2UI7Element_pSgvp<\/USR>var pressedBackground: Element? { get }<\/Declaration>Optional. Create and return the Blueprint element used to represent the background of the content when it is pressed. You usually provide this method alongside background<\/codeVoice>, if your header has an onTap<\/codeVoice> handler.<\/Para><\/Abstract>]]><\/rawHTML>Note]]><\/rawHTML>The default implementation of this method returns nil, and provides no selected background.<\/Para>This documentation comment was inherited from BlueprintHeaderFooterContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintHeaderFooterContent.swift",
+            "key.doc.full_as_xml" : "pressedBackground<\/Name>s:16BlueprintUILists0A19HeaderFooterContentP17pressedBackground0A2UI7Element_pSgvp<\/USR>var pressedBackground: Element? { get }<\/Declaration>Optional. Create and return the Blueprint element used to represent the background of the content when it is pressed. You usually provide this method alongside background<\/codeVoice>, if your header has an onTap<\/codeVoice> handler.<\/Para><\/Abstract>]]><\/rawHTML>Note]]><\/rawHTML>The default implementation of this method returns nil, and provides no selected background.<\/Para>This documentation comment was inherited from BlueprintHeaderFooterContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Other>",
             "key.doc.line" : 90,
             "key.doc.name" : "pressedBackground",
             "key.doc.type" : "Other",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/HeaderFooter.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/HeaderFooter.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> pressedBackground<\/decl.name>: Element<\/ref.protocol>?<\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 98,
@@ -2131,7 +2019,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/Item.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/Item.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 6130,
     "key.offset" : 0,
@@ -2140,7 +2028,7 @@
         "key.annotated_decl" : "struct Item<Content> : AnyItem<\/Type> where Content : ItemContent<\/Type><\/Declaration>",
         "key.bodylength" : 4589,
         "key.bodyoffset" : 143,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/Item.swift",
         "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> Item<\/decl.name><Content<\/decl.generic_type_param.name><\/decl.generic_type_param>> : AnyItem<\/ref.protocol> where<\/syntaxtype.keyword> Content : ItemContent<\/ref.protocol><\/decl.generic_type_requirement><\/decl.struct>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 4606,
@@ -2182,14 +2070,14 @@
                 "CodeListing" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/Item.swift",
-            "key.doc.full_as_xml" : "init(_:identifier:isEquivalent:element:background:selectedBackground:configure:)<\/Name>s:10ListableUI4ItemV16BlueprintUIListsE_10identifier12isEquivalent7element10background18selectedBackground9configureACyAD0dC14ContentWrapperVyqd__qd_0_GGqd___s7KeyPathCyqd__qd_0_GSbqd___qd__tc0dB07Element_pqd___AA05ApplycN4InfoVtcArS_pSgqd___AUtcAVqd___AUtcyANzXEtcAMRszSHRd_0_r0_lufc<\/USR>public init<Represented, IDType>(_ representing: Represented, identifier: KeyPath<Represented, IDType>, isEquivalent: @escaping (Represented, Represented) -> Bool, element: @escaping (Represented, ApplyItemContentInfo) -> Element, background: @escaping (Represented, ApplyItemContentInfo) -> Element? = { _, _ in nil }, selectedBackground: @escaping (Represented, ApplyItemContentInfo) -> Element? = { _, _ in nil }, configure: (inout Item<BlueprintItemContentWrapper<Represented, IDType>>) -> () = { _ in }) where Content == BlueprintUILists.BlueprintItemContentWrapper<Represented, IDType>, IDType : Hashable<\/Declaration>Provides a way to create an Item<\/codeVoice> for your Blueprint elements without requiring the creation of a new BlueprintItemContent<\/codeVoice> struct.<\/Para><\/Abstract>Most arguments on this method are not required – you must only provide an input, a key path for the backing identifier value, and an element provider.<\/Para>]]><\/rawHTML>Note]]><\/rawHTML>This initializer is helpful if you have to nest an existing element that needs to be used in a single place, without needing to define an entirely new type.<\/Para>If your item is to be used in more than one place, it is recommended that you create a BlueprintItemContent<\/codeVoice> struct to share logic to avoid duplicate code.<\/Para>]]><\/rawHTML>Example]]><\/rawHTML><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/Item.swift",
+            "key.doc.full_as_xml" : "init(_:identifier:isEquivalent:element:background:selectedBackground:configure:)<\/Name>s:10ListableUI4ItemV16BlueprintUIListsE_10identifier12isEquivalent7element10background18selectedBackground9configureACyAD0dC14ContentWrapperVyqd__qd_0_GGqd___s7KeyPathCyqd__qd_0_GSbqd___qd__tc0dB07Element_pqd___AA05ApplycN4InfoVtcArS_pSgqd___AUtcAVqd___AUtcyANzXEtcAMRszSHRd_0_r0_lufc<\/USR>public init<Represented, IDType>(_ representing: Represented, identifier: KeyPath<Represented, IDType>, isEquivalent: @escaping (Represented, Represented) -> Bool, element: @escaping (Represented, ApplyItemContentInfo) -> Element, background: @escaping (Represented, ApplyItemContentInfo) -> Element? = { _, _ in nil }, selectedBackground: @escaping (Represented, ApplyItemContentInfo) -> Element? = { _, _ in nil }, configure: (inout Item<BlueprintItemContentWrapper<Represented, IDType>>) -> () = { _ in }) where Content == BlueprintUILists.BlueprintItemContentWrapper<Represented, IDType>, IDType : Hashable<\/Declaration>Provides a way to create an Item<\/codeVoice> for your Blueprint elements without requiring the creation of a new BlueprintItemContent<\/codeVoice> struct.<\/Para><\/Abstract>Most arguments on this method are not required – you must only provide an input, a key path for the backing identifier value, and an element provider.<\/Para>]]><\/rawHTML>Note]]><\/rawHTML>This initializer is helpful if you have to nest an existing element that needs to be used in a single place, without needing to define an entirely new type.<\/Para>If your item is to be used in more than one place, it is recommended that you create a BlueprintItemContent<\/codeVoice> struct to share logic to avoid duplicate code.<\/Para>]]><\/rawHTML>Example]]><\/rawHTML><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 44,
             "key.doc.name" : "init(_:identifier:isEquivalent:element:background:selectedBackground:configure:)",
             "key.doc.type" : "Function",
             "key.doclength" : 1174,
             "key.docoffset" : 148,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/Item.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/Item.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword><Represented<\/decl.generic_type_param.name><\/decl.generic_type_param>, IDType<\/decl.generic_type_param.name><\/decl.generic_type_param>>(_<\/decl.var.parameter.argument_label> representing<\/decl.var.parameter.name>: Represented<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, identifier<\/decl.var.parameter.argument_label>: KeyPath<\/ref.class><Represented<\/ref.generic_type_param>, IDType<\/ref.generic_type_param>><\/decl.var.parameter.type><\/decl.var.parameter>, isEquivalent<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> (Represented<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, Represented<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>, element<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> (Represented<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, ApplyItemContentInfo<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> Element<\/ref.protocol><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>, background<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> (Represented<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, ApplyItemContentInfo<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> Element<\/ref.protocol>?<\/decl.function.returntype><\/decl.var.parameter.type> = { _, _ in nil }<\/decl.var.parameter>, selectedBackground<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> (Represented<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, ApplyItemContentInfo<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> Element<\/ref.protocol>?<\/decl.function.returntype><\/decl.var.parameter.type> = { _, _ in nil }<\/decl.var.parameter>, configure<\/decl.var.parameter.argument_label>: (inout<\/syntaxtype.keyword> Item<\/ref.struct><BlueprintItemContentWrapper<\/ref.struct><Represented<\/ref.generic_type_param>, IDType<\/ref.generic_type_param>>><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type> = { _ in }<\/decl.var.parameter>) where<\/syntaxtype.keyword> Content == BlueprintItemContentWrapper<\/ref.struct><Represented, IDType><\/decl.generic_type_requirement>, IDType : Hashable<\/ref.protocol><\/decl.generic_type_requirement><\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 1167,
@@ -2208,13 +2096,13 @@
                 "key.annotated_decl" : "init(_:build:)<\/RelatedName>"
               },
               {
-                "key.annotated_decl" : "init(_:sizing:layout:selectionStyle:insertAndRemoveAnimations:swipeActions:reordering:onDisplay:onEndDisplay:onSelect:onDeselect:onInsert:onRemove:onMove:onUpdate:)<\/RelatedName>"
+                "key.annotated_decl" : "init(_:sizing:layouts:selectionStyle:insertAndRemoveAnimations:swipeActions:reordering:onDisplay:onEndDisplay:onSelect:onDeselect:onInsert:onRemove:onMove:onUpdate:)<\/RelatedName>"
               }
             ],
             "key.substructure" : [
               {
                 "key.annotated_decl" : "Represented<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/Item.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/Item.swift",
                 "key.fully_annotated_decl" : "Represented<\/decl.generic_type_param.name><\/decl.generic_type_param>",
                 "key.kind" : "source.lang.swift.decl.generic_type_param",
                 "key.length" : 11,
@@ -2238,7 +2126,7 @@
                     "key.offset" : 1358
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/Item.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/Item.swift",
                 "key.fully_annotated_decl" : "IDType<\/decl.generic_type_param.name> : Hashable<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
                 "key.inheritedtypes" : [
                   {
@@ -2292,14 +2180,14 @@
                 "CodeListing" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/Item.swift",
-            "key.doc.full_as_xml" : "init(_:identifier:element:background:selectedBackground:configure:)<\/Name>s:10ListableUI4ItemV16BlueprintUIListsE_10identifier7element10background18selectedBackground9configureACyAD0dC14ContentWrapperVyqd__qd_0_GGqd___s7KeyPathCyqd__qd_0_G0dB07Element_pqd___AA05ApplycL4InfoVtcAqR_pSgqd___ATtcAUqd___ATtcyAMzXEtcALRszSQRd__SHRd_0_r0_lufc<\/USR>public init<Represented, IDType>(_ representing: Represented, identifier: KeyPath<Represented, IDType>, element: @escaping (Represented, ApplyItemContentInfo) -> Element, background: @escaping (Represented, ApplyItemContentInfo) -> Element? = { _, _ in nil }, selectedBackground: @escaping (Represented, ApplyItemContentInfo) -> Element? = { _, _ in nil }, configure: (inout Item<BlueprintItemContentWrapper<Represented, IDType>>) -> () = { _ in }) where Content == BlueprintUILists.BlueprintItemContentWrapper<Represented, IDType>, Represented : Equatable, IDType : Hashable<\/Declaration>Provides a way to create an Item<\/codeVoice> for your Blueprint elements without requiring the creation of a new BlueprintItemContent<\/codeVoice> struct.<\/Para><\/Abstract>Most arguments on this method are not required – you must only provide an input, a key path for the backing identifier value, and an element provider.<\/Para>]]><\/rawHTML>Note]]><\/rawHTML>This initializer is helpful if you have to nest an existing element that needs to be used in a single place, without needing to define an entirely new type.<\/Para>If your item is to be used in more than one place, it is recommended that you create a BlueprintItemContent<\/codeVoice> struct to share logic to avoid duplicate code.<\/Para>]]><\/rawHTML>Example]]><\/rawHTML><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/Item.swift",
+            "key.doc.full_as_xml" : "init(_:identifier:element:background:selectedBackground:configure:)<\/Name>s:10ListableUI4ItemV16BlueprintUIListsE_10identifier7element10background18selectedBackground9configureACyAD0dC14ContentWrapperVyqd__qd_0_GGqd___s7KeyPathCyqd__qd_0_G0dB07Element_pqd___AA05ApplycL4InfoVtcAqR_pSgqd___ATtcAUqd___ATtcyAMzXEtcALRszSQRd__SHRd_0_r0_lufc<\/USR>public init<Represented, IDType>(_ representing: Represented, identifier: KeyPath<Represented, IDType>, element: @escaping (Represented, ApplyItemContentInfo) -> Element, background: @escaping (Represented, ApplyItemContentInfo) -> Element? = { _, _ in nil }, selectedBackground: @escaping (Represented, ApplyItemContentInfo) -> Element? = { _, _ in nil }, configure: (inout Item<BlueprintItemContentWrapper<Represented, IDType>>) -> () = { _ in }) where Content == BlueprintUILists.BlueprintItemContentWrapper<Represented, IDType>, Represented : Equatable, IDType : Hashable<\/Declaration>Provides a way to create an Item<\/codeVoice> for your Blueprint elements without requiring the creation of a new BlueprintItemContent<\/codeVoice> struct.<\/Para><\/Abstract>Most arguments on this method are not required – you must only provide an input, a key path for the backing identifier value, and an element provider.<\/Para>]]><\/rawHTML>Note]]><\/rawHTML>This initializer is helpful if you have to nest an existing element that needs to be used in a single place, without needing to define an entirely new type.<\/Para>If your item is to be used in more than one place, it is recommended that you create a BlueprintItemContent<\/codeVoice> struct to share logic to avoid duplicate code.<\/Para>]]><\/rawHTML>Example]]><\/rawHTML><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 102,
             "key.doc.name" : "init(_:identifier:element:background:selectedBackground:configure:)",
             "key.doc.type" : "Function",
             "key.doclength" : 1106,
             "key.docoffset" : 2510,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/Item.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/Item.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword><Represented<\/decl.generic_type_param.name><\/decl.generic_type_param>, IDType<\/decl.generic_type_param.name><\/decl.generic_type_param>>(_<\/decl.var.parameter.argument_label> representing<\/decl.var.parameter.name>: Represented<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, identifier<\/decl.var.parameter.argument_label>: KeyPath<\/ref.class><Represented<\/ref.generic_type_param>, IDType<\/ref.generic_type_param>><\/decl.var.parameter.type><\/decl.var.parameter>, element<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> (Represented<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, ApplyItemContentInfo<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> Element<\/ref.protocol><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>, background<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> (Represented<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, ApplyItemContentInfo<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> Element<\/ref.protocol>?<\/decl.function.returntype><\/decl.var.parameter.type> = { _, _ in nil }<\/decl.var.parameter>, selectedBackground<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> (Represented<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, ApplyItemContentInfo<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> Element<\/ref.protocol>?<\/decl.function.returntype><\/decl.var.parameter.type> = { _, _ in nil }<\/decl.var.parameter>, configure<\/decl.var.parameter.argument_label>: (inout<\/syntaxtype.keyword> Item<\/ref.struct><BlueprintItemContentWrapper<\/ref.struct><Represented<\/ref.generic_type_param>, IDType<\/ref.generic_type_param>>><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type> = { _ in }<\/decl.var.parameter>) where<\/syntaxtype.keyword> Content == BlueprintItemContentWrapper<\/ref.struct><Represented, IDType><\/decl.generic_type_requirement>, Represented : Equatable<\/ref.protocol><\/decl.generic_type_requirement>, IDType : Hashable<\/ref.protocol><\/decl.generic_type_requirement><\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 1104,
@@ -2318,13 +2206,13 @@
                 "key.annotated_decl" : "init(_:build:)<\/RelatedName>"
               },
               {
-                "key.annotated_decl" : "init(_:sizing:layout:selectionStyle:insertAndRemoveAnimations:swipeActions:reordering:onDisplay:onEndDisplay:onSelect:onDeselect:onInsert:onRemove:onMove:onUpdate:)<\/RelatedName>"
+                "key.annotated_decl" : "init(_:sizing:layouts:selectionStyle:insertAndRemoveAnimations:swipeActions:reordering:onDisplay:onEndDisplay:onSelect:onDeselect:onInsert:onRemove:onMove:onUpdate:)<\/RelatedName>"
               }
             ],
             "key.substructure" : [
               {
                 "key.annotated_decl" : "Represented<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/Item.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/Item.swift",
                 "key.fully_annotated_decl" : "Represented<\/decl.generic_type_param.name><\/decl.generic_type_param>",
                 "key.kind" : "source.lang.swift.decl.generic_type_param",
                 "key.length" : 11,
@@ -2348,7 +2236,7 @@
                     "key.offset" : 3652
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/Item.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/Item.swift",
                 "key.fully_annotated_decl" : "IDType<\/decl.generic_type_param.name> : Hashable<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
                 "key.inheritedtypes" : [
                   {
@@ -2393,8 +2281,8 @@
         "key.doc.column" : 15,
         "key.doc.comment" : "The `BlueprintItemContent` type that is used to provide\na lightweight way to present an `Element`, without needing to provide an entirely\nnew `BlueprintItemContent` type.",
         "key.doc.declaration" : "public struct BlueprintItemContentWrapper : BlueprintItemContent where IDType : Hashable",
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/Item.swift",
-        "key.doc.full_as_xml" : "BlueprintItemContentWrapper<\/Name>s:16BlueprintUILists0A18ItemContentWrapperV<\/USR>public struct BlueprintItemContentWrapper<Represented, IDType> : BlueprintItemContent where IDType : Hashable<\/Declaration>The BlueprintItemContent<\/codeVoice> type that is used to provide a lightweight way to present an Element<\/codeVoice>, without needing to provide an entirely new BlueprintItemContent<\/codeVoice> type.<\/Para><\/Abstract><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/Item.swift",
+        "key.doc.full_as_xml" : "BlueprintItemContentWrapper<\/Name>s:16BlueprintUILists0A18ItemContentWrapperV<\/USR>public struct BlueprintItemContentWrapper<Represented, IDType> : BlueprintItemContent where IDType : Hashable<\/Declaration>The BlueprintItemContent<\/codeVoice> type that is used to provide a lightweight way to present an Element<\/codeVoice>, without needing to provide an entirely new BlueprintItemContent<\/codeVoice> type.<\/Para><\/Abstract><\/CommentParts><\/Class>",
         "key.doc.line" : 135,
         "key.doc.name" : "BlueprintItemContentWrapper",
         "key.doc.type" : "Class",
@@ -2407,7 +2295,7 @@
             "key.offset" : 4993
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/Item.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/Item.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> BlueprintItemContentWrapper<\/decl.name><Represented<\/decl.generic_type_param.name><\/decl.generic_type_param>, IDType<\/decl.generic_type_param.name><\/decl.generic_type_param>> : BlueprintItemContent<\/ref.protocol> where<\/syntaxtype.keyword> IDType : Hashable<\/ref.protocol><\/decl.generic_type_requirement><\/decl.struct>",
         "key.inheritedtypes" : [
           {
@@ -2426,7 +2314,7 @@
         "key.substructure" : [
           {
             "key.annotated_decl" : "Represented<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/Item.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/Item.swift",
             "key.fully_annotated_decl" : "Represented<\/decl.generic_type_param.name><\/decl.generic_type_param>",
             "key.kind" : "source.lang.swift.decl.generic_type_param",
             "key.length" : 11,
@@ -2450,7 +2338,7 @@
                 "key.offset" : 4981
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/Item.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/Item.swift",
             "key.fully_annotated_decl" : "IDType<\/decl.generic_type_param.name> : Hashable<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
             "key.inheritedtypes" : [
               {
@@ -2480,7 +2368,7 @@
                 "key.offset" : 5020
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/Item.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/Item.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> let<\/syntaxtype.keyword> representing<\/decl.name>: Represented<\/ref.generic_type_param><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 30,
@@ -2498,7 +2386,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "let identifierKeyPath: KeyPath<\/Type><Represented<\/Type>, IDType<\/Type>><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/Item.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/Item.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> identifierKeyPath<\/decl.name>: KeyPath<\/ref.class><Represented<\/ref.generic_type_param>, IDType<\/ref.generic_type_param>><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 52,
@@ -2516,7 +2404,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "let isEquivalentProvider: (Represented<\/Type>, Represented<\/Type>) -> Bool<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/Item.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/Item.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> isEquivalentProvider<\/decl.name>: (Represented<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, Represented<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 61,
@@ -2534,7 +2422,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "let elementProvider: (Represented<\/Type>, ApplyItemContentInfo<\/Type>) -> Element<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/Item.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/Item.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> elementProvider<\/decl.name>: (Represented<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, ApplyItemContentInfo<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> Element<\/ref.protocol><\/decl.function.returntype><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 68,
@@ -2552,7 +2440,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "let backgroundProvider: (Represented<\/Type>, ApplyItemContentInfo<\/Type>) -> Element<\/Type>?<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/Item.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/Item.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> backgroundProvider<\/decl.name>: (Represented<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, ApplyItemContentInfo<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> Element<\/ref.protocol>?<\/decl.function.returntype><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 72,
@@ -2570,7 +2458,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "let selectedBackgroundProvider: (Represented<\/Type>, ApplyItemContentInfo<\/Type>) -> Element<\/Type>?<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/Item.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/Item.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> selectedBackgroundProvider<\/decl.name>: (Represented<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, ApplyItemContentInfo<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> Element<\/ref.protocol>?<\/decl.function.returntype><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 80,
@@ -2610,12 +2498,12 @@
                 "Note" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-            "key.doc.full_as_xml" : "identifier<\/Name>s:10ListableUI11ItemContentP10identifierAA10IdentifierCyxGvp<\/USR>var identifier: ListableUI.Identifier<Self> { get }<\/Declaration>Identifies the content across updates to the list. This value must remain the same, otherwise the content will be considered a new item, and the old one removed from the list.<\/Para><\/Abstract>Does not have to be globally unique – the list will make a “best guess” if there are multiple items with the same identifier. However, diffing of changes will be more correct with a unique identifier.<\/Para>If you’re backing your content with some sort of client or server-provided data, consider using its server or client UUID here, or some other unique identifier from the underlying data model.<\/Para>This documentation comment was inherited from ItemContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.doc.full_as_xml" : "identifier<\/Name>s:10ListableUI11ItemContentP10identifierAA10IdentifierCyxGvp<\/USR>var identifier: ListableUI.Identifier<Self> { get }<\/Declaration>Identifies the content across updates to the list. This value must remain the same, otherwise the content will be considered a new item, and the old one removed from the list.<\/Para><\/Abstract>Does not have to be globally unique – the list will make a “best guess” if there are multiple items with the same identifier. However, diffing of changes will be more correct with a unique identifier.<\/Para>If you’re backing your content with some sort of client or server-provided data, consider using its server or client UUID here, or some other unique identifier from the underlying data model.<\/Para>This documentation comment was inherited from ItemContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Other>",
             "key.doc.line" : 54,
             "key.doc.name" : "identifier",
             "key.doc.type" : "Other",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/Item.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/Item.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> identifier<\/decl.name>: Identifier<\/ref.class><`Self`><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 106,
@@ -2660,12 +2548,12 @@
                 "Note" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-            "key.doc.full_as_xml" : "isEquivalent(to:)<\/Name>s:10ListableUI11ItemContentP12isEquivalent2toSbx_tF<\/USR>func isEquivalent(to other: Self) -> Bool<\/Declaration>Return false if the content’ changed based on the old value passed into the function.<\/Para><\/Abstract>If this method returns false, the row representing the content is reloaded.<\/Para>]]><\/rawHTML>Note]]><\/rawHTML>There is a default implementation of this method when ItemContent <\/codeVoice> conforms to Equatable<\/codeVoice> which returns self == other<\/codeVoice>.<\/Para>This documentation comment was inherited from ItemContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.doc.full_as_xml" : "isEquivalent(to:)<\/Name>s:10ListableUI11ItemContentP12isEquivalent2toSbx_tF<\/USR>func isEquivalent(to other: Self) -> Bool<\/Declaration>Return false if the content’ changed based on the old value passed into the function.<\/Para><\/Abstract>If this method returns false, the row representing the content is reloaded.<\/Para>]]><\/rawHTML>Note]]><\/rawHTML>There is a default implementation of this method when ItemContent <\/codeVoice> conforms to Equatable<\/codeVoice> which returns self == other<\/codeVoice>.<\/Para>This documentation comment was inherited from ItemContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 105,
             "key.doc.name" : "isEquivalent(to:)",
             "key.doc.type" : "Function",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/Item.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/Item.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> isEquivalent<\/decl.name>(to<\/decl.var.parameter.argument_label> other<\/decl.var.parameter.name>: `Self`<\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 122,
@@ -2710,12 +2598,12 @@
                 "Note" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
-            "key.doc.full_as_xml" : "element(with:)<\/Name>s:16BlueprintUILists0A11ItemContentP7element4with0A2UI7Element_p08ListableG005ApplycD4InfoV_tF<\/USR>func element(with info: ApplyItemContentInfo) -> Element<\/Declaration>Required. Create and return the Blueprint element used to represent the content.<\/Para><\/Abstract>You can use the provided ApplyItemContentInfo<\/codeVoice> to vary the appearance of the element based on the current state of the item.<\/Para>This documentation comment was inherited from BlueprintItemContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
+            "key.doc.full_as_xml" : "element(with:)<\/Name>s:16BlueprintUILists0A11ItemContentP7element4with0A2UI7Element_p08ListableG005ApplycD4InfoV_tF<\/USR>func element(with info: ApplyItemContentInfo) -> Element<\/Declaration>Required. Create and return the Blueprint element used to represent the content.<\/Para><\/Abstract>You can use the provided ApplyItemContentInfo<\/codeVoice> to vary the appearance of the element based on the current state of the item.<\/Para>This documentation comment was inherited from BlueprintItemContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 70,
             "key.doc.name" : "element(with:)",
             "key.doc.type" : "Function",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/Item.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/Item.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> element<\/decl.name>(with<\/decl.var.parameter.argument_label> info<\/decl.var.parameter.name>: ApplyItemContentInfo<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> Element<\/ref.protocol><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 118,
@@ -2763,12 +2651,12 @@
                 "Note" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
-            "key.doc.full_as_xml" : "backgroundElement(with:)<\/Name>s:16BlueprintUILists0A11ItemContentP17backgroundElement4with0A2UI0F0_pSg08ListableH005ApplycD4InfoV_tF<\/USR>func backgroundElement(with info: ApplyItemContentInfo) -> Element?<\/Declaration>Optional. Create and return the Blueprint element used to represent the background of the content. You usually provide this method alongside selectedBackgroundElement<\/codeVoice>, if your content supports selection or highlighting.<\/Para><\/Abstract>You can use the provided ApplyItemContentInfo<\/codeVoice> to vary the appearance of the element based on the current state of the item.<\/Para>]]><\/rawHTML>Note]]><\/rawHTML>The default implementation of this method returns nil, and provides no background.<\/Para>This documentation comment was inherited from BlueprintItemContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
+            "key.doc.full_as_xml" : "backgroundElement(with:)<\/Name>s:16BlueprintUILists0A11ItemContentP17backgroundElement4with0A2UI0F0_pSg08ListableH005ApplycD4InfoV_tF<\/USR>func backgroundElement(with info: ApplyItemContentInfo) -> Element?<\/Declaration>Optional. Create and return the Blueprint element used to represent the background of the content. You usually provide this method alongside selectedBackgroundElement<\/codeVoice>, if your content supports selection or highlighting.<\/Para><\/Abstract>You can use the provided ApplyItemContentInfo<\/codeVoice> to vary the appearance of the element based on the current state of the item.<\/Para>]]><\/rawHTML>Note]]><\/rawHTML>The default implementation of this method returns nil, and provides no background.<\/Para>This documentation comment was inherited from BlueprintItemContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 83,
             "key.doc.name" : "backgroundElement(with:)",
             "key.doc.type" : "Function",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/Item.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/Item.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> backgroundElement<\/decl.name>(with<\/decl.var.parameter.argument_label> info<\/decl.var.parameter.name>: ApplyItemContentInfo<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> Element<\/ref.protocol>?<\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 132,
@@ -2816,12 +2704,12 @@
                 "Note" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
-            "key.doc.full_as_xml" : "selectedBackgroundElement(with:)<\/Name>s:16BlueprintUILists0A11ItemContentP25selectedBackgroundElement4with0A2UI0G0_pSg08ListableI005ApplycD4InfoV_tF<\/USR>func selectedBackgroundElement(with info: ApplyItemContentInfo) -> Element?<\/Declaration>Optional. Create and return the Blueprint element used to represent the background of the content when it is selected or highlighted. You usually provide this method alongside backgroundElement<\/codeVoice>, if your content supports selection or highlighting.<\/Para><\/Abstract>You can use the provided ApplyItemContentInfo<\/codeVoice> to vary the appearance of the element based on the current state of the item.<\/Para>]]><\/rawHTML>Note]]><\/rawHTML>The default implementation of this method returns nil, and provides no selected background.<\/Para>This documentation comment was inherited from BlueprintItemContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/BlueprintItemContent.swift",
+            "key.doc.full_as_xml" : "selectedBackgroundElement(with:)<\/Name>s:16BlueprintUILists0A11ItemContentP25selectedBackgroundElement4with0A2UI0G0_pSg08ListableI005ApplycD4InfoV_tF<\/USR>func selectedBackgroundElement(with info: ApplyItemContentInfo) -> Element?<\/Declaration>Optional. Create and return the Blueprint element used to represent the background of the content when it is selected or highlighted. You usually provide this method alongside backgroundElement<\/codeVoice>, if your content supports selection or highlighting.<\/Para><\/Abstract>You can use the provided ApplyItemContentInfo<\/codeVoice> to vary the appearance of the element based on the current state of the item.<\/Para>]]><\/rawHTML>Note]]><\/rawHTML>The default implementation of this method returns nil, and provides no selected background.<\/Para>This documentation comment was inherited from BlueprintItemContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 95,
             "key.doc.name" : "selectedBackgroundElement(with:)",
             "key.doc.type" : "Function",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/Item.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/Item.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> selectedBackgroundElement<\/decl.name>(with<\/decl.var.parameter.argument_label> info<\/decl.var.parameter.name>: ApplyItemContentInfo<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> Element<\/ref.protocol>?<\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 148,
@@ -2852,7 +2740,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/List.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/List.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 4241,
     "key.offset" : 0,
@@ -2886,8 +2774,8 @@
             "Para" : "When being laid out, a `List` will take up as much space as it is allowed. If you’d like to constrain the size of a list, wrap it in a `ConstrainedSize`, or other size constraining element."
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/List.swift",
-        "key.doc.full_as_xml" : "List<\/Name>s:16BlueprintUILists4ListV<\/USR>public struct List : Element<\/Declaration>A Blueprint element which can be used to display a Listable ListView<\/codeVoice> within an element tree.<\/Para><\/Abstract>You should use the List<\/codeVoice> element as follows, just like you’d use the configure(with:)<\/codeVoice> method on ListView<\/codeVoice> itself.<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>The parameter passed to the initialization closure is an instance of ListProperties<\/codeVoice>, which holds the various configuration options and content for the list. See ListProperties<\/codeVoice> for a full overview of all the configuration options available such as animation, layout configuration, etc.<\/Para>When being laid out, a List<\/codeVoice> will take up as much space as it is allowed. If you’d like to constrain the size of a list, wrap it in a ConstrainedSize<\/codeVoice>, or other size constraining element.<\/Para><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/List.swift",
+        "key.doc.full_as_xml" : "List<\/Name>s:16BlueprintUILists4ListV<\/USR>public struct List : Element<\/Declaration>A Blueprint element which can be used to display a Listable ListView<\/codeVoice> within an element tree.<\/Para><\/Abstract>You should use the List<\/codeVoice> element as follows, just like you’d use the configure(with:)<\/codeVoice> method on ListView<\/codeVoice> itself.<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>The parameter passed to the initialization closure is an instance of ListProperties<\/codeVoice>, which holds the various configuration options and content for the list. See ListProperties<\/codeVoice> for a full overview of all the configuration options available such as animation, layout configuration, etc.<\/Para>When being laid out, a List<\/codeVoice> will take up as much space as it is allowed. If you’d like to constrain the size of a list, wrap it in a ConstrainedSize<\/codeVoice>, or other size constraining element.<\/Para><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 42,
         "key.doc.name" : "List",
         "key.doc.type" : "Class",
@@ -2900,7 +2788,7 @@
             "key.offset" : 1321
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/List.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/List.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> List<\/decl.name> : Element<\/ref.protocol><\/decl.struct>",
         "key.inheritedtypes" : [
           {
@@ -2935,14 +2823,14 @@
                 "Para" : "When it comes time to render the `List` on screen, `ListView.configure(with: properties)` is called to update the on-screen list with the provided properties."
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/List.swift",
-            "key.doc.full_as_xml" : "properties<\/Name>s:16BlueprintUILists4ListV10properties10ListableUI0C10PropertiesVvp<\/USR>public var properties: ListProperties<\/Declaration>The properties which back the on-screen list.<\/Para><\/Abstract>When it comes time to render the List<\/codeVoice> on screen, ListView.configure(with: properties)<\/codeVoice> is called to update the on-screen list with the provided properties.<\/Para><\/Discussion><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/List.swift",
+            "key.doc.full_as_xml" : "properties<\/Name>s:16BlueprintUILists4ListV10properties10ListableUI0C10PropertiesVvp<\/USR>public var properties: ListProperties<\/Declaration>The properties which back the on-screen list.<\/Para><\/Abstract>When it comes time to render the List<\/codeVoice> on screen, ListView.configure(with: properties)<\/codeVoice> is called to update the on-screen list with the provided properties.<\/Para><\/Discussion><\/CommentParts><\/Other>",
             "key.doc.line" : 49,
             "key.doc.name" : "properties",
             "key.doc.type" : "Other",
             "key.doclength" : 241,
             "key.docoffset" : 1335,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/List.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/List.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> properties<\/decl.name>: ListProperties<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 31,
@@ -2976,14 +2864,14 @@
                 "Para" : "See the `ListSizing` documentation for more."
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/List.swift",
-            "key.doc.full_as_xml" : "sizing<\/Name>s:16BlueprintUILists4ListV6sizing10ListableUI0C6SizingOvp<\/USR>public var sizing: ListSizing<\/Declaration>How the List<\/codeVoice> is measured when the element is laid out by Blueprint.  Defaults to .fillParent<\/codeVoice>, which means it will take up all the size it is given. You can change this to .measureContent<\/codeVoice> to instead measure the optimal size.<\/Para><\/Abstract>See the ListSizing<\/codeVoice> documentation for more.<\/Para><\/Discussion><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/List.swift",
+            "key.doc.full_as_xml" : "sizing<\/Name>s:16BlueprintUILists4ListV6sizing10ListableUI0C6SizingOvp<\/USR>public var sizing: ListSizing<\/Declaration>How the List<\/codeVoice> is measured when the element is laid out by Blueprint.  Defaults to .fillParent<\/codeVoice>, which means it will take up all the size it is given. You can change this to .measureContent<\/codeVoice> to instead measure the optimal size.<\/Para><\/Abstract>See the ListSizing<\/codeVoice> documentation for more.<\/Para><\/Discussion><\/CommentParts><\/Other>",
             "key.doc.line" : 57,
             "key.doc.name" : "sizing",
             "key.doc.type" : "Other",
             "key.doclength" : 319,
             "key.docoffset" : 1628,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/List.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/List.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> sizing<\/decl.name>: ListSizing<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 23,
@@ -3022,14 +2910,14 @@
             "key.doc.column" : 12,
             "key.doc.comment" : "Create a new list, configured with the provided properties,\nconfigured with the provided `ListProperties` builder.",
             "key.doc.declaration" : "public init(sizing: ListSizing = .fillParent, build: ListProperties.Build)",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/List.swift",
-            "key.doc.full_as_xml" : "init(sizing:build:)<\/Name>s:16BlueprintUILists4ListV6sizing5buildAC10ListableUI0C6SizingO_yAF0C10PropertiesVzXEtcfc<\/USR>public init(sizing: ListSizing = .fillParent, build: ListProperties.Build)<\/Declaration>Create a new list, configured with the provided properties, configured with the provided ListProperties<\/codeVoice> builder.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/List.swift",
+            "key.doc.full_as_xml" : "init(sizing:build:)<\/Name>s:16BlueprintUILists4ListV6sizing5buildAC10ListableUI0C6SizingO_yAF0C10PropertiesVzXEtcfc<\/USR>public init(sizing: ListSizing = .fillParent, build: ListProperties.Build)<\/Declaration>Create a new list, configured with the provided properties, configured with the provided ListProperties<\/codeVoice> builder.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 65,
             "key.doc.name" : "init(sizing:build:)",
             "key.doc.type" : "Function",
             "key.doclength" : 127,
             "key.docoffset" : 2042,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/List.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/List.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(sizing<\/decl.var.parameter.argument_label>: ListSizing<\/ref.enum><\/decl.var.parameter.type> = .fillParent<\/decl.var.parameter>, build<\/decl.var.parameter.argument_label>: ListProperties<\/ref.struct>.Build<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 185,
@@ -3080,12 +2968,12 @@
                 "Note" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/Pods\/BlueprintUI\/BlueprintUI\/Sources\/Element\/Element.swift",
-            "key.doc.full_as_xml" : "content<\/Name>s:11BlueprintUI7ElementP7contentAA0C7ContentVvp<\/USR>var content: BlueprintUI.ElementContent { get }<\/Declaration>Returns the content of this element.<\/Para><\/Abstract>Elements generally fall into two types:<\/Para>Leaf elements, or elements that have no children. These elements commonly have an intrinsic size, or some content that can be measured. Leaf elements typically instantiate their content with ElementContent(measurable:)<\/codeVoice> or similar.<\/Para><\/Item>Container elements: these element have one or more children, which are arranged by a layout implementation. Container elements typically use methods like ElementContent(layout:configure:)<\/codeVoice> to instantiate their content.<\/Para><\/Item><\/List-Bullet>This documentation comment was inherited from Element<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/Pods\/BlueprintUI\/BlueprintUI\/Sources\/Element\/Element.swift",
+            "key.doc.full_as_xml" : "content<\/Name>s:11BlueprintUI7ElementP7contentAA0C7ContentVvp<\/USR>var content: BlueprintUI.ElementContent { get }<\/Declaration>Returns the content of this element.<\/Para><\/Abstract>Elements generally fall into two types:<\/Para>Leaf elements, or elements that have no children. These elements commonly have an intrinsic size, or some content that can be measured. Leaf elements typically instantiate their content with ElementContent(measurable:)<\/codeVoice> or similar.<\/Para><\/Item>Container elements: these element have one or more children, which are arranged by a layout implementation. Container elements typically use methods like ElementContent(layout:configure:)<\/codeVoice> to instantiate their content.<\/Para><\/Item><\/List-Bullet>This documentation comment was inherited from Element<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Other>",
             "key.doc.line" : 52,
             "key.doc.name" : "content",
             "key.doc.type" : "Other",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/List.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/List.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> content<\/decl.name>: ElementContent<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 238,
@@ -3127,8 +3015,8 @@
                 "Note" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/Pods\/BlueprintUI\/BlueprintUI\/Sources\/Element\/Element.swift",
-            "key.doc.full_as_xml" : "backingViewDescription(bounds:subtreeExtent:)<\/Name>s:11BlueprintUI7ElementP22backingViewDescription6bounds13subtreeExtentAA0eF0VSgSo6CGRectV_AKSgtF<\/USR>func backingViewDescription(bounds: CGRect, subtreeExtent: CGRect?) -> BlueprintUI.ViewDescription?<\/Declaration>Returns an (optional) description of the view that should back this element.<\/Para><\/Abstract>bounds<\/Name>in<\/Direction>The bounds of this element after layout is complete.<\/Para><\/Discussion><\/Parameter>subtreeExtent<\/Name>in<\/Direction>A rectangle in the local coordinate space that contains any children. subtreeExtent<\/codeVoice> will be nil if there are no children.<\/Para><\/Discussion><\/Parameter><\/Parameters>An optional ViewDescription<\/codeVoice>.<\/Para><\/ResultDiscussion>In Blueprint, elements that are displayed using a live UIView<\/codeVoice> instance are referred to as “view-backed”. Elements become view-backed by returning a ViewDescription<\/codeVoice> value from this method.<\/Para>This documentation comment was inherited from Element<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/Pods\/BlueprintUI\/BlueprintUI\/Sources\/Element\/Element.swift",
+            "key.doc.full_as_xml" : "backingViewDescription(bounds:subtreeExtent:)<\/Name>s:11BlueprintUI7ElementP22backingViewDescription6bounds13subtreeExtentAA0eF0VSgSo6CGRectV_AKSgtF<\/USR>func backingViewDescription(bounds: CGRect, subtreeExtent: CGRect?) -> BlueprintUI.ViewDescription?<\/Declaration>Returns an (optional) description of the view that should back this element.<\/Para><\/Abstract>bounds<\/Name>in<\/Direction>The bounds of this element after layout is complete.<\/Para><\/Discussion><\/Parameter>subtreeExtent<\/Name>in<\/Direction>A rectangle in the local coordinate space that contains any children. subtreeExtent<\/codeVoice> will be nil if there are no children.<\/Para><\/Discussion><\/Parameter><\/Parameters>An optional ViewDescription<\/codeVoice>.<\/Para><\/ResultDiscussion>In Blueprint, elements that are displayed using a live UIView<\/codeVoice> instance are referred to as “view-backed”. Elements become view-backed by returning a ViewDescription<\/codeVoice> value from this method.<\/Para>This documentation comment was inherited from Element<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 64,
             "key.doc.name" : "backingViewDescription(bounds:subtreeExtent:)",
             "key.doc.parameters" : [
@@ -3155,7 +3043,7 @@
               }
             ],
             "key.doc.type" : "Function",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/List.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/List.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> backingViewDescription<\/decl.name>(bounds<\/decl.var.parameter.argument_label>: CGRect<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, subtreeExtent<\/decl.var.parameter.argument_label>: CGRect<\/ref.struct>?<\/decl.var.parameter.type><\/decl.var.parameter>) -> ViewDescription<\/ref.struct>?<\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 107,
@@ -3203,12 +3091,12 @@
             "Para" : "When being laid out, a `List` will take up as much space as it is allowed. If you’d like to constrain the size of a list, wrap it in a `ConstrainedSize`, or other size constraining element."
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/List.swift",
-        "key.doc.full_as_xml" : "List<\/Name>s:16BlueprintUILists4ListV<\/USR>public struct List : Element<\/Declaration>A Blueprint element which can be used to display a Listable ListView<\/codeVoice> within an element tree.<\/Para><\/Abstract>You should use the List<\/codeVoice> element as follows, just like you’d use the configure(with:)<\/codeVoice> method on ListView<\/codeVoice> itself.<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>The parameter passed to the initialization closure is an instance of ListProperties<\/codeVoice>, which holds the various configuration options and content for the list. See ListProperties<\/codeVoice> for a full overview of all the configuration options available such as animation, layout configuration, etc.<\/Para>When being laid out, a List<\/codeVoice> will take up as much space as it is allowed. If you’d like to constrain the size of a list, wrap it in a ConstrainedSize<\/codeVoice>, or other size constraining element.<\/Para><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/List.swift",
+        "key.doc.full_as_xml" : "List<\/Name>s:16BlueprintUILists4ListV<\/USR>public struct List : Element<\/Declaration>A Blueprint element which can be used to display a Listable ListView<\/codeVoice> within an element tree.<\/Para><\/Abstract>You should use the List<\/codeVoice> element as follows, just like you’d use the configure(with:)<\/codeVoice> method on ListView<\/codeVoice> itself.<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>The parameter passed to the initialization closure is an instance of ListProperties<\/codeVoice>, which holds the various configuration options and content for the list. See ListProperties<\/codeVoice> for a full overview of all the configuration options available such as animation, layout configuration, etc.<\/Para>When being laid out, a List<\/codeVoice> will take up as much space as it is allowed. If you’d like to constrain the size of a list, wrap it in a ConstrainedSize<\/codeVoice>, or other size constraining element.<\/Para><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 42,
         "key.doc.name" : "List",
         "key.doc.type" : "Class",
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/List.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/List.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> List<\/decl.name> : Element<\/ref.protocol><\/decl.struct>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 1447,
@@ -3239,7 +3127,7 @@
                 "key.offset" : 2852
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/List.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/List.swift",
             "key.fully_annotated_decl" : "fileprivate<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> ListContent<\/decl.name> : Element<\/ref.protocol><\/decl.struct>",
             "key.inheritedtypes" : [
               {
@@ -3259,7 +3147,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var properties: ListProperties<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/List.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/List.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> properties<\/decl.name>: ListProperties<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 31,
@@ -3278,7 +3166,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var sizing: ListSizing<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/List.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/List.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> sizing<\/decl.name>: ListSizing<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 23,
@@ -3299,7 +3187,7 @@
                 "key.annotated_decl" : "init(properties: ListProperties<\/Type>, sizing: ListSizing<\/Type>, environment: Environment<\/Type>)<\/Declaration>",
                 "key.bodylength" : 219,
                 "key.bodyoffset" : 3089,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/List.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/List.swift",
                 "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(properties<\/decl.var.parameter.argument_label>: ListProperties<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, sizing<\/decl.var.parameter.argument_label>: ListSizing<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>, environment<\/decl.var.parameter.argument_label>: Environment<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 349,
@@ -3313,7 +3201,7 @@
                 "key.substructure" : [
                   {
                     "key.annotated_decl" : "var properties: ListProperties<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/List.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/List.swift",
                     "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> properties<\/decl.name>: ListProperties<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 27,
@@ -3371,12 +3259,12 @@
                     "Note" : ""
                   }
                 ],
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/Pods\/BlueprintUI\/BlueprintUI\/Sources\/Element\/Element.swift",
-                "key.doc.full_as_xml" : "content<\/Name>s:11BlueprintUI7ElementP7contentAA0C7ContentVvp<\/USR>var content: BlueprintUI.ElementContent { get }<\/Declaration>Returns the content of this element.<\/Para><\/Abstract>Elements generally fall into two types:<\/Para>Leaf elements, or elements that have no children. These elements commonly have an intrinsic size, or some content that can be measured. Leaf elements typically instantiate their content with ElementContent(measurable:)<\/codeVoice> or similar.<\/Para><\/Item>Container elements: these element have one or more children, which are arranged by a layout implementation. Container elements typically use methods like ElementContent(layout:configure:)<\/codeVoice> to instantiate their content.<\/Para><\/Item><\/List-Bullet>This documentation comment was inherited from Element<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Other>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/Pods\/BlueprintUI\/BlueprintUI\/Sources\/Element\/Element.swift",
+                "key.doc.full_as_xml" : "content<\/Name>s:11BlueprintUI7ElementP7contentAA0C7ContentVvp<\/USR>var content: BlueprintUI.ElementContent { get }<\/Declaration>Returns the content of this element.<\/Para><\/Abstract>Elements generally fall into two types:<\/Para>Leaf elements, or elements that have no children. These elements commonly have an intrinsic size, or some content that can be measured. Leaf elements typically instantiate their content with ElementContent(measurable:)<\/codeVoice> or similar.<\/Para><\/Item>Container elements: these element have one or more children, which are arranged by a layout implementation. Container elements typically use methods like ElementContent(layout:configure:)<\/codeVoice> to instantiate their content.<\/Para><\/Item><\/List-Bullet>This documentation comment was inherited from Element<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Other>",
                 "key.doc.line" : 52,
                 "key.doc.name" : "content",
                 "key.doc.type" : "Other",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/List.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/List.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> content<\/decl.name>: ElementContent<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 395,
@@ -3418,8 +3306,8 @@
                     "Note" : ""
                   }
                 ],
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/Pods\/BlueprintUI\/BlueprintUI\/Sources\/Element\/Element.swift",
-                "key.doc.full_as_xml" : "backingViewDescription(bounds:subtreeExtent:)<\/Name>s:11BlueprintUI7ElementP22backingViewDescription6bounds13subtreeExtentAA0eF0VSgSo6CGRectV_AKSgtF<\/USR>func backingViewDescription(bounds: CGRect, subtreeExtent: CGRect?) -> BlueprintUI.ViewDescription?<\/Declaration>Returns an (optional) description of the view that should back this element.<\/Para><\/Abstract>bounds<\/Name>in<\/Direction>The bounds of this element after layout is complete.<\/Para><\/Discussion><\/Parameter>subtreeExtent<\/Name>in<\/Direction>A rectangle in the local coordinate space that contains any children. subtreeExtent<\/codeVoice> will be nil if there are no children.<\/Para><\/Discussion><\/Parameter><\/Parameters>An optional ViewDescription<\/codeVoice>.<\/Para><\/ResultDiscussion>In Blueprint, elements that are displayed using a live UIView<\/codeVoice> instance are referred to as “view-backed”. Elements become view-backed by returning a ViewDescription<\/codeVoice> value from this method.<\/Para>This documentation comment was inherited from Element<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/Pods\/BlueprintUI\/BlueprintUI\/Sources\/Element\/Element.swift",
+                "key.doc.full_as_xml" : "backingViewDescription(bounds:subtreeExtent:)<\/Name>s:11BlueprintUI7ElementP22backingViewDescription6bounds13subtreeExtentAA0eF0VSgSo6CGRectV_AKSgtF<\/USR>func backingViewDescription(bounds: CGRect, subtreeExtent: CGRect?) -> BlueprintUI.ViewDescription?<\/Declaration>Returns an (optional) description of the view that should back this element.<\/Para><\/Abstract>bounds<\/Name>in<\/Direction>The bounds of this element after layout is complete.<\/Para><\/Discussion><\/Parameter>subtreeExtent<\/Name>in<\/Direction>A rectangle in the local coordinate space that contains any children. subtreeExtent<\/codeVoice> will be nil if there are no children.<\/Para><\/Discussion><\/Parameter><\/Parameters>An optional ViewDescription<\/codeVoice>.<\/Para><\/ResultDiscussion>In Blueprint, elements that are displayed using a live UIView<\/codeVoice> instance are referred to as “view-backed”. Elements become view-backed by returning a ViewDescription<\/codeVoice> value from this method.<\/Para>This documentation comment was inherited from Element<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
                 "key.doc.line" : 64,
                 "key.doc.name" : "backingViewDescription(bounds:subtreeExtent:)",
                 "key.doc.parameters" : [
@@ -3446,7 +3334,7 @@
                   }
                 ],
                 "key.doc.type" : "Function",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/List.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/List.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> backingViewDescription<\/decl.name>(bounds<\/decl.var.parameter.argument_label>: CGRect<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, subtreeExtent<\/decl.var.parameter.argument_label>: CGRect<\/ref.struct>?<\/decl.var.parameter.type><\/decl.var.parameter>) -> ViewDescription<\/ref.struct>?<\/decl.function.returntype><\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 440,
@@ -3482,7 +3370,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/ListReorderGesture.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/ListReorderGesture.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 4872,
     "key.offset" : 0,
@@ -3516,8 +3404,8 @@
             "CodeListing" : ""
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
-        "key.doc.full_as_xml" : "ListReorderGesture<\/Name>s:16BlueprintUILists18ListReorderGestureV<\/USR>public struct ListReorderGesture : Element<\/Declaration>An element that wraps your provided element, to enable support for user-driven re-ordering in a list view.<\/Para><\/Abstract>If you do not support reordering items, you do not need to add this element anywhere in your hierarchy.<\/Para>This element on its own has no visual appearance. Thus, you should still render your own reorder dragger \/ handle \/ etc in the passed in element.<\/Para>In the below example, we see how to set up the content of a simple item, which contains a text label and a reorder grabber.<\/Para> Element]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
+        "key.doc.full_as_xml" : "ListReorderGesture<\/Name>s:16BlueprintUILists18ListReorderGestureV<\/USR>public struct ListReorderGesture : Element<\/Declaration>An element that wraps your provided element, to enable support for user-driven re-ordering in a list view.<\/Para><\/Abstract>If you do not support reordering items, you do not need to add this element anywhere in your hierarchy.<\/Para>This element on its own has no visual appearance. Thus, you should still render your own reorder dragger \/ handle \/ etc in the passed in element.<\/Para>In the below example, we see how to set up the content of a simple item, which contains a text label and a reorder grabber.<\/Para> Element]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 38,
         "key.doc.name" : "ListReorderGesture",
         "key.doc.type" : "Class",
@@ -3530,7 +3418,7 @@
             "key.offset" : 1116
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> ListReorderGesture<\/decl.name> : Element<\/ref.protocol><\/decl.struct>",
         "key.inheritedtypes" : [
           {
@@ -3560,14 +3448,14 @@
             "key.doc.column" : 16,
             "key.doc.comment" : "The element which is being wrapped by the reorder gesture.",
             "key.doc.declaration" : "public var element: Element",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
-            "key.doc.full_as_xml" : "element<\/Name>s:16BlueprintUILists18ListReorderGestureV7element0A2UI7Element_pvp<\/USR>public var element: Element<\/Declaration>The element which is being wrapped by the reorder gesture.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
+            "key.doc.full_as_xml" : "element<\/Name>s:16BlueprintUILists18ListReorderGestureV7element0A2UI7Element_pvp<\/USR>public var element: Element<\/Declaration>The element which is being wrapped by the reorder gesture.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 41,
             "key.doc.name" : "element",
             "key.doc.type" : "Other",
             "key.doclength" : 63,
             "key.docoffset" : 1130,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> element<\/decl.name>: Element<\/ref.protocol><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 21,
@@ -3596,14 +3484,14 @@
             "key.doc.column" : 16,
             "key.doc.comment" : "If the gesture is enabled or not.",
             "key.doc.declaration" : "public var isEnabled: Bool",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
-            "key.doc.full_as_xml" : "isEnabled<\/Name>s:16BlueprintUILists18ListReorderGestureV9isEnabledSbvp<\/USR>public var isEnabled: Bool<\/Declaration>If the gesture is enabled or not.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
+            "key.doc.full_as_xml" : "isEnabled<\/Name>s:16BlueprintUILists18ListReorderGestureV9isEnabledSbvp<\/USR>public var isEnabled: Bool<\/Declaration>If the gesture is enabled or not.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 44,
             "key.doc.name" : "isEnabled",
             "key.doc.type" : "Other",
             "key.doclength" : 38,
             "key.docoffset" : 1235,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> isEnabled<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 20,
@@ -3622,7 +3510,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "typealias ListReorderGesture<\/Type>.OnStart = () -> Bool<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
             "key.fully_annotated_decl" : "typealias<\/syntaxtype.keyword> ListReorderGesture<\/ref.struct>.OnStart<\/decl.name> = () -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.typealias>",
             "key.kind" : "source.lang.swift.decl.typealias",
             "key.length" : 30,
@@ -3640,7 +3528,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "var onStart: OnStart<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> onStart<\/decl.name>: OnStart<\/ref.typealias><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 21,
@@ -3659,7 +3547,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "typealias ListReorderGesture<\/Type>.OnMove = (UIPanGestureRecognizer<\/Type>) -> ()<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
             "key.fully_annotated_decl" : "typealias<\/syntaxtype.keyword> ListReorderGesture<\/ref.struct>.OnMove<\/decl.name> = (UIPanGestureRecognizer<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.typealias>",
             "key.kind" : "source.lang.swift.decl.typealias",
             "key.length" : 49,
@@ -3677,7 +3565,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "var onMove: OnMove<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> onMove<\/decl.name>: OnMove<\/ref.typealias><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 19,
@@ -3696,7 +3584,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "typealias ListReorderGesture<\/Type>.OnDone = () -> ()<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
             "key.fully_annotated_decl" : "typealias<\/syntaxtype.keyword> ListReorderGesture<\/ref.struct>.OnDone<\/decl.name> = () -> ()<\/tuple><\/decl.function.returntype><\/decl.typealias>",
             "key.kind" : "source.lang.swift.decl.typealias",
             "key.length" : 27,
@@ -3714,7 +3602,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "var onDone: OnDone<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> onDone<\/decl.name>: OnDone<\/ref.typealias><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 19,
@@ -3750,14 +3638,14 @@
                 "Para" : "This element on its own has no visual appearance. Thus, you should still render your own reorder dragger \/ handle \/ etc in the passed in element."
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
-            "key.doc.full_as_xml" : "init(isEnabled:actions:wrapping:)<\/Name>s:16BlueprintUILists18ListReorderGestureV9isEnabled7actions8wrappingACSb_10ListableUI17ReorderingActionsC0aK07Element_ptcfc<\/USR>public init(isEnabled: Bool = true, actions: ReorderingActions, wrapping element: Element)<\/Declaration>Creates a new re-order gesture which wraps the provided element.<\/Para><\/Abstract>This element on its own has no visual appearance. Thus, you should still render your own reorder dragger \/ handle \/ etc in the passed in element.<\/Para><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
+            "key.doc.full_as_xml" : "init(isEnabled:actions:wrapping:)<\/Name>s:16BlueprintUILists18ListReorderGestureV9isEnabled7actions8wrappingACSb_10ListableUI17ReorderingActionsC0aK07Element_ptcfc<\/USR>public init(isEnabled: Bool = true, actions: ReorderingActions, wrapping element: Element)<\/Declaration>Creates a new re-order gesture which wraps the provided element.<\/Para><\/Abstract>This element on its own has no visual appearance. Thus, you should still render your own reorder dragger \/ handle \/ etc in the passed in element.<\/Para><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 59,
             "key.doc.name" : "init(isEnabled:actions:wrapping:)",
             "key.doc.type" : "Function",
             "key.doclength" : 240,
             "key.docoffset" : 1524,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(isEnabled<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type> = true<\/decl.var.parameter>, actions<\/decl.var.parameter.argument_label>: ReorderingActions<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, wrapping<\/decl.var.parameter.argument_label> element<\/decl.var.parameter.name>: Element<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 348,
@@ -3808,12 +3696,12 @@
                 "Note" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/Pods\/BlueprintUI\/BlueprintUI\/Sources\/Element\/Element.swift",
-            "key.doc.full_as_xml" : "content<\/Name>s:11BlueprintUI7ElementP7contentAA0C7ContentVvp<\/USR>var content: BlueprintUI.ElementContent { get }<\/Declaration>Returns the content of this element.<\/Para><\/Abstract>Elements generally fall into two types:<\/Para>Leaf elements, or elements that have no children. These elements commonly have an intrinsic size, or some content that can be measured. Leaf elements typically instantiate their content with ElementContent(measurable:)<\/codeVoice> or similar.<\/Para><\/Item>Container elements: these element have one or more children, which are arranged by a layout implementation. Container elements typically use methods like ElementContent(layout:configure:)<\/codeVoice> to instantiate their content.<\/Para><\/Item><\/List-Bullet>This documentation comment was inherited from Element<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/Pods\/BlueprintUI\/BlueprintUI\/Sources\/Element\/Element.swift",
+            "key.doc.full_as_xml" : "content<\/Name>s:11BlueprintUI7ElementP7contentAA0C7ContentVvp<\/USR>var content: BlueprintUI.ElementContent { get }<\/Declaration>Returns the content of this element.<\/Para><\/Abstract>Elements generally fall into two types:<\/Para>Leaf elements, or elements that have no children. These elements commonly have an intrinsic size, or some content that can be measured. Leaf elements typically instantiate their content with ElementContent(measurable:)<\/codeVoice> or similar.<\/Para><\/Item>Container elements: these element have one or more children, which are arranged by a layout implementation. Container elements typically use methods like ElementContent(layout:configure:)<\/codeVoice> to instantiate their content.<\/Para><\/Item><\/List-Bullet>This documentation comment was inherited from Element<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Other>",
             "key.doc.line" : 52,
             "key.doc.name" : "content",
             "key.doc.type" : "Other",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> content<\/decl.name>: ElementContent<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 86,
@@ -3855,8 +3743,8 @@
                 "Note" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/Pods\/BlueprintUI\/BlueprintUI\/Sources\/Element\/Element.swift",
-            "key.doc.full_as_xml" : "backingViewDescription(bounds:subtreeExtent:)<\/Name>s:11BlueprintUI7ElementP22backingViewDescription6bounds13subtreeExtentAA0eF0VSgSo6CGRectV_AKSgtF<\/USR>func backingViewDescription(bounds: CGRect, subtreeExtent: CGRect?) -> BlueprintUI.ViewDescription?<\/Declaration>Returns an (optional) description of the view that should back this element.<\/Para><\/Abstract>bounds<\/Name>in<\/Direction>The bounds of this element after layout is complete.<\/Para><\/Discussion><\/Parameter>subtreeExtent<\/Name>in<\/Direction>A rectangle in the local coordinate space that contains any children. subtreeExtent<\/codeVoice> will be nil if there are no children.<\/Para><\/Discussion><\/Parameter><\/Parameters>An optional ViewDescription<\/codeVoice>.<\/Para><\/ResultDiscussion>In Blueprint, elements that are displayed using a live UIView<\/codeVoice> instance are referred to as “view-backed”. Elements become view-backed by returning a ViewDescription<\/codeVoice> value from this method.<\/Para>This documentation comment was inherited from Element<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/Pods\/BlueprintUI\/BlueprintUI\/Sources\/Element\/Element.swift",
+            "key.doc.full_as_xml" : "backingViewDescription(bounds:subtreeExtent:)<\/Name>s:11BlueprintUI7ElementP22backingViewDescription6bounds13subtreeExtentAA0eF0VSgSo6CGRectV_AKSgtF<\/USR>func backingViewDescription(bounds: CGRect, subtreeExtent: CGRect?) -> BlueprintUI.ViewDescription?<\/Declaration>Returns an (optional) description of the view that should back this element.<\/Para><\/Abstract>bounds<\/Name>in<\/Direction>The bounds of this element after layout is complete.<\/Para><\/Discussion><\/Parameter>subtreeExtent<\/Name>in<\/Direction>A rectangle in the local coordinate space that contains any children. subtreeExtent<\/codeVoice> will be nil if there are no children.<\/Para><\/Discussion><\/Parameter><\/Parameters>An optional ViewDescription<\/codeVoice>.<\/Para><\/ResultDiscussion>In Blueprint, elements that are displayed using a live UIView<\/codeVoice> instance are referred to as “view-backed”. Elements become view-backed by returning a ViewDescription<\/codeVoice> value from this method.<\/Para>This documentation comment was inherited from Element<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 64,
             "key.doc.name" : "backingViewDescription(bounds:subtreeExtent:)",
             "key.doc.parameters" : [
@@ -3883,7 +3771,7 @@
               }
             ],
             "key.doc.type" : "Function",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> backingViewDescription<\/decl.name>(bounds<\/decl.var.parameter.argument_label>: CGRect<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, subtreeExtent<\/decl.var.parameter.argument_label>: CGRect<\/ref.struct>?<\/decl.var.parameter.type><\/decl.var.parameter>) -> ViewDescription<\/ref.struct>?<\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 573,
@@ -3913,7 +3801,7 @@
       },
       {
         "key.accessibility" : "source.lang.swift.accessibility.public",
-        "key.annotated_decl" : "protocol Element : _Blueprint_Elements_Should_Be_Value_Types<\/Type><\/Declaration>",
+        "key.annotated_decl" : "protocol Element<\/Declaration>",
         "key.attributes" : [
           {
             "key.attribute" : "source.decl.attribute.public",
@@ -3924,7 +3812,7 @@
         "key.bodylength" : 243,
         "key.bodyoffset" : 2883,
         "key.doc.column" : 17,
-        "key.doc.declaration" : "protocol Element : BlueprintUI._Blueprint_Elements_Should_Be_Value_Types",
+        "key.doc.declaration" : "protocol Element",
         "key.doc.discussion" : [
           {
             "Para" : "The ultimate purpose of an element is to provide visual content. This can be done in two ways:"
@@ -3939,13 +3827,13 @@
             "CodeListing" : ""
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/Pods\/BlueprintUI\/BlueprintUI\/Sources\/Element\/Element.swift",
-        "key.doc.full_as_xml" : "Element<\/Name>s:11BlueprintUI7ElementP<\/USR>protocol Element : BlueprintUI._Blueprint_Elements_Should_Be_Value_Types<\/Declaration>Conforming types represent a rectangular content area in a two-dimensional layout space.<\/Para><\/Abstract>]]><\/rawHTML>The ultimate purpose of an element is to provide visual content. This can be done in two ways:<\/Para>By providing a view description (ViewDescription<\/codeVoice>).<\/Para><\/Item>By providing child elements that will be displayed recursively within the local coordinate space.<\/Para><\/Item><\/List-Bullet>]]><\/rawHTML>A custom element might look something like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> ViewDescription? {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/Pods\/BlueprintUI\/BlueprintUI\/Sources\/Element\/Element.swift",
+        "key.doc.full_as_xml" : "Element<\/Name>s:11BlueprintUI7ElementP<\/USR>protocol Element<\/Declaration>Conforming types represent a rectangular content area in a two-dimensional layout space.<\/Para><\/Abstract>]]><\/rawHTML>The ultimate purpose of an element is to provide visual content. This can be done in two ways:<\/Para>By providing a view description (ViewDescription<\/codeVoice>).<\/Para><\/Item>By providing child elements that will be displayed recursively within the local coordinate space.<\/Para><\/Item><\/List-Bullet>]]><\/rawHTML>A custom element might look something like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> ViewDescription? {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 41,
         "key.doc.name" : "Element",
         "key.doc.type" : "Class",
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/Pods\/BlueprintUI\/BlueprintUI\/Sources\/Element\/Element.swift",
-        "key.fully_annotated_decl" : "protocol<\/syntaxtype.keyword> Element<\/decl.name> : _Blueprint_Elements_Should_Be_Value_Types<\/ref.protocol><\/decl.protocol>",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/Pods\/BlueprintUI\/BlueprintUI\/Sources\/Element\/Element.swift",
+        "key.fully_annotated_decl" : "protocol<\/syntaxtype.keyword> Element<\/decl.name><\/decl.protocol>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 263,
         "key.modulename" : "BlueprintUI",
@@ -3965,14 +3853,14 @@
             "key.doc.column" : 10,
             "key.doc.comment" : "Wraps the element in a re-order gesture.",
             "key.doc.declaration" : "func listReorderGesture(with actions: ReorderingActions, isEnabled: Bool = true) -> Element",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
-            "key.doc.full_as_xml" : "listReorderGesture(with:isEnabled:)<\/Name>s:11BlueprintUI7ElementP0A7UIListsE18listReorderGesture4with9isEnabledAaB_p08ListableB017ReorderingActionsC_SbtF<\/USR>func listReorderGesture(with actions: ReorderingActions, isEnabled: Bool = true) -> Element<\/Declaration>Wraps the element in a re-order gesture.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
+            "key.doc.full_as_xml" : "listReorderGesture(with:isEnabled:)<\/Name>s:11BlueprintUI7ElementP0A7UIListsE18listReorderGesture4with9isEnabledAaB_p08ListableB017ReorderingActionsC_SbtF<\/USR>func listReorderGesture(with actions: ReorderingActions, isEnabled: Bool = true) -> Element<\/Declaration>Wraps the element in a re-order gesture.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 103,
             "key.doc.name" : "listReorderGesture(with:isEnabled:)",
             "key.doc.type" : "Function",
             "key.doclength" : 45,
             "key.docoffset" : 2888,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> listReorderGesture<\/decl.name>(with<\/decl.var.parameter.argument_label> actions<\/decl.var.parameter.name>: ReorderingActions<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, isEnabled<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type> = true<\/decl.var.parameter>) -> Element<\/ref.protocol><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 188,
@@ -4023,12 +3911,12 @@
             "CodeListing" : ""
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
-        "key.doc.full_as_xml" : "ListReorderGesture<\/Name>s:16BlueprintUILists18ListReorderGestureV<\/USR>public struct ListReorderGesture : Element<\/Declaration>An element that wraps your provided element, to enable support for user-driven re-ordering in a list view.<\/Para><\/Abstract>If you do not support reordering items, you do not need to add this element anywhere in your hierarchy.<\/Para>This element on its own has no visual appearance. Thus, you should still render your own reorder dragger \/ handle \/ etc in the passed in element.<\/Para>In the below example, we see how to set up the content of a simple item, which contains a text label and a reorder grabber.<\/Para> Element]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
+        "key.doc.full_as_xml" : "ListReorderGesture<\/Name>s:16BlueprintUILists18ListReorderGestureV<\/USR>public struct ListReorderGesture : Element<\/Declaration>An element that wraps your provided element, to enable support for user-driven re-ordering in a list view.<\/Para><\/Abstract>If you do not support reordering items, you do not need to add this element anywhere in your hierarchy.<\/Para>This element on its own has no visual appearance. Thus, you should still render your own reorder dragger \/ handle \/ etc in the passed in element.<\/Para>In the below example, we see how to set up the content of a simple item, which contains a text label and a reorder grabber.<\/Para> Element]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 38,
         "key.doc.name" : "ListReorderGesture",
         "key.doc.type" : "Class",
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> ListReorderGesture<\/decl.name> : Element<\/ref.protocol><\/decl.struct>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 1729,
@@ -4064,7 +3952,7 @@
                 "key.offset" : 3217
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> GestureRecognizer<\/decl.name> : UIPanGestureRecognizer<\/ref.class><\/decl.class>",
             "key.inheritedtypes" : [
               {
@@ -4091,7 +3979,7 @@
                     "key.offset" : 3254
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> onStart<\/decl.name>: OnStart<\/ref.typealias>?<\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 28,
@@ -4117,7 +4005,7 @@
                     "key.offset" : 3298
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> onMove<\/decl.name>: OnMove<\/ref.typealias>?<\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 26,
@@ -4143,7 +4031,7 @@
                     "key.offset" : 3340
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> onDone<\/decl.name>: OnDone<\/ref.typealias>?<\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 26,
@@ -4171,7 +4059,7 @@
                 ],
                 "key.bodylength" : 239,
                 "key.bodyoffset" : 3447,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
                 "key.fully_annotated_decl" : "override<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(target<\/decl.var.parameter.argument_label>: Any<\/syntaxtype.keyword>?<\/decl.var.parameter.type><\/decl.var.parameter>, action<\/decl.var.parameter.argument_label>: Selector<\/ref.struct>?<\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 287,
@@ -4214,7 +4102,7 @@
                 ],
                 "key.bodylength" : 498,
                 "key.bodyoffset" : 3743,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
                 "key.fully_annotated_decl" : "@objc<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> func<\/syntaxtype.keyword> updated<\/decl.name>()<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 523,
@@ -4261,7 +4149,7 @@
                 "key.offset" : 4292
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> WrapperView<\/decl.name> : UIView<\/ref.class><\/decl.class>",
             "key.inheritedtypes" : [
               {
@@ -4281,7 +4169,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let recognizer: GestureRecognizer<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> recognizer<\/decl.name>: GestureRecognizer<\/ref.class><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 34,
@@ -4301,7 +4189,7 @@
                 "key.annotated_decl" : "init(frame: CGRect<\/Type>, wrapping: ListReorderGesture<\/Type>)<\/Declaration>",
                 "key.bodylength" : 305,
                 "key.bodyoffset" : 4425,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/BlueprintUILists\/Sources\/ListReorderGesture.swift",
                 "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(frame<\/decl.var.parameter.argument_label>: CGRect<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, wrapping<\/decl.var.parameter.argument_label>: ListReorderGesture<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 366,
diff --git a/docs/JSON/ListableUI.json b/docs/JSON/ListableUI.json
index 268dbdefe..8a0bd1ad1 100644
--- a/docs/JSON/ListableUI.json
+++ b/docs/JSON/ListableUI.json
@@ -1,5 +1,5 @@
 [{
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Appearance.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Appearance.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 1531,
     "key.offset" : 0,
@@ -24,8 +24,8 @@
             "Para" : "For properties that are specific to individual layouts, see the `layoutAppearance` property on each layout type."
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Appearance.swift",
-        "key.doc.full_as_xml" : "Appearance<\/Name>s:10ListableUI10AppearanceV<\/USR>public struct Appearance : Equatable<\/Declaration>Contains all the properties which affect the appearance of all possible kinds of list layouts.<\/Para><\/Abstract>For properties that are specific to individual layouts, see the layoutAppearance<\/codeVoice> property on each layout type.<\/Para><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Appearance.swift",
+        "key.doc.full_as_xml" : "Appearance<\/Name>s:10ListableUI10AppearanceV<\/USR>public struct Appearance : Equatable<\/Declaration>Contains all the properties which affect the appearance of all possible kinds of list layouts.<\/Para><\/Abstract>For properties that are specific to individual layouts, see the layoutAppearance<\/codeVoice> property on each layout type.<\/Para><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 15,
         "key.doc.name" : "Appearance",
         "key.doc.type" : "Class",
@@ -38,7 +38,7 @@
             "key.offset" : 349
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Appearance.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Appearance.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> Appearance<\/decl.name> : Equatable<\/ref.protocol><\/decl.struct>",
         "key.inheritedtypes" : [
           {
@@ -73,14 +73,14 @@
             "key.doc.column" : 23,
             "key.doc.comment" : "The background color for the list.",
             "key.doc.declaration" : "public var backgroundColor: UIColor { get set }",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Appearance.swift",
-            "key.doc.full_as_xml" : "backgroundColor<\/Name>s:10ListableUI10AppearanceV15backgroundColorSo7UIColorCvp<\/USR>public var backgroundColor: UIColor { get set }<\/Declaration>The background color for the list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Appearance.swift",
+            "key.doc.full_as_xml" : "backgroundColor<\/Name>s:10ListableUI10AppearanceV15backgroundColorSo7UIColorCvp<\/USR>public var backgroundColor: UIColor { get set }<\/Declaration>The background color for the list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 18,
             "key.doc.name" : "backgroundColor",
             "key.doc.type" : "Other",
             "key.doclength" : 39,
             "key.docoffset" : 365,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Appearance.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Appearance.swift",
             "key.fully_annotated_decl" : "@Color<\/ref.struct><\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> backgroundColor<\/decl.name>: UIColor<\/ref.class><\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 29,
@@ -109,14 +109,14 @@
             "key.doc.column" : 16,
             "key.doc.comment" : "If the list should display its scroll indicators.",
             "key.doc.declaration" : "public var showsScrollIndicators: Bool",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Appearance.swift",
-            "key.doc.full_as_xml" : "showsScrollIndicators<\/Name>s:10ListableUI10AppearanceV21showsScrollIndicatorsSbvp<\/USR>public var showsScrollIndicators: Bool<\/Declaration>If the list should display its scroll indicators.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Appearance.swift",
+            "key.doc.full_as_xml" : "showsScrollIndicators<\/Name>s:10ListableUI10AppearanceV21showsScrollIndicatorsSbvp<\/USR>public var showsScrollIndicators: Bool<\/Declaration>If the list should display its scroll indicators.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 21,
             "key.doc.name" : "showsScrollIndicators",
             "key.doc.type" : "Other",
             "key.doclength" : 54,
             "key.docoffset" : 461,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Appearance.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Appearance.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> showsScrollIndicators<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 32,
@@ -147,14 +147,14 @@
             "key.doc.column" : 12,
             "key.doc.comment" : "Creates a new appearance object with the provided options.",
             "key.doc.declaration" : "public init(backgroundColor: UIColor = Self.defaultBackgroundColor, showsScrollIndicators: Bool = true, configure: (inout `Self`) -> () = { _ in })",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Appearance.swift",
-            "key.doc.full_as_xml" : "init(backgroundColor:showsScrollIndicators:configure:)<\/Name>s:10ListableUI10AppearanceV15backgroundColor21showsScrollIndicators9configureACSo7UIColorC_SbyACzXEtcfc<\/USR>public init(backgroundColor: UIColor = Self.defaultBackgroundColor, showsScrollIndicators: Bool = true, configure: (inout `Self`) -> () = { _ in })<\/Declaration>Creates a new appearance object with the provided options.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Appearance.swift",
+            "key.doc.full_as_xml" : "init(backgroundColor:showsScrollIndicators:configure:)<\/Name>s:10ListableUI10AppearanceV15backgroundColor21showsScrollIndicators9configureACSo7UIColorC_SbyACzXEtcfc<\/USR>public init(backgroundColor: UIColor = Self.defaultBackgroundColor, showsScrollIndicators: Bool = true, configure: (inout `Self`) -> () = { _ in })<\/Declaration>Creates a new appearance object with the provided options.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 24,
             "key.doc.name" : "init(backgroundColor:showsScrollIndicators:configure:)",
             "key.doc.type" : "Function",
             "key.doclength" : 63,
             "key.docoffset" : 572,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Appearance.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Appearance.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(backgroundColor<\/decl.var.parameter.argument_label>: UIColor<\/ref.class><\/decl.var.parameter.type> = Self.defaultBackgroundColor<\/decl.var.parameter>, showsScrollIndicators<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type> = true<\/decl.var.parameter>, configure<\/decl.var.parameter.argument_label>: (inout<\/syntaxtype.keyword> `Self`<\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type> = { _ in }<\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 336,
@@ -187,14 +187,14 @@
             "key.doc.column" : 23,
             "key.doc.comment" : "The default background color for the `Appearance`.",
             "key.doc.declaration" : "public static var defaultBackgroundColor: UIColor { get }",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Appearance.swift",
-            "key.doc.full_as_xml" : "defaultBackgroundColor<\/Name>s:10ListableUI10AppearanceV22defaultBackgroundColorSo7UIColorCvpZ<\/USR>public static var defaultBackgroundColor: UIColor { get }<\/Declaration>The default background color for the Appearance<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Appearance.swift",
+            "key.doc.full_as_xml" : "defaultBackgroundColor<\/Name>s:10ListableUI10AppearanceV22defaultBackgroundColorSo7UIColorCvpZ<\/USR>public static var defaultBackgroundColor: UIColor { get }<\/Declaration>The default background color for the Appearance<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 37,
             "key.doc.name" : "defaultBackgroundColor",
             "key.doc.type" : "Other",
             "key.doclength" : 55,
             "key.docoffset" : 992,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Appearance.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Appearance.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> static<\/syntaxtype.keyword> var<\/syntaxtype.keyword> defaultBackgroundColor<\/decl.name>: UIColor<\/ref.class><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.static>",
             "key.kind" : "source.lang.swift.decl.var.static",
             "key.length" : 470,
@@ -217,7 +217,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ApplyReason.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ApplyReason.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 859,
     "key.offset" : 0,
@@ -237,8 +237,8 @@
         "key.doc.column" : 13,
         "key.doc.comment" : "Why the `Item` or `HeaderFooter` is being asked to apply an update to its presented views.",
         "key.doc.declaration" : "public enum ApplyReason : Hashable",
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ApplyReason.swift",
-        "key.doc.full_as_xml" : "ApplyReason<\/Name>s:10ListableUI11ApplyReasonO<\/USR>public enum ApplyReason : Hashable<\/Declaration>Why the Item<\/codeVoice> or HeaderFooter<\/codeVoice> is being asked to apply an update to its presented views.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ApplyReason.swift",
+        "key.doc.full_as_xml" : "ApplyReason<\/Name>s:10ListableUI11ApplyReasonO<\/USR>public enum ApplyReason : Hashable<\/Declaration>Why the Item<\/codeVoice> or HeaderFooter<\/codeVoice> is being asked to apply an update to its presented views.<\/Para><\/Abstract><\/CommentParts><\/Other>",
         "key.doc.line" : 10,
         "key.doc.name" : "ApplyReason",
         "key.doc.type" : "Other",
@@ -251,7 +251,7 @@
             "key.offset" : 211
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ApplyReason.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ApplyReason.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> enum<\/syntaxtype.keyword> ApplyReason<\/decl.name> : Hashable<\/ref.protocol><\/decl.enum>",
         "key.inheritedtypes" : [
           {
@@ -281,14 +281,14 @@
                 "key.doc.column" : 10,
                 "key.doc.comment" : "The view is about to be displayed on screen. Update should be performed with no animation.",
                 "key.doc.declaration" : "",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ApplyReason.swift",
-                "key.doc.full_as_xml" : "willDisplay<\/Name>s:10ListableUI11ApplyReasonO11willDisplayyA2CmF<\/USR><\/Declaration>The view is about to be displayed on screen. Update should be performed with no animation.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ApplyReason.swift",
+                "key.doc.full_as_xml" : "willDisplay<\/Name>s:10ListableUI11ApplyReasonO11willDisplayyA2CmF<\/USR><\/Declaration>The view is about to be displayed on screen. Update should be performed with no animation.<\/Para><\/Abstract><\/CommentParts><\/Other>",
                 "key.doc.line" : 13,
                 "key.doc.name" : "willDisplay",
                 "key.doc.type" : "Other",
                 "key.doclength" : 95,
                 "key.docoffset" : 226,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ApplyReason.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ApplyReason.swift",
                 "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> willDisplay<\/decl.name><\/decl.enumelement>",
                 "key.kind" : "source.lang.swift.decl.enumelement",
                 "key.length" : 11,
@@ -318,14 +318,14 @@
                 "key.doc.column" : 10,
                 "key.doc.comment" : "A view that is already visible is being updated.\nIf your updates can contain animated transitions, you should animate this update.",
                 "key.doc.declaration" : "",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ApplyReason.swift",
-                "key.doc.full_as_xml" : "wasUpdated<\/Name>s:10ListableUI11ApplyReasonO10wasUpdatedyA2CmF<\/USR><\/Declaration>A view that is already visible is being updated. If your updates can contain animated transitions, you should animate this update.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ApplyReason.swift",
+                "key.doc.full_as_xml" : "wasUpdated<\/Name>s:10ListableUI11ApplyReasonO10wasUpdatedyA2CmF<\/USR><\/Declaration>A view that is already visible is being updated. If your updates can contain animated transitions, you should animate this update.<\/Para><\/Abstract><\/CommentParts><\/Other>",
                 "key.doc.line" : 17,
                 "key.doc.name" : "wasUpdated",
                 "key.doc.type" : "Other",
                 "key.doclength" : 143,
                 "key.docoffset" : 351,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ApplyReason.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ApplyReason.swift",
                 "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> wasUpdated<\/decl.name><\/decl.enumelement>",
                 "key.kind" : "source.lang.swift.decl.enumelement",
                 "key.length" : 10,
@@ -357,14 +357,14 @@
             "key.doc.column" : 16,
             "key.doc.comment" : "If you should use animations while applying the update.\nCheck this boolean in your `apply` method to avoid\nhaving to `switch` over the value of `ApplyReason`.",
             "key.doc.declaration" : "public var shouldAnimate: Bool { get }",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ApplyReason.swift",
-            "key.doc.full_as_xml" : "shouldAnimate<\/Name>s:10ListableUI11ApplyReasonO13shouldAnimateSbvp<\/USR>public var shouldAnimate: Bool { get }<\/Declaration>If you should use animations while applying the update. Check this boolean in your apply<\/codeVoice> method to avoid having to switch<\/codeVoice> over the value of ApplyReason<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ApplyReason.swift",
+            "key.doc.full_as_xml" : "shouldAnimate<\/Name>s:10ListableUI11ApplyReasonO13shouldAnimateSbvp<\/USR>public var shouldAnimate: Bool { get }<\/Declaration>If you should use animations while applying the update. Check this boolean in your apply<\/codeVoice> method to avoid having to switch<\/codeVoice> over the value of ApplyReason<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 22,
             "key.doc.name" : "shouldAnimate",
             "key.doc.type" : "Other",
             "key.doclength" : 179,
             "key.docoffset" : 523,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ApplyReason.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ApplyReason.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> shouldAnimate<\/decl.name>: Bool<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 142,
@@ -387,7 +387,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/AutoScrollAction.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/AutoScrollAction.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 4943,
     "key.offset" : 0,
@@ -407,14 +407,14 @@
         "key.doc.column" : 13,
         "key.doc.comment" : "Options for auto-scrolling to items when the list is updated.",
         "key.doc.declaration" : "public enum AutoScrollAction",
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/AutoScrollAction.swift",
-        "key.doc.full_as_xml" : "AutoScrollAction<\/Name>s:10ListableUI16AutoScrollActionO<\/USR>public enum AutoScrollAction<\/Declaration>Options for auto-scrolling to items when the list is updated.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/AutoScrollAction.swift",
+        "key.doc.full_as_xml" : "AutoScrollAction<\/Name>s:10ListableUI16AutoScrollActionO<\/USR>public enum AutoScrollAction<\/Declaration>Options for auto-scrolling to items when the list is updated.<\/Para><\/Abstract><\/CommentParts><\/Other>",
         "key.doc.line" : 12,
         "key.doc.name" : "AutoScrollAction",
         "key.doc.type" : "Other",
         "key.doclength" : 66,
         "key.docoffset" : 112,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/AutoScrollAction.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/AutoScrollAction.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> enum<\/syntaxtype.keyword> AutoScrollAction<\/decl.name><\/decl.enum>",
         "key.kind" : "source.lang.swift.decl.enum",
         "key.length" : 2925,
@@ -439,14 +439,14 @@
                 "key.doc.column" : 10,
                 "key.doc.comment" : "The list never automatically scrolls.",
                 "key.doc.declaration" : "",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/AutoScrollAction.swift",
-                "key.doc.full_as_xml" : "none<\/Name>s:10ListableUI16AutoScrollActionO4noneyA2CmF<\/USR><\/Declaration>The list never automatically scrolls.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/AutoScrollAction.swift",
+                "key.doc.full_as_xml" : "none<\/Name>s:10ListableUI16AutoScrollActionO4noneyA2CmF<\/USR><\/Declaration>The list never automatically scrolls.<\/Para><\/Abstract><\/CommentParts><\/Other>",
                 "key.doc.line" : 15,
                 "key.doc.name" : "none",
                 "key.doc.type" : "Other",
                 "key.doclength" : 42,
                 "key.docoffset" : 218,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/AutoScrollAction.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/AutoScrollAction.swift",
                 "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> none<\/decl.name><\/decl.enumelement>",
                 "key.kind" : "source.lang.swift.decl.enumelement",
                 "key.length" : 4,
@@ -476,14 +476,14 @@
                 "key.doc.column" : 10,
                 "key.doc.comment" : "Scrolls to the specified item when the list is updated if the item was inserted in this update.",
                 "key.doc.declaration" : "",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/AutoScrollAction.swift",
-                "key.doc.full_as_xml" : "scrollToItem(onInsertOf:)<\/Name>s:10ListableUI16AutoScrollActionO12scrollToItemyA2C010OnInsertedH0V_tcACmF<\/USR><\/Declaration>Scrolls to the specified item when the list is updated if the item was inserted in this update.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/AutoScrollAction.swift",
+                "key.doc.full_as_xml" : "scrollToItem(onInsertOf:)<\/Name>s:10ListableUI16AutoScrollActionO12scrollToItemyA2C010OnInsertedH0V_tcACmF<\/USR><\/Declaration>Scrolls to the specified item when the list is updated if the item was inserted in this update.<\/Para><\/Abstract><\/CommentParts><\/Other>",
                 "key.doc.line" : 18,
                 "key.doc.name" : "scrollToItem(onInsertOf:)",
                 "key.doc.type" : "Other",
                 "key.doclength" : 100,
                 "key.docoffset" : 279,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/AutoScrollAction.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/AutoScrollAction.swift",
                 "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> scrollToItem<\/decl.name>(onInsertOf<\/decl.var.parameter.argument_label>: OnInsertedItem<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.enumelement>",
                 "key.kind" : "source.lang.swift.decl.enumelement",
                 "key.length" : 40,
@@ -529,14 +529,14 @@
                 "List-Bullet" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/AutoScrollAction.swift",
-            "key.doc.full_as_xml" : "scrollTo(_:onInsertOf:position:animation:shouldPerform:didPerform:)<\/Name>s:10ListableUI16AutoScrollActionO8scrollTo_10onInsertOf8position9animation13shouldPerform03didN0A2C0D11DestinationOSg_AA13AnyIdentifierCAA0D8PositionVAA0D9AnimationOSbAA04ListdS4InfoVcyATctFZ<\/USR>public static func scrollTo(_ destination: ScrollDestination? = nil, onInsertOf insertedIdentifier: AnyIdentifier, position: ScrollPosition, animation: ScrollAnimation = .none, shouldPerform: @escaping (ListScrollPositionInfo) -> Bool = { _ in true }, didPerform: @escaping (ListScrollPositionInfo) -> () = { _ in }) -> AutoScrollAction<\/Declaration>Scrolls to the specified item when the list is updated if the item was inserted in this update.<\/Para><\/Abstract>If you would like to control if this scroll should occur on insert, pass a shouldPerform<\/codeVoice> closure, which will be called when the item is inserted, to give you a chance to confirm or reject the scroll action. The ListScrollPositionInfo<\/codeVoice> passed to your closure provides the current state of the list, including visible content edges and visible items. If you do not pass a shouldPerform<\/codeVoice> closure, the action will be performed on insert.<\/Para>]]><\/rawHTML>Example]]><\/rawHTML><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>Parameters<\/Para>destination: Where the list should scroll to on insert. If not specified, the value passed to onInsertOf<\/codeVoice> will be used.<\/Para><\/Item>onInsertOf: The identifier which should trigger the action.<\/Para><\/Item>position: The position to scroll the list to.<\/Para><\/Item>animation: The animation type to perform. Note: Will only animate if the list update itself is animated.<\/Para><\/Item>shouldPerform: A block which lets you control if the auto scroll action should be performed based on the state of the list.<\/Para><\/Item>didPerform: A block which is called when the action is performed. If the item causing insertion is inserted multiple times, this block will be called multiple times.<\/Para><\/Item><\/List-Bullet><\/Item><\/List-Bullet><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/AutoScrollAction.swift",
+            "key.doc.full_as_xml" : "scrollTo(_:onInsertOf:position:animation:shouldPerform:didPerform:)<\/Name>s:10ListableUI16AutoScrollActionO8scrollTo_10onInsertOf8position9animation13shouldPerform03didN0A2C0D11DestinationOSg_AA13AnyIdentifierCAA0D8PositionVAA0D9AnimationOSbAA04ListdS4InfoVcyATctFZ<\/USR>public static func scrollTo(_ destination: ScrollDestination? = nil, onInsertOf insertedIdentifier: AnyIdentifier, position: ScrollPosition, animation: ScrollAnimation = .none, shouldPerform: @escaping (ListScrollPositionInfo) -> Bool = { _ in true }, didPerform: @escaping (ListScrollPositionInfo) -> () = { _ in }) -> AutoScrollAction<\/Declaration>Scrolls to the specified item when the list is updated if the item was inserted in this update.<\/Para><\/Abstract>If you would like to control if this scroll should occur on insert, pass a shouldPerform<\/codeVoice> closure, which will be called when the item is inserted, to give you a chance to confirm or reject the scroll action. The ListScrollPositionInfo<\/codeVoice> passed to your closure provides the current state of the list, including visible content edges and visible items. If you do not pass a shouldPerform<\/codeVoice> closure, the action will be performed on insert.<\/Para>]]><\/rawHTML>Example]]><\/rawHTML><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>Parameters<\/Para>destination: Where the list should scroll to on insert. If not specified, the value passed to onInsertOf<\/codeVoice> will be used.<\/Para><\/Item>onInsertOf: The identifier which should trigger the action.<\/Para><\/Item>position: The position to scroll the list to.<\/Para><\/Item>animation: The animation type to perform. Note: Will only animate if the list update itself is animated.<\/Para><\/Item>shouldPerform: A block which lets you control if the auto scroll action should be performed based on the state of the list.<\/Para><\/Item>didPerform: A block which is called when the action is performed. If the item causing insertion is inserted multiple times, this block will be called multiple times.<\/Para><\/Item><\/List-Bullet><\/Item><\/List-Bullet><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 55,
             "key.doc.name" : "scrollTo(_:onInsertOf:position:animation:shouldPerform:didPerform:)",
             "key.doc.type" : "Function",
             "key.doclength" : 1951,
             "key.docoffset" : 434,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/AutoScrollAction.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/AutoScrollAction.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> scrollTo<\/decl.name>(_<\/decl.var.parameter.argument_label> destination<\/decl.var.parameter.name>: ScrollDestination<\/ref.enum>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, onInsertOf<\/decl.var.parameter.argument_label> insertedIdentifier<\/decl.var.parameter.name>: AnyIdentifier<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, position<\/decl.var.parameter.argument_label>: ScrollPosition<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, animation<\/decl.var.parameter.argument_label>: ScrollAnimation<\/ref.enum><\/decl.var.parameter.type> = .none<\/decl.var.parameter>, shouldPerform<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> (ListScrollPositionInfo<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.var.parameter.type> = { _ in true }<\/decl.var.parameter>, didPerform<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> (ListScrollPositionInfo<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type> = { _ in }<\/decl.var.parameter>) -> AutoScrollAction<\/ref.enum><\/decl.function.returntype><\/decl.function.method.static>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
             "key.length" : 712,
@@ -565,12 +565,12 @@
         "key.bodyoffset" : 3141,
         "key.doc.column" : 13,
         "key.doc.declaration" : "public enum AutoScrollAction",
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/AutoScrollAction.swift",
-        "key.doc.full_as_xml" : "AutoScrollAction<\/Name>s:10ListableUI16AutoScrollActionO<\/USR>public enum AutoScrollAction<\/Declaration>Options for auto-scrolling to items when the list is updated.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/AutoScrollAction.swift",
+        "key.doc.full_as_xml" : "AutoScrollAction<\/Name>s:10ListableUI16AutoScrollActionO<\/USR>public enum AutoScrollAction<\/Declaration>Options for auto-scrolling to items when the list is updated.<\/Para><\/Abstract><\/CommentParts><\/Other>",
         "key.doc.line" : 12,
         "key.doc.name" : "AutoScrollAction",
         "key.doc.type" : "Other",
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/AutoScrollAction.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/AutoScrollAction.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> enum<\/syntaxtype.keyword> AutoScrollAction<\/decl.name><\/decl.enum>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 1829,
@@ -597,8 +597,8 @@
             "key.doc.column" : 17,
             "key.doc.comment" : "Where to scroll as a result of an `AutoScrollAction`.",
             "key.doc.declaration" : "public enum ScrollDestination : Equatable",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/AutoScrollAction.swift",
-            "key.doc.full_as_xml" : "ScrollDestination<\/Name>s:10ListableUI16AutoScrollActionO0D11DestinationO<\/USR>public enum ScrollDestination : Equatable<\/Declaration>Where to scroll as a result of an AutoScrollAction<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/AutoScrollAction.swift",
+            "key.doc.full_as_xml" : "ScrollDestination<\/Name>s:10ListableUI16AutoScrollActionO0D11DestinationO<\/USR>public enum ScrollDestination : Equatable<\/Declaration>Where to scroll as a result of an AutoScrollAction<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 79,
             "key.doc.name" : "ScrollDestination",
             "key.doc.type" : "Other",
@@ -611,7 +611,7 @@
                 "key.offset" : 3240
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/AutoScrollAction.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/AutoScrollAction.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> enum<\/syntaxtype.keyword> ScrollDestination<\/decl.name> : Equatable<\/ref.protocol><\/decl.enum>",
             "key.inheritedtypes" : [
               {
@@ -641,14 +641,14 @@
                     "key.doc.column" : 14,
                     "key.doc.comment" : "Scroll to the first item in the list.",
                     "key.doc.declaration" : "",
-                    "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/AutoScrollAction.swift",
-                    "key.doc.full_as_xml" : "firstItem<\/Name>s:10ListableUI16AutoScrollActionO0D11DestinationO9firstItemyA2EmF<\/USR><\/Declaration>Scroll to the first item in the list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                    "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/AutoScrollAction.swift",
+                    "key.doc.full_as_xml" : "firstItem<\/Name>s:10ListableUI16AutoScrollActionO0D11DestinationO9firstItemyA2EmF<\/USR><\/Declaration>Scroll to the first item in the list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
                     "key.doc.line" : 82,
                     "key.doc.name" : "firstItem",
                     "key.doc.type" : "Other",
                     "key.doclength" : 42,
                     "key.docoffset" : 3264,
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/AutoScrollAction.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/AutoScrollAction.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> firstItem<\/decl.name><\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 9,
@@ -678,14 +678,14 @@
                     "key.doc.column" : 14,
                     "key.doc.comment" : "Scroll to the last item in the list.",
                     "key.doc.declaration" : "",
-                    "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/AutoScrollAction.swift",
-                    "key.doc.full_as_xml" : "lastItem<\/Name>s:10ListableUI16AutoScrollActionO0D11DestinationO8lastItemyA2EmF<\/USR><\/Declaration>Scroll to the last item in the list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                    "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/AutoScrollAction.swift",
+                    "key.doc.full_as_xml" : "lastItem<\/Name>s:10ListableUI16AutoScrollActionO0D11DestinationO8lastItemyA2EmF<\/USR><\/Declaration>Scroll to the last item in the list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
                     "key.doc.line" : 85,
                     "key.doc.name" : "lastItem",
                     "key.doc.type" : "Other",
                     "key.doclength" : 41,
                     "key.docoffset" : 3346,
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/AutoScrollAction.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/AutoScrollAction.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> lastItem<\/decl.name><\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 8,
@@ -715,14 +715,14 @@
                     "key.doc.column" : 14,
                     "key.doc.comment" : "Scroll to the item with the specified identifier.",
                     "key.doc.declaration" : "",
-                    "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/AutoScrollAction.swift",
-                    "key.doc.full_as_xml" : "item(_:)<\/Name>s:10ListableUI16AutoScrollActionO0D11DestinationO4itemyAeA13AnyIdentifierCcAEmF<\/USR><\/Declaration>Scroll to the item with the specified identifier.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                    "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/AutoScrollAction.swift",
+                    "key.doc.full_as_xml" : "item(_:)<\/Name>s:10ListableUI16AutoScrollActionO0D11DestinationO4itemyAeA13AnyIdentifierCcAEmF<\/USR><\/Declaration>Scroll to the item with the specified identifier.<\/Para><\/Abstract><\/CommentParts><\/Other>",
                     "key.doc.line" : 88,
                     "key.doc.name" : "item(_:)",
                     "key.doc.type" : "Other",
                     "key.doclength" : 54,
                     "key.docoffset" : 3426,
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/AutoScrollAction.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/AutoScrollAction.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> item<\/decl.name>(AnyIdentifier<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 19,
@@ -747,7 +747,7 @@
                 "key.annotated_decl" : "func destination(with content: Content<\/Type>) -> AnyIdentifier<\/Type>?<\/Declaration>",
                 "key.bodylength" : 237,
                 "key.bodyoffset" : 3590,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/AutoScrollAction.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/AutoScrollAction.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> destination<\/decl.name>(with<\/decl.var.parameter.argument_label> content<\/decl.var.parameter.name>: Content<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> AnyIdentifier<\/ref.class>?<\/decl.function.returntype><\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 298,
@@ -785,14 +785,14 @@
             "key.doc.column" : 19,
             "key.doc.comment" : "Values used to configure the `scrollToItem(onInsertOf:)` action.",
             "key.doc.declaration" : "public struct OnInsertedItem",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/AutoScrollAction.swift",
-            "key.doc.full_as_xml" : "OnInsertedItem<\/Name>s:10ListableUI16AutoScrollActionO14OnInsertedItemV<\/USR>public struct OnInsertedItem<\/Declaration>Values used to configure the scrollToItem(onInsertOf:)<\/codeVoice> action.<\/Para><\/Abstract><\/CommentParts><\/Class>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/AutoScrollAction.swift",
+            "key.doc.full_as_xml" : "OnInsertedItem<\/Name>s:10ListableUI16AutoScrollActionO14OnInsertedItemV<\/USR>public struct OnInsertedItem<\/Declaration>Values used to configure the scrollToItem(onInsertOf:)<\/codeVoice> action.<\/Para><\/Abstract><\/CommentParts><\/Class>",
             "key.doc.line" : 101,
             "key.doc.name" : "OnInsertedItem",
             "key.doc.type" : "Class",
             "key.doclength" : 69,
             "key.docoffset" : 3849,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/AutoScrollAction.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/AutoScrollAction.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> OnInsertedItem<\/decl.name><\/decl.struct>",
             "key.kind" : "source.lang.swift.decl.struct",
             "key.length" : 1011,
@@ -817,14 +817,14 @@
                 "key.doc.column" : 20,
                 "key.doc.comment" : "The item in the list to scroll to when the `insertedIdentifier` is inserted.",
                 "key.doc.declaration" : "public var destination: ScrollDestination",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/AutoScrollAction.swift",
-                "key.doc.full_as_xml" : "destination<\/Name>s:10ListableUI16AutoScrollActionO14OnInsertedItemV11destinationAC0D11DestinationOvp<\/USR>public var destination: ScrollDestination<\/Declaration>The item in the list to scroll to when the insertedIdentifier<\/codeVoice> is inserted.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/AutoScrollAction.swift",
+                "key.doc.full_as_xml" : "destination<\/Name>s:10ListableUI16AutoScrollActionO14OnInsertedItemV11destinationAC0D11DestinationOvp<\/USR>public var destination: ScrollDestination<\/Declaration>The item in the list to scroll to when the insertedIdentifier<\/codeVoice> is inserted.<\/Para><\/Abstract><\/CommentParts><\/Other>",
                 "key.doc.line" : 104,
                 "key.doc.name" : "destination",
                 "key.doc.type" : "Other",
                 "key.doclength" : 81,
                 "key.docoffset" : 3965,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/AutoScrollAction.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/AutoScrollAction.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> destination<\/decl.name>: ScrollDestination<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 35,
@@ -853,14 +853,14 @@
                 "key.doc.column" : 20,
                 "key.doc.comment" : "The identifier of the item for which the `AutoScrollAction` should be performed.",
                 "key.doc.declaration" : "public var insertedIdentifier: AnyIdentifier",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/AutoScrollAction.swift",
-                "key.doc.full_as_xml" : "insertedIdentifier<\/Name>s:10ListableUI16AutoScrollActionO14OnInsertedItemV18insertedIdentifierAA03AnyJ0Cvp<\/USR>public var insertedIdentifier: AnyIdentifier<\/Declaration>The identifier of the item for which the AutoScrollAction<\/codeVoice> should be performed.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/AutoScrollAction.swift",
+                "key.doc.full_as_xml" : "insertedIdentifier<\/Name>s:10ListableUI16AutoScrollActionO14OnInsertedItemV18insertedIdentifierAA03AnyJ0Cvp<\/USR>public var insertedIdentifier: AnyIdentifier<\/Declaration>The identifier of the item for which the AutoScrollAction<\/codeVoice> should be performed.<\/Para><\/Abstract><\/CommentParts><\/Other>",
                 "key.doc.line" : 107,
                 "key.doc.name" : "insertedIdentifier",
                 "key.doc.type" : "Other",
                 "key.doclength" : 85,
                 "key.docoffset" : 4114,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/AutoScrollAction.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/AutoScrollAction.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> insertedIdentifier<\/decl.name>: AnyIdentifier<\/ref.class><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 38,
@@ -889,14 +889,14 @@
                 "key.doc.column" : 20,
                 "key.doc.comment" : "The desired scroll position,",
                 "key.doc.declaration" : "public var position: ScrollPosition",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/AutoScrollAction.swift",
-                "key.doc.full_as_xml" : "position<\/Name>s:10ListableUI16AutoScrollActionO14OnInsertedItemV8positionAA0D8PositionVvp<\/USR>public var position: ScrollPosition<\/Declaration>The desired scroll position,<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/AutoScrollAction.swift",
+                "key.doc.full_as_xml" : "position<\/Name>s:10ListableUI16AutoScrollActionO14OnInsertedItemV8positionAA0D8PositionVvp<\/USR>public var position: ScrollPosition<\/Declaration>The desired scroll position,<\/Para><\/Abstract><\/CommentParts><\/Other>",
                 "key.doc.line" : 110,
                 "key.doc.name" : "position",
                 "key.doc.type" : "Other",
                 "key.doclength" : 33,
                 "key.docoffset" : 4270,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/AutoScrollAction.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/AutoScrollAction.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> position<\/decl.name>: ScrollPosition<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 29,
@@ -930,14 +930,14 @@
                     "Para" : "The action will only be animated if it is animated,  the list update itself is animated. Otherwise, no animation occurs."
                   }
                 ],
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/AutoScrollAction.swift",
-                "key.doc.full_as_xml" : "animation<\/Name>s:10ListableUI16AutoScrollActionO14OnInsertedItemV9animationAA0D9AnimationOvp<\/USR>public var animation: ScrollAnimation<\/Declaration>How to animate the change.<\/Para><\/Abstract>]]><\/rawHTML>Note]]><\/rawHTML>The action will only be animated if it is animated, and<\/bold> the list update itself is animated. Otherwise, no animation occurs.<\/Para><\/Discussion><\/CommentParts><\/Other>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/AutoScrollAction.swift",
+                "key.doc.full_as_xml" : "animation<\/Name>s:10ListableUI16AutoScrollActionO14OnInsertedItemV9animationAA0D9AnimationOvp<\/USR>public var animation: ScrollAnimation<\/Declaration>How to animate the change.<\/Para><\/Abstract>]]><\/rawHTML>Note]]><\/rawHTML>The action will only be animated if it is animated, and<\/bold> the list update itself is animated. Otherwise, no animation occurs.<\/Para><\/Discussion><\/CommentParts><\/Other>",
                 "key.doc.line" : 118,
                 "key.doc.name" : "animation",
                 "key.doc.type" : "Other",
                 "key.doclength" : 229,
                 "key.docoffset" : 4365,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/AutoScrollAction.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/AutoScrollAction.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> animation<\/decl.name>: ScrollAnimation<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 31,
@@ -966,14 +966,14 @@
                 "key.doc.column" : 20,
                 "key.doc.comment" : "An additional check you may provide to approve or reject the scroll action.",
                 "key.doc.declaration" : "public var shouldPerform: (ListScrollPositionInfo) -> Bool",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/AutoScrollAction.swift",
-                "key.doc.full_as_xml" : "shouldPerform<\/Name>s:10ListableUI16AutoScrollActionO14OnInsertedItemV13shouldPerformySbAA04ListD12PositionInfoVcvp<\/USR>public var shouldPerform: (ListScrollPositionInfo) -> Bool<\/Declaration>An additional check you may provide to approve or reject the scroll action.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/AutoScrollAction.swift",
+                "key.doc.full_as_xml" : "shouldPerform<\/Name>s:10ListableUI16AutoScrollActionO14OnInsertedItemV13shouldPerformySbAA04ListD12PositionInfoVcvp<\/USR>public var shouldPerform: (ListScrollPositionInfo) -> Bool<\/Declaration>An additional check you may provide to approve or reject the scroll action.<\/Para><\/Abstract><\/CommentParts><\/Other>",
                 "key.doc.line" : 121,
                 "key.doc.name" : "shouldPerform",
                 "key.doc.type" : "Other",
                 "key.doclength" : 80,
                 "key.docoffset" : 4658,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/AutoScrollAction.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/AutoScrollAction.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> shouldPerform<\/decl.name>: (ListScrollPositionInfo<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 52,
@@ -1002,14 +1002,14 @@
                 "key.doc.column" : 20,
                 "key.doc.comment" : "Called when the list performs the insertion.",
                 "key.doc.declaration" : "public var didPerform: (ListScrollPositionInfo) -> ()",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/AutoScrollAction.swift",
-                "key.doc.full_as_xml" : "didPerform<\/Name>s:10ListableUI16AutoScrollActionO14OnInsertedItemV10didPerformyyAA04ListD12PositionInfoVcvp<\/USR>public var didPerform: (ListScrollPositionInfo) -> ()<\/Declaration>Called when the list performs the insertion.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/AutoScrollAction.swift",
+                "key.doc.full_as_xml" : "didPerform<\/Name>s:10ListableUI16AutoScrollActionO14OnInsertedItemV10didPerformyyAA04ListD12PositionInfoVcvp<\/USR>public var didPerform: (ListScrollPositionInfo) -> ()<\/Declaration>Called when the list performs the insertion.<\/Para><\/Abstract><\/CommentParts><\/Other>",
                 "key.doc.line" : 124,
                 "key.doc.name" : "didPerform",
                 "key.doc.type" : "Other",
                 "key.doclength" : 49,
                 "key.docoffset" : 4823,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/AutoScrollAction.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/AutoScrollAction.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> didPerform<\/decl.name>: (ListScrollPositionInfo<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 47,
@@ -1038,7 +1038,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 5711,
     "key.offset" : 0,
@@ -1058,8 +1058,8 @@
         "key.doc.column" : 15,
         "key.doc.comment" : "Controls various behaviors of the list view, such as keyboard dismissal, selection mode, and behavior\nwhen the list content underflows the available space in the list view.",
         "key.doc.declaration" : "public struct Behavior : Equatable",
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift",
-        "key.doc.full_as_xml" : "Behavior<\/Name>s:10ListableUI8BehaviorV<\/USR>public struct Behavior : Equatable<\/Declaration>Controls various behaviors of the list view, such as keyboard dismissal, selection mode, and behavior when the list content underflows the available space in the list view.<\/Para><\/Abstract><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift",
+        "key.doc.full_as_xml" : "Behavior<\/Name>s:10ListableUI8BehaviorV<\/USR>public struct Behavior : Equatable<\/Declaration>Controls various behaviors of the list view, such as keyboard dismissal, selection mode, and behavior when the list content underflows the available space in the list view.<\/Para><\/Abstract><\/CommentParts><\/Class>",
         "key.doc.line" : 13,
         "key.doc.name" : "Behavior",
         "key.doc.type" : "Class",
@@ -1072,7 +1072,7 @@
             "key.offset" : 313
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> Behavior<\/decl.name> : Equatable<\/ref.protocol><\/decl.struct>",
         "key.inheritedtypes" : [
           {
@@ -1102,14 +1102,14 @@
             "key.doc.column" : 16,
             "key.doc.comment" : "How the keyboard should be dismissed (if at all) based on scrolling of the list view.",
             "key.doc.declaration" : "public var keyboardDismissMode: UIScrollView.KeyboardDismissMode",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift",
-            "key.doc.full_as_xml" : "keyboardDismissMode<\/Name>s:10ListableUI8BehaviorV19keyboardDismissModeSo020UIScrollViewKeyboardeF0Vvp<\/USR>public var keyboardDismissMode: UIScrollView.KeyboardDismissMode<\/Declaration>How the keyboard should be dismissed (if at all) based on scrolling of the list view.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift",
+            "key.doc.full_as_xml" : "keyboardDismissMode<\/Name>s:10ListableUI8BehaviorV19keyboardDismissModeSo020UIScrollViewKeyboardeF0Vvp<\/USR>public var keyboardDismissMode: UIScrollView.KeyboardDismissMode<\/Declaration>How the keyboard should be dismissed (if at all) based on scrolling of the list view.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 16,
             "key.doc.name" : "keyboardDismissMode",
             "key.doc.type" : "Other",
             "key.doclength" : 90,
             "key.docoffset" : 329,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> keyboardDismissMode<\/decl.name>: UIScrollView<\/ref.class>.KeyboardDismissMode<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 58,
@@ -1138,14 +1138,14 @@
             "key.doc.column" : 16,
             "key.doc.comment" : "How to adjust the `contentInset` of the list when the keyboard visibility changes.",
             "key.doc.declaration" : "public var keyboardAdjustmentMode: KeyboardAdjustmentMode",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift",
-            "key.doc.full_as_xml" : "keyboardAdjustmentMode<\/Name>s:10ListableUI8BehaviorV22keyboardAdjustmentModeAC08KeyboardeF0Ovp<\/USR>public var keyboardAdjustmentMode: KeyboardAdjustmentMode<\/Declaration>How to adjust the contentInset<\/codeVoice> of the list when the keyboard visibility changes.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift",
+            "key.doc.full_as_xml" : "keyboardAdjustmentMode<\/Name>s:10ListableUI8BehaviorV22keyboardAdjustmentModeAC08KeyboardeF0Ovp<\/USR>public var keyboardAdjustmentMode: KeyboardAdjustmentMode<\/Declaration>How to adjust the contentInset<\/codeVoice> of the list when the keyboard visibility changes.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 19,
             "key.doc.name" : "keyboardAdjustmentMode",
             "key.doc.type" : "Other",
             "key.doclength" : 87,
             "key.docoffset" : 498,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> keyboardAdjustmentMode<\/decl.name>: KeyboardAdjustmentMode<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 51,
@@ -1174,14 +1174,14 @@
             "key.doc.column" : 16,
             "key.doc.comment" : "How the list should react when the user taps the application status bar.\nThe default value of this enables scrolling to top.",
             "key.doc.declaration" : "public var scrollsToTop: ScrollsToTop",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift",
-            "key.doc.full_as_xml" : "scrollsToTop<\/Name>s:10ListableUI8BehaviorV12scrollsToTopAC07ScrollseF0Ovp<\/USR>public var scrollsToTop: ScrollsToTop<\/Declaration>How the list should react when the user taps the application status bar. The default value of this enables scrolling to top.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift",
+            "key.doc.full_as_xml" : "scrollsToTop<\/Name>s:10ListableUI8BehaviorV12scrollsToTopAC07ScrollseF0Ovp<\/USR>public var scrollsToTop: ScrollsToTop<\/Declaration>How the list should react when the user taps the application status bar. The default value of this enables scrolling to top.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 23,
             "key.doc.name" : "scrollsToTop",
             "key.doc.type" : "Other",
             "key.doclength" : 137,
             "key.docoffset" : 657,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> scrollsToTop<\/decl.name>: ScrollsToTop<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 31,
@@ -1210,14 +1210,14 @@
             "key.doc.column" : 16,
             "key.doc.comment" : "How the list should respond to selection attempts.",
             "key.doc.declaration" : "public var selectionMode: SelectionMode",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift",
-            "key.doc.full_as_xml" : "selectionMode<\/Name>s:10ListableUI8BehaviorV13selectionModeAC09SelectionE0Ovp<\/USR>public var selectionMode: SelectionMode<\/Declaration>How the list should respond to selection attempts.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift",
+            "key.doc.full_as_xml" : "selectionMode<\/Name>s:10ListableUI8BehaviorV13selectionModeAC09SelectionE0Ovp<\/USR>public var selectionMode: SelectionMode<\/Declaration>How the list should respond to selection attempts.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 26,
             "key.doc.name" : "selectionMode",
             "key.doc.type" : "Other",
             "key.doclength" : 55,
             "key.docoffset" : 846,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> selectionMode<\/decl.name>: SelectionMode<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 33,
@@ -1246,14 +1246,14 @@
             "key.doc.column" : 16,
             "key.doc.comment" : "How the list should behave when its content takes up less space than is available in the list view.\nTODO: This should move to individual layout types.",
             "key.doc.declaration" : "public var underflow: Underflow",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift",
-            "key.doc.full_as_xml" : "underflow<\/Name>s:10ListableUI8BehaviorV9underflowAC9UnderflowVvp<\/USR>public var underflow: Underflow<\/Declaration>How the list should behave when its content takes up less space than is available in the list view. TODO: This should move to individual layout types.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift",
+            "key.doc.full_as_xml" : "underflow<\/Name>s:10ListableUI8BehaviorV9underflowAC9UnderflowVvp<\/USR>public var underflow: Underflow<\/Declaration>How the list should behave when its content takes up less space than is available in the list view. TODO: This should move to individual layout types.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 30,
             "key.doc.name" : "underflow",
             "key.doc.type" : "Other",
             "key.doclength" : 163,
             "key.docoffset" : 959,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> underflow<\/decl.name>: Underflow<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 25,
@@ -1282,14 +1282,14 @@
             "key.doc.column" : 16,
             "key.doc.comment" : "A Boolean value that controls whether touches in the content view always lead to tracking.",
             "key.doc.declaration" : "public var canCancelContentTouches: Bool",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift",
-            "key.doc.full_as_xml" : "canCancelContentTouches<\/Name>s:10ListableUI8BehaviorV23canCancelContentTouchesSbvp<\/USR>public var canCancelContentTouches: Bool<\/Declaration>A Boolean value that controls whether touches in the content view always lead to tracking.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift",
+            "key.doc.full_as_xml" : "canCancelContentTouches<\/Name>s:10ListableUI8BehaviorV23canCancelContentTouchesSbvp<\/USR>public var canCancelContentTouches: Bool<\/Declaration>A Boolean value that controls whether touches in the content view always lead to tracking.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 33,
             "key.doc.name" : "canCancelContentTouches",
             "key.doc.type" : "Other",
             "key.doclength" : 95,
             "key.docoffset" : 1168,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> canCancelContentTouches<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 34,
@@ -1318,14 +1318,14 @@
             "key.doc.column" : 16,
             "key.doc.comment" : "A Boolean value that determines whether the scroll view delays the handling of touch-down gestures.",
             "key.doc.declaration" : "public var delaysContentTouches: Bool",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift",
-            "key.doc.full_as_xml" : "delaysContentTouches<\/Name>s:10ListableUI8BehaviorV20delaysContentTouchesSbvp<\/USR>public var delaysContentTouches: Bool<\/Declaration>A Boolean value that determines whether the scroll view delays the handling of touch-down gestures.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift",
+            "key.doc.full_as_xml" : "delaysContentTouches<\/Name>s:10ListableUI8BehaviorV20delaysContentTouchesSbvp<\/USR>public var delaysContentTouches: Bool<\/Declaration>A Boolean value that determines whether the scroll view delays the handling of touch-down gestures.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 36,
             "key.doc.name" : "delaysContentTouches",
             "key.doc.type" : "Other",
             "key.doclength" : 104,
             "key.docoffset" : 1318,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> delaysContentTouches<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 31,
@@ -1354,14 +1354,14 @@
             "key.doc.column" : 16,
             "key.doc.comment" : "Is paging enabled on the underlying scroll view.",
             "key.doc.declaration" : "public var isPagingEnabled: Bool",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift",
-            "key.doc.full_as_xml" : "isPagingEnabled<\/Name>s:10ListableUI8BehaviorV15isPagingEnabledSbvp<\/USR>public var isPagingEnabled: Bool<\/Declaration>Is paging enabled on the underlying scroll view.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift",
+            "key.doc.full_as_xml" : "isPagingEnabled<\/Name>s:10ListableUI8BehaviorV15isPagingEnabledSbvp<\/USR>public var isPagingEnabled: Bool<\/Declaration>Is paging enabled on the underlying scroll view.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 39,
             "key.doc.name" : "isPagingEnabled",
             "key.doc.type" : "Other",
             "key.doclength" : 53,
             "key.docoffset" : 1474,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> isPagingEnabled<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 26,
@@ -1392,14 +1392,14 @@
             "key.doc.column" : 12,
             "key.doc.comment" : "Creates a new `Behavior` based on the provided parameters.",
             "key.doc.declaration" : "public init(keyboardDismissMode: UIScrollView.KeyboardDismissMode = .interactive, keyboardAdjustmentMode: KeyboardAdjustmentMode = .adjustsWhenVisible, scrollsToTop: ScrollsToTop = .enabled, selectionMode: SelectionMode = .single(), underflow: Underflow = Underflow(), canCancelContentTouches: Bool = true, delaysContentTouches: Bool = true, isPagingEnabled: Bool = false)",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift",
-            "key.doc.full_as_xml" : "init(keyboardDismissMode:keyboardAdjustmentMode:scrollsToTop:selectionMode:underflow:canCancelContentTouches:delaysContentTouches:isPagingEnabled:)<\/Name>s:10ListableUI8BehaviorV19keyboardDismissMode0d10AdjustmentF012scrollsToTop09selectionF09underflow23canCancelContentTouches06delaysoP015isPagingEnabledACSo020UIScrollViewKeyboardeF0V_AC0wgF0OAC07ScrollsiJ0OAC09SelectionF0OAC9UnderflowVS3btcfc<\/USR>public init(keyboardDismissMode: UIScrollView.KeyboardDismissMode = .interactive, keyboardAdjustmentMode: KeyboardAdjustmentMode = .adjustsWhenVisible, scrollsToTop: ScrollsToTop = .enabled, selectionMode: SelectionMode = .single(), underflow: Underflow = Underflow(), canCancelContentTouches: Bool = true, delaysContentTouches: Bool = true, isPagingEnabled: Bool = false)<\/Declaration>Creates a new Behavior<\/codeVoice> based on the provided parameters.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift",
+            "key.doc.full_as_xml" : "init(keyboardDismissMode:keyboardAdjustmentMode:scrollsToTop:selectionMode:underflow:canCancelContentTouches:delaysContentTouches:isPagingEnabled:)<\/Name>s:10ListableUI8BehaviorV19keyboardDismissMode0d10AdjustmentF012scrollsToTop09selectionF09underflow23canCancelContentTouches06delaysoP015isPagingEnabledACSo020UIScrollViewKeyboardeF0V_AC0wgF0OAC07ScrollsiJ0OAC09SelectionF0OAC9UnderflowVS3btcfc<\/USR>public init(keyboardDismissMode: UIScrollView.KeyboardDismissMode = .interactive, keyboardAdjustmentMode: KeyboardAdjustmentMode = .adjustsWhenVisible, scrollsToTop: ScrollsToTop = .enabled, selectionMode: SelectionMode = .single(), underflow: Underflow = Underflow(), canCancelContentTouches: Bool = true, delaysContentTouches: Bool = true, isPagingEnabled: Bool = false)<\/Declaration>Creates a new Behavior<\/codeVoice> based on the provided parameters.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 42,
             "key.doc.name" : "init(keyboardDismissMode:keyboardAdjustmentMode:scrollsToTop:selectionMode:underflow:canCancelContentTouches:delaysContentTouches:isPagingEnabled:)",
             "key.doc.type" : "Function",
             "key.doclength" : 63,
             "key.docoffset" : 1574,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(keyboardDismissMode<\/decl.var.parameter.argument_label>: UIScrollView<\/ref.class>.KeyboardDismissMode<\/ref.enum><\/decl.var.parameter.type> = .interactive<\/decl.var.parameter>, keyboardAdjustmentMode<\/decl.var.parameter.argument_label>: KeyboardAdjustmentMode<\/ref.enum><\/decl.var.parameter.type> = .adjustsWhenVisible<\/decl.var.parameter>, scrollsToTop<\/decl.var.parameter.argument_label>: ScrollsToTop<\/ref.enum><\/decl.var.parameter.type> = .enabled<\/decl.var.parameter>, selectionMode<\/decl.var.parameter.argument_label>: SelectionMode<\/ref.enum><\/decl.var.parameter.type> = .single()<\/decl.var.parameter>, underflow<\/decl.var.parameter.argument_label>: Underflow<\/ref.struct><\/decl.var.parameter.type> = Underflow()<\/decl.var.parameter>, canCancelContentTouches<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type> = true<\/decl.var.parameter>, delaysContentTouches<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type> = true<\/decl.var.parameter>, isPagingEnabled<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type> = false<\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 870,
@@ -1428,12 +1428,12 @@
         "key.bodyoffset" : 2543,
         "key.doc.column" : 15,
         "key.doc.declaration" : "public struct Behavior : Equatable",
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift",
-        "key.doc.full_as_xml" : "Behavior<\/Name>s:10ListableUI8BehaviorV<\/USR>public struct Behavior : Equatable<\/Declaration>Controls various behaviors of the list view, such as keyboard dismissal, selection mode, and behavior when the list content underflows the available space in the list view.<\/Para><\/Abstract><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift",
+        "key.doc.full_as_xml" : "Behavior<\/Name>s:10ListableUI8BehaviorV<\/USR>public struct Behavior : Equatable<\/Declaration>Controls various behaviors of the list view, such as keyboard dismissal, selection mode, and behavior when the list content underflows the available space in the list view.<\/Para><\/Abstract><\/CommentParts><\/Class>",
         "key.doc.line" : 13,
         "key.doc.name" : "Behavior",
         "key.doc.type" : "Class",
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> Behavior<\/decl.name> : Equatable<\/ref.protocol><\/decl.struct>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 3187,
@@ -1460,8 +1460,8 @@
             "key.doc.column" : 17,
             "key.doc.comment" : "How to adjust the `contentInset` of the list when the keyboard visibility changes.",
             "key.doc.declaration" : "public enum KeyboardAdjustmentMode : Equatable",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift",
-            "key.doc.full_as_xml" : "KeyboardAdjustmentMode<\/Name>s:10ListableUI8BehaviorV22KeyboardAdjustmentModeO<\/USR>public enum KeyboardAdjustmentMode : Equatable<\/Declaration>How to adjust the contentInset<\/codeVoice> of the list when the keyboard visibility changes.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift",
+            "key.doc.full_as_xml" : "KeyboardAdjustmentMode<\/Name>s:10ListableUI8BehaviorV22KeyboardAdjustmentModeO<\/USR>public enum KeyboardAdjustmentMode : Equatable<\/Declaration>How to adjust the contentInset<\/codeVoice> of the list when the keyboard visibility changes.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 70,
             "key.doc.name" : "KeyboardAdjustmentMode",
             "key.doc.type" : "Other",
@@ -1474,7 +1474,7 @@
                 "key.offset" : 2676
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> enum<\/syntaxtype.keyword> KeyboardAdjustmentMode<\/decl.name> : Equatable<\/ref.protocol><\/decl.enum>",
             "key.inheritedtypes" : [
               {
@@ -1504,14 +1504,14 @@
                     "key.doc.column" : 14,
                     "key.doc.comment" : "The `contentInset` of the list is not adjusted when the keyboard appears or disappears.",
                     "key.doc.declaration" : "",
-                    "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift",
-                    "key.doc.full_as_xml" : "none<\/Name>s:10ListableUI8BehaviorV22KeyboardAdjustmentModeO4noneyA2EmF<\/USR><\/Declaration>The contentInset<\/codeVoice> of the list is not adjusted when the keyboard appears or disappears.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                    "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift",
+                    "key.doc.full_as_xml" : "none<\/Name>s:10ListableUI8BehaviorV22KeyboardAdjustmentModeO4noneyA2EmF<\/USR><\/Declaration>The contentInset<\/codeVoice> of the list is not adjusted when the keyboard appears or disappears.<\/Para><\/Abstract><\/CommentParts><\/Other>",
                     "key.doc.line" : 73,
                     "key.doc.name" : "none",
                     "key.doc.type" : "Other",
                     "key.doclength" : 92,
                     "key.docoffset" : 2700,
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> none<\/decl.name><\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 4,
@@ -1541,14 +1541,14 @@
                     "key.doc.column" : 14,
                     "key.doc.comment" : "The `contentInset` of the list is adjusted when the keyboard appears or disappears.",
                     "key.doc.declaration" : "",
-                    "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift",
-                    "key.doc.full_as_xml" : "adjustsWhenVisible<\/Name>s:10ListableUI8BehaviorV22KeyboardAdjustmentModeO18adjustsWhenVisibleyA2EmF<\/USR><\/Declaration>The contentInset<\/codeVoice> of the list is adjusted when the keyboard appears or disappears.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                    "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift",
+                    "key.doc.full_as_xml" : "adjustsWhenVisible<\/Name>s:10ListableUI8BehaviorV22KeyboardAdjustmentModeO18adjustsWhenVisibleyA2EmF<\/USR><\/Declaration>The contentInset<\/codeVoice> of the list is adjusted when the keyboard appears or disappears.<\/Para><\/Abstract><\/CommentParts><\/Other>",
                     "key.doc.line" : 76,
                     "key.doc.name" : "adjustsWhenVisible",
                     "key.doc.type" : "Other",
                     "key.doclength" : 88,
                     "key.docoffset" : 2827,
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> adjustsWhenVisible<\/decl.name><\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 18,
@@ -1585,8 +1585,8 @@
             "key.doc.column" : 17,
             "key.doc.comment" : "How to react when the user taps on the status bar of the application.",
             "key.doc.declaration" : "public enum ScrollsToTop : Equatable",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift",
-            "key.doc.full_as_xml" : "ScrollsToTop<\/Name>s:10ListableUI8BehaviorV12ScrollsToTopO<\/USR>public enum ScrollsToTop : Equatable<\/Declaration>How to react when the user taps on the status bar of the application.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift",
+            "key.doc.full_as_xml" : "ScrollsToTop<\/Name>s:10ListableUI8BehaviorV12ScrollsToTopO<\/USR>public enum ScrollsToTop : Equatable<\/Declaration>How to react when the user taps on the status bar of the application.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 81,
             "key.doc.name" : "ScrollsToTop",
             "key.doc.type" : "Other",
@@ -1599,7 +1599,7 @@
                 "key.offset" : 3072
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> enum<\/syntaxtype.keyword> ScrollsToTop<\/decl.name> : Equatable<\/ref.protocol><\/decl.enum>",
             "key.inheritedtypes" : [
               {
@@ -1629,14 +1629,14 @@
                     "key.doc.column" : 14,
                     "key.doc.comment" : "No action is performed when the user taps on the status bar.",
                     "key.doc.declaration" : "",
-                    "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift",
-                    "key.doc.full_as_xml" : "disabled<\/Name>s:10ListableUI8BehaviorV12ScrollsToTopO8disabledyA2EmF<\/USR><\/Declaration>No action is performed when the user taps on the status bar.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                    "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift",
+                    "key.doc.full_as_xml" : "disabled<\/Name>s:10ListableUI8BehaviorV12ScrollsToTopO8disabledyA2EmF<\/USR><\/Declaration>No action is performed when the user taps on the status bar.<\/Para><\/Abstract><\/CommentParts><\/Other>",
                     "key.doc.line" : 84,
                     "key.doc.name" : "disabled",
                     "key.doc.type" : "Other",
                     "key.doclength" : 65,
                     "key.docoffset" : 3096,
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> disabled<\/decl.name><\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 8,
@@ -1666,14 +1666,14 @@
                     "key.doc.column" : 14,
                     "key.doc.comment" : "When the user taps on the status bar, scroll to the top of the list.",
                     "key.doc.declaration" : "",
-                    "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift",
-                    "key.doc.full_as_xml" : "enabled<\/Name>s:10ListableUI8BehaviorV12ScrollsToTopO7enabledyA2EmF<\/USR><\/Declaration>When the user taps on the status bar, scroll to the top of the list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                    "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift",
+                    "key.doc.full_as_xml" : "enabled<\/Name>s:10ListableUI8BehaviorV12ScrollsToTopO7enabledyA2EmF<\/USR><\/Declaration>When the user taps on the status bar, scroll to the top of the list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
                     "key.doc.line" : 87,
                     "key.doc.name" : "enabled",
                     "key.doc.type" : "Other",
                     "key.doclength" : 73,
                     "key.docoffset" : 3200,
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> enabled<\/decl.name><\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 7,
@@ -1710,8 +1710,8 @@
             "key.doc.column" : 17,
             "key.doc.comment" : "The selection mode of the list view, which controls how many items (if any) can be selected at once.",
             "key.doc.declaration" : "public enum SelectionMode : Equatable",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift",
-            "key.doc.full_as_xml" : "SelectionMode<\/Name>s:10ListableUI8BehaviorV13SelectionModeO<\/USR>public enum SelectionMode : Equatable<\/Declaration>The selection mode of the list view, which controls how many items (if any) can be selected at once.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift",
+            "key.doc.full_as_xml" : "SelectionMode<\/Name>s:10ListableUI8BehaviorV13SelectionModeO<\/USR>public enum SelectionMode : Equatable<\/Declaration>The selection mode of the list view, which controls how many items (if any) can be selected at once.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 92,
             "key.doc.name" : "SelectionMode",
             "key.doc.type" : "Other",
@@ -1724,7 +1724,7 @@
                 "key.offset" : 3451
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> enum<\/syntaxtype.keyword> SelectionMode<\/decl.name> : Equatable<\/ref.protocol><\/decl.enum>",
             "key.inheritedtypes" : [
               {
@@ -1754,14 +1754,14 @@
                     "key.doc.column" : 14,
                     "key.doc.comment" : "The list view does not allow any selections.",
                     "key.doc.declaration" : "",
-                    "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift",
-                    "key.doc.full_as_xml" : "none<\/Name>s:10ListableUI8BehaviorV13SelectionModeO4noneyA2EmF<\/USR><\/Declaration>The list view does not allow any selections.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                    "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift",
+                    "key.doc.full_as_xml" : "none<\/Name>s:10ListableUI8BehaviorV13SelectionModeO4noneyA2EmF<\/USR><\/Declaration>The list view does not allow any selections.<\/Para><\/Abstract><\/CommentParts><\/Other>",
                     "key.doc.line" : 95,
                     "key.doc.name" : "none",
                     "key.doc.type" : "Other",
                     "key.doclength" : 49,
                     "key.docoffset" : 3475,
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> none<\/decl.name><\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 4,
@@ -1799,14 +1799,14 @@
                         "Para" : "This behaviour is implemented in `ListViewController`. If your list is not managed by a `ListViewController`, this parameter has no effect unless you manually call `clearSelectionDuringViewWillAppear` on `ListView` within your view controller’s `viewWillAppear`."
                       }
                     ],
-                    "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift",
-                    "key.doc.full_as_xml" : "single(clearsSelectionOnViewWillAppear:)<\/Name>s:10ListableUI8BehaviorV13SelectionModeO6singleyAESb_tcAEmF<\/USR><\/Declaration>The list view allows single selections. When an item is selected, the previously selected item (if any) will be deselected by the list. If you provide multiple selected items in your content description, the last selected item in the content will be selected.<\/Para><\/Abstract>The default value for clearsSelectionOnViewWillAppear<\/codeVoice> is true. This parameter allows mirroring the clearsSelectionOnViewWillAppear<\/codeVoice> as available from UITableViewController<\/codeVoice> or UICollectionViewController<\/codeVoice>.<\/Para>]]><\/rawHTML>Note]]><\/rawHTML>This behaviour is implemented in ListViewController<\/codeVoice>. If your list is not managed by a ListViewController<\/codeVoice>, this parameter has no effect unless you manually call clearSelectionDuringViewWillAppear<\/codeVoice> on ListView<\/codeVoice> within your view controller’s viewWillAppear<\/codeVoice>.<\/Para><\/Discussion><\/CommentParts><\/Other>",
+                    "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift",
+                    "key.doc.full_as_xml" : "single(clearsSelectionOnViewWillAppear:)<\/Name>s:10ListableUI8BehaviorV13SelectionModeO6singleyAESb_tcAEmF<\/USR><\/Declaration>The list view allows single selections. When an item is selected, the previously selected item (if any) will be deselected by the list. If you provide multiple selected items in your content description, the last selected item in the content will be selected.<\/Para><\/Abstract>The default value for clearsSelectionOnViewWillAppear<\/codeVoice> is true. This parameter allows mirroring the clearsSelectionOnViewWillAppear<\/codeVoice> as available from UITableViewController<\/codeVoice> or UICollectionViewController<\/codeVoice>.<\/Para>]]><\/rawHTML>Note]]><\/rawHTML>This behaviour is implemented in ListViewController<\/codeVoice>. If your list is not managed by a ListViewController<\/codeVoice>, this parameter has no effect unless you manually call clearSelectionDuringViewWillAppear<\/codeVoice> on ListView<\/codeVoice> within your view controller’s viewWillAppear<\/codeVoice>.<\/Para><\/Discussion><\/CommentParts><\/Other>",
                     "key.doc.line" : 111,
                     "key.doc.name" : "single(clearsSelectionOnViewWillAppear:)",
                     "key.doc.type" : "Other",
                     "key.doclength" : 903,
                     "key.docoffset" : 3559,
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> single<\/decl.name>(clearsSelectionOnViewWillAppear<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type> = true<\/decl.var.parameter>)<\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 53,
@@ -1839,14 +1839,14 @@
                     "key.doc.column" : 14,
                     "key.doc.comment" : "The list view allows multiple selections. It is your responsibility to update the content\nof the list to select and deselect items based on the selection of other items.",
                     "key.doc.declaration" : "",
-                    "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift",
-                    "key.doc.full_as_xml" : "multiple<\/Name>s:10ListableUI8BehaviorV13SelectionModeO8multipleyA2EmF<\/USR><\/Declaration>The list view allows multiple selections. It is your responsibility to update the content of the list to select and deselect items based on the selection of other items.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                    "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift",
+                    "key.doc.full_as_xml" : "multiple<\/Name>s:10ListableUI8BehaviorV13SelectionModeO8multipleyA2EmF<\/USR><\/Declaration>The list view allows multiple selections. It is your responsibility to update the content of the list to select and deselect items based on the selection of other items.<\/Para><\/Abstract><\/CommentParts><\/Other>",
                     "key.doc.line" : 115,
                     "key.doc.name" : "multiple",
                     "key.doc.type" : "Other",
                     "key.doclength" : 186,
                     "key.docoffset" : 4546,
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> multiple<\/decl.name><\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 8,
@@ -1887,7 +1887,7 @@
                 "key.offset" : 4800
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> Underflow<\/decl.name> : Equatable<\/ref.protocol><\/decl.struct>",
             "key.inheritedtypes" : [
               {
@@ -1914,7 +1914,7 @@
                     "key.offset" : 4824
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> alwaysBounce<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 23,
@@ -1940,7 +1940,7 @@
                     "key.offset" : 4863
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> alignment<\/decl.name>: Alignment<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 25,
@@ -1968,7 +1968,7 @@
                 ],
                 "key.bodylength" : 93,
                 "key.bodyoffset" : 4992,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(alwaysBounce<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type> = true<\/decl.var.parameter>, alignment<\/decl.var.parameter.argument_label>: Alignment<\/ref.enum><\/decl.var.parameter.type> = .top<\/decl.var.parameter>)<\/decl.function.constructor>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 166,
@@ -2005,7 +2005,7 @@
                     "key.offset" : 5128
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> enum<\/syntaxtype.keyword> Behavior<\/ref.struct>.Underflow<\/ref.struct>.Alignment<\/decl.name> : Equatable<\/ref.protocol><\/decl.enum>",
                 "key.inheritedtypes" : [
                   {
@@ -2032,7 +2032,7 @@
                       {
                         "key.accessibility" : "source.lang.swift.accessibility.public",
                         "key.annotated_decl" : "case top<\/Declaration>",
-                        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift",
+                        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift",
                         "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> top<\/decl.name><\/decl.enumelement>",
                         "key.kind" : "source.lang.swift.decl.enumelement",
                         "key.length" : 3,
@@ -2059,7 +2059,7 @@
                       {
                         "key.accessibility" : "source.lang.swift.accessibility.public",
                         "key.annotated_decl" : "case center<\/Declaration>",
-                        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift",
+                        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift",
                         "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> center<\/decl.name><\/decl.enumelement>",
                         "key.kind" : "source.lang.swift.decl.enumelement",
                         "key.length" : 6,
@@ -2086,7 +2086,7 @@
                       {
                         "key.accessibility" : "source.lang.swift.accessibility.public",
                         "key.annotated_decl" : "case bottom<\/Declaration>",
-                        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift",
+                        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift",
                         "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> bottom<\/decl.name><\/decl.enumelement>",
                         "key.kind" : "source.lang.swift.decl.enumelement",
                         "key.length" : 6,
@@ -2108,7 +2108,7 @@
                     "key.annotated_decl" : "func offsetFor(contentHeight: CGFloat<\/Type>, viewHeight: CGFloat<\/Type>) -> CGFloat<\/Type><\/Declaration>",
                     "key.bodylength" : 364,
                     "key.bodyoffset" : 5327,
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Behavior.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Behavior.swift",
                     "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> offsetFor<\/decl.name>(contentHeight<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, viewHeight<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGFloat<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
                     "key.kind" : "source.lang.swift.decl.function.method.instance",
                     "key.length" : 450,
@@ -2144,7 +2144,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Color.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Color.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 792,
     "key.offset" : 0,
@@ -2169,8 +2169,8 @@
         "key.doc.column" : 15,
         "key.doc.comment" : "A color wrapper which provides equatability for\ndynamic `UIColor` instances, by comparing their resolved\nvalue to the current `UITraitCollection`.",
         "key.doc.declaration" : "@propertyWrapper public struct Color : Equatable",
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Color.swift",
-        "key.doc.full_as_xml" : "Color<\/Name>s:10ListableUI5ColorV<\/USR>@propertyWrapper public struct Color : Equatable<\/Declaration>A color wrapper which provides equatability for dynamic UIColor<\/codeVoice> instances, by comparing their resolved value to the current UITraitCollection<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Color.swift",
+        "key.doc.full_as_xml" : "Color<\/Name>s:10ListableUI5ColorV<\/USR>@propertyWrapper public struct Color : Equatable<\/Declaration>A color wrapper which provides equatability for dynamic UIColor<\/codeVoice> instances, by comparing their resolved value to the current UITraitCollection<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Class>",
         "key.doc.line" : 15,
         "key.doc.name" : "Color",
         "key.doc.type" : "Class",
@@ -2183,7 +2183,7 @@
             "key.offset" : 295
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Color.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Color.swift",
         "key.fully_annotated_decl" : "@propertyWrapper<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> Color<\/decl.name> : Equatable<\/ref.protocol><\/decl.struct>",
         "key.inheritedtypes" : [
           {
@@ -2213,14 +2213,14 @@
             "key.doc.column" : 16,
             "key.doc.comment" : "The underlying color value.",
             "key.doc.declaration" : "public var wrappedValue: UIColor",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Color.swift",
-            "key.doc.full_as_xml" : "wrappedValue<\/Name>s:10ListableUI5ColorV12wrappedValueSo7UIColorCvp<\/USR>public var wrappedValue: UIColor<\/Declaration>The underlying color value.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Color.swift",
+            "key.doc.full_as_xml" : "wrappedValue<\/Name>s:10ListableUI5ColorV12wrappedValueSo7UIColorCvp<\/USR>public var wrappedValue: UIColor<\/Declaration>The underlying color value.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 18,
             "key.doc.name" : "wrappedValue",
             "key.doc.type" : "Other",
             "key.doclength" : 32,
             "key.docoffset" : 316,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Color.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Color.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> wrappedValue<\/decl.name>: UIColor<\/ref.class><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 26,
@@ -2248,7 +2248,7 @@
             ],
             "key.bodylength" : 46,
             "key.bodyoffset" : 434,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Color.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Color.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(_<\/decl.var.parameter.argument_label> wrappedValue<\/decl.var.parameter.name>: UIColor<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 79,
@@ -2308,7 +2308,7 @@
               }
             ],
             "key.doc.type" : "Function",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Color.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Color.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> == <\/decl.name>(lhs<\/decl.var.parameter.name>: `Self`<\/decl.var.parameter.type><\/decl.var.parameter>, rhs<\/decl.var.parameter.name>: `Self`<\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.operator.infix>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
             "key.length" : 291,
@@ -2788,9 +2788,9 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
-    "key.length" : 9988,
+    "key.length" : 10004,
     "key.offset" : 0,
     "key.substructure" : [
       {
@@ -2803,12 +2803,12 @@
             "key.offset" : 87
           }
         ],
-        "key.bodylength" : 9408,
+        "key.bodylength" : 9424,
         "key.bodyoffset" : 110,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> Content<\/decl.name><\/decl.struct>",
         "key.kind" : "source.lang.swift.decl.struct",
-        "key.length" : 9425,
+        "key.length" : 9441,
         "key.name" : "Content",
         "key.namelength" : 7,
         "key.nameoffset" : 101,
@@ -2838,14 +2838,14 @@
             "key.doc.column" : 16,
             "key.doc.comment" : "The identifier for the content, defaults to nil.\nYou don't need to set this value – but if you do, and change it to another value,\nthe list will reload without animation.",
             "key.doc.declaration" : "public var identifier: AnyHashable?",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
-            "key.doc.full_as_xml" : "identifier<\/Name>s:10ListableUI7ContentV10identifiers11AnyHashableVSgvp<\/USR>public var identifier: AnyHashable?<\/Declaration>The identifier for the content, defaults to nil. You don’t need to set this value – but if you do, and change it to another value, the list will reload without animation.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
+            "key.doc.full_as_xml" : "identifier<\/Name>s:10ListableUI7ContentV10identifiers11AnyHashableVSgvp<\/USR>public var identifier: AnyHashable?<\/Declaration>The identifier for the content, defaults to nil. You don’t need to set this value – but if you do, and change it to another value, the list will reload without animation.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 19,
             "key.doc.name" : "identifier",
             "key.doc.type" : "Other",
             "key.doclength" : 193,
             "key.docoffset" : 160,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> identifier<\/decl.name>: AnyHashable<\/ref.struct>?<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 29,
@@ -2874,14 +2874,14 @@
             "key.doc.column" : 16,
             "key.doc.comment" : "The refresh control, if any, associated with the list.",
             "key.doc.declaration" : "public var refreshControl: RefreshControl?",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
-            "key.doc.full_as_xml" : "refreshControl<\/Name>s:10ListableUI7ContentV14refreshControlAA07RefreshE0VSgvp<\/USR>public var refreshControl: RefreshControl?<\/Declaration>The refresh control, if any, associated with the list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
+            "key.doc.full_as_xml" : "refreshControl<\/Name>s:10ListableUI7ContentV14refreshControlAA07RefreshE0VSgvp<\/USR>public var refreshControl: RefreshControl?<\/Declaration>The refresh control, if any, associated with the list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 22,
             "key.doc.name" : "refreshControl",
             "key.doc.type" : "Other",
             "key.doclength" : 59,
             "key.docoffset" : 399,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> refreshControl<\/decl.name>: RefreshControl<\/ref.struct>?<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 36,
@@ -2910,14 +2910,14 @@
             "key.doc.column" : 16,
             "key.doc.comment" : "The header for the list, usually displayed before all other content.",
             "key.doc.declaration" : "public var header: AnyHeaderFooter?",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
-            "key.doc.full_as_xml" : "header<\/Name>s:10ListableUI7ContentV6headerAA15AnyHeaderFooter_pSgvp<\/USR>public var header: AnyHeaderFooter?<\/Declaration>The header for the list, usually displayed before all other content.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
+            "key.doc.full_as_xml" : "header<\/Name>s:10ListableUI7ContentV6headerAA15AnyHeaderFooter_pSgvp<\/USR>public var header: AnyHeaderFooter?<\/Declaration>The header for the list, usually displayed before all other content.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 25,
             "key.doc.name" : "header",
             "key.doc.type" : "Other",
             "key.doclength" : 73,
             "key.docoffset" : 515,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> header<\/decl.name>: AnyHeaderFooter<\/ref.protocol>?<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 29,
@@ -2946,14 +2946,14 @@
             "key.doc.column" : 16,
             "key.doc.comment" : "The footer for the list, usually displayed after all other content.",
             "key.doc.declaration" : "public var footer: AnyHeaderFooter?",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
-            "key.doc.full_as_xml" : "footer<\/Name>s:10ListableUI7ContentV6footerAA15AnyHeaderFooter_pSgvp<\/USR>public var footer: AnyHeaderFooter?<\/Declaration>The footer for the list, usually displayed after all other content.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
+            "key.doc.full_as_xml" : "footer<\/Name>s:10ListableUI7ContentV6footerAA15AnyHeaderFooter_pSgvp<\/USR>public var footer: AnyHeaderFooter?<\/Declaration>The footer for the list, usually displayed after all other content.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 27,
             "key.doc.name" : "footer",
             "key.doc.type" : "Other",
             "key.doclength" : 72,
             "key.docoffset" : 633,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> footer<\/decl.name>: AnyHeaderFooter<\/ref.protocol>?<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 29,
@@ -2982,14 +2982,14 @@
             "key.doc.column" : 16,
             "key.doc.comment" : "The overscroll footer for the list, which is displayed below the bottom bounds of the visible frame,\nso it is only visible if the user manually scrolls the list up to make it visible.",
             "key.doc.declaration" : "public var overscrollFooter: AnyHeaderFooter?",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
-            "key.doc.full_as_xml" : "overscrollFooter<\/Name>s:10ListableUI7ContentV16overscrollFooterAA09AnyHeaderE0_pSgvp<\/USR>public var overscrollFooter: AnyHeaderFooter?<\/Declaration>The overscroll footer for the list, which is displayed below the bottom bounds of the visible frame, so it is only visible if the user manually scrolls the list up to make it visible.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
+            "key.doc.full_as_xml" : "overscrollFooter<\/Name>s:10ListableUI7ContentV16overscrollFooterAA09AnyHeaderE0_pSgvp<\/USR>public var overscrollFooter: AnyHeaderFooter?<\/Declaration>The overscroll footer for the list, which is displayed below the bottom bounds of the visible frame, so it is only visible if the user manually scrolls the list up to make it visible.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 31,
             "key.doc.name" : "overscrollFooter",
             "key.doc.type" : "Other",
             "key.doclength" : 196,
             "key.docoffset" : 755,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> overscrollFooter<\/decl.name>: AnyHeaderFooter<\/ref.protocol>?<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 39,
@@ -3018,14 +3018,14 @@
             "key.doc.column" : 16,
             "key.doc.comment" : "All sections in the list.",
             "key.doc.declaration" : "public var sections: [Section]",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
-            "key.doc.full_as_xml" : "sections<\/Name>s:10ListableUI7ContentV8sectionsSayAA7SectionVGvp<\/USR>public var sections: [Section]<\/Declaration>All sections in the list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
+            "key.doc.full_as_xml" : "sections<\/Name>s:10ListableUI7ContentV8sectionsSayAA7SectionVGvp<\/USR>public var sections: [Section]<\/Declaration>All sections in the list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 34,
             "key.doc.name" : "sections",
             "key.doc.type" : "Other",
             "key.doclength" : 30,
             "key.docoffset" : 1011,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> sections<\/decl.name>: [Section<\/ref.struct>]<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 24,
@@ -3056,14 +3056,14 @@
             "key.doc.column" : 16,
             "key.doc.comment" : "Any sections that have a non-zero number of items.",
             "key.doc.declaration" : "public var nonEmptySections: [Section] { get }",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
-            "key.doc.full_as_xml" : "nonEmptySections<\/Name>s:10ListableUI7ContentV16nonEmptySectionsSayAA7SectionVGvp<\/USR>public var nonEmptySections: [Section] { get }<\/Declaration>Any sections that have a non-zero number of items.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
+            "key.doc.full_as_xml" : "nonEmptySections<\/Name>s:10ListableUI7ContentV16nonEmptySectionsSayAA7SectionVGvp<\/USR>public var nonEmptySections: [Section] { get }<\/Declaration>Any sections that have a non-zero number of items.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 37,
             "key.doc.name" : "nonEmptySections",
             "key.doc.type" : "Other",
             "key.doclength" : 55,
             "key.docoffset" : 1086,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> nonEmptySections<\/decl.name>: [Section<\/ref.struct>]<\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 99,
@@ -3093,14 +3093,14 @@
             "key.doc.column" : 16,
             "key.doc.comment" : "The total number of items in all of the sections in the list.",
             "key.doc.declaration" : "public var itemCount: Int { get }",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
-            "key.doc.full_as_xml" : "itemCount<\/Name>s:10ListableUI7ContentV9itemCountSivp<\/USR>public var itemCount: Int { get }<\/Declaration>The total number of items in all of the sections in the list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
+            "key.doc.full_as_xml" : "itemCount<\/Name>s:10ListableUI7ContentV9itemCountSivp<\/USR>public var itemCount: Int { get }<\/Declaration>The total number of items in all of the sections in the list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 42,
             "key.doc.name" : "itemCount",
             "key.doc.type" : "Other",
             "key.doclength" : 66,
             "key.docoffset" : 1261,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> itemCount<\/decl.name>: Int<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 91,
@@ -3130,14 +3130,14 @@
             "key.doc.column" : 17,
             "key.doc.comment" : "Check if the content contains any of the given types, which you specify via the `filters`\nparameter. If you do not specify a `filters` parameter, `[.items]` is used.",
             "key.doc.declaration" : "public func contains(any filters: Set = [.items]) -> Bool",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
-            "key.doc.full_as_xml" : "contains(any:)<\/Name>s:10ListableUI7ContentV8contains3anySbShyAA0C7FiltersOG_tF<\/USR>public func contains(any filters: Set<ContentFilters> = [.items]) -> Bool<\/Declaration>Check if the content contains any of the given types, which you specify via the filters<\/codeVoice> parameter. If you do not specify a filters<\/codeVoice> parameter, [.items]<\/codeVoice> is used.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
+            "key.doc.full_as_xml" : "contains(any:)<\/Name>s:10ListableUI7ContentV8contains3anySbShyAA0C7FiltersOG_tF<\/USR>public func contains(any filters: Set<ContentFilters> = [.items]) -> Bool<\/Declaration>Check if the content contains any of the given types, which you specify via the filters<\/codeVoice> parameter. If you do not specify a filters<\/codeVoice> parameter, [.items]<\/codeVoice> is used.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 48,
             "key.doc.name" : "contains(any:)",
             "key.doc.type" : "Function",
             "key.doclength" : 178,
             "key.docoffset" : 1439,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> contains<\/decl.name>(any<\/decl.var.parameter.argument_label> filters<\/decl.var.parameter.name>: Set<\/ref.struct><ContentFilters<\/ref.enum>><\/decl.var.parameter.type> = [.items]<\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 850,
@@ -3173,7 +3173,7 @@
                 "key.offset" : 2535
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> typealias<\/syntaxtype.keyword> Content<\/ref.struct>.Build<\/decl.name> = (inout<\/syntaxtype.keyword> Content<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.typealias>",
             "key.kind" : "source.lang.swift.decl.typealias",
             "key.length" : 39,
@@ -3203,14 +3203,14 @@
             "key.doc.column" : 12,
             "key.doc.comment" : "Creates a new instance, configured as needed via the provided builder block.",
             "key.doc.declaration" : "public init(with build: Build)",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
-            "key.doc.full_as_xml" : "init(with:)<\/Name>s:10ListableUI7ContentV4withACyACzXE_tcfc<\/USR>public init(with build: Build)<\/Declaration>Creates a new instance, configured as needed via the provided builder block.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
+            "key.doc.full_as_xml" : "init(with:)<\/Name>s:10ListableUI7ContentV4withACyACzXE_tcfc<\/USR>public init(with build: Build)<\/Declaration>Creates a new instance, configured as needed via the provided builder block.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 87,
             "key.doc.name" : "init(with:)",
             "key.doc.type" : "Function",
             "key.doclength" : 81,
             "key.docoffset" : 2591,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(with<\/decl.var.parameter.argument_label> build<\/decl.var.parameter.name>: Build<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 86,
@@ -3248,14 +3248,14 @@
             "key.doc.column" : 12,
             "key.doc.comment" : "Creates a new instance with the provided parameters.\nAll parameters are optional, pass only what you need to customize.",
             "key.doc.declaration" : "public init(identifier: AnyHashable? = nil, refreshControl: RefreshControl? = nil, header: AnyHeaderFooter? = nil, footer: AnyHeaderFooter? = nil, overscrollFooter: AnyHeaderFooter? = nil, sections: [Section] = [])",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
-            "key.doc.full_as_xml" : "init(identifier:refreshControl:header:footer:overscrollFooter:sections:)<\/Name>s:10ListableUI7ContentV10identifier14refreshControl6header6footer16overscrollFooter8sectionsACs11AnyHashableVSg_AA07RefreshF0VSgAA0l6HeaderJ0_pSgA2QSayAA7SectionVGtcfc<\/USR>public init(identifier: AnyHashable? = nil, refreshControl: RefreshControl? = nil, header: AnyHeaderFooter? = nil, footer: AnyHeaderFooter? = nil, overscrollFooter: AnyHeaderFooter? = nil, sections: [Section] = [])<\/Declaration>Creates a new instance with the provided parameters. All parameters are optional, pass only what you need to customize.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
+            "key.doc.full_as_xml" : "init(identifier:refreshControl:header:footer:overscrollFooter:sections:)<\/Name>s:10ListableUI7ContentV10identifier14refreshControl6header6footer16overscrollFooter8sectionsACs11AnyHashableVSg_AA07RefreshF0VSgAA0l6HeaderJ0_pSgA2QSayAA7SectionVGtcfc<\/USR>public init(identifier: AnyHashable? = nil, refreshControl: RefreshControl? = nil, header: AnyHeaderFooter? = nil, footer: AnyHeaderFooter? = nil, overscrollFooter: AnyHeaderFooter? = nil, sections: [Section] = [])<\/Declaration>Creates a new instance with the provided parameters. All parameters are optional, pass only what you need to customize.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 96,
             "key.doc.name" : "init(identifier:refreshControl:header:footer:overscrollFooter:sections:)",
             "key.doc.type" : "Function",
             "key.doclength" : 132,
             "key.docoffset" : 2779,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(identifier<\/decl.var.parameter.argument_label>: AnyHashable<\/ref.struct>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, refreshControl<\/decl.var.parameter.argument_label>: RefreshControl<\/ref.struct>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, header<\/decl.var.parameter.argument_label>: AnyHeaderFooter<\/ref.protocol>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, footer<\/decl.var.parameter.argument_label>: AnyHeaderFooter<\/ref.protocol>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, overscrollFooter<\/decl.var.parameter.argument_label>: AnyHeaderFooter<\/ref.protocol>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, sections<\/decl.var.parameter.argument_label>: [Section<\/ref.struct>]<\/decl.var.parameter.type> = []<\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 533,
@@ -3301,14 +3301,14 @@
             "key.doc.column" : 16,
             "key.doc.comment" : "The first `Item` in the content. Returns nil if there is no content in any section.",
             "key.doc.declaration" : "public var firstItem: AnyItem? { get }",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
-            "key.doc.full_as_xml" : "firstItem<\/Name>s:10ListableUI7ContentV9firstItemAA03AnyE0_pSgvp<\/USR>public var firstItem: AnyItem? { get }<\/Declaration>The first Item<\/codeVoice> in the content. Returns nil if there is no content in any section.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
+            "key.doc.full_as_xml" : "firstItem<\/Name>s:10ListableUI7ContentV9firstItemAA03AnyE0_pSgvp<\/USR>public var firstItem: AnyItem? { get }<\/Declaration>The first Item<\/codeVoice> in the content. Returns nil if there is no content in any section.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 121,
             "key.doc.name" : "firstItem",
             "key.doc.type" : "Other",
             "key.doclength" : 88,
             "key.docoffset" : 3513,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> firstItem<\/decl.name>: AnyItem<\/ref.protocol>?<\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 169,
@@ -3338,14 +3338,14 @@
             "key.doc.column" : 16,
             "key.doc.comment" : "The last `Item` in the content. Returns nil if there is no content in any section.",
             "key.doc.declaration" : "public var lastItem: AnyItem? { get }",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
-            "key.doc.full_as_xml" : "lastItem<\/Name>s:10ListableUI7ContentV8lastItemAA03AnyE0_pSgvp<\/USR>public var lastItem: AnyItem? { get }<\/Declaration>The last Item<\/codeVoice> in the content. Returns nil if there is no content in any section.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
+            "key.doc.full_as_xml" : "lastItem<\/Name>s:10ListableUI7ContentV8lastItemAA03AnyE0_pSgvp<\/USR>public var lastItem: AnyItem? { get }<\/Declaration>The last Item<\/codeVoice> in the content. Returns nil if there is no content in any section.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 130,
             "key.doc.name" : "lastItem",
             "key.doc.type" : "Other",
             "key.doclength" : 87,
             "key.docoffset" : 3791,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> lastItem<\/decl.name>: AnyItem<\/ref.protocol>?<\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 164,
@@ -3375,14 +3375,14 @@
             "key.doc.column" : 17,
             "key.doc.comment" : "Returns the `Item` at the given `IndexPath`.\nThe `IndexPath` must be valid. If it is not, a fatal error will occur,",
             "key.doc.declaration" : "public func item(at indexPath: IndexPath) -> AnyItem",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
-            "key.doc.full_as_xml" : "item(at:)<\/Name>s:10ListableUI7ContentV4item2atAA7AnyItem_p10Foundation9IndexPathV_tF<\/USR>public func item(at indexPath: IndexPath) -> AnyItem<\/Declaration>Returns the Item<\/codeVoice> at the given IndexPath<\/codeVoice>. The IndexPath<\/codeVoice> must be valid. If it is not, a fatal error will occur,<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
+            "key.doc.full_as_xml" : "item(at:)<\/Name>s:10ListableUI7ContentV4item2atAA7AnyItem_p10Foundation9IndexPathV_tF<\/USR>public func item(at indexPath: IndexPath) -> AnyItem<\/Declaration>Returns the Item<\/codeVoice> at the given IndexPath<\/codeVoice>. The IndexPath<\/codeVoice> must be valid. If it is not, a fatal error will occur,<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 140,
             "key.doc.name" : "item(at:)",
             "key.doc.type" : "Function",
             "key.doclength" : 128,
             "key.docoffset" : 4063,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> item<\/decl.name>(at<\/decl.var.parameter.argument_label> indexPath<\/decl.var.parameter.name>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> AnyItem<\/ref.protocol><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 191,
@@ -3396,7 +3396,7 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let section: Section<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> section<\/decl.name>: Section<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 46,
@@ -3413,7 +3413,7 @@
               },
               {
                 "key.annotated_decl" : "let item: AnyItem<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> item<\/decl.name>: AnyItem<\/ref.protocol><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 40,
@@ -3453,14 +3453,14 @@
             "key.doc.column" : 17,
             "key.doc.comment" : "Returns the first `IndexPath` for the contained `Item` with the given `AnyIdentifier`,\nif it can be found. If nothing is found, nil is returned.\nIf you have multiple `Item`s with the same identifier, the first one will be returned.",
             "key.doc.declaration" : "public func firstIndexPath(for identifier: AnyIdentifier) -> IndexPath?",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
-            "key.doc.full_as_xml" : "firstIndexPath(for:)<\/Name>s:10ListableUI7ContentV14firstIndexPath3for10Foundation0eF0VSgAA13AnyIdentifierC_tF<\/USR>public func firstIndexPath(for identifier: AnyIdentifier) -> IndexPath?<\/Declaration>Returns the first IndexPath<\/codeVoice> for the contained Item<\/codeVoice> with the given AnyIdentifier<\/codeVoice>, if it can be found. If nothing is found, nil is returned. If you have multiple Item<\/codeVoice>s with the same identifier, the first one will be returned.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
+            "key.doc.full_as_xml" : "firstIndexPath(for:)<\/Name>s:10ListableUI7ContentV14firstIndexPath3for10Foundation0eF0VSgAA13AnyIdentifierC_tF<\/USR>public func firstIndexPath(for identifier: AnyIdentifier) -> IndexPath?<\/Declaration>Returns the first IndexPath<\/codeVoice> for the contained Item<\/codeVoice> with the given AnyIdentifier<\/codeVoice>, if it can be found. If nothing is found, nil is returned. If you have multiple Item<\/codeVoice>s with the same identifier, the first one will be returned.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 151,
             "key.doc.name" : "firstIndexPath(for:)",
             "key.doc.type" : "Function",
             "key.doclength" : 252,
             "key.docoffset" : 4403,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> firstIndexPath<\/decl.name>(for<\/decl.var.parameter.argument_label> identifier<\/decl.var.parameter.name>: AnyIdentifier<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>) -> IndexPath<\/ref.struct>?<\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 409,
@@ -3493,14 +3493,14 @@
             "key.doc.column" : 17,
             "key.doc.comment" : "Returns the `IndexPath` of the last `Item` in the content.\nReturns nil if there are no `Item`s in the content.",
             "key.doc.declaration" : "public func lastIndexPath() -> IndexPath?",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
-            "key.doc.full_as_xml" : "lastIndexPath()<\/Name>s:10ListableUI7ContentV13lastIndexPath10Foundation0eF0VSgyF<\/USR>public func lastIndexPath() -> IndexPath?<\/Declaration>Returns the IndexPath<\/codeVoice> of the last Item<\/codeVoice> in the content. Returns nil if there are no Item<\/codeVoice>s in the content.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
+            "key.doc.full_as_xml" : "lastIndexPath()<\/Name>s:10ListableUI7ContentV13lastIndexPath10Foundation0eF0VSgyF<\/USR>public func lastIndexPath() -> IndexPath?<\/Declaration>Returns the IndexPath<\/codeVoice> of the last Item<\/codeVoice> in the content. Returns nil if there are no Item<\/codeVoice>s in the content.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 166,
             "key.doc.name" : "lastIndexPath()",
             "key.doc.type" : "Function",
             "key.doclength" : 123,
             "key.docoffset" : 5081,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> lastIndexPath<\/decl.name>() -> IndexPath<\/ref.struct>?<\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 332,
@@ -3541,14 +3541,14 @@
             "key.doc.column" : 19,
             "key.doc.comment" : "\/\/\/ Moves the `Item` at the `from` index path to the `to` index path.\nIf the index paths are the same, nothing occurs.",
             "key.doc.declaration" : "mutating func moveItem(from: IndexPath, to: IndexPath)",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
-            "key.doc.full_as_xml" : "moveItem(from:to:)<\/Name>s:10ListableUI7ContentV8moveItem4from2toy10Foundation9IndexPathV_AItF<\/USR>mutating func moveItem(from: IndexPath, to: IndexPath)<\/Declaration>\/\/\/ Moves the Item<\/codeVoice> at the from<\/codeVoice> index path to the to<\/codeVoice> index path. If the index paths are the same, nothing occurs.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
+            "key.doc.full_as_xml" : "moveItem(from:to:)<\/Name>s:10ListableUI7ContentV8moveItem4from2toy10Foundation9IndexPathV_AItF<\/USR>mutating func moveItem(from: IndexPath, to: IndexPath)<\/Declaration>\/\/\/ Moves the Item<\/codeVoice> at the from<\/codeVoice> index path to the to<\/codeVoice> index path. If the index paths are the same, nothing occurs.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 184,
             "key.doc.name" : "moveItem(from:to:)",
             "key.doc.type" : "Function",
             "key.doclength" : 131,
             "key.docoffset" : 5606,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
             "key.fully_annotated_decl" : "mutating<\/syntaxtype.keyword> func<\/syntaxtype.keyword> moveItem<\/decl.name>(from<\/decl.var.parameter.argument_label>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, to<\/decl.var.parameter.argument_label>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 247,
@@ -3562,7 +3562,7 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let item: AnyItem<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> item<\/decl.name>: AnyItem<\/ref.protocol><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 30,
@@ -3607,14 +3607,14 @@
             "key.doc.column" : 26,
             "key.doc.comment" : "Removes all `Section`s that do not contain any `Item`s.",
             "key.doc.declaration" : "public mutating func removeEmpty()",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
-            "key.doc.full_as_xml" : "removeEmpty()<\/Name>s:10ListableUI7ContentV11removeEmptyyyF<\/USR>public mutating func removeEmpty()<\/Declaration>Removes all Section<\/codeVoice>s that do not contain any Item<\/codeVoice>s.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
+            "key.doc.full_as_xml" : "removeEmpty()<\/Name>s:10ListableUI7ContentV11removeEmptyyyF<\/USR>public mutating func removeEmpty()<\/Declaration>Removes all Section<\/codeVoice>s that do not contain any Item<\/codeVoice>s.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 197,
             "key.doc.name" : "removeEmpty()",
             "key.doc.type" : "Function",
             "key.doclength" : 60,
             "key.docoffset" : 6007,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> mutating<\/syntaxtype.keyword> func<\/syntaxtype.keyword> removeEmpty<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 103,
@@ -3652,14 +3652,14 @@
             "key.doc.column" : 26,
             "key.doc.comment" : "Appends a `Section` to the end of the `Content`.",
             "key.doc.declaration" : "public mutating func add(_ section: Section)",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
-            "key.doc.full_as_xml" : "add(_:)<\/Name>s:10ListableUI7ContentV3addyyAA7SectionVF<\/USR>public mutating func add(_ section: Section)<\/Declaration>Appends a Section<\/codeVoice> to the end of the Content<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
+            "key.doc.full_as_xml" : "add(_:)<\/Name>s:10ListableUI7ContentV3addyyAA7SectionVF<\/USR>public mutating func add(_ section: Section)<\/Declaration>Appends a Section<\/codeVoice> to the end of the Content<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 205,
             "key.doc.name" : "add(_:)",
             "key.doc.type" : "Function",
             "key.doclength" : 53,
             "key.docoffset" : 6200,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> mutating<\/syntaxtype.keyword> func<\/syntaxtype.keyword> add<\/decl.name>(_<\/decl.var.parameter.argument_label> section<\/decl.var.parameter.name>: Section<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 79,
@@ -3692,14 +3692,14 @@
             "key.doc.column" : 24,
             "key.doc.comment" : "Appends a `Section` to the end of the `Content`.",
             "key.doc.declaration" : "public static func += (lhs: inout Content, rhs: Section)",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
-            "key.doc.full_as_xml" : "+=(_:_:)<\/Name>s:10ListableUI7ContentV2peoiyyACz_AA7SectionVtFZ<\/USR>public static func += (lhs: inout Content, rhs: Section)<\/Declaration>Appends a Section<\/codeVoice> to the end of the Content<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
+            "key.doc.full_as_xml" : "+=(_:_:)<\/Name>s:10ListableUI7ContentV2peoiyyACz_AA7SectionVtFZ<\/USR>public static func += (lhs: inout Content, rhs: Section)<\/Declaration>Appends a Section<\/codeVoice> to the end of the Content<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 211,
             "key.doc.name" : "+=(_:_:)",
             "key.doc.type" : "Function",
             "key.doclength" : 53,
             "key.docoffset" : 6362,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> += <\/decl.name>(lhs<\/decl.var.parameter.name>: inout<\/syntaxtype.keyword> Content<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, rhs<\/decl.var.parameter.name>: Section<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.operator.infix>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
             "key.length" : 84,
@@ -3841,7 +3841,7 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "var lhs: inout Content<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> lhs<\/decl.var.parameter.name>: inout<\/syntaxtype.keyword> Content<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>",
                 "key.kind" : "source.lang.swift.decl.var.parameter",
                 "key.length" : 3,
@@ -3875,14 +3875,14 @@
             "key.doc.column" : 24,
             "key.doc.comment" : "Appends a list of `Section`s to the end of the `Content`.",
             "key.doc.declaration" : "public static func += (lhs: inout Content, rhs: [Section])",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
-            "key.doc.full_as_xml" : "+=(_:_:)<\/Name>s:10ListableUI7ContentV2peoiyyACz_SayAA7SectionVGtFZ<\/USR>public static func += (lhs: inout Content, rhs: [Section])<\/Declaration>Appends a list of Section<\/codeVoice>s to the end of the Content<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
+            "key.doc.full_as_xml" : "+=(_:_:)<\/Name>s:10ListableUI7ContentV2peoiyyACz_SayAA7SectionVGtFZ<\/USR>public static func += (lhs: inout Content, rhs: [Section])<\/Declaration>Appends a list of Section<\/codeVoice>s to the end of the Content<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 217,
             "key.doc.name" : "+=(_:_:)",
             "key.doc.type" : "Function",
             "key.doclength" : 62,
             "key.docoffset" : 6520,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> += <\/decl.name>(lhs<\/decl.var.parameter.name>: inout<\/syntaxtype.keyword> Content<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, rhs<\/decl.var.parameter.name>: [Section<\/ref.struct>]<\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.operator.infix>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
             "key.length" : 93,
@@ -4024,7 +4024,7 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "var lhs: inout Content<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> lhs<\/decl.var.parameter.name>: inout<\/syntaxtype.keyword> Content<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>",
                 "key.kind" : "source.lang.swift.decl.var.parameter",
                 "key.length" : 3,
@@ -4045,7 +4045,7 @@
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public mutating func callAsFunction<Identifier>(_ identifier: Identifier<\/Type>, build: Section<\/Type>.Build<\/Type>) where Identifier : Hashable<\/Type><\/Declaration>",
+            "key.annotated_decl" : "public mutating func callAsFunction<Identifier>(_ identifier: Identifier<\/Type>, configure: Section<\/Type>.Configure<\/Type>) where Identifier : Hashable<\/Type><\/Declaration>",
             "key.attributes" : [
               {
                 "key.attribute" : "source.decl.attribute.mutating",
@@ -4058,11 +4058,11 @@
                 "key.offset" : 7315
               }
             ],
-            "key.bodylength" : 55,
-            "key.bodyoffset" : 7427,
+            "key.bodylength" : 63,
+            "key.bodyoffset" : 7435,
             "key.doc.column" : 26,
             "key.doc.comment" : "\nAllows streamlined creation of sections when building a list, leveraging Swift's `callAsFunction`\nfeature, allowing treating objects as function calls.\n\nIn layperson's terms, this allows you to replace code like this:\n```\nlistView.configure { list in\n    list += Section(\"section-id\") { section in\n        ...\n    }\n}\n```\nWith this code, which is functionally identical:\n```\nlistView.configure { list in\n    list(\"section-id\") { section in\n        ...\n    }\n}",
-            "key.doc.declaration" : "public mutating func callAsFunction(_ identifier: Identifier, build: Section.Build) where Identifier : Hashable",
+            "key.doc.declaration" : "public mutating func callAsFunction(_ identifier: Identifier, configure: Section.Configure) where Identifier : Hashable",
             "key.doc.discussion" : [
               {
                 "Para" : "In layperson’s terms, this allows you to replace code like this:"
@@ -4077,22 +4077,22 @@
                 "CodeListing" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
-            "key.doc.full_as_xml" : "callAsFunction(_:build:)<\/Name>s:10ListableUI7ContentV14callAsFunction_5buildyx_yAA7SectionVzXEtSHRzlF<\/USR>public mutating func callAsFunction<Identifier>(_ identifier: Identifier, build: Section.Build) where Identifier : Hashable<\/Declaration>Allows streamlined creation of sections when building a list, leveraging Swift’s callAsFunction<\/codeVoice> feature, allowing treating objects as function calls.<\/Para><\/Abstract>In layperson’s terms, this allows you to replace code like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>With this code, which is functionally identical:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
+            "key.doc.full_as_xml" : "callAsFunction(_:configure:)<\/Name>s:10ListableUI7ContentV14callAsFunction_9configureyx_yAA7SectionVzXEtSHRzlF<\/USR>public mutating func callAsFunction<Identifier>(_ identifier: Identifier, configure: Section.Configure) where Identifier : Hashable<\/Declaration>Allows streamlined creation of sections when building a list, leveraging Swift’s callAsFunction<\/codeVoice> feature, allowing treating objects as function calls.<\/Para><\/Abstract>In layperson’s terms, this allows you to replace code like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>With this code, which is functionally identical:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 242,
-            "key.doc.name" : "callAsFunction(_:build:)",
+            "key.doc.name" : "callAsFunction(_:configure:)",
             "key.doc.type" : "Function",
             "key.doclength" : 615,
             "key.docoffset" : 6696,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> mutating<\/syntaxtype.keyword> func<\/syntaxtype.keyword> callAsFunction<\/decl.name><Identifier<\/decl.generic_type_param.name><\/decl.generic_type_param>>(_<\/decl.var.parameter.argument_label> identifier<\/decl.var.parameter.name>: Identifier<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, build<\/decl.var.parameter.argument_label>: Section<\/ref.struct>.Build<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>) where<\/syntaxtype.keyword> Identifier : Hashable<\/ref.protocol><\/decl.generic_type_requirement><\/decl.function.method.instance>",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> mutating<\/syntaxtype.keyword> func<\/syntaxtype.keyword> callAsFunction<\/decl.name><Identifier<\/decl.generic_type_param.name><\/decl.generic_type_param>>(_<\/decl.var.parameter.argument_label> identifier<\/decl.var.parameter.name>: Identifier<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, configure<\/decl.var.parameter.argument_label>: Section<\/ref.struct>.Configure<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>) where<\/syntaxtype.keyword> Identifier : Hashable<\/ref.protocol><\/decl.generic_type_requirement><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 152,
-            "key.name" : "callAsFunction(_:build:)",
-            "key.namelength" : 85,
+            "key.length" : 168,
+            "key.name" : "callAsFunction(_:configure:)",
+            "key.namelength" : 93,
             "key.nameoffset" : 7336,
             "key.offset" : 7331,
-            "key.parsed_declaration" : "public mutating func callAsFunction(_ identifier : Identifier, build : Section.Build)",
+            "key.parsed_declaration" : "public mutating func callAsFunction(_ identifier : Identifier, configure : Section.Configure)",
             "key.parsed_scope.end" : 245,
             "key.parsed_scope.start" : 242,
             "key.substructure" : [
@@ -4105,7 +4105,7 @@
                     "key.offset" : 7362
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
                 "key.fully_annotated_decl" : "Identifier<\/decl.generic_type_param.name> : Hashable<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
                 "key.inheritedtypes" : [
                   {
@@ -4123,12 +4123,12 @@
                 "key.parsed_scope.start" : 242,
                 "key.typename" : "Identifier.Type",
                 "key.typeusr" : "$sxmD",
-                "key.usr" : "s:10ListableUI7ContentV14callAsFunction_5buildyx_yAA7SectionVzXEtSHRzlF10IdentifierL_xmfp"
+                "key.usr" : "s:10ListableUI7ContentV14callAsFunction_9configureyx_yAA7SectionVzXEtSHRzlF10IdentifierL_xmfp"
               }
             ],
             "key.typename" : " (inout Content) -> (Identifier, (inout Section) -> ()) -> ()",
-            "key.typeusr" : "$s_5buildyx_y10ListableUI7SectionVzXEtcSHRzluD",
-            "key.usr" : "s:10ListableUI7ContentV14callAsFunction_5buildyx_yAA7SectionVzXEtSHRzlF"
+            "key.typeusr" : "$s_9configureyx_y10ListableUI7SectionVzXEtcSHRzluD",
+            "key.usr" : "s:10ListableUI7ContentV14callAsFunction_9configureyx_yAA7SectionVzXEtSHRzlF"
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
@@ -4137,34 +4137,34 @@
               {
                 "key.attribute" : "source.decl.attribute.mutating",
                 "key.length" : 8,
-                "key.offset" : 7555
+                "key.offset" : 7571
               },
               {
                 "key.attribute" : "source.decl.attribute.internal",
                 "key.length" : 8,
-                "key.offset" : 7546
+                "key.offset" : 7562
               }
             ],
             "key.bodylength" : 79,
-            "key.bodyoffset" : 7607,
+            "key.bodyoffset" : 7623,
             "key.doc.column" : 28,
             "key.doc.comment" : "Removes the `Item` at the given `IndexPath`.",
             "key.doc.declaration" : "internal mutating func remove(at indexPath: IndexPath)",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
-            "key.doc.full_as_xml" : "remove(at:)<\/Name>s:10ListableUI7ContentV6remove2aty10Foundation9IndexPathV_tF<\/USR>internal mutating func remove(at indexPath: IndexPath)<\/Declaration>Removes the Item<\/codeVoice> at the given IndexPath<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
+            "key.doc.full_as_xml" : "remove(at:)<\/Name>s:10ListableUI7ContentV6remove2aty10Foundation9IndexPathV_tF<\/USR>internal mutating func remove(at indexPath: IndexPath)<\/Declaration>Removes the Item<\/codeVoice> at the given IndexPath<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 248,
             "key.doc.name" : "remove(at:)",
             "key.doc.type" : "Function",
             "key.doclength" : 49,
-            "key.docoffset" : 7493,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
+            "key.docoffset" : 7509,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
             "key.fully_annotated_decl" : "internal<\/syntaxtype.keyword> mutating<\/syntaxtype.keyword> func<\/syntaxtype.keyword> remove<\/decl.name>(at<\/decl.var.parameter.argument_label> indexPath<\/decl.var.parameter.name>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 123,
             "key.name" : "remove(at:)",
             "key.namelength" : 32,
-            "key.nameoffset" : 7569,
-            "key.offset" : 7564,
+            "key.nameoffset" : 7585,
+            "key.offset" : 7580,
             "key.parsed_declaration" : "internal mutating func remove(at indexPath : IndexPath)",
             "key.parsed_scope.end" : 251,
             "key.parsed_scope.start" : 248,
@@ -4182,34 +4182,34 @@
               {
                 "key.attribute" : "source.decl.attribute.mutating",
                 "key.length" : 8,
-                "key.offset" : 7759
+                "key.offset" : 7775
               },
               {
                 "key.attribute" : "source.decl.attribute.internal",
                 "key.length" : 8,
-                "key.offset" : 7750
+                "key.offset" : 7766
               }
             ],
             "key.bodylength" : 85,
-            "key.bodyoffset" : 7827,
+            "key.bodyoffset" : 7843,
             "key.doc.column" : 28,
             "key.doc.comment" : "Inserts the `Item` at the given `IndexPath`.",
             "key.doc.declaration" : "internal mutating func insert(item: AnyItem, at indexPath: IndexPath)",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
-            "key.doc.full_as_xml" : "insert(item:at:)<\/Name>s:10ListableUI7ContentV6insert4item2atyAA7AnyItem_p_10Foundation9IndexPathVtF<\/USR>internal mutating func insert(item: AnyItem, at indexPath: IndexPath)<\/Declaration>Inserts the Item<\/codeVoice> at the given IndexPath<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
+            "key.doc.full_as_xml" : "insert(item:at:)<\/Name>s:10ListableUI7ContentV6insert4item2atyAA7AnyItem_p_10Foundation9IndexPathVtF<\/USR>internal mutating func insert(item: AnyItem, at indexPath: IndexPath)<\/Declaration>Inserts the Item<\/codeVoice> at the given IndexPath<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 254,
             "key.doc.name" : "insert(item:at:)",
             "key.doc.type" : "Function",
             "key.doclength" : 49,
-            "key.docoffset" : 7697,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
+            "key.docoffset" : 7713,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
             "key.fully_annotated_decl" : "internal<\/syntaxtype.keyword> mutating<\/syntaxtype.keyword> func<\/syntaxtype.keyword> insert<\/decl.name>(item<\/decl.var.parameter.argument_label>: AnyItem<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>, at<\/decl.var.parameter.argument_label> indexPath<\/decl.var.parameter.name>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 145,
             "key.name" : "insert(item:at:)",
             "key.namelength" : 48,
-            "key.nameoffset" : 7773,
-            "key.offset" : 7768,
+            "key.nameoffset" : 7789,
+            "key.offset" : 7784,
             "key.parsed_declaration" : "internal mutating func insert(item : AnyItem, at indexPath : IndexPath)",
             "key.parsed_scope.end" : 257,
             "key.parsed_scope.start" : 254,
@@ -4226,7 +4226,7 @@
             "key.name" : "MARK: Slicing Content",
             "key.namelength" : 0,
             "key.nameoffset" : 0,
-            "key.offset" : 7933
+            "key.offset" : 7949
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
@@ -4235,11 +4235,11 @@
               {
                 "key.attribute" : "source.decl.attribute.internal",
                 "key.length" : 8,
-                "key.offset" : 8625
+                "key.offset" : 8641
               }
             ],
             "key.bodylength" : 775,
-            "key.bodyoffset" : 8741,
+            "key.bodyoffset" : 8757,
             "key.doc.column" : 19,
             "key.doc.comment" : "Creates a `Slice` of `Content` that allows cutting down a large list of `Content` to a more appropriate size\nfor display within a list. This is used by the presentation system to avoid needing to expensively measure and\nlay out every item in long lists.\n\nEg, if you provide 10,000 items to a list, we don't need to put all of those into the list right away. We only need to show\nenough to render the list to its current scroll position, plus some overscroll. This allows pretty significant performance\noptimizations for long lists that are not scrolled to the bottom, by culling most items.",
             "key.doc.declaration" : "internal func sliceTo(indexPath: IndexPath, plus additionalItems: Int = Content.Slice.defaultCount) -> Slice",
@@ -4248,35 +4248,35 @@
                 "Para" : "Eg, if you provide 10,000 items to a list, we don’t need to put all of those into the list right away. We only need to show enough to render the list to its current scroll position, plus some overscroll. This allows pretty significant performance optimizations for long lists that are not scrolled to the bottom, by culling most items."
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
-            "key.doc.full_as_xml" : "sliceTo(indexPath:plus:)<\/Name>s:10ListableUI7ContentV7sliceTo9indexPath4plusAC5SliceV10Foundation05IndexG0V_SitF<\/USR>internal func sliceTo(indexPath: IndexPath, plus additionalItems: Int = Content.Slice.defaultCount) -> Slice<\/Declaration>Creates a Slice<\/codeVoice> of Content<\/codeVoice> that allows cutting down a large list of Content<\/codeVoice> to a more appropriate size for display within a list. This is used by the presentation system to avoid needing to expensively measure and lay out every item in long lists.<\/Para><\/Abstract>Eg, if you provide 10,000 items to a list, we don’t need to put all of those into the list right away. We only need to show enough to render the list to its current scroll position, plus some overscroll. This allows pretty significant performance optimizations for long lists that are not scrolled to the bottom, by culling most items.<\/Para><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
+            "key.doc.full_as_xml" : "sliceTo(indexPath:plus:)<\/Name>s:10ListableUI7ContentV7sliceTo9indexPath4plusAC5SliceV10Foundation05IndexG0V_SitF<\/USR>internal func sliceTo(indexPath: IndexPath, plus additionalItems: Int = Content.Slice.defaultCount) -> Slice<\/Declaration>Creates a Slice<\/codeVoice> of Content<\/codeVoice> that allows cutting down a large list of Content<\/codeVoice> to a more appropriate size for display within a list. This is used by the presentation system to avoid needing to expensively measure and lay out every item in long lists.<\/Para><\/Abstract>Eg, if you provide 10,000 items to a list, we don’t need to put all of those into the list right away. We only need to show enough to render the list to its current scroll position, plus some overscroll. This allows pretty significant performance optimizations for long lists that are not scrolled to the bottom, by culling most items.<\/Para><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 271,
             "key.doc.name" : "sliceTo(indexPath:plus:)",
             "key.doc.type" : "Function",
             "key.doclength" : 650,
-            "key.docoffset" : 7971,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
+            "key.docoffset" : 7987,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
             "key.fully_annotated_decl" : "internal<\/syntaxtype.keyword> func<\/syntaxtype.keyword> sliceTo<\/decl.name>(indexPath<\/decl.var.parameter.argument_label>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, plus<\/decl.var.parameter.argument_label> additionalItems<\/decl.var.parameter.name>: Int<\/ref.struct><\/decl.var.parameter.type> = Content.Slice.defaultCount<\/decl.var.parameter>) -> Slice<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 883,
             "key.name" : "sliceTo(indexPath:plus:)",
             "key.namelength" : 87,
-            "key.nameoffset" : 8639,
-            "key.offset" : 8634,
+            "key.nameoffset" : 8655,
+            "key.offset" : 8650,
             "key.parsed_declaration" : "internal func sliceTo(indexPath : IndexPath, plus additionalItems : Int = Content.Slice.defaultCount) -> Slice",
             "key.parsed_scope.end" : 297,
             "key.parsed_scope.start" : 271,
             "key.substructure" : [
               {
                 "key.annotated_decl" : "var sliced: Content<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> sliced<\/decl.name>: Content<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 17,
                 "key.name" : "sliced",
                 "key.namelength" : 6,
-                "key.nameoffset" : 8754,
-                "key.offset" : 8750,
+                "key.nameoffset" : 8770,
+                "key.offset" : 8766,
                 "key.parsed_declaration" : "var sliced = self",
                 "key.parsed_scope.end" : 273,
                 "key.parsed_scope.start" : 273,
@@ -4286,14 +4286,14 @@
               },
               {
                 "key.annotated_decl" : "var remaining: Int<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> remaining<\/decl.name>: Int<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 54,
                 "key.name" : "remaining",
                 "key.namelength" : 9,
-                "key.nameoffset" : 8789,
-                "key.offset" : 8785,
+                "key.nameoffset" : 8805,
+                "key.offset" : 8801,
                 "key.parsed_declaration" : "var remaining : Int = indexPath.item + additionalItems",
                 "key.parsed_scope.end" : 275,
                 "key.parsed_scope.start" : 275,
@@ -4314,15 +4314,15 @@
       {
         "key.annotated_decl" : "public struct Content<\/Declaration>",
         "key.bodylength" : 445,
-        "key.bodyoffset" : 9541,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
+        "key.bodyoffset" : 9557,
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> Content<\/decl.name><\/decl.struct>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 465,
         "key.name" : "Content",
         "key.namelength" : 7,
-        "key.nameoffset" : 9532,
-        "key.offset" : 9522,
+        "key.nameoffset" : 9548,
+        "key.offset" : 9538,
         "key.parsed_declaration" : "extension Content",
         "key.parsed_scope.end" : 322,
         "key.parsed_scope.start" : 301,
@@ -4330,15 +4330,15 @@
           {
             "key.annotated_decl" : "struct Slice<\/Declaration>",
             "key.bodylength" : 420,
-            "key.bodyoffset" : 9564,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
+            "key.bodyoffset" : 9580,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
             "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> Slice<\/decl.name><\/decl.struct>",
             "key.kind" : "source.lang.swift.decl.struct",
             "key.length" : 439,
             "key.name" : "Slice",
             "key.namelength" : 5,
-            "key.nameoffset" : 9553,
-            "key.offset" : 9546,
+            "key.nameoffset" : 9569,
+            "key.offset" : 9562,
             "key.parsed_declaration" : "struct Slice",
             "key.parsed_scope.end" : 321,
             "key.parsed_scope.start" : 303,
@@ -4346,14 +4346,14 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "static let defaultCount: Int<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
                 "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> let<\/syntaxtype.keyword> defaultCount<\/decl.name>: Int<\/ref.struct><\/decl.var.type><\/decl.var.static>",
                 "key.kind" : "source.lang.swift.decl.var.static",
                 "key.length" : 35,
                 "key.name" : "defaultCount",
                 "key.namelength" : 12,
-                "key.nameoffset" : 9584,
-                "key.offset" : 9573,
+                "key.nameoffset" : 9600,
+                "key.offset" : 9589,
                 "key.parsed_declaration" : "static let defaultCount : Int = 250",
                 "key.parsed_scope.end" : 305,
                 "key.parsed_scope.start" : 305,
@@ -4364,14 +4364,14 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let containsAllItems: Bool<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> containsAllItems<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 27,
                 "key.name" : "containsAllItems",
                 "key.namelength" : 16,
-                "key.nameoffset" : 9630,
-                "key.offset" : 9626,
+                "key.nameoffset" : 9646,
+                "key.offset" : 9642,
                 "key.parsed_declaration" : "let containsAllItems : Bool",
                 "key.parsed_scope.end" : 307,
                 "key.parsed_scope.start" : 307,
@@ -4382,14 +4382,14 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let content: Content<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> content<\/decl.name>: Content<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 21,
                 "key.name" : "content",
                 "key.namelength" : 7,
-                "key.nameoffset" : 9666,
-                "key.offset" : 9662,
+                "key.nameoffset" : 9682,
+                "key.offset" : 9678,
                 "key.parsed_declaration" : "let content : Content",
                 "key.parsed_scope.end" : 308,
                 "key.parsed_scope.start" : 308,
@@ -4401,15 +4401,15 @@
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "init(containsAllItems: Bool<\/Type>, content: Content<\/Type>)<\/Declaration>",
                 "key.bodylength" : 97,
-                "key.bodyoffset" : 9759,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
+                "key.bodyoffset" : 9775,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
                 "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(containsAllItems<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, content<\/decl.var.parameter.argument_label>: Content<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 156,
                 "key.name" : "init(containsAllItems:content:)",
                 "key.namelength" : 48,
-                "key.nameoffset" : 9701,
-                "key.offset" : 9701,
+                "key.nameoffset" : 9717,
+                "key.offset" : 9717,
                 "key.parsed_declaration" : "init(containsAllItems : Bool, content : Content)",
                 "key.parsed_scope.end" : 314,
                 "key.parsed_scope.start" : 310,
@@ -4429,15 +4429,15 @@
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "init()<\/Declaration>",
                 "key.bodylength" : 87,
-                "key.bodyoffset" : 9891,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
+                "key.bodyoffset" : 9907,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Content.swift",
                 "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>()<\/decl.function.constructor>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 104,
                 "key.name" : "init()",
                 "key.namelength" : 6,
-                "key.nameoffset" : 9875,
-                "key.offset" : 9875,
+                "key.nameoffset" : 9891,
+                "key.offset" : 9891,
                 "key.parsed_declaration" : "init()",
                 "key.parsed_scope.end" : 320,
                 "key.parsed_scope.start" : 316,
@@ -4466,7 +4466,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ContentFilters.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ContentFilters.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 1333,
     "key.offset" : 0,
@@ -4494,8 +4494,8 @@
             "CodeListing" : ""
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ContentFilters.swift",
-        "key.doc.full_as_xml" : "ContentFilters<\/Name>s:10ListableUI14ContentFiltersO<\/USR>public enum ContentFilters : Hashable, CaseIterable<\/Declaration>A filter enum which allows you to query the types of content contained in a Content<\/codeVoice> or Section<\/codeVoice> object.<\/Para><\/Abstract>For example, to see if Content<\/codeVoice> contains any items or section headers, you could do:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Other>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ContentFilters.swift",
+        "key.doc.full_as_xml" : "ContentFilters<\/Name>s:10ListableUI14ContentFiltersO<\/USR>public enum ContentFilters : Hashable, CaseIterable<\/Declaration>A filter enum which allows you to query the types of content contained in a Content<\/codeVoice> or Section<\/codeVoice> object.<\/Para><\/Abstract>For example, to see if Content<\/codeVoice> contains any items or section headers, you could do:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Other>",
         "key.doc.line" : 17,
         "key.doc.name" : "ContentFilters",
         "key.doc.type" : "Other",
@@ -4513,7 +4513,7 @@
             "key.offset" : 440
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ContentFilters.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ContentFilters.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> enum<\/syntaxtype.keyword> ContentFilters<\/decl.name> : Hashable<\/ref.protocol>, CaseIterable<\/ref.protocol><\/decl.enum>",
         "key.inheritedtypes" : [
           {
@@ -4548,14 +4548,14 @@
             "key.doc.column" : 23,
             "key.doc.comment" : "If there is any content in the list at all, including headers and footers.",
             "key.doc.declaration" : "public static var anyContent: Set<`Self`> { get }",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ContentFilters.swift",
-            "key.doc.full_as_xml" : "anyContent<\/Name>s:10ListableUI14ContentFiltersO03anyC0ShyACGvpZ<\/USR>public static var anyContent: Set<`Self`> { get }<\/Declaration>If there is any content in the list at all, including headers and footers.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ContentFilters.swift",
+            "key.doc.full_as_xml" : "anyContent<\/Name>s:10ListableUI14ContentFiltersO03anyC0ShyACGvpZ<\/USR>public static var anyContent: Set<`Self`> { get }<\/Declaration>If there is any content in the list at all, including headers and footers.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 20,
             "key.doc.name" : "anyContent",
             "key.doc.type" : "Other",
             "key.doclength" : 79,
             "key.docoffset" : 464,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ContentFilters.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ContentFilters.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> static<\/syntaxtype.keyword> var<\/syntaxtype.keyword> anyContent<\/decl.name>: Set<\/ref.struct><`Self`><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.static>",
             "key.kind" : "source.lang.swift.decl.var.static",
             "key.length" : 68,
@@ -4585,14 +4585,14 @@
             "key.doc.column" : 23,
             "key.doc.comment" : "Check if the content in the list is section-driven content, with the\ncheck ignoring any list-level fields.",
             "key.doc.declaration" : "public static var sectionsOnly: Set<`Self`> { get }",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ContentFilters.swift",
-            "key.doc.full_as_xml" : "sectionsOnly<\/Name>s:10ListableUI14ContentFiltersO12sectionsOnlyShyACGvpZ<\/USR>public static var sectionsOnly: Set<`Self`> { get }<\/Declaration>Check if the content in the list is section-driven content, with the check ignoring any list-level fields.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ContentFilters.swift",
+            "key.doc.full_as_xml" : "sectionsOnly<\/Name>s:10ListableUI14ContentFiltersO12sectionsOnlyShyACGvpZ<\/USR>public static var sectionsOnly: Set<`Self`> { get }<\/Declaration>Check if the content in the list is section-driven content, with the check ignoring any list-level fields.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 26,
             "key.doc.name" : "sectionsOnly",
             "key.doc.type" : "Other",
             "key.doclength" : 119,
             "key.docoffset" : 632,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ContentFilters.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ContentFilters.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> static<\/syntaxtype.keyword> var<\/syntaxtype.keyword> sectionsOnly<\/decl.name>: Set<\/ref.struct><`Self`><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.static>",
             "key.kind" : "source.lang.swift.decl.var.static",
             "key.length" : 140,
@@ -4620,14 +4620,14 @@
                 "key.doc.column" : 10,
                 "key.doc.comment" : "If the list has a list-level header.",
                 "key.doc.declaration" : "",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ContentFilters.swift",
-                "key.doc.full_as_xml" : "listHeader<\/Name>s:10ListableUI14ContentFiltersO10listHeaderyA2CmF<\/USR><\/Declaration>If the list has a list-level header.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ContentFilters.swift",
+                "key.doc.full_as_xml" : "listHeader<\/Name>s:10ListableUI14ContentFiltersO10listHeaderyA2CmF<\/USR><\/Declaration>If the list has a list-level header.<\/Para><\/Abstract><\/CommentParts><\/Other>",
                 "key.doc.line" : 35,
                 "key.doc.name" : "listHeader",
                 "key.doc.type" : "Other",
                 "key.doclength" : 41,
                 "key.docoffset" : 912,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ContentFilters.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ContentFilters.swift",
                 "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> listHeader<\/decl.name><\/decl.enumelement>",
                 "key.kind" : "source.lang.swift.decl.enumelement",
                 "key.length" : 10,
@@ -4657,14 +4657,14 @@
                 "key.doc.column" : 10,
                 "key.doc.comment" : "If the list has a list-level footer.",
                 "key.doc.declaration" : "",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ContentFilters.swift",
-                "key.doc.full_as_xml" : "listFooter<\/Name>s:10ListableUI14ContentFiltersO10listFooteryA2CmF<\/USR><\/Declaration>If the list has a list-level footer.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ContentFilters.swift",
+                "key.doc.full_as_xml" : "listFooter<\/Name>s:10ListableUI14ContentFiltersO10listFooteryA2CmF<\/USR><\/Declaration>If the list has a list-level footer.<\/Para><\/Abstract><\/CommentParts><\/Other>",
                 "key.doc.line" : 37,
                 "key.doc.name" : "listFooter",
                 "key.doc.type" : "Other",
                 "key.doclength" : 41,
                 "key.docoffset" : 977,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ContentFilters.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ContentFilters.swift",
                 "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> listFooter<\/decl.name><\/decl.enumelement>",
                 "key.kind" : "source.lang.swift.decl.enumelement",
                 "key.length" : 10,
@@ -4694,14 +4694,14 @@
                 "key.doc.column" : 10,
                 "key.doc.comment" : "If the list has an overscroll footer.",
                 "key.doc.declaration" : "",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ContentFilters.swift",
-                "key.doc.full_as_xml" : "overscrollFooter<\/Name>s:10ListableUI14ContentFiltersO16overscrollFooteryA2CmF<\/USR><\/Declaration>If the list has an overscroll footer.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ContentFilters.swift",
+                "key.doc.full_as_xml" : "overscrollFooter<\/Name>s:10ListableUI14ContentFiltersO16overscrollFooteryA2CmF<\/USR><\/Declaration>If the list has an overscroll footer.<\/Para><\/Abstract><\/CommentParts><\/Other>",
                 "key.doc.line" : 39,
                 "key.doc.name" : "overscrollFooter",
                 "key.doc.type" : "Other",
                 "key.doclength" : 42,
                 "key.docoffset" : 1042,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ContentFilters.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ContentFilters.swift",
                 "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> overscrollFooter<\/decl.name><\/decl.enumelement>",
                 "key.kind" : "source.lang.swift.decl.enumelement",
                 "key.length" : 16,
@@ -4731,14 +4731,14 @@
                 "key.doc.column" : 10,
                 "key.doc.comment" : "If the sections in the list contain any items.",
                 "key.doc.declaration" : "",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ContentFilters.swift",
-                "key.doc.full_as_xml" : "items<\/Name>s:10ListableUI14ContentFiltersO5itemsyA2CmF<\/USR><\/Declaration>If the sections in the list contain any items.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ContentFilters.swift",
+                "key.doc.full_as_xml" : "items<\/Name>s:10ListableUI14ContentFiltersO5itemsyA2CmF<\/USR><\/Declaration>If the sections in the list contain any items.<\/Para><\/Abstract><\/CommentParts><\/Other>",
                 "key.doc.line" : 42,
                 "key.doc.name" : "items",
                 "key.doc.type" : "Other",
                 "key.doclength" : 51,
                 "key.docoffset" : 1119,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ContentFilters.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ContentFilters.swift",
                 "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> items<\/decl.name><\/decl.enumelement>",
                 "key.kind" : "source.lang.swift.decl.enumelement",
                 "key.length" : 5,
@@ -4768,14 +4768,14 @@
                 "key.doc.column" : 10,
                 "key.doc.comment" : "If any section in the list has a header.",
                 "key.doc.declaration" : "",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ContentFilters.swift",
-                "key.doc.full_as_xml" : "sectionHeaders<\/Name>s:10ListableUI14ContentFiltersO14sectionHeadersyA2CmF<\/USR><\/Declaration>If any section in the list has a header.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ContentFilters.swift",
+                "key.doc.full_as_xml" : "sectionHeaders<\/Name>s:10ListableUI14ContentFiltersO14sectionHeadersyA2CmF<\/USR><\/Declaration>If any section in the list has a header.<\/Para><\/Abstract><\/CommentParts><\/Other>",
                 "key.doc.line" : 44,
                 "key.doc.name" : "sectionHeaders",
                 "key.doc.type" : "Other",
                 "key.doclength" : 45,
                 "key.docoffset" : 1189,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ContentFilters.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ContentFilters.swift",
                 "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> sectionHeaders<\/decl.name><\/decl.enumelement>",
                 "key.kind" : "source.lang.swift.decl.enumelement",
                 "key.length" : 14,
@@ -4805,14 +4805,14 @@
                 "key.doc.column" : 10,
                 "key.doc.comment" : "If any section in the list has a footer.",
                 "key.doc.declaration" : "",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ContentFilters.swift",
-                "key.doc.full_as_xml" : "sectionFooters<\/Name>s:10ListableUI14ContentFiltersO14sectionFootersyA2CmF<\/USR><\/Declaration>If any section in the list has a footer.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ContentFilters.swift",
+                "key.doc.full_as_xml" : "sectionFooters<\/Name>s:10ListableUI14ContentFiltersO14sectionFootersyA2CmF<\/USR><\/Declaration>If any section in the list has a footer.<\/Para><\/Abstract><\/CommentParts><\/Other>",
                 "key.doc.line" : 46,
                 "key.doc.name" : "sectionFooters",
                 "key.doc.type" : "Other",
                 "key.doclength" : 45,
                 "key.docoffset" : 1262,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ContentFilters.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ContentFilters.swift",
                 "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> sectionFooters<\/decl.name><\/decl.enumelement>",
                 "key.kind" : "source.lang.swift.decl.enumelement",
                 "key.length" : 14,
@@ -4837,7 +4837,175 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ContentLayoutsStorage.swift" : {
+    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
+    "key.length" : 900,
+    "key.offset" : 0,
+    "key.substructure" : [
+      {
+        "key.accessibility" : "source.lang.swift.accessibility.internal",
+        "key.annotated_decl" : "struct ContentLayoutsStorage<\/Declaration>",
+        "key.bodylength" : 607,
+        "key.bodyoffset" : 291,
+        "key.doc.column" : 8,
+        "key.doc.comment" : "\nUnderlying storage used in `ItemLayouts`, `HeaderFooterLayouts`, and `SectionLayouts`.\nSee those types for more information.",
+        "key.doc.declaration" : "struct ContentLayoutsStorage",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ContentLayoutsStorage.swift",
+        "key.doc.full_as_xml" : "ContentLayoutsStorage<\/Name>s:10ListableUI21ContentLayoutsStorageV<\/USR>struct ContentLayoutsStorage<\/Declaration>Underlying storage used in ItemLayouts<\/codeVoice>, HeaderFooterLayouts<\/codeVoice>, and SectionLayouts<\/codeVoice>. See those types for more information.<\/Para><\/Abstract><\/CommentParts><\/Class>",
+        "key.doc.line" : 16,
+        "key.doc.name" : "ContentLayoutsStorage",
+        "key.doc.type" : "Class",
+        "key.doclength" : 141,
+        "key.docoffset" : 120,
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ContentLayoutsStorage.swift",
+        "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> ContentLayoutsStorage<\/decl.name><\/decl.struct>",
+        "key.kind" : "source.lang.swift.decl.struct",
+        "key.length" : 638,
+        "key.name" : "ContentLayoutsStorage",
+        "key.namelength" : 21,
+        "key.nameoffset" : 268,
+        "key.offset" : 261,
+        "key.parsed_declaration" : "struct ContentLayoutsStorage",
+        "key.parsed_scope.end" : 40,
+        "key.parsed_scope.start" : 16,
+        "key.substructure" : [
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.private",
+            "key.annotated_decl" : "private var storage: [ObjectIdentifier<\/Type> : Any]<\/Declaration>",
+            "key.attributes" : [
+              {
+                "key.attribute" : "source.decl.attribute.private",
+                "key.length" : 7,
+                "key.offset" : 301
+              }
+            ],
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ContentLayoutsStorage.swift",
+            "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> var<\/syntaxtype.keyword> storage<\/decl.name>: [ObjectIdentifier<\/ref.struct> : Any<\/syntaxtype.keyword>]<\/decl.var.type><\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 42,
+            "key.name" : "storage",
+            "key.namelength" : 7,
+            "key.nameoffset" : 313,
+            "key.offset" : 309,
+            "key.parsed_declaration" : "private var storage : [ObjectIdentifier:Any] = [:]",
+            "key.parsed_scope.end" : 18,
+            "key.parsed_scope.start" : 18,
+            "key.setter_accessibility" : "source.lang.swift.accessibility.private",
+            "key.typename" : "[ObjectIdentifier : Any]",
+            "key.typeusr" : "$sSDySOypGD",
+            "key.usr" : "s:10ListableUI21ContentLayoutsStorageV7storage33_F248E6F61551767C4A010A1266E652AALLSDySOypGvp"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.annotated_decl" : "func get<ValueType>(_ valueType: ValueType<\/Type>.Type, default defaultValue: @autoclosure () -> ValueType<\/Type>) -> ValueType<\/Type><\/Declaration>",
+            "key.bodylength" : 207,
+            "key.bodyoffset" : 504,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ContentLayoutsStorage.swift",
+            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> get<\/decl.name><ValueType<\/decl.generic_type_param.name><\/decl.generic_type_param>>(_<\/decl.var.parameter.argument_label> valueType<\/decl.var.parameter.name>: ValueType<\/ref.generic_type_param>.Type<\/decl.var.parameter.type><\/decl.var.parameter>, default<\/decl.var.parameter.argument_label> defaultValue<\/decl.var.parameter.name>: @autoclosure<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> () -> ValueType<\/ref.generic_type_param><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>) -> ValueType<\/ref.generic_type_param><\/decl.function.returntype><\/decl.function.method.instance>",
+            "key.kind" : "source.lang.swift.decl.function.method.instance",
+            "key.length" : 351,
+            "key.name" : "get(_:default:)",
+            "key.namelength" : 119,
+            "key.nameoffset" : 366,
+            "key.offset" : 361,
+            "key.parsed_declaration" : "func get(\n    _ valueType : ValueType.Type,\n    default defaultValue : @autoclosure () -> ValueType\n) -> ValueType",
+            "key.parsed_scope.end" : 32,
+            "key.parsed_scope.start" : 20,
+            "key.substructure" : [
+              {
+                "key.annotated_decl" : "ValueType<\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ContentLayoutsStorage.swift",
+                "key.fully_annotated_decl" : "ValueType<\/decl.generic_type_param.name><\/decl.generic_type_param>",
+                "key.kind" : "source.lang.swift.decl.generic_type_param",
+                "key.length" : 9,
+                "key.name" : "ValueType",
+                "key.namelength" : 9,
+                "key.nameoffset" : 370,
+                "key.offset" : 370,
+                "key.parsed_declaration" : "func getlet ID: ObjectIdentifier<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ContentLayoutsStorage.swift",
+                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> ID<\/decl.name>: ObjectIdentifier<\/ref.struct><\/decl.var.type><\/decl.var.local>",
+                "key.kind" : "source.lang.swift.decl.var.local",
+                "key.length" : 36,
+                "key.name" : "ID",
+                "key.namelength" : 2,
+                "key.nameoffset" : 517,
+                "key.offset" : 513,
+                "key.parsed_declaration" : "let ID = ObjectIdentifier(valueType)",
+                "key.parsed_scope.end" : 25,
+                "key.parsed_scope.start" : 25,
+                "key.typename" : "ObjectIdentifier",
+                "key.typeusr" : "$sSOD",
+                "key.usr" : "s:10ListableUI21ContentLayoutsStorageV3get_7defaultxxm_xyXKtlF2IDL_SOvp"
+              }
+            ],
+            "key.typename" : " (ContentLayoutsStorage) -> (ValueType.Type, @autoclosure () -> ValueType) -> ValueType",
+            "key.typeusr" : "$s_7defaultxxm_xyXKtcluD",
+            "key.usr" : "s:10ListableUI21ContentLayoutsStorageV3get_7defaultxxm_xyXKtlF"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.annotated_decl" : "mutating func set<ValueType>(_ valueType: ValueType<\/Type>.Type, new newValue: ValueType<\/Type>)<\/Declaration>",
+            "key.attributes" : [
+              {
+                "key.attribute" : "source.decl.attribute.mutating",
+                "key.length" : 8,
+                "key.offset" : 722
+              }
+            ],
+            "key.bodylength" : 66,
+            "key.bodyoffset" : 830,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ContentLayoutsStorage.swift",
+            "key.fully_annotated_decl" : "mutating<\/syntaxtype.keyword> func<\/syntaxtype.keyword> set<\/decl.name><ValueType<\/decl.generic_type_param.name><\/decl.generic_type_param>>(_<\/decl.var.parameter.argument_label> valueType<\/decl.var.parameter.name>: ValueType<\/ref.generic_type_param>.Type<\/decl.var.parameter.type><\/decl.var.parameter>, new<\/decl.var.parameter.argument_label> newValue<\/decl.var.parameter.name>: ValueType<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
+            "key.kind" : "source.lang.swift.decl.function.method.instance",
+            "key.length" : 166,
+            "key.name" : "set(_:new:)",
+            "key.namelength" : 92,
+            "key.nameoffset" : 736,
+            "key.offset" : 731,
+            "key.parsed_declaration" : "mutating func set(\n    _ valueType : ValueType.Type,\n    new newValue : ValueType\n)",
+            "key.parsed_scope.end" : 39,
+            "key.parsed_scope.start" : 34,
+            "key.substructure" : [
+              {
+                "key.annotated_decl" : "ValueType<\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ContentLayoutsStorage.swift",
+                "key.fully_annotated_decl" : "ValueType<\/decl.generic_type_param.name><\/decl.generic_type_param>",
+                "key.kind" : "source.lang.swift.decl.generic_type_param",
+                "key.length" : 9,
+                "key.name" : "ValueType",
+                "key.namelength" : 9,
+                "key.nameoffset" : 740,
+                "key.offset" : 740,
+                "key.parsed_declaration" : "mutating func set (inout ContentLayoutsStorage) -> (ValueType.Type, ValueType) -> ()",
+            "key.typeusr" : "$s_3newyxm_xtcluD",
+            "key.usr" : "s:10ListableUI21ContentLayoutsStorageV3set_3newyxm_xtlF"
+          }
+        ],
+        "key.typename" : "ContentLayoutsStorage.Type",
+        "key.typeusr" : "$s10ListableUI21ContentLayoutsStorageVmD",
+        "key.usr" : "s:10ListableUI21ContentLayoutsStorageV"
+      }
+    ]
+  }
+}, {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 4010,
     "key.offset" : 0,
@@ -4864,7 +5032,7 @@
         "key.substructure" : [
           {
             "key.annotated_decl" : "static let updateContent: OSLog<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
             "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> let<\/syntaxtype.keyword> updateContent<\/decl.name>: OSLog<\/ref.class><\/decl.var.type><\/decl.var.static>",
             "key.kind" : "source.lang.swift.decl.var.static",
             "key.length" : 114,
@@ -4881,7 +5049,7 @@
           },
           {
             "key.annotated_decl" : "static let scrollView: OSLog<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
             "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> let<\/syntaxtype.keyword> scrollView<\/decl.name>: OSLog<\/ref.class><\/decl.var.type><\/decl.var.static>",
             "key.kind" : "source.lang.swift.decl.var.static",
             "key.length" : 115,
@@ -4898,7 +5066,7 @@
           },
           {
             "key.annotated_decl" : "static let listInteraction: OSLog<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
             "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> let<\/syntaxtype.keyword> listInteraction<\/decl.name>: OSLog<\/ref.class><\/decl.var.type><\/decl.var.static>",
             "key.kind" : "source.lang.swift.decl.var.static",
             "key.length" : 121,
@@ -4915,7 +5083,7 @@
           },
           {
             "key.annotated_decl" : "static let stateObserver: OSLog<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
             "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> let<\/syntaxtype.keyword> stateObserver<\/decl.name>: OSLog<\/ref.class><\/decl.var.type><\/decl.var.static>",
             "key.kind" : "source.lang.swift.decl.var.static",
             "key.length" : 125,
@@ -4943,14 +5111,14 @@
         "key.doc.column" : 10,
         "key.doc.comment" : "An object which can be logged to `SignpostLogger`.",
         "key.doc.declaration" : "protocol SignpostLoggable",
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
-        "key.doc.full_as_xml" : "SignpostLoggable<\/Name>s:10ListableUI16SignpostLoggableP<\/USR>protocol SignpostLoggable<\/Declaration>An object which can be logged to SignpostLogger<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
+        "key.doc.full_as_xml" : "SignpostLoggable<\/Name>s:10ListableUI16SignpostLoggableP<\/USR>protocol SignpostLoggable<\/Declaration>An object which can be logged to SignpostLogger<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Class>",
         "key.doc.line" : 36,
         "key.doc.name" : "SignpostLoggable",
         "key.doc.type" : "Class",
         "key.doclength" : 55,
         "key.docoffset" : 685,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
         "key.fully_annotated_decl" : "protocol<\/syntaxtype.keyword> SignpostLoggable<\/decl.name><\/decl.protocol>",
         "key.kind" : "source.lang.swift.decl.protocol",
         "key.length" : 80,
@@ -4967,7 +5135,7 @@
             "key.annotated_decl" : "var signpostInfo: SignpostLoggingInfo<\/Type> { get }<\/Declaration>",
             "key.bodylength" : 5,
             "key.bodyoffset" : 812,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> signpostInfo<\/decl.name>: SignpostLoggingInfo<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 46,
@@ -4995,14 +5163,14 @@
         "key.doc.column" : 8,
         "key.doc.comment" : "The info logged to `SignpostLogger` from a `SignpostLoggable`.",
         "key.doc.declaration" : "struct SignpostLoggingInfo",
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
-        "key.doc.full_as_xml" : "SignpostLoggingInfo<\/Name>s:10ListableUI19SignpostLoggingInfoV<\/USR>struct SignpostLoggingInfo<\/Declaration>The info logged to SignpostLogger<\/codeVoice> from a SignpostLoggable<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
+        "key.doc.full_as_xml" : "SignpostLoggingInfo<\/Name>s:10ListableUI19SignpostLoggingInfoV<\/USR>struct SignpostLoggingInfo<\/Declaration>The info logged to SignpostLogger<\/codeVoice> from a SignpostLoggable<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Class>",
         "key.doc.line" : 42,
         "key.doc.name" : "SignpostLoggingInfo",
         "key.doc.type" : "Class",
         "key.doclength" : 67,
         "key.docoffset" : 823,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
         "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> SignpostLoggingInfo<\/decl.name><\/decl.struct>",
         "key.kind" : "source.lang.swift.decl.struct",
         "key.length" : 96,
@@ -5017,7 +5185,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "var identifier: String<\/Type>?<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> identifier<\/decl.name>: String<\/ref.struct>?<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 24,
@@ -5036,7 +5204,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "var instanceIdentifier: String<\/Type>?<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> instanceIdentifier<\/decl.name>: String<\/ref.struct>?<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 32,
@@ -5073,14 +5241,14 @@
             "Para" : "WWDC 2018: https:\/\/developer.apple.com\/videos\/play\/wwdc2018\/405\/ WWDC 2019: https:\/\/developer.apple.com\/wwdc20\/10168 Swift By Sundell: https:\/\/www.swiftbysundell.com\/wwdc2018\/getting-started-with-signposts\/"
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
-        "key.doc.full_as_xml" : "SignpostLogger<\/Name>s:10ListableUI14SignpostLoggerV<\/USR>struct SignpostLogger<\/Declaration>Signpost logging is logging visible in Instruments.app<\/Para><\/Abstract>Listable utilizes signpost logging to instrument various parts of the list update cycle: Content diffing, Collection View updating, item and header\/footer sizing, etc.<\/Para>]]><\/rawHTML>Resources]]><\/rawHTML>WWDC 2018: https:\/\/developer.apple.com\/videos\/play\/wwdc2018\/405\/ WWDC 2019: https:\/\/developer.apple.com\/wwdc20\/10168 Swift By Sundell: https:\/\/www.swiftbysundell.com\/wwdc2018\/getting-started-with-signposts\/<\/Para><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
+        "key.doc.full_as_xml" : "SignpostLogger<\/Name>s:10ListableUI14SignpostLoggerV<\/USR>struct SignpostLogger<\/Declaration>Signpost logging is logging visible in Instruments.app<\/Para><\/Abstract>Listable utilizes signpost logging to instrument various parts of the list update cycle: Content diffing, Collection View updating, item and header\/footer sizing, etc.<\/Para>]]><\/rawHTML>Resources]]><\/rawHTML>WWDC 2018: https:\/\/developer.apple.com\/videos\/play\/wwdc2018\/405\/ WWDC 2019: https:\/\/developer.apple.com\/wwdc20\/10168 Swift By Sundell: https:\/\/www.swiftbysundell.com\/wwdc2018\/getting-started-with-signposts\/<\/Para><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 61,
         "key.doc.name" : "SignpostLogger",
         "key.doc.type" : "Class",
         "key.doclength" : 506,
         "key.docoffset" : 989,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
         "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> SignpostLogger<\/decl.name><\/decl.struct>",
         "key.kind" : "source.lang.swift.decl.struct",
         "key.length" : 2513,
@@ -5103,14 +5271,14 @@
                 "Para" : "Note that tests will fail while this is set to `false` in `DEBUG`, to ensure this is not accidentally commited as `false`."
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
-            "key.doc.full_as_xml" : "isLoggingEnabled<\/Name>s:10ListableUI14SignpostLoggerV16isLoggingEnabledSbvpZ<\/USR>static let isLoggingEnabled: Bool<\/Declaration>You may temporarily set this param to false<\/codeVoice> to disable os_signpost logging, for example if debugging performance in Instruments.app.<\/Para><\/Abstract>Note that tests will fail while this is set to false<\/codeVoice> in DEBUG<\/codeVoice>, to ensure this is not accidentally commited as false<\/codeVoice>.<\/Para><\/Discussion><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
+            "key.doc.full_as_xml" : "isLoggingEnabled<\/Name>s:10ListableUI14SignpostLoggerV16isLoggingEnabledSbvpZ<\/USR>static let isLoggingEnabled: Bool<\/Declaration>You may temporarily set this param to false<\/codeVoice> to disable os_signpost logging, for example if debugging performance in Instruments.app.<\/Para><\/Abstract>Note that tests will fail while this is set to false<\/codeVoice> in DEBUG<\/codeVoice>, to ensure this is not accidentally commited as false<\/codeVoice>.<\/Para><\/Discussion><\/CommentParts><\/Other>",
             "key.doc.line" : 69,
             "key.doc.name" : "isLoggingEnabled",
             "key.doc.type" : "Other",
             "key.doclength" : 294,
             "key.docoffset" : 1542,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
             "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> let<\/syntaxtype.keyword> isLoggingEnabled<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.static>",
             "key.kind" : "source.lang.swift.decl.var.static",
             "key.length" : 34,
@@ -5140,7 +5308,7 @@
             "key.annotated_decl" : "static func log<Output>(log: OSLog<\/Type>, name: StaticString<\/Type>, for loggable: SignpostLoggable<\/Type>? = nil, _ output: () -> Output<\/Type>) -> Output<\/Type><\/Declaration>",
             "key.bodylength" : 296,
             "key.bodyoffset" : 2082,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
             "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> log<\/decl.name><Output<\/decl.generic_type_param.name><\/decl.generic_type_param>>(log<\/decl.var.parameter.argument_label>: OSLog<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, name<\/decl.var.parameter.argument_label>: StaticString<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, for<\/decl.var.parameter.argument_label> loggable<\/decl.var.parameter.name>: SignpostLoggable<\/ref.protocol>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, _<\/decl.var.parameter.argument_label> output<\/decl.var.parameter.name>: () -> Output<\/ref.generic_type_param><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>) -> Output<\/ref.generic_type_param><\/decl.function.returntype><\/decl.function.method.static>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
             "key.length" : 434,
@@ -5159,7 +5327,7 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "Output<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
                 "key.fully_annotated_decl" : "Output<\/decl.generic_type_param.name><\/decl.generic_type_param>",
                 "key.kind" : "source.lang.swift.decl.generic_type_param",
                 "key.length" : 6,
@@ -5176,7 +5344,7 @@
               },
               {
                 "key.annotated_decl" : "let output: Output<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> output<\/decl.name>: Output<\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 21,
@@ -5201,7 +5369,7 @@
             "key.annotated_decl" : "static func log(_ type: EventType<\/Type>, log: OSLog<\/Type>, name: StaticString<\/Type>, for loggable: SignpostLoggable<\/Type>? = nil)<\/Declaration>",
             "key.bodylength" : 602,
             "key.bodyoffset" : 2503,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
             "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> log<\/decl.name>(_<\/decl.var.parameter.argument_label> type<\/decl.var.parameter.name>: EventType<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>, log<\/decl.var.parameter.argument_label>: OSLog<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, name<\/decl.var.parameter.argument_label>: StaticString<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, for<\/decl.var.parameter.argument_label> loggable<\/decl.var.parameter.name>: SignpostLoggable<\/ref.protocol>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>)<\/decl.function.method.static>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
             "key.length" : 717,
@@ -5229,7 +5397,7 @@
             "key.annotated_decl" : "enum SignpostLogger<\/Type>.EventType<\/Declaration>",
             "key.bodylength" : 310,
             "key.bodyoffset" : 3132,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
             "key.fully_annotated_decl" : "enum<\/syntaxtype.keyword> SignpostLogger<\/ref.struct>.EventType<\/decl.name><\/decl.enum>",
             "key.kind" : "source.lang.swift.decl.enum",
             "key.length" : 327,
@@ -5251,7 +5419,7 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "case begin<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> begin<\/decl.name><\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 5,
@@ -5278,7 +5446,7 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "case event<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> event<\/decl.name><\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 5,
@@ -5305,7 +5473,7 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "case end<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> end<\/decl.name><\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 3,
@@ -5334,7 +5502,7 @@
                 ],
                 "key.bodylength" : 162,
                 "key.bodyoffset" : 3274,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> toSignpostType<\/decl.name>: OSSignpostType<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 200,
@@ -5366,7 +5534,7 @@
             ],
             "key.bodylength" : 468,
             "key.bodyoffset" : 3537,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> debuggingIdentifier<\/decl.name>(for<\/decl.var.parameter.argument_label> loggable<\/decl.var.parameter.name>: SignpostLoggable<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>) -> String<\/ref.struct><\/decl.function.returntype><\/decl.function.method.static>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
             "key.length" : 545,
@@ -5380,7 +5548,7 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let info: SignpostLoggingInfo<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> info<\/decl.name>: SignpostLoggingInfo<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 32,
@@ -5397,7 +5565,7 @@
               },
               {
                 "key.annotated_decl" : "var components: [String<\/Type>]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Debugging and Logging\/SignpostLogger.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> components<\/decl.name>: [String<\/ref.struct>]<\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 27,
@@ -5425,473 +5593,102 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Deprecations.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Deprecations.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
-    "key.length" : 3142,
+    "key.length" : 1526,
     "key.offset" : 0,
     "key.substructure" : [
       {
         "key.kind" : "source.lang.swift.syntaxtype.comment.mark",
         "key.length" : 29,
-        "key.name" : "MARK: Deprecated Jul 15, 2020",
+        "key.name" : "MARK: Deprecated Jan 22, 2021",
         "key.namelength" : 0,
         "key.nameoffset" : 0,
         "key.offset" : 1241
       },
       {
-        "key.accessibility" : "source.lang.swift.accessibility.public",
-        "key.annotated_decl" : "public final class ListView : UIView, KeyboardObserverDelegate<\/Declaration>",
-        "key.attributes" : [
-          {
-            "key.attribute" : "source.decl.attribute.public",
-            "key.length" : 6,
-            "key.offset" : 1275
-          }
-        ],
-        "key.bodylength" : 454,
-        "key.bodyoffset" : 1302,
+        "key.annotated_decl" : "public struct LayoutDescription<\/Declaration>",
+        "key.bodylength" : 220,
+        "key.bodyoffset" : 1304,
+        "key.doc.column" : 15,
         "key.doc.comment" : "\nThis file contains deprecations which have occurred in Listable, for which there are reasonable\nforward-moving defaults (eg, renames), to ease transitions for consumers when they update their library version.\n\nTo add new deprecations and changes:\n------------------------------------\n1) Add a new `MARK: Deprecated ` section for the deprecations you are adding.\n\n2) Add deprecation annotations like so:\n   ```\n   @available(*, deprecated, renamed: \"ItemContent\")\n   public typealias ItemElement = ItemContent\n   ```\n\n   Or, when deprecating properties, add a passthrough like so:\n   ```\n   public extension Item {\n      @available(*, deprecated, renamed: \"content\")\n      var element : Content {\n         self.content\n      }\n   }\n   ```\n\n3) After 1-2 months has passed, mark the previously `deprecated` items as `unavailable`:\n   ```\n   @available(*, unavailable, renamed: \"ItemContent\")\n   ```\n\n4) After another 1-2 months have passed, feel free to remove the `MARK: Deprecated` section you added.",
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
-        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> ListView<\/decl.name> : UIView, KeyboardObserverDelegate<\/decl.class>",
-        "key.kind" : "source.lang.swift.decl.extension",
-        "key.length" : 475,
-        "key.name" : "ListView",
-        "key.namelength" : 8,
-        "key.nameoffset" : 1292,
-        "key.offset" : 1282,
-        "key.parsed_declaration" : "public extension ListView",
-        "key.parsed_scope.end" : 62,
-        "key.parsed_scope.start" : 46,
-        "key.substructure" : [
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.attributes" : [
-              {
-                "key.attribute" : "source.decl.attribute.available",
-                "key.length" : 55,
-                "key.offset" : 1312
-              }
-            ],
-            "key.bodylength" : 26,
-            "key.bodyoffset" : 1423,
-            "key.internal_diagnostic" : "Unavailable in the current compilation context.",
-            "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 78,
-            "key.name" : "setContent(_:)",
-            "key.namelength" : 44,
-            "key.nameoffset" : 1377,
-            "key.offset" : 1372,
-            "key.substructure" : [
-
-            ]
-          },
+        "key.doc.declaration" : "public struct LayoutDescription",
+        "key.doc.discussion" : [
           {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.attributes" : [
-              {
-                "key.attribute" : "source.decl.attribute.available",
-                "key.length" : 55,
-                "key.offset" : 1460
-              }
-            ],
-            "key.bodylength" : 26,
-            "key.bodyoffset" : 1577,
-            "key.internal_diagnostic" : "Unavailable in the current compilation context.",
-            "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 84,
-            "key.name" : "setProperties(with:)",
-            "key.namelength" : 50,
-            "key.nameoffset" : 1525,
-            "key.offset" : 1520,
-            "key.substructure" : [
-
-            ]
+            "Para" : "You use a `LayoutDescription` by passing a closure to its initializer, which you use to customize the `layoutAppearance` of the provided list type."
           },
           {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.attributes" : [
-              {
-                "key.attribute" : "source.decl.attribute.available",
-                "key.length" : 55,
-                "key.offset" : 1614
-              }
-            ],
-            "key.bodylength" : 26,
-            "key.bodyoffset" : 1728,
-            "key.internal_diagnostic" : "Unavailable in the current compilation context.",
-            "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 81,
-            "key.name" : "setProperties(with:)",
-            "key.namelength" : 47,
-            "key.nameoffset" : 1679,
-            "key.offset" : 1674,
-            "key.substructure" : [
-
-            ]
-          }
-        ],
-        "key.typename" : "ListView.Type",
-        "key.typeusr" : "$s10ListableUI8ListViewCmD",
-        "key.usr" : "c:@M@ListableUI@objc(cs)ListView"
-      },
-      {
-        "key.kind" : "source.lang.swift.syntaxtype.comment.mark",
-        "key.length" : 28,
-        "key.name" : "MARK: Deprecated Jul 1, 2020",
-        "key.namelength" : 0,
-        "key.nameoffset" : 0,
-        "key.offset" : 1765
-      },
-      {
-        "key.accessibility" : "source.lang.swift.accessibility.public",
-        "key.annotated_decl" : "public struct Section<\/Declaration>",
-        "key.attributes" : [
-          {
-            "key.attribute" : "source.decl.attribute.public",
-            "key.length" : 6,
-            "key.offset" : 1798
-          }
-        ],
-        "key.bodylength" : 200,
-        "key.bodyoffset" : 1824,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
-        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> Section<\/decl.name><\/decl.struct>",
-        "key.kind" : "source.lang.swift.decl.extension",
-        "key.length" : 220,
-        "key.name" : "Section",
-        "key.namelength" : 7,
-        "key.nameoffset" : 1815,
-        "key.offset" : 1805,
-        "key.parsed_declaration" : "public extension Section",
-        "key.parsed_scope.end" : 77,
-        "key.parsed_scope.start" : 68,
-        "key.substructure" : [
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.attributes" : [
-              {
-                "key.attribute" : "source.decl.attribute.available",
-                "key.length" : 61,
-                "key.offset" : 1830
-              }
-            ],
-            "key.bodylength" : 26,
-            "key.bodyoffset" : 1996,
-            "key.internal_diagnostic" : "Unavailable in the current compilation context.",
-            "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 127,
-            "key.name" : "init(identifier:build:)",
-            "key.namelength" : 98,
-            "key.nameoffset" : 1896,
-            "key.offset" : 1896,
-            "key.substructure" : [
-              {
-                "key.annotated_decl" : "Identifier : Hashable<\/Type><\/Declaration>",
-                "key.elements" : [
-                  {
-                    "key.kind" : "source.lang.swift.structure.elem.typeref",
-                    "key.length" : 8,
-                    "key.offset" : 1912
-                  }
-                ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Deprecations.swift",
-                "key.fully_annotated_decl" : "Identifier<\/decl.generic_type_param.name> : Hashable<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
-                "key.inheritedtypes" : [
-                  {
-                    "key.name" : "Hashable"
-                  }
-                ],
-                "key.kind" : "source.lang.swift.decl.generic_type_param",
-                "key.length" : 19,
-                "key.name" : "Identifier",
-                "key.namelength" : 10,
-                "key.nameoffset" : 1901,
-                "key.offset" : 1901,
-                "key.parsed_declaration" : "initpublic struct Item<Content> : AnyItem where Content : ItemContent<\/Type><\/Declaration>",
-        "key.attributes" : [
-          {
-            "key.attribute" : "source.decl.attribute.public",
-            "key.length" : 6,
-            "key.offset" : 2538
+            "Para" : "Under the hood, Listable is smart, and will only re-create the underlying layout object when needed (when the layout type or layout appearance changes)."
           }
         ],
-        "key.bodylength" : 107,
-        "key.bodyoffset" : 2561,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item.swift",
-        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> Item<\/decl.name><Content<\/decl.generic_type_param.name><\/decl.generic_type_param>> : AnyItem where<\/syntaxtype.keyword> Content : ItemContent<\/ref.protocol><\/decl.generic_type_requirement><\/decl.struct>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
+        "key.doc.full_as_xml" : "LayoutDescription<\/Name>s:10ListableUI17LayoutDescriptionV<\/USR>public struct LayoutDescription<\/Declaration>A LayoutDescription<\/codeVoice>, well, describes the type of and properties of a layout to apply to a list view.<\/Para><\/Abstract>You use a LayoutDescription<\/codeVoice> by passing a closure to its initializer, which you use to customize the layoutAppearance<\/codeVoice> of the provided list type.<\/Para>For example, to use a standard list layout, and customize the layout, your code would look something like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>Or a layout for your own custom layout type would look somewhat like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>]]><\/rawHTML>Note]]><\/rawHTML>Under the hood, Listable is smart, and will only re-create the underlying layout object when needed (when the layout type or layout appearance changes).<\/Para><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.line" : 42,
+        "key.doc.name" : "LayoutDescription",
+        "key.doc.type" : "Class",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
+        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> LayoutDescription<\/decl.name><\/decl.struct>",
         "key.kind" : "source.lang.swift.decl.extension",
-        "key.length" : 124,
-        "key.name" : "Item",
-        "key.namelength" : 4,
-        "key.nameoffset" : 2555,
-        "key.offset" : 2545,
-        "key.parsed_declaration" : "public extension Item",
-        "key.parsed_scope.end" : 101,
-        "key.parsed_scope.start" : 96,
+        "key.length" : 250,
+        "key.name" : "LayoutDescription",
+        "key.namelength" : 17,
+        "key.nameoffset" : 1285,
+        "key.offset" : 1275,
+        "key.parsed_declaration" : "extension LayoutDescription",
+        "key.parsed_scope.end" : 53,
+        "key.parsed_scope.start" : 46,
         "key.substructure" : [
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
             "key.attributes" : [
               {
-                "key.attribute" : "source.decl.attribute.available",
-                "key.length" : 46,
-                "key.offset" : 2566
-              }
-            ],
-            "key.bodylength" : 26,
-            "key.bodyoffset" : 2640,
-            "key.internal_diagnostic" : "Unavailable in the current compilation context.",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 50,
-            "key.name" : "element",
-            "key.namelength" : 7,
-            "key.nameoffset" : 2621,
-            "key.offset" : 2617,
-            "key.typename" : "Content"
-          }
-        ],
-        "key.typename" : "Item.Type",
-        "key.typeusr" : "$s10ListableUI4ItemVyxGmD",
-        "key.usr" : "s:10ListableUI4ItemV"
-      },
-      {
-        "key.accessibility" : "source.lang.swift.accessibility.public",
-        "key.attributes" : [
-          {
-            "key.attribute" : "source.decl.attribute.public",
-            "key.length" : 6,
-            "key.offset" : 2730
-          },
-          {
-            "key.attribute" : "source.decl.attribute.available",
-            "key.length" : 58,
-            "key.offset" : 2671
-          }
-        ],
-        "key.internal_diagnostic" : "Unavailable in the current compilation context.",
-        "key.kind" : "source.lang.swift.decl.typealias",
-        "key.length" : 51,
-        "key.name" : "HeaderFooterElement",
-        "key.namelength" : 19,
-        "key.nameoffset" : 2747,
-        "key.offset" : 2737
-      },
-      {
-        "key.accessibility" : "source.lang.swift.accessibility.public",
-        "key.annotated_decl" : "public struct HeaderFooter<Content> : AnyHeaderFooter where Content : HeaderFooterContent<\/Type><\/Declaration>",
-        "key.attributes" : [
-          {
-            "key.attribute" : "source.decl.attribute.public",
-            "key.length" : 6,
-            "key.offset" : 2790
-          }
-        ],
-        "key.bodylength" : 107,
-        "key.bodyoffset" : 2821,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooter.swift",
-        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> HeaderFooter<\/decl.name><Content<\/decl.generic_type_param.name><\/decl.generic_type_param>> : AnyHeaderFooter where<\/syntaxtype.keyword> Content : HeaderFooterContent<\/ref.protocol><\/decl.generic_type_requirement><\/decl.struct>",
-        "key.kind" : "source.lang.swift.decl.extension",
-        "key.length" : 132,
-        "key.name" : "HeaderFooter",
-        "key.namelength" : 12,
-        "key.nameoffset" : 2807,
-        "key.offset" : 2797,
-        "key.parsed_declaration" : "public extension HeaderFooter",
-        "key.parsed_scope.end" : 111,
-        "key.parsed_scope.start" : 106,
-        "key.substructure" : [
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.attributes" : [
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 1358
+              },
               {
                 "key.attribute" : "source.decl.attribute.available",
-                "key.length" : 46,
-                "key.offset" : 2826
+                "key.length" : 44,
+                "key.offset" : 1309
               }
             ],
-            "key.bodylength" : 26,
-            "key.bodyoffset" : 2900,
+            "key.bodylength" : 61,
+            "key.bodyoffset" : 1461,
             "key.internal_diagnostic" : "Unavailable in the current compilation context.",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 50,
-            "key.name" : "element",
-            "key.namelength" : 7,
-            "key.nameoffset" : 2881,
-            "key.offset" : 2877,
-            "key.typename" : "Content"
-          }
-        ],
-        "key.typename" : "HeaderFooter.Type",
-        "key.typeusr" : "$s10ListableUI12HeaderFooterVyxGmD",
-        "key.usr" : "s:10ListableUI12HeaderFooterV"
-      },
-      {
-        "key.accessibility" : "source.lang.swift.accessibility.public",
-        "key.annotated_decl" : "public struct Content<\/Declaration>",
-        "key.attributes" : [
-          {
-            "key.attribute" : "source.decl.attribute.public",
-            "key.length" : 6,
-            "key.offset" : 2931
-          }
-        ],
-        "key.bodylength" : 183,
-        "key.bodyoffset" : 2957,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Content.swift",
-        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> Content<\/decl.name><\/decl.struct>",
-        "key.kind" : "source.lang.swift.decl.extension",
-        "key.length" : 203,
-        "key.name" : "Content",
-        "key.namelength" : 7,
-        "key.nameoffset" : 2948,
-        "key.offset" : 2938,
-        "key.parsed_declaration" : "public extension Content",
-        "key.parsed_scope.end" : 118,
-        "key.parsed_scope.start" : 113,
-        "key.substructure" : [
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.attributes" : [
-              {
-                "key.attribute" : "source.decl.attribute.available",
-                "key.length" : 101,
-                "key.offset" : 2962
-              }
+            "key.kind" : "source.lang.swift.decl.function.method.static",
+            "key.length" : 158,
+            "key.name" : "list(_:)",
+            "key.namelength" : 70,
+            "key.nameoffset" : 1377,
+            "key.offset" : 1365,
+            "key.substructure" : [
+
             ],
-            "key.bodylength" : 26,
-            "key.bodyoffset" : 3112,
-            "key.internal_diagnostic" : "Unavailable in the current compilation context.",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 71,
-            "key.name" : "selectionMode",
-            "key.namelength" : 13,
-            "key.nameoffset" : 3072,
-            "key.offset" : 3068,
-            "key.typename" : "Behavior.SelectionMode"
+            "key.typename" : "Self"
           }
         ],
-        "key.typename" : "Content.Type",
-        "key.typeusr" : "$s10ListableUI7ContentVmD",
-        "key.usr" : "s:10ListableUI7ContentV"
+        "key.typename" : "LayoutDescription.Type",
+        "key.typeusr" : "$s10ListableUI17LayoutDescriptionVmD",
+        "key.usr" : "s:10ListableUI17LayoutDescriptionV"
       }
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/EmbeddedList.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/EmbeddedList.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
-    "key.length" : 3955,
+    "key.length" : 4028,
     "key.offset" : 0,
     "key.substructure" : [
       {
@@ -5904,50 +5701,50 @@
             "key.offset" : 92
           }
         ],
-        "key.bodylength" : 928,
+        "key.bodylength" : 1000,
         "key.bodyoffset" : 145,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/Item.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> Item<\/decl.name><Content<\/decl.generic_type_param.name><\/decl.generic_type_param>> : AnyItem where<\/syntaxtype.keyword> Content : ItemContent<\/ref.protocol><\/decl.generic_type_requirement><\/decl.struct>",
         "key.kind" : "source.lang.swift.decl.extension",
-        "key.length" : 975,
+        "key.length" : 1047,
         "key.name" : "Item",
         "key.namelength" : 4,
         "key.nameoffset" : 109,
         "key.offset" : 99,
         "key.parsed_declaration" : "public extension Item where Content == EmbeddedList",
-        "key.parsed_scope.end" : 42,
+        "key.parsed_scope.end" : 46,
         "key.parsed_scope.start" : 9,
         "key.substructure" : [
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
             "key.annotated_decl" : "static func list<Identifier>(_ identifier: Identifier<\/Type>, sizing: EmbeddedList<\/Type>.Sizing<\/Type>, build: ListProperties<\/Type>.Build<\/Type>) -> Item<\/Type><EmbeddedList<\/Type>> where Identifier : Hashable<\/Type><\/Declaration>",
-            "key.bodylength" : 183,
-            "key.bodyoffset" : 888,
+            "key.bodylength" : 254,
+            "key.bodyoffset" : 889,
             "key.doc.column" : 17,
-            "key.doc.comment" : "Creates an `Item` which can be used to embed a list inside another list,\nfor example if you'd like to place a horizontally scrollable list within a vertically scrolling\nlist, or vice versa.\n\n```\nsection += .list(\n    \"my-identifier\",\n    sizing: .fixed(height: 200)\n) { list in\n\n    list.layout = .list {\n        $0.direction = .horizontal\n    }\n\n    list += Section(\"section-id\") {\n        ...\n    }\n}\n```",
+            "key.doc.comment" : "Creates an `Item` which can be used to embed a list inside another list,\nfor example if you'd like to place a horizontally scrollable list within a vertically scrolling\nlist, or vice versa.\n\n```\nsection += .list(\n    \"my-identifier\",\n    sizing: .fixed(height: 200)\n) { list in\n\n    list.layout = .table {\n        $0.direction = .horizontal\n    }\n\n    list += Section(\"section-id\") {\n        ...\n    }\n}\n```",
             "key.doc.declaration" : "static func list(_ identifier: Identifier, sizing: EmbeddedList.Sizing, build: ListProperties.Build) -> Item where Identifier : Hashable",
             "key.doc.discussion" : [
               {
                 "CodeListing" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/EmbeddedList.swift",
-            "key.doc.full_as_xml" : "list(_:sizing:build:)<\/Name>s:10ListableUI4ItemVA2A12EmbeddedListVRszrlE4list_6sizing5buildACyAEGqd___AE6SizingOyAA0E10PropertiesVzXEtSHRd__lFZ<\/USR>static func list<Identifier>(_ identifier: Identifier, sizing: EmbeddedList.Sizing, build: ListProperties.Build) -> Item<EmbeddedList> where Identifier : Hashable<\/Declaration>Creates an Item<\/codeVoice> which can be used to embed a list inside another list, for example if you’d like to place a horizontally scrollable list within a vertically scrolling list, or vice versa.<\/Para><\/Abstract><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/EmbeddedList.swift",
+            "key.doc.full_as_xml" : "list(_:sizing:build:)<\/Name>s:10ListableUI4ItemVA2A12EmbeddedListVRszrlE4list_6sizing5buildACyAEGqd___AE6SizingOyAA0E10PropertiesVzXEtSHRd__lFZ<\/USR>static func list<Identifier>(_ identifier: Identifier, sizing: EmbeddedList.Sizing, build: ListProperties.Build) -> Item<EmbeddedList> where Identifier : Hashable<\/Declaration>Creates an Item<\/codeVoice> which can be used to embed a list inside another list, for example if you’d like to place a horizontally scrollable list within a vertically scrolling list, or vice versa.<\/Para><\/Abstract><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 30,
             "key.doc.name" : "list(_:sizing:build:)",
             "key.doc.type" : "Function",
-            "key.doclength" : 552,
+            "key.doclength" : 553,
             "key.docoffset" : 150,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/EmbeddedList.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/EmbeddedList.swift",
             "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> list<\/decl.name><Identifier<\/decl.generic_type_param.name><\/decl.generic_type_param>>(_<\/decl.var.parameter.argument_label> identifier<\/decl.var.parameter.name>: Identifier<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, sizing<\/decl.var.parameter.argument_label>: EmbeddedList<\/ref.struct>.Sizing<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>, build<\/decl.var.parameter.argument_label>: ListProperties<\/ref.struct>.Build<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>) -> Item<\/ref.struct><EmbeddedList<\/ref.struct>><\/decl.function.returntype> where<\/syntaxtype.keyword> Identifier : Hashable<\/ref.protocol><\/decl.generic_type_requirement><\/decl.function.method.static>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
-            "key.length" : 366,
+            "key.length" : 437,
             "key.name" : "list(_:sizing:build:)",
             "key.namelength" : 142,
-            "key.nameoffset" : 718,
-            "key.offset" : 706,
+            "key.nameoffset" : 719,
+            "key.offset" : 707,
             "key.parsed_declaration" : "static func list(\n    _ identifier : Identifier,\n    sizing : EmbeddedList.Sizing,\n    build : ListProperties.Build\n) -> Item",
-            "key.parsed_scope.end" : 41,
+            "key.parsed_scope.end" : 45,
             "key.parsed_scope.start" : 30,
             "key.substructure" : [
               {
@@ -5956,10 +5753,10 @@
                   {
                     "key.kind" : "source.lang.swift.structure.elem.typeref",
                     "key.length" : 8,
-                    "key.offset" : 734
+                    "key.offset" : 735
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/EmbeddedList.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/EmbeddedList.swift",
                 "key.fully_annotated_decl" : "Identifier<\/decl.generic_type_param.name> : Hashable<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
                 "key.inheritedtypes" : [
                   {
@@ -5970,8 +5767,8 @@
                 "key.length" : 19,
                 "key.name" : "Identifier",
                 "key.namelength" : 10,
-                "key.nameoffset" : 723,
-                "key.offset" : 723,
+                "key.nameoffset" : 724,
+                "key.offset" : 724,
                 "key.parsed_declaration" : "static func listEmbeddedList<\/Name>s:10ListableUI12EmbeddedListV<\/USR>public struct EmbeddedList : ItemContent<\/Declaration>Describes item content which can be used to embed a list inside another list, for example if you’d like to place a horizontally scrollable list within a vertically scrolling list, or vice versa.<\/Para><\/Abstract>You rarely use this type directly. Instead, use the static .list<\/codeVoice> function on Item<\/codeVoice>.<\/Para>Internal TODO: This should use a coordinator to manage the scroll position of the contained list during cell reuse.<\/Para><\/Discussion><\/CommentParts><\/Class>",
-        "key.doc.line" : 54,
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/EmbeddedList.swift",
+        "key.doc.full_as_xml" : "EmbeddedList<\/Name>s:10ListableUI12EmbeddedListV<\/USR>public struct EmbeddedList : ItemContent<\/Declaration>Describes item content which can be used to embed a list inside another list, for example if you’d like to place a horizontally scrollable list within a vertically scrolling list, or vice versa.<\/Para><\/Abstract>You rarely use this type directly. Instead, use the static .list<\/codeVoice> function on Item<\/codeVoice>.<\/Para>Internal TODO: This should use a coordinator to manage the scroll position of the contained list during cell reuse.<\/Para><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.line" : 58,
         "key.doc.name" : "EmbeddedList",
         "key.doc.type" : "Class",
         "key.doclength" : 434,
-        "key.docoffset" : 1077,
+        "key.docoffset" : 1149,
         "key.elements" : [
           {
             "key.kind" : "source.lang.swift.structure.elem.typeref",
             "key.length" : 11,
-            "key.offset" : 1540
+            "key.offset" : 1612
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/EmbeddedList.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/EmbeddedList.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> EmbeddedList<\/decl.name> : ItemContent<\/ref.protocol><\/decl.struct>",
         "key.inheritedtypes" : [
           {
@@ -6034,14 +5831,14 @@
           }
         ],
         "key.kind" : "source.lang.swift.decl.struct",
-        "key.length" : 1447,
+        "key.length" : 1448,
         "key.name" : "EmbeddedList",
         "key.namelength" : 12,
-        "key.nameoffset" : 1525,
-        "key.offset" : 1518,
+        "key.nameoffset" : 1597,
+        "key.offset" : 1590,
         "key.parsed_declaration" : "public struct EmbeddedList : ItemContent",
-        "key.parsed_scope.end" : 110,
-        "key.parsed_scope.start" : 54,
+        "key.parsed_scope.end" : 114,
+        "key.parsed_scope.start" : 58,
         "key.substructure" : [
           {
             "key.kind" : "source.lang.swift.syntaxtype.comment.mark",
@@ -6049,7 +5846,7 @@
             "key.name" : "MARK: Public Properties",
             "key.namelength" : 0,
             "key.nameoffset" : 0,
-            "key.offset" : 1568
+            "key.offset" : 1640
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
@@ -6058,20 +5855,20 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 1608
+                "key.offset" : 1680
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/EmbeddedList.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/EmbeddedList.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> properties<\/decl.name>: ListProperties<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 31,
             "key.name" : "properties",
             "key.namelength" : 10,
-            "key.nameoffset" : 1619,
-            "key.offset" : 1615,
+            "key.nameoffset" : 1691,
+            "key.offset" : 1687,
             "key.parsed_declaration" : "public var properties : ListProperties",
-            "key.parsed_scope.end" : 60,
-            "key.parsed_scope.start" : 60,
+            "key.parsed_scope.end" : 64,
+            "key.parsed_scope.start" : 64,
             "key.setter_accessibility" : "source.lang.swift.accessibility.public",
             "key.typename" : "ListProperties",
             "key.typeusr" : "$s10ListableUI14ListPropertiesVD",
@@ -6084,20 +5881,20 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 1651
+                "key.offset" : 1723
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/EmbeddedList.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/EmbeddedList.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> contentIdentifier<\/decl.name>: AnyHashable<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 35,
             "key.name" : "contentIdentifier",
             "key.namelength" : 17,
-            "key.nameoffset" : 1662,
-            "key.offset" : 1658,
+            "key.nameoffset" : 1734,
+            "key.offset" : 1730,
             "key.parsed_declaration" : "public var contentIdentifier : AnyHashable",
-            "key.parsed_scope.end" : 61,
-            "key.parsed_scope.start" : 61,
+            "key.parsed_scope.end" : 65,
+            "key.parsed_scope.start" : 65,
             "key.setter_accessibility" : "source.lang.swift.accessibility.public",
             "key.typename" : "AnyHashable",
             "key.typeusr" : "$ss11AnyHashableVD",
@@ -6109,7 +5906,7 @@
             "key.name" : "MARK: Initialization",
             "key.namelength" : 0,
             "key.nameoffset" : 0,
-            "key.offset" : 1713
+            "key.offset" : 1785
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
@@ -6118,22 +5915,22 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 1750
+                "key.offset" : 1822
               }
             ],
-            "key.bodylength" : 500,
-            "key.bodyoffset" : 1843,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/EmbeddedList.swift",
+            "key.bodylength" : 501,
+            "key.bodyoffset" : 1915,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/EmbeddedList.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword><Identifier<\/decl.generic_type_param.name><\/decl.generic_type_param>>(identifier<\/decl.var.parameter.argument_label>: Identifier<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, build<\/decl.var.parameter.argument_label>: ListProperties<\/ref.struct>.Build<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>) where<\/syntaxtype.keyword> Identifier : Hashable<\/ref.protocol><\/decl.generic_type_requirement><\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 587,
+            "key.length" : 588,
             "key.name" : "init(identifier:build:)",
             "key.namelength" : 80,
-            "key.nameoffset" : 1757,
-            "key.offset" : 1757,
+            "key.nameoffset" : 1829,
+            "key.offset" : 1829,
             "key.parsed_declaration" : "public init(identifier : Identifier, build : ListProperties.Build)",
-            "key.parsed_scope.end" : 84,
-            "key.parsed_scope.start" : 67,
+            "key.parsed_scope.end" : 88,
+            "key.parsed_scope.start" : 71,
             "key.substructure" : [
               {
                 "key.annotated_decl" : "Identifier : Hashable<\/Type><\/Declaration>",
@@ -6141,10 +5938,10 @@
                   {
                     "key.kind" : "source.lang.swift.structure.elem.typeref",
                     "key.length" : 8,
-                    "key.offset" : 1773
+                    "key.offset" : 1845
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/EmbeddedList.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/EmbeddedList.swift",
                 "key.fully_annotated_decl" : "Identifier<\/decl.generic_type_param.name> : Hashable<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
                 "key.inheritedtypes" : [
                   {
@@ -6155,11 +5952,11 @@
                 "key.length" : 19,
                 "key.name" : "Identifier",
                 "key.namelength" : 10,
-                "key.nameoffset" : 1762,
-                "key.offset" : 1762,
+                "key.nameoffset" : 1834,
+                "key.offset" : 1834,
                 "key.parsed_declaration" : "public initContentView<\/Name>s:10ListableUI11ItemContentP0D4ViewQa<\/USR>associatedtype ContentView : UIView<\/Declaration>The content view used to draw the content. The content view is drawn at the top of the view hierarchy, above the background views.<\/Para><\/Abstract>This documentation comment was inherited from ItemContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.doc.full_as_xml" : "ContentView<\/Name>s:10ListableUI11ItemContentP0D4ViewQa<\/USR>associatedtype ContentView : UIView<\/Declaration>The content view used to draw the content. The content view is drawn at the top of the view hierarchy, above the background views.<\/Para><\/Abstract>This documentation comment was inherited from ItemContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Other>",
             "key.doc.line" : 121,
             "key.doc.name" : "ContentView",
             "key.doc.type" : "Other",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/EmbeddedList.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/EmbeddedList.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> typealias<\/syntaxtype.keyword> EmbeddedList<\/ref.struct>.ContentView<\/decl.name> = ListView<\/ref.class><\/decl.typealias>",
             "key.kind" : "source.lang.swift.decl.typealias",
             "key.length" : 32,
             "key.name" : "ContentView",
             "key.namelength" : 11,
-            "key.nameoffset" : 2419,
-            "key.offset" : 2409,
+            "key.nameoffset" : 2492,
+            "key.offset" : 2482,
             "key.overrides" : [
               {
                 "key.usr" : "s:10ListableUI11ItemContentP0D4ViewQa"
               }
             ],
             "key.parsed_declaration" : "public typealias ContentView = ListView",
-            "key.parsed_scope.end" : 90,
-            "key.parsed_scope.start" : 90,
+            "key.parsed_scope.end" : 94,
+            "key.parsed_scope.start" : 94,
             "key.typename" : "ListView.Type",
             "key.typeusr" : "$s10ListableUI8ListViewCmD",
             "key.usr" : "s:10ListableUI11ItemContentP0D4ViewQa"
@@ -6226,11 +6023,11 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 2451
+                "key.offset" : 2524
               }
             ],
             "key.bodylength" : 50,
-            "key.bodyoffset" : 2500,
+            "key.bodyoffset" : 2573,
             "key.doc.column" : 9,
             "key.doc.declaration" : "var identifier: Identifier { get }",
             "key.doc.discussion" : [
@@ -6244,27 +6041,27 @@
                 "Note" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-            "key.doc.full_as_xml" : "identifier<\/Name>s:10ListableUI11ItemContentP10identifierAA10IdentifierCyxGvp<\/USR>var identifier: Identifier<Self> { get }<\/Declaration>Identifies the content across updates to the list. This value must remain the same, otherwise the content will be considered a new item, and the old one removed from the list.<\/Para><\/Abstract>Does not have to be globally unique – the list will make a “best guess” if there are multiple items with the same identifier. However, diffing of changes will be more correct with a unique identifier.<\/Para>If you’re backing your content with some sort of client or server-provided data, consider using its server or client UUID here, or some other unique identifier from the underlying data model.<\/Para>This documentation comment was inherited from ItemContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.doc.full_as_xml" : "identifier<\/Name>s:10ListableUI11ItemContentP10identifierAA10IdentifierCyxGvp<\/USR>var identifier: Identifier<Self> { get }<\/Declaration>Identifies the content across updates to the list. This value must remain the same, otherwise the content will be considered a new item, and the old one removed from the list.<\/Para><\/Abstract>Does not have to be globally unique – the list will make a “best guess” if there are multiple items with the same identifier. However, diffing of changes will be more correct with a unique identifier.<\/Para>If you’re backing your content with some sort of client or server-provided data, consider using its server or client UUID here, or some other unique identifier from the underlying data model.<\/Para>This documentation comment was inherited from ItemContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Other>",
             "key.doc.line" : 54,
             "key.doc.name" : "identifier",
             "key.doc.type" : "Other",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/EmbeddedList.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/EmbeddedList.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> identifier<\/decl.name>: Identifier<\/ref.class><EmbeddedList<\/ref.struct>><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 93,
             "key.name" : "identifier",
             "key.namelength" : 10,
-            "key.nameoffset" : 2462,
-            "key.offset" : 2458,
+            "key.nameoffset" : 2535,
+            "key.offset" : 2531,
             "key.overrides" : [
               {
                 "key.usr" : "s:10ListableUI11ItemContentP10identifierAA10IdentifierCyxGvp"
               }
             ],
             "key.parsed_declaration" : "public var identifier: Identifier",
-            "key.parsed_scope.end" : 94,
-            "key.parsed_scope.start" : 92,
+            "key.parsed_scope.end" : 98,
+            "key.parsed_scope.start" : 96,
             "key.typename" : "Identifier",
             "key.typeusr" : "$s10ListableUI10IdentifierCyAA12EmbeddedListVGD",
             "key.usr" : "s:10ListableUI11ItemContentP10identifierAA10IdentifierCyxGvp"
@@ -6276,11 +6073,11 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 2561
+                "key.offset" : 2634
               }
             ],
             "key.bodylength" : 60,
-            "key.bodyoffset" : 2678,
+            "key.bodyoffset" : 2751,
             "key.doc.column" : 10,
             "key.doc.declaration" : "func apply(to views: ItemContentViews, for reason: ApplyReason, with info: ApplyItemContentInfo)",
             "key.doc.discussion" : [
@@ -6291,27 +6088,27 @@
                 "Note" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-            "key.doc.full_as_xml" : "apply(to:for:with:)<\/Name>s:10ListableUI11ItemContentP5apply2to3for4withyAA0cD5ViewsVyxG_AA11ApplyReasonOAA0jcD4InfoVtF<\/USR>func apply(to views: ItemContentViews<Self>, for reason: ApplyReason, with info: ApplyItemContentInfo)<\/Declaration>Called when rendering the content. This is where you should push data from your content into the passed in views.<\/Para><\/Abstract>Do not retain a reference to the passed in views – they are reused by the list.<\/Para>This documentation comment was inherited from ItemContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.doc.full_as_xml" : "apply(to:for:with:)<\/Name>s:10ListableUI11ItemContentP5apply2to3for4withyAA0cD5ViewsVyxG_AA11ApplyReasonOAA0jcD4InfoVtF<\/USR>func apply(to views: ItemContentViews<Self>, for reason: ApplyReason, with info: ApplyItemContentInfo)<\/Declaration>Called when rendering the content. This is where you should push data from your content into the passed in views.<\/Para><\/Abstract>Do not retain a reference to the passed in views – they are reused by the list.<\/Para>This documentation comment was inherited from ItemContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 74,
             "key.doc.name" : "apply(to:for:with:)",
             "key.doc.type" : "Function",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/EmbeddedList.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/EmbeddedList.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> apply<\/decl.name>(to<\/decl.var.parameter.argument_label> views<\/decl.var.parameter.name>: ItemContentViews<\/ref.struct><`Self`><\/decl.var.parameter.type><\/decl.var.parameter>, for<\/decl.var.parameter.argument_label> reason<\/decl.var.parameter.name>: ApplyReason<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>, with<\/decl.var.parameter.argument_label> info<\/decl.var.parameter.name>: ApplyItemContentInfo<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 171,
             "key.name" : "apply(to:for:with:)",
             "key.namelength" : 99,
-            "key.nameoffset" : 2573,
-            "key.offset" : 2568,
+            "key.nameoffset" : 2646,
+            "key.offset" : 2641,
             "key.overrides" : [
               {
                 "key.usr" : "s:10ListableUI11ItemContentP5apply2to3for4withyAA0cD5ViewsVyxG_AA11ApplyReasonOAA0jcD4InfoVtF"
               }
             ],
             "key.parsed_declaration" : "public func apply(to views : ItemContentViews, for reason: ApplyReason, with info : ApplyItemContentInfo)",
-            "key.parsed_scope.end" : 99,
-            "key.parsed_scope.start" : 96,
+            "key.parsed_scope.end" : 103,
+            "key.parsed_scope.start" : 100,
             "key.substructure" : [
 
             ],
@@ -6326,11 +6123,11 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 2749
+                "key.offset" : 2822
               }
             ],
             "key.bodylength" : 26,
-            "key.bodyoffset" : 2811,
+            "key.bodyoffset" : 2884,
             "key.doc.column" : 10,
             "key.doc.declaration" : "func isEquivalent(to other: Self) -> Bool",
             "key.doc.discussion" : [
@@ -6344,27 +6141,27 @@
                 "Note" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-            "key.doc.full_as_xml" : "isEquivalent(to:)<\/Name>s:10ListableUI11ItemContentP12isEquivalent2toSbx_tF<\/USR>func isEquivalent(to other: Self) -> Bool<\/Declaration>Return false if the content’ changed based on the old value passed into the function.<\/Para><\/Abstract>If this method returns false, the row representing the content is reloaded.<\/Para>]]><\/rawHTML>Note]]><\/rawHTML>There is a default implementation of this method when ItemContent <\/codeVoice> conforms to Equatable<\/codeVoice> which returns self == other<\/codeVoice>.<\/Para>This documentation comment was inherited from ItemContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.doc.full_as_xml" : "isEquivalent(to:)<\/Name>s:10ListableUI11ItemContentP12isEquivalent2toSbx_tF<\/USR>func isEquivalent(to other: Self) -> Bool<\/Declaration>Return false if the content’ changed based on the old value passed into the function.<\/Para><\/Abstract>If this method returns false, the row representing the content is reloaded.<\/Para>]]><\/rawHTML>Note]]><\/rawHTML>There is a default implementation of this method when ItemContent <\/codeVoice> conforms to Equatable<\/codeVoice> which returns self == other<\/codeVoice>.<\/Para>This documentation comment was inherited from ItemContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 105,
             "key.doc.name" : "isEquivalent(to:)",
             "key.doc.type" : "Function",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/EmbeddedList.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/EmbeddedList.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> isEquivalent<\/decl.name>(to<\/decl.var.parameter.argument_label> other<\/decl.var.parameter.name>: EmbeddedList<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 82,
             "key.name" : "isEquivalent(to:)",
             "key.namelength" : 36,
-            "key.nameoffset" : 2761,
-            "key.offset" : 2756,
+            "key.nameoffset" : 2834,
+            "key.offset" : 2829,
             "key.overrides" : [
               {
                 "key.usr" : "s:10ListableUI11ItemContentP12isEquivalent2toSbx_tF"
               }
             ],
             "key.parsed_declaration" : "public func isEquivalent(to other: EmbeddedList) -> Bool",
-            "key.parsed_scope.end" : 104,
-            "key.parsed_scope.start" : 101,
+            "key.parsed_scope.end" : 108,
+            "key.parsed_scope.start" : 105,
             "key.substructure" : [
 
             ],
@@ -6379,11 +6176,11 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 2848
+                "key.offset" : 2921
               }
             ],
             "key.bodylength" : 36,
-            "key.bodyoffset" : 2926,
+            "key.bodyoffset" : 2999,
             "key.doc.column" : 17,
             "key.doc.declaration" : "static func createReusableContentView(frame: CGRect) -> ContentView",
             "key.doc.discussion" : [
@@ -6394,27 +6191,27 @@
                 "Note" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-            "key.doc.full_as_xml" : "createReusableContentView(frame:)<\/Name>s:10ListableUI11ItemContentP014createReusableD4View5frame0dG0QzSo6CGRectV_tFZ<\/USR>static func createReusableContentView(frame: CGRect) -> ContentView<\/Declaration>Create and return a new content view used to render the content.<\/Para><\/Abstract>]]><\/rawHTML>Note]]><\/rawHTML>Do not do configuration in this method that will be changed by your view’s theme or appearance – instead do that work in apply(to:)<\/codeVoice>, so the appearance will be updated if the appearance of content changes.<\/Para>This documentation comment was inherited from ItemContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.doc.full_as_xml" : "createReusableContentView(frame:)<\/Name>s:10ListableUI11ItemContentP014createReusableD4View5frame0dG0QzSo6CGRectV_tFZ<\/USR>static func createReusableContentView(frame: CGRect) -> ContentView<\/Declaration>Create and return a new content view used to render the content.<\/Para><\/Abstract>]]><\/rawHTML>Note]]><\/rawHTML>Do not do configuration in this method that will be changed by your view’s theme or appearance – instead do that work in apply(to:)<\/codeVoice>, so the appearance will be updated if the appearance of content changes.<\/Para>This documentation comment was inherited from ItemContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 130,
             "key.doc.name" : "createReusableContentView(frame:)",
             "key.doc.type" : "Function",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/EmbeddedList.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/EmbeddedList.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> createReusableContentView<\/decl.name>(frame<\/decl.var.parameter.argument_label>: CGRect<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ListView<\/ref.class><\/decl.function.returntype><\/decl.function.method.static>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
             "key.length" : 108,
             "key.name" : "createReusableContentView(frame:)",
             "key.namelength" : 41,
-            "key.nameoffset" : 2867,
-            "key.offset" : 2855,
+            "key.nameoffset" : 2940,
+            "key.offset" : 2928,
             "key.overrides" : [
               {
                 "key.usr" : "s:10ListableUI11ItemContentP014createReusableD4View5frame0dG0QzSo6CGRectV_tFZ"
               }
             ],
             "key.parsed_declaration" : "public static func createReusableContentView(frame : CGRect) -> ListView",
-            "key.parsed_scope.end" : 109,
-            "key.parsed_scope.start" : 106,
+            "key.parsed_scope.end" : 113,
+            "key.parsed_scope.start" : 110,
             "key.substructure" : [
 
             ],
@@ -6430,7 +6227,7 @@
       {
         "key.annotated_decl" : "public struct EmbeddedList : ItemContent<\/Type><\/Declaration>",
         "key.bodylength" : 961,
-        "key.bodyoffset" : 2992,
+        "key.bodyoffset" : 3065,
         "key.doc.column" : 15,
         "key.doc.declaration" : "public struct EmbeddedList : ItemContent",
         "key.doc.discussion" : [
@@ -6441,22 +6238,22 @@
             "Para" : "Internal TODO: This should use a coordinator to manage the scroll position of the contained list during cell reuse."
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/EmbeddedList.swift",
-        "key.doc.full_as_xml" : "EmbeddedList<\/Name>s:10ListableUI12EmbeddedListV<\/USR>public struct EmbeddedList : ItemContent<\/Declaration>Describes item content which can be used to embed a list inside another list, for example if you’d like to place a horizontally scrollable list within a vertically scrolling list, or vice versa.<\/Para><\/Abstract>You rarely use this type directly. Instead, use the static .list<\/codeVoice> function on Item<\/codeVoice>.<\/Para>Internal TODO: This should use a coordinator to manage the scroll position of the contained list during cell reuse.<\/Para><\/Discussion><\/CommentParts><\/Class>",
-        "key.doc.line" : 54,
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/EmbeddedList.swift",
+        "key.doc.full_as_xml" : "EmbeddedList<\/Name>s:10ListableUI12EmbeddedListV<\/USR>public struct EmbeddedList : ItemContent<\/Declaration>Describes item content which can be used to embed a list inside another list, for example if you’d like to place a horizontally scrollable list within a vertically scrolling list, or vice versa.<\/Para><\/Abstract>You rarely use this type directly. Instead, use the static .list<\/codeVoice> function on Item<\/codeVoice>.<\/Para>Internal TODO: This should use a coordinator to manage the scroll position of the contained list during cell reuse.<\/Para><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.line" : 58,
         "key.doc.name" : "EmbeddedList",
         "key.doc.type" : "Class",
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/EmbeddedList.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/EmbeddedList.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> EmbeddedList<\/decl.name> : ItemContent<\/ref.protocol><\/decl.struct>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 986,
         "key.name" : "EmbeddedList",
         "key.namelength" : 12,
-        "key.nameoffset" : 2978,
-        "key.offset" : 2968,
+        "key.nameoffset" : 3051,
+        "key.offset" : 3041,
         "key.parsed_declaration" : "extension EmbeddedList",
-        "key.parsed_scope.end" : 136,
-        "key.parsed_scope.start" : 113,
+        "key.parsed_scope.end" : 140,
+        "key.parsed_scope.start" : 117,
         "key.substructure" : [
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
@@ -6465,29 +6262,29 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 3233
+                "key.offset" : 3306
               }
             ],
             "key.bodylength" : 682,
-            "key.bodyoffset" : 3269,
+            "key.bodyoffset" : 3342,
             "key.doc.column" : 17,
             "key.doc.comment" : "How you specify sizing for an embedded list. The surface area\nof this `Sizing` enum is intentionally reduced from the standard `Sizing`\nenum, because several of those values do not make sense for embedded lists.",
             "key.doc.declaration" : "public enum Sizing : Equatable",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/EmbeddedList.swift",
-            "key.doc.full_as_xml" : "Sizing<\/Name>s:10ListableUI12EmbeddedListV6SizingO<\/USR>public enum Sizing : Equatable<\/Declaration>How you specify sizing for an embedded list. The surface area of this Sizing<\/codeVoice> enum is intentionally reduced from the standard Sizing<\/codeVoice> enum, because several of those values do not make sense for embedded lists.<\/Para><\/Abstract><\/CommentParts><\/Other>",
-            "key.doc.line" : 118,
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/EmbeddedList.swift",
+            "key.doc.full_as_xml" : "Sizing<\/Name>s:10ListableUI12EmbeddedListV6SizingO<\/USR>public enum Sizing : Equatable<\/Declaration>How you specify sizing for an embedded list. The surface area of this Sizing<\/codeVoice> enum is intentionally reduced from the standard Sizing<\/codeVoice> enum, because several of those values do not make sense for embedded lists.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.line" : 122,
             "key.doc.name" : "Sizing",
             "key.doc.type" : "Other",
             "key.doclength" : 232,
-            "key.docoffset" : 2997,
+            "key.docoffset" : 3070,
             "key.elements" : [
               {
                 "key.kind" : "source.lang.swift.structure.elem.typeref",
                 "key.length" : 9,
-                "key.offset" : 3254
+                "key.offset" : 3327
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/EmbeddedList.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/EmbeddedList.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> enum<\/syntaxtype.keyword> Sizing<\/decl.name> : Equatable<\/ref.protocol><\/decl.enum>",
             "key.inheritedtypes" : [
               {
@@ -6498,18 +6295,18 @@
             "key.length" : 712,
             "key.name" : "Sizing",
             "key.namelength" : 6,
-            "key.nameoffset" : 3245,
-            "key.offset" : 3240,
+            "key.nameoffset" : 3318,
+            "key.offset" : 3313,
             "key.parsed_declaration" : "public enum Sizing : Equatable",
-            "key.parsed_scope.end" : 135,
-            "key.parsed_scope.start" : 118,
+            "key.parsed_scope.end" : 139,
+            "key.parsed_scope.start" : 122,
             "key.substructure" : [
               {
                 "key.kind" : "source.lang.swift.decl.enumcase",
                 "key.length" : 14,
                 "key.namelength" : 0,
                 "key.nameoffset" : 0,
-                "key.offset" : 3352,
+                "key.offset" : 3425,
                 "key.substructure" : [
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.public",
@@ -6517,24 +6314,24 @@
                     "key.doc.column" : 14,
                     "key.doc.comment" : "Falls back to the default sizing of `Item`s in the list view.",
                     "key.doc.declaration" : "",
-                    "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/EmbeddedList.swift",
-                    "key.doc.full_as_xml" : "default<\/Name>s:10ListableUI12EmbeddedListV6SizingO7defaultyA2EmF<\/USR><\/Declaration>Falls back to the default sizing of Item<\/codeVoice>s in the list view.<\/Para><\/Abstract><\/CommentParts><\/Other>",
-                    "key.doc.line" : 121,
+                    "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/EmbeddedList.swift",
+                    "key.doc.full_as_xml" : "default<\/Name>s:10ListableUI12EmbeddedListV6SizingO7defaultyA2EmF<\/USR><\/Declaration>Falls back to the default sizing of Item<\/codeVoice>s in the list view.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                    "key.doc.line" : 125,
                     "key.doc.name" : "default",
                     "key.doc.type" : "Other",
                     "key.doclength" : 66,
-                    "key.docoffset" : 3278,
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/EmbeddedList.swift",
+                    "key.docoffset" : 3351,
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/EmbeddedList.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> `default`<\/decl.name><\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 9,
                     "key.name" : "default",
                     "key.namelength" : 7,
-                    "key.nameoffset" : 3357,
-                    "key.offset" : 3357,
+                    "key.nameoffset" : 3430,
+                    "key.offset" : 3430,
                     "key.parsed_declaration" : "case `default`",
-                    "key.parsed_scope.end" : 121,
-                    "key.parsed_scope.start" : 121,
+                    "key.parsed_scope.end" : 125,
+                    "key.parsed_scope.start" : 125,
                     "key.typename" : "(EmbeddedList.Sizing.Type) -> EmbeddedList.Sizing",
                     "key.typeusr" : "$sy10ListableUI12EmbeddedListV6SizingOAEmcD",
                     "key.usr" : "s:10ListableUI12EmbeddedListV6SizingO7defaultyA2EmF"
@@ -6546,7 +6343,7 @@
                 "key.length" : 56,
                 "key.namelength" : 0,
                 "key.nameoffset" : 0,
-                "key.offset" : 3663,
+                "key.offset" : 3736,
                 "key.substructure" : [
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.public",
@@ -6559,24 +6356,24 @@
                         "Para" : "Note: Depending on the list layout type, only one of width or height may be used. Eg, for list layouts, vertical lists only use the height, and horizontal lists only use the width."
                       }
                     ],
-                    "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/EmbeddedList.swift",
-                    "key.doc.full_as_xml" : "fixed(width:height:)<\/Name>s:10ListableUI12EmbeddedListV6SizingO5fixedyAE12CoreGraphics7CGFloatV_AItcAEmF<\/USR><\/Declaration>A fixed size item with the given width or height.<\/Para><\/Abstract>Note: Depending on the list layout type, only one of width or height may be used. Eg, for list layouts, vertical lists only use the height, and horizontal lists only use the width.<\/Para><\/Discussion><\/CommentParts><\/Other>",
-                    "key.doc.line" : 127,
+                    "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/EmbeddedList.swift",
+                    "key.doc.full_as_xml" : "fixed(width:height:)<\/Name>s:10ListableUI12EmbeddedListV6SizingO5fixedyAE12CoreGraphics7CGFloatV_AItcAEmF<\/USR><\/Declaration>A fixed size item with the given width or height.<\/Para><\/Abstract>Note: Depending on the list layout type, only one of width or height may be used. Eg, for list layouts, vertical lists only use the height, and horizontal lists only use the width.<\/Para><\/Discussion><\/CommentParts><\/Other>",
+                    "key.doc.line" : 131,
                     "key.doc.name" : "fixed(width:height:)",
                     "key.doc.type" : "Other",
                     "key.doclength" : 271,
-                    "key.docoffset" : 3384,
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/EmbeddedList.swift",
+                    "key.docoffset" : 3457,
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/EmbeddedList.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> fixed<\/decl.name>(width<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = 0.0<\/decl.var.parameter>, height<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = 0.0<\/decl.var.parameter>)<\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 51,
                     "key.name" : "fixed(width:height:)",
                     "key.namelength" : 51,
-                    "key.nameoffset" : 3668,
-                    "key.offset" : 3668,
+                    "key.nameoffset" : 3741,
+                    "key.offset" : 3741,
                     "key.parsed_declaration" : "case fixed(width: CGFloat = 0.0, height : CGFloat = 0.0)",
-                    "key.parsed_scope.end" : 127,
-                    "key.parsed_scope.start" : 127,
+                    "key.parsed_scope.end" : 131,
+                    "key.parsed_scope.start" : 131,
                     "key.substructure" : [
 
                     ],
@@ -6590,18 +6387,18 @@
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var toStandardSizing: ListableUI.Sizing<\/Type> { get }<\/Declaration>",
                 "key.bodylength" : 166,
-                "key.bodyoffset" : 3779,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/EmbeddedList.swift",
+                "key.bodyoffset" : 3852,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/EmbeddedList.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> toStandardSizing<\/decl.name>: ListableUI.Sizing<\/ref.enum><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 209,
                 "key.name" : "toStandardSizing",
                 "key.namelength" : 16,
-                "key.nameoffset" : 3741,
-                "key.offset" : 3737,
+                "key.nameoffset" : 3814,
+                "key.offset" : 3810,
                 "key.parsed_declaration" : "var toStandardSizing : ListableUI.Sizing",
-                "key.parsed_scope.end" : 134,
-                "key.parsed_scope.start" : 129,
+                "key.parsed_scope.end" : 138,
+                "key.parsed_scope.start" : 133,
                 "key.typename" : "Sizing",
                 "key.typeusr" : "$s10ListableUI6SizingOD",
                 "key.usr" : "s:10ListableUI12EmbeddedListV6SizingO010toStandardE0AaDOvp"
@@ -6619,9 +6416,9 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/AnyHeaderFooter.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/AnyHeaderFooter.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
-    "key.length" : 653,
+    "key.length" : 657,
     "key.offset" : 0,
     "key.substructure" : [
       {
@@ -6634,7 +6431,7 @@
             "key.offset" : 114
           }
         ],
-        "key.bodylength" : 85,
+        "key.bodylength" : 87,
         "key.bodyoffset" : 174,
         "key.elements" : [
           {
@@ -6643,7 +6440,7 @@
             "key.offset" : 148
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/AnyHeaderFooter.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/AnyHeaderFooter.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> AnyHeaderFooter<\/decl.name> : AnyHeaderFooter_Internal<\/ref.protocol><\/decl.protocol>",
         "key.inheritedtypes" : [
           {
@@ -6651,7 +6448,7 @@
           }
         ],
         "key.kind" : "source.lang.swift.decl.protocol",
-        "key.length" : 139,
+        "key.length" : 141,
         "key.name" : "AnyHeaderFooter",
         "key.namelength" : 15,
         "key.nameoffset" : 130,
@@ -6665,7 +6462,7 @@
             "key.annotated_decl" : "var sizing: Sizing<\/Type> { get set }<\/Declaration>",
             "key.bodylength" : 9,
             "key.bodyoffset" : 200,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/AnyHeaderFooter.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/AnyHeaderFooter.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> sizing<\/decl.name>: Sizing<\/ref.enum><\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 31,
@@ -6683,29 +6480,29 @@
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "var layout: HeaderFooterLayout<\/Type> { get set }<\/Declaration>",
+            "key.annotated_decl" : "var layouts: HeaderFooterLayouts<\/Type> { get set }<\/Declaration>",
             "key.bodylength" : 9,
-            "key.bodyoffset" : 248,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/AnyHeaderFooter.swift",
-            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> layout<\/decl.name>: HeaderFooterLayout<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
+            "key.bodyoffset" : 250,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/AnyHeaderFooter.swift",
+            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> layouts<\/decl.name>: HeaderFooterLayouts<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 43,
-            "key.name" : "layout",
-            "key.namelength" : 6,
+            "key.length" : 45,
+            "key.name" : "layouts",
+            "key.namelength" : 7,
             "key.nameoffset" : 219,
             "key.offset" : 215,
             "key.overrides" : [
               {
-                "key.usr" : "s:10ListableUI24AnyHeaderFooter_InternalP6layoutAA0dE6LayoutVvp"
+                "key.usr" : "s:10ListableUI24AnyHeaderFooter_InternalP7layoutsAA0dE7LayoutsVvp"
               }
             ],
-            "key.parsed_declaration" : "var layout : HeaderFooterLayout",
+            "key.parsed_declaration" : "var layouts : HeaderFooterLayouts",
             "key.parsed_scope.end" : 14,
             "key.parsed_scope.start" : 14,
             "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-            "key.typename" : "HeaderFooterLayout",
-            "key.typeusr" : "$s10ListableUI18HeaderFooterLayoutVD",
-            "key.usr" : "s:10ListableUI15AnyHeaderFooterP6layoutAA0dE6LayoutVvp"
+            "key.typename" : "HeaderFooterLayouts",
+            "key.typeusr" : "$s10ListableUI19HeaderFooterLayoutsVD",
+            "key.usr" : "s:10ListableUI15AnyHeaderFooterP7layoutsAA0dE7LayoutsVvp"
           }
         ],
         "key.typename" : "AnyHeaderFooter.Protocol",
@@ -6719,54 +6516,54 @@
           {
             "key.attribute" : "source.decl.attribute.public",
             "key.length" : 6,
-            "key.offset" : 263
+            "key.offset" : 265
           }
         ],
-        "key.bodylength" : 346,
-        "key.bodyoffset" : 305,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/AnyHeaderFooter.swift",
+        "key.bodylength" : 348,
+        "key.bodyoffset" : 307,
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/AnyHeaderFooter.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> AnyHeaderFooter_Internal<\/decl.name><\/decl.protocol>",
         "key.kind" : "source.lang.swift.decl.protocol",
-        "key.length" : 382,
+        "key.length" : 384,
         "key.name" : "AnyHeaderFooter_Internal",
         "key.namelength" : 24,
-        "key.nameoffset" : 279,
-        "key.offset" : 270,
+        "key.nameoffset" : 281,
+        "key.offset" : 272,
         "key.parsed_declaration" : "public protocol AnyHeaderFooter_Internal",
         "key.parsed_scope.end" : 31,
         "key.parsed_scope.start" : 18,
         "key.substructure" : [
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "var layout: HeaderFooterLayout<\/Type> { get }<\/Declaration>",
+            "key.annotated_decl" : "var layouts: HeaderFooterLayouts<\/Type> { get }<\/Declaration>",
             "key.bodylength" : 5,
-            "key.bodyoffset" : 343,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/AnyHeaderFooter.swift",
-            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> layout<\/decl.name>: HeaderFooterLayout<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
+            "key.bodyoffset" : 347,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/AnyHeaderFooter.swift",
+            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> layouts<\/decl.name>: HeaderFooterLayouts<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 39,
-            "key.name" : "layout",
-            "key.namelength" : 6,
-            "key.nameoffset" : 314,
-            "key.offset" : 310,
-            "key.parsed_declaration" : "var layout : HeaderFooterLayout",
+            "key.length" : 41,
+            "key.name" : "layouts",
+            "key.namelength" : 7,
+            "key.nameoffset" : 316,
+            "key.offset" : 312,
+            "key.parsed_declaration" : "var layouts : HeaderFooterLayouts",
             "key.parsed_scope.end" : 20,
             "key.parsed_scope.start" : 20,
-            "key.typename" : "HeaderFooterLayout",
-            "key.typeusr" : "$s10ListableUI18HeaderFooterLayoutVD",
-            "key.usr" : "s:10ListableUI24AnyHeaderFooter_InternalP6layoutAA0dE6LayoutVvp"
+            "key.typename" : "HeaderFooterLayouts",
+            "key.typeusr" : "$s10ListableUI19HeaderFooterLayoutsVD",
+            "key.usr" : "s:10ListableUI24AnyHeaderFooter_InternalP7layoutsAA0dE7LayoutsVvp"
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
             "key.annotated_decl" : "func apply(to headerFooterView: UIView<\/Type>, for reason: ApplyReason<\/Type>, with info: ApplyHeaderFooterContentInfo<\/Type>)<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/AnyHeaderFooter.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/AnyHeaderFooter.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> apply<\/decl.name>(to<\/decl.var.parameter.argument_label> headerFooterView<\/decl.var.parameter.name>: UIView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, for<\/decl.var.parameter.argument_label> reason<\/decl.var.parameter.name>: ApplyReason<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>, with<\/decl.var.parameter.argument_label> info<\/decl.var.parameter.name>: ApplyHeaderFooterContentInfo<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 138,
             "key.name" : "apply(to:for:with:)",
             "key.namelength" : 133,
-            "key.nameoffset" : 364,
-            "key.offset" : 359,
+            "key.nameoffset" : 368,
+            "key.offset" : 363,
             "key.parsed_declaration" : "func apply(\n    to headerFooterView : UIView,\n    for reason : ApplyReason,\n    with info : ApplyHeaderFooterContentInfo\n)",
             "key.parsed_scope.end" : 22,
             "key.parsed_scope.start" : 22,
@@ -6780,14 +6577,14 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
             "key.annotated_decl" : "func anyIsEquivalent(to other: AnyHeaderFooter<\/Type>) -> Bool<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/AnyHeaderFooter.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/AnyHeaderFooter.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> anyIsEquivalent<\/decl.name>(to<\/decl.var.parameter.argument_label> other<\/decl.var.parameter.name>: AnyHeaderFooter<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 56,
             "key.name" : "anyIsEquivalent(to:)",
             "key.namelength" : 43,
-            "key.nameoffset" : 512,
-            "key.offset" : 507,
+            "key.nameoffset" : 516,
+            "key.offset" : 511,
             "key.parsed_declaration" : "func anyIsEquivalent(to other : AnyHeaderFooter) -> Bool",
             "key.parsed_scope.end" : 28,
             "key.parsed_scope.start" : 28,
@@ -6801,14 +6598,14 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
             "key.annotated_decl" : "func newPresentationHeaderFooterState(performsContentCallbacks: Bool<\/Type>) -> Any<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/AnyHeaderFooter.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/AnyHeaderFooter.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> newPresentationHeaderFooterState<\/decl.name>(performsContentCallbacks<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> Any<\/syntaxtype.keyword><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 77,
             "key.name" : "newPresentationHeaderFooterState(performsContentCallbacks:)",
             "key.namelength" : 65,
-            "key.nameoffset" : 578,
-            "key.offset" : 573,
+            "key.nameoffset" : 582,
+            "key.offset" : 577,
             "key.parsed_declaration" : "func newPresentationHeaderFooterState(performsContentCallbacks : Bool) -> Any",
             "key.parsed_scope.end" : 30,
             "key.parsed_scope.start" : 30,
@@ -6827,9 +6624,9 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooter.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooter.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
-    "key.length" : 2647,
+    "key.length" : 2640,
     "key.offset" : 0,
     "key.substructure" : [
       {
@@ -6842,7 +6639,7 @@
             "key.offset" : 91
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooter.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooter.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> typealias<\/syntaxtype.keyword> Header<\/decl.name><Content<\/decl.generic_type_param.name><\/decl.generic_type_param>> = HeaderFooter<\/ref.struct><Content<\/ref.generic_type_param>> where<\/syntaxtype.keyword> Content : HeaderFooterContent<\/ref.protocol><\/decl.generic_type_requirement><\/decl.typealias>",
         "key.kind" : "source.lang.swift.decl.typealias",
         "key.length" : 69,
@@ -6863,7 +6660,7 @@
                 "key.offset" : 123
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooter.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooter.swift",
             "key.fully_annotated_decl" : "Content<\/decl.generic_type_param.name> : HeaderFooterContent<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
             "key.inheritedtypes" : [
               {
@@ -6903,7 +6700,7 @@
             "key.offset" : 168
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooter.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooter.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> typealias<\/syntaxtype.keyword> Footer<\/decl.name><Content<\/decl.generic_type_param.name><\/decl.generic_type_param>> = HeaderFooter<\/ref.struct><Content<\/ref.generic_type_param>> where<\/syntaxtype.keyword> Content : HeaderFooterContent<\/ref.protocol><\/decl.generic_type_requirement><\/decl.typealias>",
         "key.kind" : "source.lang.swift.decl.typealias",
         "key.length" : 69,
@@ -6924,7 +6721,7 @@
                 "key.offset" : 200
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooter.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooter.swift",
             "key.fully_annotated_decl" : "Content<\/decl.generic_type_param.name> : HeaderFooterContent<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
             "key.inheritedtypes" : [
               {
@@ -6964,7 +6761,7 @@
             "key.offset" : 247
           }
         ],
-        "key.bodylength" : 2099,
+        "key.bodylength" : 2092,
         "key.bodyoffset" : 322,
         "key.elements" : [
           {
@@ -6973,7 +6770,7 @@
             "key.offset" : 305
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooter.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooter.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> HeaderFooter<\/decl.name><Content<\/decl.generic_type_param.name><\/decl.generic_type_param>> : AnyHeaderFooter<\/ref.protocol> where<\/syntaxtype.keyword> Content : HeaderFooterContent<\/ref.protocol><\/decl.generic_type_requirement><\/decl.struct>",
         "key.inheritedtypes" : [
           {
@@ -6981,7 +6778,7 @@
           }
         ],
         "key.kind" : "source.lang.swift.decl.struct",
-        "key.length" : 2168,
+        "key.length" : 2161,
         "key.name" : "HeaderFooter",
         "key.namelength" : 12,
         "key.nameoffset" : 261,
@@ -6999,7 +6796,7 @@
                 "key.offset" : 282
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooter.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooter.swift",
             "key.fully_annotated_decl" : "Content<\/decl.generic_type_param.name> : HeaderFooterContent<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
             "key.inheritedtypes" : [
               {
@@ -7029,7 +6826,7 @@
                 "key.offset" : 327
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooter.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooter.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> content<\/decl.name>: Content<\/ref.generic_type_param><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 21,
@@ -7055,7 +6852,7 @@
                 "key.offset" : 365
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooter.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooter.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> sizing<\/decl.name>: Sizing<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 19,
@@ -7078,7 +6875,7 @@
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public var layout: HeaderFooterLayout<\/Type><\/Declaration>",
+            "key.annotated_decl" : "public var layouts: HeaderFooterLayouts<\/Type><\/Declaration>",
             "key.attributes" : [
               {
                 "key.attribute" : "source.decl.attribute.public",
@@ -7086,29 +6883,29 @@
                 "key.offset" : 396
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooter.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> layout<\/decl.name>: HeaderFooterLayout<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooter.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> layouts<\/decl.name>: HeaderFooterLayouts<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 31,
-            "key.name" : "layout",
-            "key.namelength" : 6,
+            "key.length" : 33,
+            "key.name" : "layouts",
+            "key.namelength" : 7,
             "key.nameoffset" : 407,
             "key.offset" : 403,
             "key.overrides" : [
               {
-                "key.usr" : "s:10ListableUI15AnyHeaderFooterP6layoutAA0dE6LayoutVvp"
+                "key.usr" : "s:10ListableUI15AnyHeaderFooterP7layoutsAA0dE7LayoutsVvp"
               },
               {
-                "key.usr" : "s:10ListableUI24AnyHeaderFooter_InternalP6layoutAA0dE6LayoutVvp"
+                "key.usr" : "s:10ListableUI24AnyHeaderFooter_InternalP7layoutsAA0dE7LayoutsVvp"
               }
             ],
-            "key.parsed_declaration" : "public var layout : HeaderFooterLayout",
+            "key.parsed_declaration" : "public var layouts : HeaderFooterLayouts",
             "key.parsed_scope.end" : 18,
             "key.parsed_scope.start" : 18,
             "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-            "key.typename" : "HeaderFooterLayout",
-            "key.typeusr" : "$s10ListableUI18HeaderFooterLayoutVD",
-            "key.usr" : "s:10ListableUI12HeaderFooterV6layoutAA0cD6LayoutVvp"
+            "key.typename" : "HeaderFooterLayouts",
+            "key.typeusr" : "$s10ListableUI19HeaderFooterLayoutsVD",
+            "key.usr" : "s:10ListableUI12HeaderFooterV7layoutsAA0cD7LayoutsVvp"
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
@@ -7117,17 +6914,17 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 444
+                "key.offset" : 446
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooter.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooter.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> typealias<\/syntaxtype.keyword> HeaderFooter<\/ref.struct><Content>.OnTap<\/decl.name> = (Content<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.typealias>",
             "key.kind" : "source.lang.swift.decl.typealias",
             "key.length" : 33,
             "key.name" : "OnTap",
             "key.namelength" : 5,
-            "key.nameoffset" : 461,
-            "key.offset" : 451,
+            "key.nameoffset" : 463,
+            "key.offset" : 453,
             "key.parsed_declaration" : "public typealias OnTap = (Content) -> ()",
             "key.parsed_scope.end" : 20,
             "key.parsed_scope.start" : 20,
@@ -7142,17 +6939,17 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 489
+                "key.offset" : 491
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooter.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooter.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> onTap<\/decl.name>: OnTap<\/ref.typealias>?<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 18,
             "key.name" : "onTap",
             "key.namelength" : 5,
-            "key.nameoffset" : 500,
-            "key.offset" : 496,
+            "key.nameoffset" : 502,
+            "key.offset" : 498,
             "key.parsed_declaration" : "public var onTap : OnTap?",
             "key.parsed_scope.end" : 21,
             "key.parsed_scope.start" : 21,
@@ -7168,17 +6965,17 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 524
+                "key.offset" : 526
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooter.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooter.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> debuggingIdentifier<\/decl.name>: String<\/ref.struct>?<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 39,
             "key.name" : "debuggingIdentifier",
             "key.namelength" : 19,
-            "key.nameoffset" : 535,
-            "key.offset" : 531,
+            "key.nameoffset" : 537,
+            "key.offset" : 533,
             "key.parsed_declaration" : "public var debuggingIdentifier : String? = nil",
             "key.parsed_scope.end" : 23,
             "key.parsed_scope.start" : 23,
@@ -7194,17 +6991,17 @@
               {
                 "key.attribute" : "source.decl.attribute.internal",
                 "key.length" : 8,
-                "key.offset" : 580
+                "key.offset" : 582
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooter.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooter.swift",
             "key.fully_annotated_decl" : "internal<\/syntaxtype.keyword> let<\/syntaxtype.keyword> reuseIdentifier<\/decl.name>: ReuseIdentifier<\/ref.class><Content<\/ref.generic_type_param>><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 46,
             "key.name" : "reuseIdentifier",
             "key.namelength" : 15,
-            "key.nameoffset" : 593,
-            "key.offset" : 589,
+            "key.nameoffset" : 595,
+            "key.offset" : 591,
             "key.parsed_declaration" : "internal let reuseIdentifier : ReuseIdentifier",
             "key.parsed_scope.end" : 25,
             "key.parsed_scope.start" : 25,
@@ -7218,7 +7015,7 @@
             "key.name" : "MARK: Initialization",
             "key.namelength" : 0,
             "key.nameoffset" : 0,
-            "key.offset" : 655
+            "key.offset" : 657
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
@@ -7227,17 +7024,17 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 692
+                "key.offset" : 694
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooter.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooter.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> typealias<\/syntaxtype.keyword> HeaderFooter<\/ref.struct><Content>.Build<\/decl.name> = (inout<\/syntaxtype.keyword> HeaderFooter<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.typealias>",
             "key.kind" : "source.lang.swift.decl.typealias",
             "key.length" : 44,
             "key.name" : "Build",
             "key.namelength" : 5,
-            "key.nameoffset" : 709,
-            "key.offset" : 699,
+            "key.nameoffset" : 711,
+            "key.offset" : 701,
             "key.parsed_declaration" : "public typealias Build = (inout HeaderFooter) -> ()",
             "key.parsed_scope.end" : 31,
             "key.parsed_scope.start" : 31,
@@ -7252,25 +7049,25 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 753
+                "key.offset" : 755
               }
             ],
             "key.bodylength" : 62,
-            "key.bodyoffset" : 824,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooter.swift",
+            "key.bodyoffset" : 826,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooter.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(_<\/decl.var.parameter.argument_label> content<\/decl.var.parameter.name>: Content<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, build<\/decl.var.parameter.argument_label>: Build<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 127,
             "key.name" : "init(_:build:)",
             "key.namelength" : 62,
-            "key.nameoffset" : 760,
-            "key.offset" : 760,
+            "key.nameoffset" : 762,
+            "key.offset" : 762,
             "key.parsed_declaration" : "public init(\n    _ content : Content,\n    build : Build\n)",
             "key.parsed_scope.end" : 40,
             "key.parsed_scope.start" : 33,
             "key.related_decls" : [
               {
-                "key.annotated_decl" : "init(_:sizing:layout:onTap:)<\/RelatedName>"
+                "key.annotated_decl" : "init(_:sizing:layouts:onTap:)<\/RelatedName>"
               }
             ],
             "key.substructure" : [
@@ -7282,25 +7079,25 @@
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public init(_ content: Content<\/Type>, sizing: Sizing<\/Type> = .thatFits(.init(.atLeast(.default))), layout: HeaderFooterLayout<\/Type> = HeaderFooterLayout(), onTap: OnTap<\/Type>? = nil)<\/Declaration>",
+            "key.annotated_decl" : "public init(_ content: Content<\/Type>, sizing: Sizing<\/Type> = .thatFits(.init(.atLeast(.default))), layouts: HeaderFooterLayouts<\/Type> = .init(), onTap: OnTap<\/Type>? = nil)<\/Declaration>",
             "key.attributes" : [
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 897
+                "key.offset" : 899
               }
             ],
-            "key.bodylength" : 274,
-            "key.bodyoffset" : 1099,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooter.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(_<\/decl.var.parameter.argument_label> content<\/decl.var.parameter.name>: Content<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, sizing<\/decl.var.parameter.argument_label>: Sizing<\/ref.enum><\/decl.var.parameter.type> = .thatFits(.init(.atLeast(.default)))<\/decl.var.parameter>, layout<\/decl.var.parameter.argument_label>: HeaderFooterLayout<\/ref.struct><\/decl.var.parameter.type> = HeaderFooterLayout()<\/decl.var.parameter>, onTap<\/decl.var.parameter.argument_label>: OnTap<\/ref.typealias>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>)<\/decl.function.constructor>",
+            "key.bodylength" : 276,
+            "key.bodyoffset" : 1090,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooter.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(_<\/decl.var.parameter.argument_label> content<\/decl.var.parameter.name>: Content<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, sizing<\/decl.var.parameter.argument_label>: Sizing<\/ref.enum><\/decl.var.parameter.type> = .thatFits(.init(.atLeast(.default)))<\/decl.var.parameter>, layouts<\/decl.var.parameter.argument_label>: HeaderFooterLayouts<\/ref.struct><\/decl.var.parameter.type> = .init()<\/decl.var.parameter>, onTap<\/decl.var.parameter.argument_label>: OnTap<\/ref.typealias>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 470,
-            "key.name" : "init(_:sizing:layout:onTap:)",
-            "key.namelength" : 193,
-            "key.nameoffset" : 904,
-            "key.offset" : 904,
-            "key.parsed_declaration" : "public init(\n    _ content : Content,\n    sizing : Sizing = .thatFits(.init(.atLeast(.default))),\n    layout : HeaderFooterLayout = HeaderFooterLayout(),\n    onTap : OnTap? = nil\n)",
+            "key.length" : 461,
+            "key.name" : "init(_:sizing:layouts:onTap:)",
+            "key.namelength" : 182,
+            "key.nameoffset" : 906,
+            "key.offset" : 906,
+            "key.parsed_declaration" : "public init(\n    _ content : Content,\n    sizing : Sizing = .thatFits(.init(.atLeast(.default))),\n    layouts : HeaderFooterLayouts = .init(),\n    onTap : OnTap? = nil\n)",
             "key.parsed_scope.end" : 58,
             "key.parsed_scope.start" : 42,
             "key.related_decls" : [
@@ -7311,9 +7108,9 @@
             "key.substructure" : [
 
             ],
-            "key.typename" : " (HeaderFooter.Type) -> (Content, Sizing, HeaderFooterLayout, ((Content) -> ())?) -> HeaderFooter",
-            "key.typeusr" : "$s_6sizing6layout5onTap10ListableUI12HeaderFooterVyxGx_AD6SizingOAD0gH6LayoutVyxcSgtcD",
-            "key.usr" : "s:10ListableUI12HeaderFooterV_6sizing6layout5onTapACyxGx_AA6SizingOAA0cD6LayoutVyxcSgtcfc"
+            "key.typename" : " (HeaderFooter.Type) -> (Content, Sizing, HeaderFooterLayouts, ((Content) -> ())?) -> HeaderFooter",
+            "key.typeusr" : "$s_6sizing7layouts5onTap10ListableUI12HeaderFooterVyxGx_AD6SizingOAD0gH7LayoutsVyxcSgtcD",
+            "key.usr" : "s:10ListableUI12HeaderFooterV_6sizing7layouts5onTapACyxGx_AA6SizingOAA0cD7LayoutsVyxcSgtcfc"
           },
           {
             "key.kind" : "source.lang.swift.syntaxtype.comment.mark",
@@ -7321,7 +7118,7 @@
             "key.name" : "MARK: AnyHeaderFooter_Internal",
             "key.namelength" : 0,
             "key.nameoffset" : 0,
-            "key.offset" : 1387
+            "key.offset" : 1380
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
@@ -7330,19 +7127,19 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 1427
+                "key.offset" : 1420
               }
             ],
             "key.bodylength" : 381,
-            "key.bodyoffset" : 1565,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooter.swift",
+            "key.bodyoffset" : 1558,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooter.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> apply<\/decl.name>(to<\/decl.var.parameter.argument_label> anyView<\/decl.var.parameter.name>: UIView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, for<\/decl.var.parameter.argument_label> reason<\/decl.var.parameter.name>: ApplyReason<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>, with<\/decl.var.parameter.argument_label> info<\/decl.var.parameter.name>: ApplyHeaderFooterContentInfo<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 513,
             "key.name" : "apply(to:for:with:)",
             "key.namelength" : 124,
-            "key.nameoffset" : 1439,
-            "key.offset" : 1434,
+            "key.nameoffset" : 1432,
+            "key.offset" : 1427,
             "key.overrides" : [
               {
                 "key.usr" : "s:10ListableUI24AnyHeaderFooter_InternalP5apply2to3for4withySo6UIViewC_AA11ApplyReasonOAA0ldE11ContentInfoVtF"
@@ -7354,14 +7151,14 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let view: HeaderFooterContentView<\/Type><Content><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooter.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooter.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> view<\/decl.name>: HeaderFooterContentView<\/ref.class><Content><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 55,
                 "key.name" : "view",
                 "key.namelength" : 4,
-                "key.nameoffset" : 1578,
-                "key.offset" : 1574,
+                "key.nameoffset" : 1571,
+                "key.offset" : 1567,
                 "key.parsed_declaration" : "let view = anyView as! HeaderFooterContentView",
                 "key.parsed_scope.end" : 67,
                 "key.parsed_scope.start" : 67,
@@ -7371,14 +7168,14 @@
               },
               {
                 "key.annotated_decl" : "let views: HeaderFooterContentViews<\/Type><Content><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooter.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooter.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> views<\/decl.name>: HeaderFooterContentViews<\/ref.struct><Content><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 176,
                 "key.name" : "views",
                 "key.namelength" : 5,
-                "key.nameoffset" : 1651,
-                "key.offset" : 1647,
+                "key.nameoffset" : 1644,
+                "key.offset" : 1640,
                 "key.parsed_declaration" : "let views = HeaderFooterContentViews(\n    content: view.content,\n    background: view.background,\n    pressed: view.pressedBackground\n)",
                 "key.parsed_scope.end" : 69,
                 "key.parsed_scope.start" : 69,
@@ -7398,19 +7195,19 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 1961
+                "key.offset" : 1954
               }
             ],
             "key.bodylength" : 174,
-            "key.bodyoffset" : 2030,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooter.swift",
+            "key.bodyoffset" : 2023,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooter.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> anyIsEquivalent<\/decl.name>(to<\/decl.var.parameter.argument_label> other<\/decl.var.parameter.name>: AnyHeaderFooter<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 237,
             "key.name" : "anyIsEquivalent(to:)",
             "key.namelength" : 43,
-            "key.nameoffset" : 1973,
-            "key.offset" : 1968,
+            "key.nameoffset" : 1966,
+            "key.offset" : 1961,
             "key.overrides" : [
               {
                 "key.usr" : "s:10ListableUI24AnyHeaderFooter_InternalP15anyIsEquivalent2toSbAA0cdE0_p_tF"
@@ -7433,19 +7230,19 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 2215
+                "key.offset" : 2208
               }
             ],
             "key.bodylength" : 114,
-            "key.bodyoffset" : 2305,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooter.swift",
+            "key.bodyoffset" : 2298,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooter.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> newPresentationHeaderFooterState<\/decl.name>(performsContentCallbacks<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> Any<\/syntaxtype.keyword><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 198,
             "key.name" : "newPresentationHeaderFooterState(performsContentCallbacks:)",
             "key.namelength" : 65,
-            "key.nameoffset" : 2227,
-            "key.offset" : 2222,
+            "key.nameoffset" : 2220,
+            "key.offset" : 2215,
             "key.overrides" : [
               {
                 "key.usr" : "s:10ListableUI24AnyHeaderFooter_InternalP015newPresentationdE5State24performsContentCallbacksypSb_tF"
@@ -7469,15 +7266,15 @@
       {
         "key.annotated_decl" : "public struct HeaderFooter<Content> : AnyHeaderFooter<\/Type> where Content : HeaderFooterContent<\/Type><\/Declaration>",
         "key.bodylength" : 177,
-        "key.bodyoffset" : 2468,
+        "key.bodyoffset" : 2461,
         "key.elements" : [
           {
             "key.kind" : "source.lang.swift.structure.elem.typeref",
             "key.length" : 16,
-            "key.offset" : 2450
+            "key.offset" : 2443
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooter.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooter.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> HeaderFooter<\/decl.name><Content<\/decl.generic_type_param.name><\/decl.generic_type_param>> : AnyHeaderFooter<\/ref.protocol> where<\/syntaxtype.keyword> Content : HeaderFooterContent<\/ref.protocol><\/decl.generic_type_requirement><\/decl.struct>",
         "key.inheritedtypes" : [
           {
@@ -7488,8 +7285,8 @@
         "key.length" : 221,
         "key.name" : "HeaderFooter",
         "key.namelength" : 12,
-        "key.nameoffset" : 2435,
-        "key.offset" : 2425,
+        "key.nameoffset" : 2428,
+        "key.offset" : 2418,
         "key.parsed_declaration" : "extension HeaderFooter : SignpostLoggable",
         "key.parsed_scope.end" : 106,
         "key.parsed_scope.start" : 98,
@@ -7497,15 +7294,15 @@
           {
             "key.annotated_decl" : "var signpostInfo: SignpostLoggingInfo<\/Type> { get }<\/Declaration>",
             "key.bodylength" : 130,
-            "key.bodyoffset" : 2513,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooter.swift",
+            "key.bodyoffset" : 2506,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooter.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> signpostInfo<\/decl.name>: SignpostLoggingInfo<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 171,
             "key.name" : "signpostInfo",
             "key.namelength" : 12,
-            "key.nameoffset" : 2477,
-            "key.offset" : 2473,
+            "key.nameoffset" : 2470,
+            "key.offset" : 2466,
             "key.overrides" : [
               {
                 "key.usr" : "s:10ListableUI16SignpostLoggableP12signpostInfoAA0c7LoggingF0Vvp"
@@ -7526,7 +7323,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 6362,
     "key.offset" : 0,
@@ -7541,7 +7338,7 @@
             "key.offset" : 98
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> typealias<\/syntaxtype.keyword> HeaderContent<\/decl.name> = HeaderFooterContent<\/ref.protocol><\/decl.typealias>",
         "key.kind" : "source.lang.swift.decl.typealias",
         "key.length" : 45,
@@ -7566,7 +7363,7 @@
             "key.offset" : 151
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> typealias<\/syntaxtype.keyword> FooterContent<\/decl.name> = HeaderFooterContent<\/ref.protocol><\/decl.typealias>",
         "key.kind" : "source.lang.swift.decl.typealias",
         "key.length" : 45,
@@ -7613,14 +7410,14 @@
             "Para" : "The ordering of the elements by z-index is as follows: z-Index 3) `ContentView` z-Index 2) `PressedBackgroundView` (Only if the header\/footer is pressed, eg if the wrapping `HeaderFooter` has an `onTap` handler.) z-Index 1) `BackgroundView`"
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
-        "key.doc.full_as_xml" : "HeaderFooterContent<\/Name>s:10ListableUI19HeaderFooterContentP<\/USR>public protocol HeaderFooterContent<\/Declaration>A HeaderFooterContent<\/codeVoice> is a type which specifies the content of a header, footer, or other supplementary view within a listable list.<\/Para><\/Abstract>A non-tappable header that shows a label and icon might look like this (implementation of MyHeaderView<\/codeVoice> left up to the reader):<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> MyHeaderView {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered>, reason : ApplyReason) {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>The header is made Equatable<\/codeVoice> in order to synthesize automatic conformance to isEquivalent<\/codeVoice>, based on the header’s properties.<\/Para>If you want to add support for rendering a background view and a pressed state, you should provide both createReusableBackgroundView<\/codeVoice> and createReusablePressedBackgroundView<\/codeVoice> methods, and apply the desired content in your apply(to:)<\/codeVoice> method.<\/Para>The ordering of the elements by z-index is as follows: z-Index 3) ContentView<\/codeVoice> z-Index 2) PressedBackgroundView<\/codeVoice> (Only if the header\/footer is pressed, eg if the wrapping HeaderFooter<\/codeVoice> has an onTap<\/codeVoice> handler.) z-Index 1) BackgroundView<\/codeVoice><\/Para><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
+        "key.doc.full_as_xml" : "HeaderFooterContent<\/Name>s:10ListableUI19HeaderFooterContentP<\/USR>public protocol HeaderFooterContent<\/Declaration>A HeaderFooterContent<\/codeVoice> is a type which specifies the content of a header, footer, or other supplementary view within a listable list.<\/Para><\/Abstract>A non-tappable header that shows a label and icon might look like this (implementation of MyHeaderView<\/codeVoice> left up to the reader):<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> MyHeaderView {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered>, reason : ApplyReason) {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>The header is made Equatable<\/codeVoice> in order to synthesize automatic conformance to isEquivalent<\/codeVoice>, based on the header’s properties.<\/Para>If you want to add support for rendering a background view and a pressed state, you should provide both createReusableBackgroundView<\/codeVoice> and createReusablePressedBackgroundView<\/codeVoice> methods, and apply the desired content in your apply(to:)<\/codeVoice> method.<\/Para>The ordering of the elements by z-index is as follows: z-Index 3) ContentView<\/codeVoice> z-Index 2) PressedBackgroundView<\/codeVoice> (Only if the header\/footer is pressed, eg if the wrapping HeaderFooter<\/codeVoice> has an onTap<\/codeVoice> handler.) z-Index 1) BackgroundView<\/codeVoice><\/Para><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 45,
         "key.doc.name" : "HeaderFooterContent",
         "key.doc.type" : "Class",
         "key.doclength" : 1406,
         "key.docoffset" : 206,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> HeaderFooterContent<\/decl.name><\/decl.protocol>",
         "key.kind" : "source.lang.swift.decl.protocol",
         "key.length" : 3120,
@@ -7643,7 +7440,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
             "key.annotated_decl" : "func apply(to views: HeaderFooterContentViews<\/Type><Self<\/Type>>, for reason: ApplyReason<\/Type>, with info: ApplyHeaderFooterContentInfo<\/Type>)<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> apply<\/decl.name>(to<\/decl.var.parameter.argument_label> views<\/decl.var.parameter.name>: HeaderFooterContentViews<\/ref.struct><Self<\/ref.generic_type_param>><\/decl.var.parameter.type><\/decl.var.parameter>, for<\/decl.var.parameter.argument_label> reason<\/decl.var.parameter.name>: ApplyReason<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>, with<\/decl.var.parameter.argument_label> info<\/decl.var.parameter.name>: ApplyHeaderFooterContentInfo<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 151,
@@ -7672,7 +7469,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
             "key.annotated_decl" : "func isEquivalent(to other: Self<\/Type>) -> Bool<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> isEquivalent<\/decl.name>(to<\/decl.var.parameter.argument_label> other<\/decl.var.parameter.name>: Self<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 42,
@@ -7709,14 +7506,14 @@
             "key.doc.column" : 20,
             "key.doc.comment" : "The content view used to draw the content.\nThe content view is drawn at the top of the view hierarchy, above the background views.",
             "key.doc.declaration" : "associatedtype ContentView : UIView",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
-            "key.doc.full_as_xml" : "ContentView<\/Name>s:10ListableUI19HeaderFooterContentP0E4ViewQa<\/USR>associatedtype ContentView : UIView<\/Declaration>The content view used to draw the content. The content view is drawn at the top of the view hierarchy, above the background views.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
+            "key.doc.full_as_xml" : "ContentView<\/Name>s:10ListableUI19HeaderFooterContentP0E4ViewQa<\/USR>associatedtype ContentView : UIView<\/Declaration>The content view used to draw the content. The content view is drawn at the top of the view hierarchy, above the background views.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 69,
             "key.doc.name" : "ContentView",
             "key.doc.type" : "Other",
             "key.doclength" : 143,
             "key.docoffset" : 2046,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
             "key.fully_annotated_decl" : "associatedtype<\/syntaxtype.keyword> ContentView<\/decl.name> : UIView<\/ref.class><\/decl.associatedtype>",
             "key.kind" : "source.lang.swift.decl.associatedtype",
             "key.length" : 33,
@@ -7742,14 +7539,14 @@
                 "Para" : "Do not do configuration in this method that will be changed by your view’s theme or appearance – instead do that work in `apply(to:)`, so the appearance will be updated if the appearance of content changes."
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
-            "key.doc.full_as_xml" : "createReusableContentView(frame:)<\/Name>s:10ListableUI19HeaderFooterContentP014createReusableE4View5frame0eH0QzSo6CGRectV_tFZ<\/USR>static func createReusableContentView(frame: CGRect) -> ContentView<\/Declaration>Create and return a new content view used to render the content.<\/Para><\/Abstract>]]><\/rawHTML>Note]]><\/rawHTML>Do not do configuration in this method that will be changed by your view’s theme or appearance – instead do that work in apply(to:)<\/codeVoice>, so the appearance will be updated if the appearance of content changes.<\/Para><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
+            "key.doc.full_as_xml" : "createReusableContentView(frame:)<\/Name>s:10ListableUI19HeaderFooterContentP014createReusableE4View5frame0eH0QzSo6CGRectV_tFZ<\/USR>static func createReusableContentView(frame: CGRect) -> ContentView<\/Declaration>Create and return a new content view used to render the content.<\/Para><\/Abstract>]]><\/rawHTML>Note]]><\/rawHTML>Do not do configuration in this method that will be changed by your view’s theme or appearance – instead do that work in apply(to:)<\/codeVoice>, so the appearance will be updated if the appearance of content changes.<\/Para><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 78,
             "key.doc.name" : "createReusableContentView(frame:)",
             "key.doc.type" : "Function",
             "key.doclength" : 328,
             "key.docoffset" : 2237,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
             "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> createReusableContentView<\/decl.name>(frame<\/decl.var.parameter.argument_label>: CGRect<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ContentView<\/ref.associatedtype><\/decl.function.returntype><\/decl.function.method.static>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
             "key.length" : 68,
@@ -7786,14 +7583,14 @@
                 "Para" : "Defaults to a `UIView` with no drawn appearance or state. You do not need to provide this `typealias` unless you would like to draw a background view."
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
-            "key.doc.full_as_xml" : "BackgroundView<\/Name>s:10ListableUI19HeaderFooterContentP14BackgroundViewQa<\/USR>associatedtype BackgroundView : UIView = UIView<\/Declaration>The background view used to draw the background of the content. The background view is drawn below the content view.<\/Para><\/Abstract>]]><\/rawHTML>Note]]><\/rawHTML>Defaults to a UIView<\/codeVoice> with no drawn appearance or state. You do not need to provide this typealias<\/codeVoice> unless you would like to draw a background view.<\/Para><\/Discussion><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
+            "key.doc.full_as_xml" : "BackgroundView<\/Name>s:10ListableUI19HeaderFooterContentP14BackgroundViewQa<\/USR>associatedtype BackgroundView : UIView = UIView<\/Declaration>The background view used to draw the background of the content. The background view is drawn below the content view.<\/Para><\/Abstract>]]><\/rawHTML>Note]]><\/rawHTML>Defaults to a UIView<\/codeVoice> with no drawn appearance or state. You do not need to provide this typealias<\/codeVoice> unless you would like to draw a background view.<\/Para><\/Discussion><\/CommentParts><\/Other>",
             "key.doc.line" : 93,
             "key.doc.name" : "BackgroundView",
             "key.doc.type" : "Other",
             "key.doclength" : 346,
             "key.docoffset" : 2717,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
             "key.fully_annotated_decl" : "associatedtype<\/syntaxtype.keyword> BackgroundView<\/decl.name> : UIView<\/ref.class> = UIView<\/ref.class><\/decl.associatedtype>",
             "key.kind" : "source.lang.swift.decl.associatedtype",
             "key.length" : 45,
@@ -7819,14 +7616,14 @@
                 "Para" : "Do not do configuration in this method that will be changed by your view’s theme or appearance – instead do that work in `apply(to:)`, so the appearance will be updated if the appearance of content changes."
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
-            "key.doc.full_as_xml" : "createReusableBackgroundView(frame:)<\/Name>s:10ListableUI19HeaderFooterContentP28createReusableBackgroundView5frame0hI0QzSo6CGRectV_tFZ<\/USR>static func createReusableBackgroundView(frame: CGRect) -> BackgroundView<\/Declaration>Create and return a new background view used to render the content’s background.<\/Para><\/Abstract>]]><\/rawHTML>Note]]><\/rawHTML>Do not do configuration in this method that will be changed by your view’s theme or appearance – instead do that work in apply(to:)<\/codeVoice>, so the appearance will be updated if the appearance of content changes.<\/Para><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
+            "key.doc.full_as_xml" : "createReusableBackgroundView(frame:)<\/Name>s:10ListableUI19HeaderFooterContentP28createReusableBackgroundView5frame0hI0QzSo6CGRectV_tFZ<\/USR>static func createReusableBackgroundView(frame: CGRect) -> BackgroundView<\/Declaration>Create and return a new background view used to render the content’s background.<\/Para><\/Abstract>]]><\/rawHTML>Note]]><\/rawHTML>Do not do configuration in this method that will be changed by your view’s theme or appearance – instead do that work in apply(to:)<\/codeVoice>, so the appearance will be updated if the appearance of content changes.<\/Para><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 101,
             "key.doc.name" : "createReusableBackgroundView(frame:)",
             "key.doc.type" : "Function",
             "key.doclength" : 344,
             "key.docoffset" : 3122,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
             "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> createReusableBackgroundView<\/decl.name>(frame<\/decl.var.parameter.argument_label>: CGRect<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> BackgroundView<\/ref.associatedtype><\/decl.function.returntype><\/decl.function.method.static>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
             "key.length" : 74,
@@ -7860,14 +7657,14 @@
                 "Para" : "Defaults to a `UIView` with no drawn appearance or state. You do not need to provide this `typealias` unless you would like to draw a selected background view."
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
-            "key.doc.full_as_xml" : "PressedBackgroundView<\/Name>s:10ListableUI19HeaderFooterContentP21PressedBackgroundViewQa<\/USR>associatedtype PressedBackgroundView : UIView = UIView<\/Declaration>The selected background view used to draw the background of the content when it is selected or highlighted. The selected background view is drawn below the content view.<\/Para><\/Abstract>]]><\/rawHTML>Note]]><\/rawHTML>Defaults to a UIView<\/codeVoice> with no drawn appearance or state. You do not need to provide this typealias<\/codeVoice> unless you would like to draw a selected background view.<\/Para><\/Discussion><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
+            "key.doc.full_as_xml" : "PressedBackgroundView<\/Name>s:10ListableUI19HeaderFooterContentP21PressedBackgroundViewQa<\/USR>associatedtype PressedBackgroundView : UIView = UIView<\/Declaration>The selected background view used to draw the background of the content when it is selected or highlighted. The selected background view is drawn below the content view.<\/Para><\/Abstract>]]><\/rawHTML>Note]]><\/rawHTML>Defaults to a UIView<\/codeVoice> with no drawn appearance or state. You do not need to provide this typealias<\/codeVoice> unless you would like to draw a selected background view.<\/Para><\/Discussion><\/CommentParts><\/Other>",
             "key.doc.line" : 112,
             "key.doc.name" : "PressedBackgroundView",
             "key.doc.type" : "Other",
             "key.doclength" : 408,
             "key.docoffset" : 3554,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
             "key.fully_annotated_decl" : "associatedtype<\/syntaxtype.keyword> PressedBackgroundView<\/decl.name> : UIView<\/ref.class> = UIView<\/ref.class><\/decl.associatedtype>",
             "key.kind" : "source.lang.swift.decl.associatedtype",
             "key.length" : 52,
@@ -7899,14 +7696,14 @@
                 "Para" : "Do not do configuration in this method that will be changed by your view’s theme or appearance – instead do that work in `apply(to:)`, so the appearance will be updated if the appearance of content changes."
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
-            "key.doc.full_as_xml" : "createReusablePressedBackgroundView(frame:)<\/Name>s:10ListableUI19HeaderFooterContentP35createReusablePressedBackgroundView5frame0hiJ0QzSo6CGRectV_tFZ<\/USR>static func createReusablePressedBackgroundView(frame: CGRect) -> PressedBackgroundView<\/Declaration>Create and return a new background view used to render the content’s pressed background.<\/Para><\/Abstract>This view is displayed when the user taps\/presses the header \/ footer.<\/Para>If your BackgroundView<\/codeVoice> and SelectedBackgroundView<\/codeVoice> are the same type, this method is provided automatically by calling createReusableBackgroundView<\/codeVoice>.<\/Para>]]><\/rawHTML>Note]]><\/rawHTML>Do not do configuration in this method that will be changed by your view’s theme or appearance – instead do that work in apply(to:)<\/codeVoice>, so the appearance will be updated if the appearance of content changes.<\/Para><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
+            "key.doc.full_as_xml" : "createReusablePressedBackgroundView(frame:)<\/Name>s:10ListableUI19HeaderFooterContentP35createReusablePressedBackgroundView5frame0hiJ0QzSo6CGRectV_tFZ<\/USR>static func createReusablePressedBackgroundView(frame: CGRect) -> PressedBackgroundView<\/Declaration>Create and return a new background view used to render the content’s pressed background.<\/Para><\/Abstract>This view is displayed when the user taps\/presses the header \/ footer.<\/Para>If your BackgroundView<\/codeVoice> and SelectedBackgroundView<\/codeVoice> are the same type, this method is provided automatically by calling createReusableBackgroundView<\/codeVoice>.<\/Para>]]><\/rawHTML>Note]]><\/rawHTML>Do not do configuration in this method that will be changed by your view’s theme or appearance – instead do that work in apply(to:)<\/codeVoice>, so the appearance will be updated if the appearance of content changes.<\/Para><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 125,
             "key.doc.name" : "createReusablePressedBackgroundView(frame:)",
             "key.doc.type" : "Function",
             "key.doclength" : 617,
             "key.docoffset" : 4028,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
             "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> createReusablePressedBackgroundView<\/decl.name>(frame<\/decl.var.parameter.argument_label>: CGRect<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> PressedBackgroundView<\/ref.associatedtype><\/decl.function.returntype><\/decl.function.method.static>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
             "key.length" : 88,
@@ -7949,14 +7746,14 @@
         "key.doc.column" : 15,
         "key.doc.comment" : "Information about the current state of the content, which is passed to `apply(to:for:with:)`\nduring configuration and preparation for display.",
         "key.doc.declaration" : "public struct ApplyHeaderFooterContentInfo",
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
-        "key.doc.full_as_xml" : "ApplyHeaderFooterContentInfo<\/Name>s:10ListableUI28ApplyHeaderFooterContentInfoV<\/USR>public struct ApplyHeaderFooterContentInfo<\/Declaration>Information about the current state of the content, which is passed to apply(to:for:with:)<\/codeVoice> during configuration and preparation for display.<\/Para><\/Abstract><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
+        "key.doc.full_as_xml" : "ApplyHeaderFooterContentInfo<\/Name>s:10ListableUI28ApplyHeaderFooterContentInfoV<\/USR>public struct ApplyHeaderFooterContentInfo<\/Declaration>Information about the current state of the content, which is passed to apply(to:for:with:)<\/codeVoice> during configuration and preparation for display.<\/Para><\/Abstract><\/CommentParts><\/Class>",
         "key.doc.line" : 131,
         "key.doc.name" : "ApplyHeaderFooterContentInfo",
         "key.doc.type" : "Class",
         "key.doclength" : 151,
         "key.docoffset" : 4742,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> ApplyHeaderFooterContentInfo<\/decl.name><\/decl.struct>",
         "key.kind" : "source.lang.swift.decl.struct",
         "key.length" : 185,
@@ -7981,14 +7778,14 @@
             "key.doc.column" : 16,
             "key.doc.comment" : "The environment of the containing list.\nSee `ListEnvironment` for usage information.",
             "key.doc.declaration" : "public var environment: ListEnvironment",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
-            "key.doc.full_as_xml" : "environment<\/Name>s:10ListableUI28ApplyHeaderFooterContentInfoV11environmentAA15ListEnvironmentVvp<\/USR>public var environment: ListEnvironment<\/Declaration>The environment of the containing list. See ListEnvironment<\/codeVoice> for usage information.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
+            "key.doc.full_as_xml" : "environment<\/Name>s:10ListableUI28ApplyHeaderFooterContentInfoV11environmentAA15ListEnvironmentVvp<\/USR>public var environment: ListEnvironment<\/Declaration>The environment of the containing list. See ListEnvironment<\/codeVoice> for usage information.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 135,
             "key.doc.name" : "environment",
             "key.doc.type" : "Other",
             "key.doclength" : 97,
             "key.docoffset" : 4942,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> environment<\/decl.name>: ListEnvironment<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 33,
@@ -8024,14 +7821,14 @@
         "key.doc.column" : 15,
         "key.doc.comment" : "The views owned by the item content, passed to the `apply(to:) method to theme and provide content.`",
         "key.doc.declaration" : "public struct HeaderFooterContentViews where Content : ListableUI.HeaderFooterContent",
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
-        "key.doc.full_as_xml" : "HeaderFooterContentViews<\/Name>s:10ListableUI24HeaderFooterContentViewsV<\/USR>public struct HeaderFooterContentViews<Content> where Content : ListableUI.HeaderFooterContent<\/Declaration>The views owned by the item content, passed to the apply(to:) method to theme and provide content.<\/codeVoice><\/Para><\/Abstract><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
+        "key.doc.full_as_xml" : "HeaderFooterContentViews<\/Name>s:10ListableUI24HeaderFooterContentViewsV<\/USR>public struct HeaderFooterContentViews<Content> where Content : ListableUI.HeaderFooterContent<\/Declaration>The views owned by the item content, passed to the apply(to:) method to theme and provide content.<\/codeVoice><\/Para><\/Abstract><\/CommentParts><\/Class>",
         "key.doc.line" : 140,
         "key.doc.name" : "HeaderFooterContentViews",
         "key.doc.type" : "Class",
         "key.doclength" : 105,
         "key.docoffset" : 5088,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> HeaderFooterContentViews<\/decl.name><Content<\/decl.generic_type_param.name><\/decl.generic_type_param>> where<\/syntaxtype.keyword> Content : HeaderFooterContent<\/ref.protocol><\/decl.generic_type_requirement><\/decl.struct>",
         "key.kind" : "source.lang.swift.decl.struct",
         "key.length" : 395,
@@ -8052,7 +7849,7 @@
                 "key.offset" : 5240
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
             "key.fully_annotated_decl" : "Content<\/decl.generic_type_param.name> : HeaderFooterContent<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
             "key.inheritedtypes" : [
               {
@@ -8085,14 +7882,14 @@
             "key.doc.column" : 16,
             "key.doc.comment" : "The content view of the content.",
             "key.doc.declaration" : "public var content: Content.ContentView",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
-            "key.doc.full_as_xml" : "content<\/Name>s:10ListableUI24HeaderFooterContentViewsV7content0E4ViewQzvp<\/USR>public var content: Content.ContentView<\/Declaration>The content view of the content.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
+            "key.doc.full_as_xml" : "content<\/Name>s:10ListableUI24HeaderFooterContentViewsV7content0E4ViewQzvp<\/USR>public var content: Content.ContentView<\/Declaration>The content view of the content.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 143,
             "key.doc.name" : "content",
             "key.doc.type" : "Other",
             "key.doclength" : 37,
             "key.docoffset" : 5267,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> content<\/decl.name>: Content<\/ref.generic_type_param>.ContentView<\/ref.associatedtype><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 33,
@@ -8121,14 +7918,14 @@
             "key.doc.column" : 16,
             "key.doc.comment" : "The background view of the content.",
             "key.doc.declaration" : "public var background: Content.BackgroundView",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
-            "key.doc.full_as_xml" : "background<\/Name>s:10ListableUI24HeaderFooterContentViewsV10background14BackgroundViewQzvp<\/USR>public var background: Content.BackgroundView<\/Declaration>The background view of the content.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
+            "key.doc.full_as_xml" : "background<\/Name>s:10ListableUI24HeaderFooterContentViewsV10background14BackgroundViewQzvp<\/USR>public var background: Content.BackgroundView<\/Declaration>The background view of the content.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 146,
             "key.doc.name" : "background",
             "key.doc.type" : "Other",
             "key.doclength" : 40,
             "key.docoffset" : 5358,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> background<\/decl.name>: Content<\/ref.generic_type_param>.BackgroundView<\/ref.associatedtype><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 39,
@@ -8157,14 +7954,14 @@
             "key.doc.column" : 16,
             "key.doc.comment" : "The background view of the content that's displayed while a press is active.",
             "key.doc.declaration" : "public var pressed: Content.PressedBackgroundView",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
-            "key.doc.full_as_xml" : "pressed<\/Name>s:10ListableUI24HeaderFooterContentViewsV7pressed21PressedBackgroundViewQzvp<\/USR>public var pressed: Content.PressedBackgroundView<\/Declaration>The background view of the content that’s displayed while a press is active.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
+            "key.doc.full_as_xml" : "pressed<\/Name>s:10ListableUI24HeaderFooterContentViewsV7pressed21PressedBackgroundViewQzvp<\/USR>public var pressed: Content.PressedBackgroundView<\/Declaration>The background view of the content that’s displayed while a press is active.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 149,
             "key.doc.name" : "pressed",
             "key.doc.type" : "Other",
             "key.doclength" : 81,
             "key.docoffset" : 5458,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> pressed<\/decl.name>: Content<\/ref.generic_type_param>.PressedBackgroundView<\/ref.associatedtype><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 43,
@@ -8217,14 +8014,14 @@
             "Para" : "The ordering of the elements by z-index is as follows: z-Index 3) `ContentView` z-Index 2) `PressedBackgroundView` (Only if the header\/footer is pressed, eg if the wrapping `HeaderFooter` has an `onTap` handler.) z-Index 1) `BackgroundView`"
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
-        "key.doc.full_as_xml" : "HeaderFooterContent<\/Name>s:10ListableUI19HeaderFooterContentP<\/USR>public protocol HeaderFooterContent<\/Declaration>A HeaderFooterContent<\/codeVoice> is a type which specifies the content of a header, footer, or other supplementary view within a listable list.<\/Para><\/Abstract>A non-tappable header that shows a label and icon might look like this (implementation of MyHeaderView<\/codeVoice> left up to the reader):<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> MyHeaderView {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered>, reason : ApplyReason) {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>The header is made Equatable<\/codeVoice> in order to synthesize automatic conformance to isEquivalent<\/codeVoice>, based on the header’s properties.<\/Para>If you want to add support for rendering a background view and a pressed state, you should provide both createReusableBackgroundView<\/codeVoice> and createReusablePressedBackgroundView<\/codeVoice> methods, and apply the desired content in your apply(to:)<\/codeVoice> method.<\/Para>The ordering of the elements by z-index is as follows: z-Index 3) ContentView<\/codeVoice> z-Index 2) PressedBackgroundView<\/codeVoice> (Only if the header\/footer is pressed, eg if the wrapping HeaderFooter<\/codeVoice> has an onTap<\/codeVoice> handler.) z-Index 1) BackgroundView<\/codeVoice><\/Para><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
+        "key.doc.full_as_xml" : "HeaderFooterContent<\/Name>s:10ListableUI19HeaderFooterContentP<\/USR>public protocol HeaderFooterContent<\/Declaration>A HeaderFooterContent<\/codeVoice> is a type which specifies the content of a header, footer, or other supplementary view within a listable list.<\/Para><\/Abstract>A non-tappable header that shows a label and icon might look like this (implementation of MyHeaderView<\/codeVoice> left up to the reader):<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> MyHeaderView {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered>, reason : ApplyReason) {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>The header is made Equatable<\/codeVoice> in order to synthesize automatic conformance to isEquivalent<\/codeVoice>, based on the header’s properties.<\/Para>If you want to add support for rendering a background view and a pressed state, you should provide both createReusableBackgroundView<\/codeVoice> and createReusablePressedBackgroundView<\/codeVoice> methods, and apply the desired content in your apply(to:)<\/codeVoice> method.<\/Para>The ordering of the elements by z-index is as follows: z-Index 3) ContentView<\/codeVoice> z-Index 2) PressedBackgroundView<\/codeVoice> (Only if the header\/footer is pressed, eg if the wrapping HeaderFooter<\/codeVoice> has an onTap<\/codeVoice> handler.) z-Index 1) BackgroundView<\/codeVoice><\/Para><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 45,
         "key.doc.name" : "HeaderFooterContent",
         "key.doc.type" : "Class",
         "key.doclength" : 169,
         "key.docoffset" : 5598,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> HeaderFooterContent<\/decl.name><\/decl.protocol>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 146,
@@ -8241,7 +8038,7 @@
             "key.annotated_decl" : "func isEquivalent(to other: Self<\/Type>) -> Bool<\/Type><\/Declaration>",
             "key.bodylength" : 34,
             "key.bodyoffset" : 5883,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> isEquivalent<\/decl.name>(to<\/decl.var.parameter.argument_label> other<\/decl.var.parameter.name>: Self<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 83,
@@ -8300,12 +8097,12 @@
             "Para" : "The ordering of the elements by z-index is as follows: z-Index 3) `ContentView` z-Index 2) `PressedBackgroundView` (Only if the header\/footer is pressed, eg if the wrapping `HeaderFooter` has an `onTap` handler.) z-Index 1) `BackgroundView`"
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
-        "key.doc.full_as_xml" : "HeaderFooterContent<\/Name>s:10ListableUI19HeaderFooterContentP<\/USR>public protocol HeaderFooterContent<\/Declaration>A HeaderFooterContent<\/codeVoice> is a type which specifies the content of a header, footer, or other supplementary view within a listable list.<\/Para><\/Abstract>A non-tappable header that shows a label and icon might look like this (implementation of MyHeaderView<\/codeVoice> left up to the reader):<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> MyHeaderView {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered>, reason : ApplyReason) {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>The header is made Equatable<\/codeVoice> in order to synthesize automatic conformance to isEquivalent<\/codeVoice>, based on the header’s properties.<\/Para>If you want to add support for rendering a background view and a pressed state, you should provide both createReusableBackgroundView<\/codeVoice> and createReusablePressedBackgroundView<\/codeVoice> methods, and apply the desired content in your apply(to:)<\/codeVoice> method.<\/Para>The ordering of the elements by z-index is as follows: z-Index 3) ContentView<\/codeVoice> z-Index 2) PressedBackgroundView<\/codeVoice> (Only if the header\/footer is pressed, eg if the wrapping HeaderFooter<\/codeVoice> has an onTap<\/codeVoice> handler.) z-Index 1) BackgroundView<\/codeVoice><\/Para><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
+        "key.doc.full_as_xml" : "HeaderFooterContent<\/Name>s:10ListableUI19HeaderFooterContentP<\/USR>public protocol HeaderFooterContent<\/Declaration>A HeaderFooterContent<\/codeVoice> is a type which specifies the content of a header, footer, or other supplementary view within a listable list.<\/Para><\/Abstract>A non-tappable header that shows a label and icon might look like this (implementation of MyHeaderView<\/codeVoice> left up to the reader):<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> MyHeaderView {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered>, reason : ApplyReason) {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>The header is made Equatable<\/codeVoice> in order to synthesize automatic conformance to isEquivalent<\/codeVoice>, based on the header’s properties.<\/Para>If you want to add support for rendering a background view and a pressed state, you should provide both createReusableBackgroundView<\/codeVoice> and createReusablePressedBackgroundView<\/codeVoice> methods, and apply the desired content in your apply(to:)<\/codeVoice> method.<\/Para>The ordering of the elements by z-index is as follows: z-Index 3) ContentView<\/codeVoice> z-Index 2) PressedBackgroundView<\/codeVoice> (Only if the header\/footer is pressed, eg if the wrapping HeaderFooter<\/codeVoice> has an onTap<\/codeVoice> handler.) z-Index 1) BackgroundView<\/codeVoice><\/Para><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 45,
         "key.doc.name" : "HeaderFooterContent",
         "key.doc.type" : "Class",
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> HeaderFooterContent<\/decl.name><\/decl.protocol>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 197,
@@ -8332,12 +8129,12 @@
                 "Note" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
-            "key.doc.full_as_xml" : "createReusableBackgroundView(frame:)<\/Name>s:10ListableUI19HeaderFooterContentP28createReusableBackgroundView5frame0hI0QzSo6CGRectV_tFZ<\/USR>static func createReusableBackgroundView(frame: CGRect) -> BackgroundView<\/Declaration>Create and return a new background view used to render the content’s background.<\/Para><\/Abstract>]]><\/rawHTML>Note]]><\/rawHTML>Do not do configuration in this method that will be changed by your view’s theme or appearance – instead do that work in apply(to:)<\/codeVoice>, so the appearance will be updated if the appearance of content changes.<\/Para>This documentation comment was inherited from HeaderFooterContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
+            "key.doc.full_as_xml" : "createReusableBackgroundView(frame:)<\/Name>s:10ListableUI19HeaderFooterContentP28createReusableBackgroundView5frame0hI0QzSo6CGRectV_tFZ<\/USR>static func createReusableBackgroundView(frame: CGRect) -> BackgroundView<\/Declaration>Create and return a new background view used to render the content’s background.<\/Para><\/Abstract>]]><\/rawHTML>Note]]><\/rawHTML>Do not do configuration in this method that will be changed by your view’s theme or appearance – instead do that work in apply(to:)<\/codeVoice>, so the appearance will be updated if the appearance of content changes.<\/Para>This documentation comment was inherited from HeaderFooterContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 101,
             "key.doc.name" : "createReusableBackgroundView(frame:)",
             "key.doc.type" : "Function",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
             "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> createReusableBackgroundView<\/decl.name>(frame<\/decl.var.parameter.argument_label>: CGRect<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> BackgroundView<\/ref.associatedtype><\/decl.function.returntype><\/decl.function.method.static>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
             "key.length" : 123,
@@ -8396,12 +8193,12 @@
             "Para" : "The ordering of the elements by z-index is as follows: z-Index 3) `ContentView` z-Index 2) `PressedBackgroundView` (Only if the header\/footer is pressed, eg if the wrapping `HeaderFooter` has an `onTap` handler.) z-Index 1) `BackgroundView`"
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
-        "key.doc.full_as_xml" : "HeaderFooterContent<\/Name>s:10ListableUI19HeaderFooterContentP<\/USR>public protocol HeaderFooterContent<\/Declaration>A HeaderFooterContent<\/codeVoice> is a type which specifies the content of a header, footer, or other supplementary view within a listable list.<\/Para><\/Abstract>A non-tappable header that shows a label and icon might look like this (implementation of MyHeaderView<\/codeVoice> left up to the reader):<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> MyHeaderView {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered>, reason : ApplyReason) {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>The header is made Equatable<\/codeVoice> in order to synthesize automatic conformance to isEquivalent<\/codeVoice>, based on the header’s properties.<\/Para>If you want to add support for rendering a background view and a pressed state, you should provide both createReusableBackgroundView<\/codeVoice> and createReusablePressedBackgroundView<\/codeVoice> methods, and apply the desired content in your apply(to:)<\/codeVoice> method.<\/Para>The ordering of the elements by z-index is as follows: z-Index 3) ContentView<\/codeVoice> z-Index 2) PressedBackgroundView<\/codeVoice> (Only if the header\/footer is pressed, eg if the wrapping HeaderFooter<\/codeVoice> has an onTap<\/codeVoice> handler.) z-Index 1) BackgroundView<\/codeVoice><\/Para><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
+        "key.doc.full_as_xml" : "HeaderFooterContent<\/Name>s:10ListableUI19HeaderFooterContentP<\/USR>public protocol HeaderFooterContent<\/Declaration>A HeaderFooterContent<\/codeVoice> is a type which specifies the content of a header, footer, or other supplementary view within a listable list.<\/Para><\/Abstract>A non-tappable header that shows a label and icon might look like this (implementation of MyHeaderView<\/codeVoice> left up to the reader):<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> MyHeaderView {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered>, reason : ApplyReason) {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>The header is made Equatable<\/codeVoice> in order to synthesize automatic conformance to isEquivalent<\/codeVoice>, based on the header’s properties.<\/Para>If you want to add support for rendering a background view and a pressed state, you should provide both createReusableBackgroundView<\/codeVoice> and createReusablePressedBackgroundView<\/codeVoice> methods, and apply the desired content in your apply(to:)<\/codeVoice> method.<\/Para>The ordering of the elements by z-index is as follows: z-Index 3) ContentView<\/codeVoice> z-Index 2) PressedBackgroundView<\/codeVoice> (Only if the header\/footer is pressed, eg if the wrapping HeaderFooter<\/codeVoice> has an onTap<\/codeVoice> handler.) z-Index 1) BackgroundView<\/codeVoice><\/Para><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 45,
         "key.doc.name" : "HeaderFooterContent",
         "key.doc.type" : "Class",
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> HeaderFooterContent<\/decl.name><\/decl.protocol>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 225,
@@ -8434,12 +8231,12 @@
                 "Note" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
-            "key.doc.full_as_xml" : "createReusablePressedBackgroundView(frame:)<\/Name>s:10ListableUI19HeaderFooterContentP35createReusablePressedBackgroundView5frame0hiJ0QzSo6CGRectV_tFZ<\/USR>static func createReusablePressedBackgroundView(frame: CGRect) -> PressedBackgroundView<\/Declaration>Create and return a new background view used to render the content’s pressed background.<\/Para><\/Abstract>This view is displayed when the user taps\/presses the header \/ footer.<\/Para>If your BackgroundView<\/codeVoice> and SelectedBackgroundView<\/codeVoice> are the same type, this method is provided automatically by calling createReusableBackgroundView<\/codeVoice>.<\/Para>]]><\/rawHTML>Note]]><\/rawHTML>Do not do configuration in this method that will be changed by your view’s theme or appearance – instead do that work in apply(to:)<\/codeVoice>, so the appearance will be updated if the appearance of content changes.<\/Para>This documentation comment was inherited from HeaderFooterContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
+            "key.doc.full_as_xml" : "createReusablePressedBackgroundView(frame:)<\/Name>s:10ListableUI19HeaderFooterContentP35createReusablePressedBackgroundView5frame0hiJ0QzSo6CGRectV_tFZ<\/USR>static func createReusablePressedBackgroundView(frame: CGRect) -> PressedBackgroundView<\/Declaration>Create and return a new background view used to render the content’s pressed background.<\/Para><\/Abstract>This view is displayed when the user taps\/presses the header \/ footer.<\/Para>If your BackgroundView<\/codeVoice> and SelectedBackgroundView<\/codeVoice> are the same type, this method is provided automatically by calling createReusableBackgroundView<\/codeVoice>.<\/Para>]]><\/rawHTML>Note]]><\/rawHTML>Do not do configuration in this method that will be changed by your view’s theme or appearance – instead do that work in apply(to:)<\/codeVoice>, so the appearance will be updated if the appearance of content changes.<\/Para>This documentation comment was inherited from HeaderFooterContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 125,
             "key.doc.name" : "createReusablePressedBackgroundView(frame:)",
             "key.doc.type" : "Function",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterContent.swift",
             "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> createReusablePressedBackgroundView<\/decl.name>(frame<\/decl.var.parameter.argument_label>: CGRect<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> PressedBackgroundView<\/ref.associatedtype><\/decl.function.returntype><\/decl.function.method.static>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
             "key.length" : 144,
@@ -8470,112 +8267,294 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterLayout.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterLayouts.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
-    "key.length" : 307,
+    "key.length" : 3595,
     "key.offset" : 0,
     "key.substructure" : [
       {
         "key.accessibility" : "source.lang.swift.accessibility.public",
-        "key.annotated_decl" : "public struct HeaderFooterLayout : Equatable<\/Type><\/Declaration>",
+        "key.annotated_decl" : "public struct HeaderFooterLayouts<\/Declaration>",
         "key.attributes" : [
           {
             "key.attribute" : "source.decl.attribute.public",
             "key.length" : 6,
-            "key.offset" : 117
+            "key.offset" : 1543
           }
         ],
-        "key.bodylength" : 142,
-        "key.bodyoffset" : 163,
-        "key.elements" : [
+        "key.bodylength" : 1303,
+        "key.bodyoffset" : 1578,
+        "key.doc.column" : 15,
+        "key.doc.comment" : "\n`HeaderFooterLayouts` allows you to provide `ListLayout`-specific layout configuration for\nindividual headers and footers within a list. Eg, customize the layout for a header when it is in a table, a grid, etc.\n\nFor example, if you want to specify a custom layout for table layouts, you\nwould do the following on your header:\n\n```\nmyHeader.layouts.table = .init(\n    width: .fill\n)\n```\n\nAnd then, when the `HeaderFooter` is used within a `.table` style\nlist layout, the provided layout will be used.\n\nIf you plan on swapping between multiple `ListLayout` types on your list,\nyou can provide multiple layouts. The correct one will be used at the correct time:\n\n```\nmyHeader.layouts.table = .init(\n    width: .fill\n)\n\nmyHeader.layouts.otherLayout = .init(\n    width: 300,\n    alignment: .left\n    padding: 10\n)\n```\n\nNote\n----\nWhen implementing your own custom layout, you should add an extension to `HeaderFooterLayouts`,\nto provide easier access to your layout-specific `HeaderFooterLayoutsValue` type, like so:\n\n```\nextension HeaderFooterLayouts {\n    public var table : TableAppearance.HeaderFooter.Layout {\n        get { self[TableAppearance.HeaderFooter.Layout.self] }\n        set { self[TableAppearance.HeaderFooter.Layout.self] = newValue }\n    }\n}\n```",
+        "key.doc.declaration" : "public struct HeaderFooterLayouts",
+        "key.doc.discussion" : [
           {
-            "key.kind" : "source.lang.swift.structure.elem.typeref",
-            "key.length" : 9,
-            "key.offset" : 152
-          }
-        ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterLayout.swift",
-        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> HeaderFooterLayout<\/decl.name> : Equatable<\/ref.protocol><\/decl.struct>",
-        "key.inheritedtypes" : [
+            "Para" : "For example, if you want to specify a custom layout for table layouts, you would do the following on your header:"
+          },
           {
-            "key.name" : "Equatable"
+            "CodeListing" : ""
+          },
+          {
+            "Para" : "And then, when the `HeaderFooter` is used within a `.table` style list layout, the provided layout will be used."
+          },
+          {
+            "Para" : "If you plan on swapping between multiple `ListLayout` types on your list, you can provide multiple layouts. The correct one will be used at the correct time:"
+          },
+          {
+            "CodeListing" : ""
+          },
+          {
+            "Para" : "When implementing your own custom layout, you should add an extension to `HeaderFooterLayouts`, to provide easier access to your layout-specific `HeaderFooterLayoutsValue` type, like so:"
+          },
+          {
+            "CodeListing" : ""
           }
         ],
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterLayouts.swift",
+        "key.doc.full_as_xml" : "HeaderFooterLayouts<\/Name>s:10ListableUI19HeaderFooterLayoutsV<\/USR>public struct HeaderFooterLayouts<\/Declaration>HeaderFooterLayouts<\/codeVoice> allows you to provide ListLayout<\/codeVoice>-specific layout configuration for individual headers and footers within a list. Eg, customize the layout for a header when it is in a table, a grid, etc.<\/Para><\/Abstract>For example, if you want to specify a custom layout for table layouts, you would do the following on your header:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>And then, when the HeaderFooter<\/codeVoice> is used within a .table<\/codeVoice> style list layout, the provided layout will be used.<\/Para>If you plan on swapping between multiple ListLayout<\/codeVoice> types on your list, you can provide multiple layouts. The correct one will be used at the correct time:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>]]><\/rawHTML>Note]]><\/rawHTML>When implementing your own custom layout, you should add an extension to HeaderFooterLayouts<\/codeVoice>, to provide easier access to your layout-specific HeaderFooterLayoutsValue<\/codeVoice> type, like so:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.line" : 55,
+        "key.doc.name" : "HeaderFooterLayouts",
+        "key.doc.type" : "Class",
+        "key.doclength" : 1426,
+        "key.docoffset" : 117,
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterLayouts.swift",
+        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> HeaderFooterLayouts<\/decl.name><\/decl.struct>",
         "key.kind" : "source.lang.swift.decl.struct",
-        "key.length" : 182,
-        "key.name" : "HeaderFooterLayout",
-        "key.namelength" : 18,
-        "key.nameoffset" : 131,
-        "key.offset" : 124,
-        "key.parsed_declaration" : "public struct HeaderFooterLayout : Equatable",
-        "key.parsed_scope.end" : 20,
-        "key.parsed_scope.start" : 11,
+        "key.length" : 1332,
+        "key.name" : "HeaderFooterLayouts",
+        "key.namelength" : 19,
+        "key.nameoffset" : 1557,
+        "key.offset" : 1550,
+        "key.parsed_declaration" : "public struct HeaderFooterLayouts",
+        "key.parsed_scope.end" : 89,
+        "key.parsed_scope.start" : 55,
         "key.substructure" : [
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public var width: CustomWidth<\/Type><\/Declaration>",
+            "key.annotated_decl" : "public init(_ configure: (inout `Self`) -> () = { _ in })<\/Declaration>",
             "key.attributes" : [
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 168
+                "key.offset" : 1720
+              }
+            ],
+            "key.bodylength" : 70,
+            "key.bodyoffset" : 1792,
+            "key.doc.column" : 12,
+            "key.doc.comment" : "Creates a new instance of the layouts, with an optional `configure`\nclosure, to allow you to set up styling inline.",
+            "key.doc.declaration" : "public init(_ configure: (inout `Self`) -> () = { _ in })",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterLayouts.swift",
+            "key.doc.full_as_xml" : "init(_:)<\/Name>s:10ListableUI19HeaderFooterLayoutsVyACyACzXEcfc<\/USR>public init(_ configure: (inout `Self`) -> () = { _ in })<\/Declaration>Creates a new instance of the layouts, with an optional configure<\/codeVoice> closure, to allow you to set up styling inline.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.line" : 59,
+            "key.doc.name" : "init(_:)",
+            "key.doc.type" : "Function",
+            "key.doclength" : 128,
+            "key.docoffset" : 1588,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterLayouts.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(_<\/decl.var.parameter.argument_label> configure<\/decl.var.parameter.name>: (inout<\/syntaxtype.keyword> `Self`<\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type> = { _ in }<\/decl.var.parameter>)<\/decl.function.constructor>",
+            "key.kind" : "source.lang.swift.decl.function.method.instance",
+            "key.length" : 136,
+            "key.name" : "init(_:)",
+            "key.namelength" : 63,
+            "key.nameoffset" : 1727,
+            "key.offset" : 1727,
+            "key.parsed_declaration" : "public init(\n    _ configure : (inout Self) -> () = { _ in }\n)",
+            "key.parsed_scope.end" : 65,
+            "key.parsed_scope.start" : 59,
+            "key.substructure" : [
+
+            ],
+            "key.typename" : "(HeaderFooterLayouts.Type) -> ((inout HeaderFooterLayouts) -> ()) -> HeaderFooterLayouts",
+            "key.typeusr" : "$sy10ListableUI19HeaderFooterLayoutsVyACzXEcD",
+            "key.usr" : "s:10ListableUI19HeaderFooterLayoutsVyACyACzXEcfc"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.private",
+            "key.annotated_decl" : "private var storage: ContentLayoutsStorage<\/Type><\/Declaration>",
+            "key.attributes" : [
+              {
+                "key.attribute" : "source.decl.attribute.private",
+                "key.length" : 7,
+                "key.offset" : 1873
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterLayout.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> width<\/decl.name>: CustomWidth<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterLayouts.swift",
+            "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> var<\/syntaxtype.keyword> storage<\/decl.name>: ContentLayoutsStorage<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 23,
-            "key.name" : "width",
-            "key.namelength" : 5,
-            "key.nameoffset" : 179,
-            "key.offset" : 175,
-            "key.parsed_declaration" : "public var width : CustomWidth",
-            "key.parsed_scope.end" : 13,
-            "key.parsed_scope.start" : 13,
-            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-            "key.typename" : "CustomWidth",
-            "key.typeusr" : "$s10ListableUI11CustomWidthOD",
-            "key.usr" : "s:10ListableUI18HeaderFooterLayoutV5widthAA11CustomWidthOvp"
+            "key.length" : 35,
+            "key.name" : "storage",
+            "key.namelength" : 7,
+            "key.nameoffset" : 1885,
+            "key.offset" : 1881,
+            "key.parsed_declaration" : "private var storage : ContentLayoutsStorage",
+            "key.parsed_scope.end" : 67,
+            "key.parsed_scope.start" : 67,
+            "key.setter_accessibility" : "source.lang.swift.accessibility.private",
+            "key.typename" : "ContentLayoutsStorage",
+            "key.typeusr" : "$s10ListableUI21ContentLayoutsStorageVD",
+            "key.usr" : "s:10ListableUI19HeaderFooterLayoutsV7storage33_AEFF59B9891C827F923FD7D479A9E22ALLAA07ContentE7StorageVvp"
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public init(width: CustomWidth<\/Type> = .default)<\/Declaration>",
+            "key.annotated_decl" : "public subscript<ValueType>(valueType: ValueType<\/Type>.Type) -> ValueType<\/Type> where ValueType : HeaderFooterLayoutsValue<\/Type> { get set }<\/Declaration>",
             "key.attributes" : [
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 212
+                "key.offset" : 2641
               }
             ],
-            "key.bodylength" : 32,
-            "key.bodyoffset" : 271,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterLayout.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(width<\/decl.var.parameter.argument_label>: CustomWidth<\/ref.enum><\/decl.var.parameter.type> = .default<\/decl.var.parameter>)<\/decl.function.constructor>",
-            "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 85,
-            "key.name" : "init(width:)",
-            "key.namelength" : 50,
-            "key.nameoffset" : 219,
-            "key.offset" : 219,
-            "key.parsed_declaration" : "public init(\n    width : CustomWidth = .default\n)",
-            "key.parsed_scope.end" : 19,
-            "key.parsed_scope.start" : 15,
+            "key.bodylength" : 141,
+            "key.bodyoffset" : 2738,
+            "key.doc.column" : 12,
+            "key.doc.comment" : "Allows accessing the various `HeaderFooterLayoutValue`s stored within the object.\nThis method will return the `defaultValue` for a value if none is set.\n\nNote\n----\nWhen implementing your own custom layout, you should add an extension to `HeaderFooterLayouts`,\nto provide easier access to your layout-specific `HeaderFooterLayoutsValue` type.\n\n```\nextension HeaderFooterLayouts {\n    public var table : TableAppearance.HeaderFooter.Layout {\n        get { self[TableAppearance.HeaderFooter.Layout.self] }\n        set { self[TableAppearance.HeaderFooter.Layout.self] = newValue }\n    }\n}\n```",
+            "key.doc.declaration" : "public subscript(valueType: ValueType.Type) -> ValueType where ValueType : ListableUI.HeaderFooterLayoutsValue { get set }",
+            "key.doc.discussion" : [
+              {
+                "Para" : "When implementing your own custom layout, you should add an extension to `HeaderFooterLayouts`, to provide easier access to your layout-specific `HeaderFooterLayoutsValue` type."
+              },
+              {
+                "CodeListing" : ""
+              }
+            ],
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterLayouts.swift",
+            "key.doc.full_as_xml" : "subscript(_:)<\/Name>s:10ListableUI19HeaderFooterLayoutsVyxxmcAA0cdE5ValueRzluip<\/USR>public subscript<ValueType>(valueType: ValueType.Type) -> ValueType where ValueType : ListableUI.HeaderFooterLayoutsValue { get set }<\/Declaration>Allows accessing the various HeaderFooterLayoutValue<\/codeVoice>s stored within the object. This method will return the defaultValue<\/codeVoice> for a value if none is set.<\/Para><\/Abstract>]]><\/rawHTML>Note]]><\/rawHTML>When implementing your own custom layout, you should add an extension to HeaderFooterLayouts<\/codeVoice>, to provide easier access to your layout-specific HeaderFooterLayoutsValue<\/codeVoice> type.<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Other>",
+            "key.doc.line" : 85,
+            "key.doc.name" : "subscript(_:)",
+            "key.doc.type" : "Other",
+            "key.doclength" : 711,
+            "key.docoffset" : 1926,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterLayouts.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> subscript<\/syntaxtype.keyword><ValueType<\/decl.generic_type_param.name><\/decl.generic_type_param>>(valueType<\/decl.var.parameter.name>: ValueType<\/ref.generic_type_param>.Type<\/decl.var.parameter.type><\/decl.var.parameter>) -> ValueType<\/ref.generic_type_param><\/decl.function.returntype> where<\/syntaxtype.keyword> ValueType : HeaderFooterLayoutsValue<\/ref.protocol><\/decl.generic_type_requirement> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.function.subscript>",
+            "key.kind" : "source.lang.swift.decl.function.subscript",
+            "key.length" : 232,
+            "key.name" : "subscript(_:)",
+            "key.namelength" : 75,
+            "key.nameoffset" : 2648,
+            "key.offset" : 2648,
+            "key.parsed_declaration" : "public subscript(_ valueType : ValueType.Type) -> ValueType",
+            "key.parsed_scope.end" : 88,
+            "key.parsed_scope.start" : 85,
+            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
             "key.substructure" : [
-
+              {
+                "key.annotated_decl" : "ValueType : HeaderFooterLayoutsValue<\/Type><\/Declaration>",
+                "key.elements" : [
+                  {
+                    "key.kind" : "source.lang.swift.structure.elem.typeref",
+                    "key.length" : 24,
+                    "key.offset" : 2668
+                  }
+                ],
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterLayouts.swift",
+                "key.fully_annotated_decl" : "ValueType<\/decl.generic_type_param.name> : HeaderFooterLayoutsValue<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
+                "key.inheritedtypes" : [
+                  {
+                    "key.name" : "HeaderFooterLayoutsValue"
+                  }
+                ],
+                "key.kind" : "source.lang.swift.decl.generic_type_param",
+                "key.length" : 34,
+                "key.name" : "ValueType",
+                "key.namelength" : 9,
+                "key.nameoffset" : 2658,
+                "key.offset" : 2658,
+                "key.parsed_declaration" : "public subscript (CustomWidth) -> HeaderFooterLayout",
-            "key.typeusr" : "$s5width10ListableUI18HeaderFooterLayoutVAB11CustomWidthO_tcD",
-            "key.usr" : "s:10ListableUI18HeaderFooterLayoutV5widthAcA11CustomWidthO_tcfc"
+            "key.typename" : " (ValueType.Type) -> ValueType",
+            "key.typeusr" : "$syxxmc10ListableUI24HeaderFooterLayoutsValueRzluD",
+            "key.usr" : "s:10ListableUI19HeaderFooterLayoutsVyxxmcAA0cdE5ValueRzluip"
+          }
+        ],
+        "key.typename" : "HeaderFooterLayouts.Type",
+        "key.typeusr" : "$s10ListableUI19HeaderFooterLayoutsVmD",
+        "key.usr" : "s:10ListableUI19HeaderFooterLayoutsV"
+      },
+      {
+        "key.accessibility" : "source.lang.swift.accessibility.public",
+        "key.annotated_decl" : "public protocol HeaderFooterLayoutsValue<\/Declaration>",
+        "key.attributes" : [
+          {
+            "key.attribute" : "source.decl.attribute.public",
+            "key.length" : 6,
+            "key.offset" : 3433
+          }
+        ],
+        "key.bodylength" : 118,
+        "key.bodyoffset" : 3475,
+        "key.doc.column" : 17,
+        "key.doc.comment" : "\nThe `HeaderFooterLayoutsValue` protocol provides a default value for the different layouts stored\nwithin `HeaderFooterLayouts`. Provide a `defaultValue` with reasonable defaults, as the\ndeveloper should not need to set these values at all times when using your layout.\n\n```\npublic struct Layout : Equatable, HeaderFooterLayoutsValue\n{\n    public var width : CGFloat\n    public var minHeight : CGFloat\n\n    ...\n\n    public static var defaultValue : Self {\n        ...\n    }\n}\n```",
+        "key.doc.declaration" : "public protocol HeaderFooterLayoutsValue",
+        "key.doc.discussion" : [
+          {
+            "CodeListing" : ""
+          }
+        ],
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterLayouts.swift",
+        "key.doc.full_as_xml" : "HeaderFooterLayoutsValue<\/Name>s:10ListableUI24HeaderFooterLayoutsValueP<\/USR>public protocol HeaderFooterLayoutsValue<\/Declaration>The HeaderFooterLayoutsValue<\/codeVoice> protocol provides a default value for the different layouts stored within HeaderFooterLayouts<\/codeVoice>. Provide a defaultValue<\/codeVoice> with reasonable defaults, as the developer should not need to set these values at all times when using your layout.<\/Para><\/Abstract><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.line" : 110,
+        "key.doc.name" : "HeaderFooterLayoutsValue",
+        "key.doc.type" : "Class",
+        "key.doclength" : 548,
+        "key.docoffset" : 2885,
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterLayouts.swift",
+        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> HeaderFooterLayoutsValue<\/decl.name><\/decl.protocol>",
+        "key.kind" : "source.lang.swift.decl.protocol",
+        "key.length" : 154,
+        "key.name" : "HeaderFooterLayoutsValue",
+        "key.namelength" : 24,
+        "key.nameoffset" : 3449,
+        "key.offset" : 3440,
+        "key.parsed_declaration" : "public protocol HeaderFooterLayoutsValue",
+        "key.parsed_scope.end" : 114,
+        "key.parsed_scope.start" : 110,
+        "key.substructure" : [
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "static var defaultValue: Self<\/Type> { get }<\/Declaration>",
+            "key.bodylength" : 5,
+            "key.bodyoffset" : 3586,
+            "key.doc.column" : 16,
+            "key.doc.comment" : "The default value used when accessing the value, if none is set.",
+            "key.doc.declaration" : "static var defaultValue: Self { get }",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterLayouts.swift",
+            "key.doc.full_as_xml" : "defaultValue<\/Name>s:10ListableUI24HeaderFooterLayoutsValueP07defaultF0xvpZ<\/USR>static var defaultValue: Self { get }<\/Declaration>The default value used when accessing the value, if none is set.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.line" : 113,
+            "key.doc.name" : "defaultValue",
+            "key.doc.type" : "Other",
+            "key.doclength" : 69,
+            "key.docoffset" : 3481,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterLayouts.swift",
+            "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> var<\/syntaxtype.keyword> defaultValue<\/decl.name>: Self<\/ref.generic_type_param><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.static>",
+            "key.kind" : "source.lang.swift.decl.var.static",
+            "key.length" : 38,
+            "key.name" : "defaultValue",
+            "key.namelength" : 12,
+            "key.nameoffset" : 3565,
+            "key.offset" : 3554,
+            "key.parsed_declaration" : "static var defaultValue : Self",
+            "key.parsed_scope.end" : 113,
+            "key.parsed_scope.start" : 113,
+            "key.typename" : "Self",
+            "key.typeusr" : "$sxD",
+            "key.usr" : "s:10ListableUI24HeaderFooterLayoutsValueP07defaultF0xvpZ"
           }
         ],
-        "key.typename" : "HeaderFooterLayout.Type",
-        "key.typeusr" : "$s10ListableUI18HeaderFooterLayoutVmD",
-        "key.usr" : "s:10ListableUI18HeaderFooterLayoutV"
+        "key.typename" : "HeaderFooterLayoutsValue.Protocol",
+        "key.typeusr" : "$s10ListableUI24HeaderFooterLayoutsValue_pmD",
+        "key.usr" : "s:10ListableUI24HeaderFooterLayoutsValueP"
       }
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Identifier.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Identifier.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 4423,
     "key.offset" : 0,
@@ -8617,8 +8596,8 @@
             "Para" : "Even once type-erased to `AnyIdentifier`, these identifiers will still not be equal, because their underlying `Represented` type is different."
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Identifier.swift",
-        "key.doc.full_as_xml" : "Identifier<\/Name>s:10ListableUI10IdentifierC<\/USR>public final class Identifier<Represented> : AnyIdentifier<\/Declaration>An Identifier<\/codeVoice> is used to unique items in Listable lists. Sections, and items in those sections have identifiers, which are used to keep track of those items and sections as updates are pushed through the list view.<\/Para><\/Abstract>Identifiers for content shouldn’t change – if it does, the item or section is treated as a new item. This means that for your ItemContent<\/codeVoice> or Section<\/codeVoice>, you should use a stable identifier like server ID or unique value that does not change.<\/Para>Identifiers do not<\/emphasis> have to be unique, but it certainly helps. When applying updates, Listable will convert duplicate identifiers to unique identifiers by counting upward for each equal identifier it finds (eg, “MyID.1, MyID.2, MyID.3”, etc). However, you should do your best to ensure identifiers are unique, as this helps generate a visually correct diff when applying updates.<\/Para>Identifiers are strongly typed; alongside their contained value, they also encode their Represented<\/codeVoice> type. This means that these two identifiers are different, despite having the same value<\/codeVoice>.<\/Para>(\"value\")]]><\/zCodeLineNumbered>(\"value\")]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>Even once type-erased to AnyIdentifier<\/codeVoice>, these identifiers will still not be equal, because their underlying Represented<\/codeVoice> type is different.<\/Para><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Identifier.swift",
+        "key.doc.full_as_xml" : "Identifier<\/Name>s:10ListableUI10IdentifierC<\/USR>public final class Identifier<Represented> : AnyIdentifier<\/Declaration>An Identifier<\/codeVoice> is used to unique items in Listable lists. Sections, and items in those sections have identifiers, which are used to keep track of those items and sections as updates are pushed through the list view.<\/Para><\/Abstract>Identifiers for content shouldn’t change – if it does, the item or section is treated as a new item. This means that for your ItemContent<\/codeVoice> or Section<\/codeVoice>, you should use a stable identifier like server ID or unique value that does not change.<\/Para>Identifiers do not<\/emphasis> have to be unique, but it certainly helps. When applying updates, Listable will convert duplicate identifiers to unique identifiers by counting upward for each equal identifier it finds (eg, “MyID.1, MyID.2, MyID.3”, etc). However, you should do your best to ensure identifiers are unique, as this helps generate a visually correct diff when applying updates.<\/Para>Identifiers are strongly typed; alongside their contained value, they also encode their Represented<\/codeVoice> type. This means that these two identifiers are different, despite having the same value<\/codeVoice>.<\/Para>(\"value\")]]><\/zCodeLineNumbered>(\"value\")]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>Even once type-erased to AnyIdentifier<\/codeVoice>, these identifiers will still not be equal, because their underlying Represented<\/codeVoice> type is different.<\/Para><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 35,
         "key.doc.name" : "Identifier",
         "key.doc.type" : "Class",
@@ -8631,7 +8610,7 @@
             "key.offset" : 1523
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Identifier.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Identifier.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> Identifier<\/decl.name><Represented<\/decl.generic_type_param.name><\/decl.generic_type_param>> : AnyIdentifier<\/ref.class><\/decl.class>",
         "key.inheritedtypes" : [
           {
@@ -8650,7 +8629,7 @@
         "key.substructure" : [
           {
             "key.annotated_decl" : "Represented<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Identifier.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Identifier.swift",
             "key.fully_annotated_decl" : "Represented<\/decl.generic_type_param.name><\/decl.generic_type_param>",
             "key.kind" : "source.lang.swift.decl.generic_type_param",
             "key.length" : 11,
@@ -8685,14 +8664,14 @@
             "key.doc.column" : 24,
             "key.doc.comment" : "Identifier which identifies by the type of `Represented` only.\nIf you have multiple of `Represented` within a list, it is recommended that\nyou use `init(_ value:)` to provide a unique inner value.",
             "key.doc.declaration" : "public convenience init()",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Identifier.swift",
-            "key.doc.full_as_xml" : "init()<\/Name>s:10ListableUI10IdentifierCACyxGycfc<\/USR>public convenience init()<\/Declaration>Identifier which identifies by the type of Represented<\/codeVoice> only. If you have multiple of Represented<\/codeVoice> within a list, it is recommended that you use init(_ value:)<\/codeVoice> to provide a unique inner value.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Identifier.swift",
+            "key.doc.full_as_xml" : "init()<\/Name>s:10ListableUI10IdentifierCACyxGycfc<\/USR>public convenience init()<\/Declaration>Identifier which identifies by the type of Represented<\/codeVoice> only. If you have multiple of Represented<\/codeVoice> within a list, it is recommended that you use init(_ value:)<\/codeVoice> to provide a unique inner value.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 40,
             "key.doc.name" : "init()",
             "key.doc.type" : "Function",
             "key.doclength" : 217,
             "key.docoffset" : 1543,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Identifier.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Identifier.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> convenience<\/syntaxtype.keyword> init<\/syntaxtype.keyword>()<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 40,
@@ -8730,14 +8709,14 @@
             "key.doc.column" : 12,
             "key.doc.comment" : "Creates an identifier which identifies by both `Represented`, and the `value` passed to init.",
             "key.doc.declaration" : "public init(_ value: Value) where Value : Hashable",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Identifier.swift",
-            "key.doc.full_as_xml" : "init(_:)<\/Name>s:10ListableUI10IdentifierCyACyxGqd__cSHRd__lufc<\/USR>public init<Value>(_ value: Value) where Value : Hashable<\/Declaration>Creates an identifier which identifies by both Represented<\/codeVoice>, and the value<\/codeVoice> passed to init.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Identifier.swift",
+            "key.doc.full_as_xml" : "init(_:)<\/Name>s:10ListableUI10IdentifierCyACyxGqd__cSHRd__lufc<\/USR>public init<Value>(_ value: Value) where Value : Hashable<\/Declaration>Creates an identifier which identifies by both Represented<\/codeVoice>, and the value<\/codeVoice> passed to init.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 46,
             "key.doc.name" : "init(_:)",
             "key.doc.type" : "Function",
             "key.doclength" : 98,
             "key.docoffset" : 1833,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Identifier.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Identifier.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword><Value<\/decl.generic_type_param.name><\/decl.generic_type_param>>(_<\/decl.var.parameter.argument_label> value<\/decl.var.parameter.name>: Value<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) where<\/syntaxtype.keyword> Value : Hashable<\/ref.protocol><\/decl.generic_type_requirement><\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 171,
@@ -8763,7 +8742,7 @@
                     "key.offset" : 1953
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Identifier.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Identifier.swift",
                 "key.fully_annotated_decl" : "Value<\/decl.generic_type_param.name> : Hashable<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
                 "key.inheritedtypes" : [
                   {
@@ -8813,7 +8792,7 @@
             ],
             "key.bodylength" : 106,
             "key.bodyoffset" : 2217,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Identifier.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Identifier.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> override<\/syntaxtype.keyword> var<\/syntaxtype.keyword> debugDescription<\/decl.name>: String<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 138,
@@ -8867,8 +8846,8 @@
             "Para" : "Note that like Swift `KeyPath`s, `AnyIdentifier` is the base type for `Identifier`. This is done purely for performance reasons; it allows free bridging from `Identifier` to `AnyIdentifier`."
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Identifier.swift",
-        "key.doc.full_as_xml" : "AnyIdentifier<\/Name>s:10ListableUI13AnyIdentifierC<\/USR>public class AnyIdentifier : Hashable, CustomDebugStringConvertible<\/Declaration>A type-erased Identifier<\/codeVoice> used to identify content in a listable list.<\/Para><\/Abstract>Even though type-erased, the original Represented<\/codeVoice> type from the Identifier<\/codeVoice> is still retained when being type erased, meaning comparing two AnyIdentifiers<\/codeVoice> with the same value<\/codeVoice> but different Represented<\/codeVoice> types will report false<\/codeVoice>:<\/Para>(\"value\") as AnyIdentifier]]><\/zCodeLineNumbered>(\"value\") as AnyIdentifier]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>Note that like Swift KeyPath<\/codeVoice>s, AnyIdentifier<\/codeVoice> is the base type for Identifier<Represented><\/codeVoice>. This is done purely for performance reasons; it allows free bridging from Identifier<\/codeVoice> to AnyIdentifier<\/codeVoice>.<\/Para><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Identifier.swift",
+        "key.doc.full_as_xml" : "AnyIdentifier<\/Name>s:10ListableUI13AnyIdentifierC<\/USR>public class AnyIdentifier : Hashable, CustomDebugStringConvertible<\/Declaration>A type-erased Identifier<\/codeVoice> used to identify content in a listable list.<\/Para><\/Abstract>Even though type-erased, the original Represented<\/codeVoice> type from the Identifier<\/codeVoice> is still retained when being type erased, meaning comparing two AnyIdentifiers<\/codeVoice> with the same value<\/codeVoice> but different Represented<\/codeVoice> types will report false<\/codeVoice>:<\/Para>(\"value\") as AnyIdentifier]]><\/zCodeLineNumbered>(\"value\") as AnyIdentifier]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>Note that like Swift KeyPath<\/codeVoice>s, AnyIdentifier<\/codeVoice> is the base type for Identifier<Represented><\/codeVoice>. This is done purely for performance reasons; it allows free bridging from Identifier<\/codeVoice> to AnyIdentifier<\/codeVoice>.<\/Para><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 78,
         "key.doc.name" : "AnyIdentifier",
         "key.doc.type" : "Class",
@@ -8886,7 +8865,7 @@
             "key.offset" : 3112
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Identifier.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Identifier.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> class<\/syntaxtype.keyword> AnyIdentifier<\/decl.name> : Hashable<\/ref.protocol>, CustomDebugStringConvertible<\/ref.protocol><\/decl.class>",
         "key.inheritedtypes" : [
           {
@@ -8916,7 +8895,7 @@
                 "key.offset" : 3147
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Identifier.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Identifier.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> let<\/syntaxtype.keyword> representedType<\/decl.name>: ObjectIdentifier<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 38,
@@ -8941,7 +8920,7 @@
                 "key.offset" : 3203
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Identifier.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Identifier.swift",
             "key.fully_annotated_decl" : "fileprivate<\/syntaxtype.keyword> let<\/syntaxtype.keyword> value<\/decl.name>: AnyHashable<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 23,
@@ -8966,7 +8945,7 @@
                 "key.offset" : 3248
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Identifier.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Identifier.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> let<\/syntaxtype.keyword> hash<\/decl.name>: Int<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 14,
@@ -8998,7 +8977,7 @@
             ],
             "key.bodylength" : 225,
             "key.bodyoffset" : 3348,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Identifier.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Identifier.swift",
             "key.fully_annotated_decl" : "fileprivate<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(type<\/decl.var.parameter.argument_label>: ObjectIdentifier<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, value<\/decl.var.parameter.argument_label>: AnyHashable<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 282,
@@ -9012,7 +8991,7 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "var hasher: Hasher<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Identifier.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Identifier.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> hasher<\/decl.name>: Hasher<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 21,
@@ -9082,7 +9061,7 @@
               }
             ],
             "key.doc.type" : "Function",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Identifier.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Identifier.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> == <\/decl.name>(lhs<\/decl.var.parameter.name>: AnyIdentifier<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, rhs<\/decl.var.parameter.name>: AnyIdentifier<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.operator.infix>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
             "key.length" : 183,
@@ -9599,7 +9578,7 @@
               }
             ],
             "key.doc.type" : "Function",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Identifier.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Identifier.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> hash<\/decl.name>(into<\/decl.var.parameter.argument_label> hasher<\/decl.var.parameter.name>: inout<\/syntaxtype.keyword> Hasher<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 82,
@@ -9665,7 +9644,7 @@
             "key.doc.full_as_xml" : "debugDescription<\/Name>s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp<\/USR>var debugDescription: String { get }<\/Declaration>A textual representation of this instance, suitable for debugging.<\/Para><\/Abstract>Calling this property directly is discouraged. Instead, convert an instance of any type to a string by using the String(reflecting:)<\/codeVoice> initializer. This initializer works with any type, and uses the custom debugDescription<\/codeVoice> property for types that conform to CustomDebugStringConvertible<\/codeVoice>:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>The conversion of p<\/codeVoice> to a string in the assignment to s<\/codeVoice> uses the Point<\/codeVoice> type’s debugDescription<\/codeVoice> property.<\/Para>This documentation comment was inherited from CustomDebugStringConvertible<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Other>",
             "key.doc.name" : "debugDescription",
             "key.doc.type" : "Other",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Identifier.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Identifier.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> debugDescription<\/decl.name>: String<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 58,
@@ -9742,7 +9721,7 @@
             "key.annotated_decl" : "var identifierContentString: String<\/Type> { get }<\/Declaration>",
             "key.bodylength" : 286,
             "key.bodyoffset" : 4133,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Identifier.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Identifier.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> identifierContentString<\/decl.name>: String<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.groupname" : "Hashing",
             "key.kind" : "source.lang.swift.decl.var.instance",
@@ -9766,7 +9745,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Array.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Array.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 1424,
     "key.offset" : 0,
@@ -9928,7 +9907,7 @@
             "key.annotated_decl" : "func forEachWithIndex(_ block: (Int<\/Type>, Bool<\/Type>, Element<\/Type>) -> ())<\/Declaration>",
             "key.bodylength" : 230,
             "key.bodyoffset" : 191,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Array.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Array.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> forEachWithIndex<\/decl.name>(_<\/decl.var.parameter.argument_label> block<\/decl.var.parameter.name>: (Int<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, Element<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.groupname" : "Collection\/Array",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
@@ -9943,7 +9922,7 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let count: Int<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Array.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Array.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> count<\/decl.name>: Int<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.groupname" : "Collection\/Array",
                 "key.kind" : "source.lang.swift.decl.var.local",
@@ -9966,7 +9945,7 @@
               },
               {
                 "key.annotated_decl" : "var index: Int<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Array.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Array.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> index<\/decl.name>: Int<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.groupname" : "Collection\/Array",
                 "key.kind" : "source.lang.swift.decl.var.local",
@@ -10005,7 +9984,7 @@
             "key.annotated_decl" : "func mapWithIndex<Mapped>(_ block: (Int<\/Type>, Bool<\/Type>, Element<\/Type>) -> Mapped<\/Type>) -> [Mapped<\/Type>]<\/Declaration>",
             "key.bodylength" : 360,
             "key.bodyoffset" : 517,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Array.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Array.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> mapWithIndex<\/decl.name><Mapped<\/decl.generic_type_param.name><\/decl.generic_type_param>>(_<\/decl.var.parameter.argument_label> block<\/decl.var.parameter.name>: (Int<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, Element<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> Mapped<\/ref.generic_type_param><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>) -> [Mapped<\/ref.generic_type_param>]<\/decl.function.returntype><\/decl.function.method.instance>",
             "key.groupname" : "Collection\/Array",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
@@ -10020,7 +9999,7 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "Mapped<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Array.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Array.swift",
                 "key.fully_annotated_decl" : "Mapped<\/decl.generic_type_param.name><\/decl.generic_type_param>",
                 "key.groupname" : "Collection\/Array",
                 "key.kind" : "source.lang.swift.decl.generic_type_param",
@@ -10038,7 +10017,7 @@
               },
               {
                 "key.annotated_decl" : "var mapped: [Mapped]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Array.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Array.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> mapped<\/decl.name>: [Mapped]<\/decl.var.type><\/decl.var.local>",
                 "key.groupname" : "Collection\/Array",
                 "key.kind" : "source.lang.swift.decl.var.local",
@@ -10056,7 +10035,7 @@
               },
               {
                 "key.annotated_decl" : "let count: Int<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Array.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Array.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> count<\/decl.name>: Int<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.groupname" : "Collection\/Array",
                 "key.kind" : "source.lang.swift.decl.var.local",
@@ -10079,7 +10058,7 @@
               },
               {
                 "key.annotated_decl" : "var index: Int<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Array.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Array.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> index<\/decl.name>: Int<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.groupname" : "Collection\/Array",
                 "key.kind" : "source.lang.swift.decl.var.local",
@@ -10118,7 +10097,7 @@
             "key.annotated_decl" : "func compactMapWithIndex<Mapped>(_ block: (Int<\/Type>, Bool<\/Type>, Element<\/Type>) -> Mapped<\/Type>?) -> [Mapped<\/Type>]<\/Declaration>",
             "key.bodylength" : 439,
             "key.bodyoffset" : 981,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Array.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Array.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> compactMapWithIndex<\/decl.name><Mapped<\/decl.generic_type_param.name><\/decl.generic_type_param>>(_<\/decl.var.parameter.argument_label> block<\/decl.var.parameter.name>: (Int<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, Element<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> Mapped<\/ref.generic_type_param>?<\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>) -> [Mapped<\/ref.generic_type_param>]<\/decl.function.returntype><\/decl.function.method.instance>",
             "key.groupname" : "Collection\/Array",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
@@ -10133,7 +10112,7 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "Mapped<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Array.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Array.swift",
                 "key.fully_annotated_decl" : "Mapped<\/decl.generic_type_param.name><\/decl.generic_type_param>",
                 "key.groupname" : "Collection\/Array",
                 "key.kind" : "source.lang.swift.decl.generic_type_param",
@@ -10151,7 +10130,7 @@
               },
               {
                 "key.annotated_decl" : "var mapped: [Mapped]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Array.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Array.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> mapped<\/decl.name>: [Mapped]<\/decl.var.type><\/decl.var.local>",
                 "key.groupname" : "Collection\/Array",
                 "key.kind" : "source.lang.swift.decl.var.local",
@@ -10169,7 +10148,7 @@
               },
               {
                 "key.annotated_decl" : "let count: Int<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Array.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Array.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> count<\/decl.name>: Int<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.groupname" : "Collection\/Array",
                 "key.kind" : "source.lang.swift.decl.var.local",
@@ -10192,7 +10171,7 @@
               },
               {
                 "key.annotated_decl" : "var index: Int<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Array.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Array.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> index<\/decl.name>: Int<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.groupname" : "Collection\/Array",
                 "key.kind" : "source.lang.swift.decl.var.local",
@@ -10235,7 +10214,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Assertions.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Assertions.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 919,
     "key.offset" : 0,
@@ -10252,7 +10231,7 @@
         ],
         "key.bodylength" : 232,
         "key.bodyoffset" : 241,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Assertions.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Assertions.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> listableFatal<\/decl.name>(_<\/decl.var.parameter.argument_label> message<\/decl.var.parameter.name>: @autoclosure<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> () -> String<\/ref.struct><\/decl.function.returntype><\/decl.var.parameter.type> = String()<\/decl.var.parameter>, file<\/decl.var.parameter.argument_label>: StaticString<\/ref.struct><\/decl.var.parameter.type> = #file<\/syntaxtype.keyword><\/decl.var.parameter>, line<\/decl.var.parameter.argument_label>: UInt<\/ref.struct><\/decl.var.parameter.type> = #line<\/syntaxtype.keyword><\/decl.var.parameter>) -> Never<\/ref.enum><\/decl.function.returntype><\/decl.function.free>",
         "key.kind" : "source.lang.swift.decl.function.free",
         "key.length" : 359,
@@ -10282,7 +10261,7 @@
         ],
         "key.bodylength" : 272,
         "key.bodyoffset" : 645,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Assertions.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Assertions.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> listablePrecondition<\/decl.name>(_<\/decl.var.parameter.argument_label> condition<\/decl.var.parameter.name>: @autoclosure<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> () -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>, _<\/decl.var.parameter.argument_label> message<\/decl.var.parameter.name>: @autoclosure<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> () -> String<\/ref.struct><\/decl.function.returntype><\/decl.var.parameter.type> = String()<\/decl.var.parameter>, file<\/decl.var.parameter.argument_label>: StaticString<\/ref.struct><\/decl.var.parameter.type> = #file<\/syntaxtype.keyword><\/decl.var.parameter>, line<\/decl.var.parameter.argument_label>: UInt<\/ref.struct><\/decl.var.parameter.type> = #line<\/syntaxtype.keyword><\/decl.var.parameter>)<\/decl.function.free>",
         "key.kind" : "source.lang.swift.decl.function.free",
         "key.length" : 435,
@@ -10303,7 +10282,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/CGSize.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/CGSize.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 221,
     "key.offset" : 0,
@@ -10339,7 +10318,7 @@
             "key.annotated_decl" : "var isEmpty: Bool<\/Type> { get }<\/Declaration>",
             "key.bodylength" : 60,
             "key.bodyoffset" : 157,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/CGSize.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/CGSize.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> isEmpty<\/decl.name>: Bool<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 81,
@@ -10362,7 +10341,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 6169,
     "key.offset" : 0,
@@ -10377,7 +10356,7 @@
             "key.offset" : 106
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
         "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> let<\/syntaxtype.keyword> haptics<\/decl.name>: UIImpactFeedbackGenerator<\/ref.class><\/decl.var.type><\/decl.var.global>",
         "key.kind" : "source.lang.swift.decl.var.global",
         "key.length" : 54,
@@ -10421,7 +10400,7 @@
             "key.offset" : 222
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> DefaultSwipeActionsView<\/decl.name> : UIView<\/ref.class>, ItemContentSwipeActionsView<\/ref.protocol><\/decl.class>",
         "key.inheritedtypes" : [
           {
@@ -10451,7 +10430,7 @@
                 "key.offset" : 257
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> var<\/syntaxtype.keyword> actionButtons<\/decl.name>: [DefaultSwipeActionButton<\/ref.class>]<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 50,
@@ -10477,7 +10456,7 @@
                 "key.offset" : 320
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> var<\/syntaxtype.keyword> calculatedNaturalWidth<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 39,
@@ -10503,7 +10482,7 @@
                 "key.offset" : 373
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> var<\/syntaxtype.keyword> firstAction<\/decl.name>: SwipeAction<\/ref.struct>?<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 29,
@@ -10529,7 +10508,7 @@
                 "key.offset" : 415
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> var<\/syntaxtype.keyword> didPerformAction<\/decl.name>: SwipeAction<\/ref.struct>.CompletionHandler<\/ref.typealias><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 51,
@@ -10557,7 +10536,7 @@
             ],
             "key.bodylength" : 59,
             "key.bodyoffset" : 519,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> swipeActionsWidth<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 92,
@@ -10587,7 +10566,7 @@
                 "key.offset" : 585
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> var<\/syntaxtype.keyword> state<\/decl.name>: SwipeActionState<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 37,
@@ -10615,7 +10594,7 @@
             ],
             "key.bodylength" : 116,
             "key.bodyoffset" : 708,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(didPerformAction<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> SwipeAction<\/ref.struct>.CompletionHandler<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 182,
@@ -10655,7 +10634,7 @@
             ],
             "key.bodylength" : 65,
             "key.bodyoffset" : 863,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
             "key.fully_annotated_decl" : "required<\/syntaxtype.keyword> init<\/syntaxtype.keyword>?(coder<\/decl.var.parameter.argument_label>: NSCoder<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 89,
@@ -10703,7 +10682,7 @@
             ],
             "key.bodylength" : 2336,
             "key.bodyoffset" : 974,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> override<\/syntaxtype.keyword> func<\/syntaxtype.keyword> layoutSubviews<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 2360,
@@ -10725,7 +10704,7 @@
                 "key.annotated_decl" : "func xOriginForButton(at index: Int<\/Type>) -> CGFloat<\/Type><\/Declaration>",
                 "key.bodylength" : 241,
                 "key.bodyoffset" : 1253,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> xOriginForButton<\/decl.name>(at<\/decl.var.parameter.argument_label> index<\/decl.var.parameter.name>: Int<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGFloat<\/ref.struct><\/decl.function.returntype><\/decl.function.free>",
                 "key.kind" : "source.lang.swift.decl.function.free",
                 "key.length" : 291,
@@ -10739,7 +10718,7 @@
                 "key.substructure" : [
                   {
                     "key.annotated_decl" : "let previousButtons: [DefaultSwipeActionButton<\/Type>]<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> previousButtons<\/decl.name>: [DefaultSwipeActionButton<\/ref.class>]<\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 53,
@@ -10756,7 +10735,7 @@
                   },
                   {
                     "key.annotated_decl" : "let position: CGFloat<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> position<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 48,
@@ -10773,7 +10752,7 @@
                   },
                   {
                     "key.annotated_decl" : "let percentOpen: CGFloat<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> percentOpen<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 50,
@@ -10810,7 +10789,7 @@
             ],
             "key.bodylength" : 142,
             "key.bodyoffset" : 3395,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> func<\/syntaxtype.keyword> width<\/decl.name>(ofButtons<\/decl.var.parameter.argument_label> buttons<\/decl.var.parameter.name>: [DefaultSwipeActionButton<\/ref.class>]<\/decl.var.parameter.type><\/decl.var.parameter>) -> CGFloat<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 213,
@@ -10840,7 +10819,7 @@
             ],
             "key.bodylength" : 801,
             "key.bodyoffset" : 3599,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> apply<\/decl.name>(actions<\/decl.var.parameter.argument_label>: SwipeActionsConfiguration<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 850,
@@ -10880,7 +10859,7 @@
             ],
             "key.bodylength" : 601,
             "key.bodyoffset" : 4451,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> apply<\/decl.name>(state<\/decl.var.parameter.argument_label>: SwipeActionState<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 639,
@@ -10932,7 +10911,7 @@
             "key.offset" : 5097
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
         "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> class<\/syntaxtype.keyword> DefaultSwipeActionButton<\/decl.name> : UIButton<\/ref.class><\/decl.class>",
         "key.inheritedtypes" : [
           {
@@ -10959,7 +10938,7 @@
                 "key.offset" : 5113
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> let<\/syntaxtype.keyword> inset<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 23,
@@ -10984,7 +10963,7 @@
                 "key.offset" : 5149
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> var<\/syntaxtype.keyword> action<\/decl.name>: SwipeAction<\/ref.struct>?<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 24,
@@ -11015,7 +10994,7 @@
                 "key.offset" : 5186
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> var<\/syntaxtype.keyword> didPerformAction<\/decl.name>: ((Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> Void<\/ref.typealias><\/decl.function.returntype><\/tuple.element.type><\/tuple.element>)<\/tuple>?<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 39,
@@ -11043,7 +11022,7 @@
             ],
             "key.bodylength" : 301,
             "key.bodyoffset" : 5269,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
             "key.fully_annotated_decl" : "override<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(frame<\/decl.var.parameter.argument_label>: CGRect<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 323,
@@ -11104,7 +11083,7 @@
             ],
             "key.bodylength" : 65,
             "key.bodyoffset" : 5609,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
             "key.fully_annotated_decl" : "required<\/syntaxtype.keyword> init<\/syntaxtype.keyword>?(coder<\/decl.var.parameter.argument_label>: NSCoder<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 89,
@@ -11164,7 +11143,7 @@
             "key.annotated_decl" : "func set(action: SwipeAction<\/Type>, didPerformAction: @escaping SwipeAction<\/Type>.CompletionHandler<\/Type>)<\/Declaration>",
             "key.bodylength" : 222,
             "key.bodyoffset" : 5771,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> set<\/decl.name>(action<\/decl.var.parameter.argument_label>: SwipeAction<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, didPerformAction<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> SwipeAction<\/ref.struct>.CompletionHandler<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 313,
@@ -11199,7 +11178,7 @@
             ],
             "key.bodylength" : 137,
             "key.bodyoffset" : 6028,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/DefaultSwipeView.swift",
             "key.fully_annotated_decl" : "@objc<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> private<\/syntaxtype.keyword> func<\/syntaxtype.keyword> onTap<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 152,
@@ -11225,31 +11204,31 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
-    "key.length" : 17795,
+    "key.length" : 19105,
     "key.offset" : 0,
     "key.substructure" : [
       {
         "key.accessibility" : "source.lang.swift.accessibility.internal",
         "key.annotated_decl" : "struct ArrayDiff<Element, Identifier> where Identifier : Hashable<\/Type><\/Declaration>",
-        "key.bodylength" : 7693,
+        "key.bodylength" : 9006,
         "key.bodyoffset" : 156,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
         "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> ArrayDiff<\/decl.name><Element<\/decl.generic_type_param.name><\/decl.generic_type_param>, Identifier<\/decl.generic_type_param.name><\/decl.generic_type_param>> where<\/syntaxtype.keyword> Identifier : Hashable<\/ref.protocol><\/decl.generic_type_requirement><\/decl.struct>",
         "key.kind" : "source.lang.swift.decl.struct",
-        "key.length" : 7742,
+        "key.length" : 9055,
         "key.name" : "ArrayDiff",
         "key.namelength" : 9,
         "key.nameoffset" : 115,
         "key.offset" : 108,
         "key.parsed_declaration" : "struct ArrayDiff",
-        "key.parsed_scope.end" : 271,
+        "key.parsed_scope.end" : 319,
         "key.parsed_scope.start" : 11,
         "key.substructure" : [
           {
             "key.annotated_decl" : "Element<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
             "key.fully_annotated_decl" : "Element<\/decl.generic_type_param.name><\/decl.generic_type_param>",
             "key.kind" : "source.lang.swift.decl.generic_type_param",
             "key.length" : 7,
@@ -11273,7 +11252,7 @@
                 "key.offset" : 145
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
             "key.fully_annotated_decl" : "Identifier<\/decl.generic_type_param.name> : Hashable<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
             "key.inheritedtypes" : [
               {
@@ -11296,7 +11275,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "var added: [Added<\/Type>]<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> added<\/decl.name>: [Added<\/ref.struct>]<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 19,
@@ -11315,7 +11294,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "var removed: [Removed<\/Type>]<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> removed<\/decl.name>: [Removed<\/ref.struct>]<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 23,
@@ -11334,7 +11313,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "var moved: [Moved<\/Type>]<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> moved<\/decl.name>: [Moved<\/ref.struct>]<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 19,
@@ -11353,7 +11332,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "var updated: [Updated<\/Type>]<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> updated<\/decl.name>: [Updated<\/ref.struct>]<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 23,
@@ -11372,7 +11351,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "var noChange: [NoChange<\/Type>]<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> noChange<\/decl.name>: [NoChange<\/ref.struct>]<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 25,
@@ -11391,7 +11370,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "var changeCount: Int<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> changeCount<\/decl.name>: Int<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 21,
@@ -11410,7 +11389,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "let usedFastPath: Bool<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> usedFastPath<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 23,
@@ -11428,34 +11407,52 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "struct ArrayDiff<\/Type><Element, Identifier>.Added<\/Declaration>",
-            "key.bodylength" : 67,
+            "key.bodylength" : 112,
             "key.bodyoffset" : 387,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
             "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> ArrayDiff<\/ref.struct><Element, Identifier>.Added<\/decl.name><\/decl.struct>",
             "key.kind" : "source.lang.swift.decl.struct",
-            "key.length" : 86,
+            "key.length" : 131,
             "key.name" : "Added",
             "key.namelength" : 5,
             "key.nameoffset" : 376,
             "key.offset" : 369,
             "key.parsed_declaration" : "struct Added",
-            "key.parsed_scope.end" : 29,
+            "key.parsed_scope.end" : 31,
             "key.parsed_scope.start" : 24,
             "key.substructure" : [
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.internal",
+                "key.annotated_decl" : "let identifier: Identifier<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> identifier<\/decl.name>: Identifier<\/ref.generic_type_param><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 27,
+                "key.name" : "identifier",
+                "key.namelength" : 10,
+                "key.nameoffset" : 400,
+                "key.offset" : 396,
+                "key.parsed_declaration" : "let identifier : Identifier",
+                "key.parsed_scope.end" : 26,
+                "key.parsed_scope.start" : 26,
+                "key.typename" : "Identifier",
+                "key.typeusr" : "$sq_D",
+                "key.usr" : "s:10ListableUI9ArrayDiffV5AddedV10identifierq_vp"
+              },
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let newIndex: Int<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> newIndex<\/decl.name>: Int<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 18,
                 "key.name" : "newIndex",
                 "key.namelength" : 8,
-                "key.nameoffset" : 400,
-                "key.offset" : 396,
+                "key.nameoffset" : 445,
+                "key.offset" : 441,
                 "key.parsed_declaration" : "let newIndex : Int",
-                "key.parsed_scope.end" : 26,
-                "key.parsed_scope.start" : 26,
+                "key.parsed_scope.end" : 28,
+                "key.parsed_scope.start" : 28,
                 "key.typename" : "Int",
                 "key.typeusr" : "$sSiD",
                 "key.usr" : "s:10ListableUI9ArrayDiffV5AddedV8newIndexSivp"
@@ -11463,17 +11460,17 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let new: Element<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> new<\/decl.name>: Element<\/ref.generic_type_param><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 17,
                 "key.name" : "new",
                 "key.namelength" : 3,
-                "key.nameoffset" : 436,
-                "key.offset" : 432,
+                "key.nameoffset" : 481,
+                "key.offset" : 477,
                 "key.parsed_declaration" : "let new : Element",
-                "key.parsed_scope.end" : 28,
-                "key.parsed_scope.start" : 28,
+                "key.parsed_scope.end" : 30,
+                "key.parsed_scope.start" : 30,
                 "key.typename" : "Element",
                 "key.typeusr" : "$sxD",
                 "key.usr" : "s:10ListableUI9ArrayDiffV5AddedV3newxvp"
@@ -11486,34 +11483,52 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "struct ArrayDiff<\/Type><Element, Identifier>.Removed<\/Declaration>",
-            "key.bodylength" : 67,
-            "key.bodyoffset" : 485,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+            "key.bodylength" : 112,
+            "key.bodyoffset" : 530,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
             "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> ArrayDiff<\/ref.struct><Element, Identifier>.Removed<\/decl.name><\/decl.struct>",
             "key.kind" : "source.lang.swift.decl.struct",
-            "key.length" : 88,
+            "key.length" : 133,
             "key.name" : "Removed",
             "key.namelength" : 7,
-            "key.nameoffset" : 472,
-            "key.offset" : 465,
+            "key.nameoffset" : 517,
+            "key.offset" : 510,
             "key.parsed_declaration" : "struct Removed",
-            "key.parsed_scope.end" : 36,
-            "key.parsed_scope.start" : 31,
+            "key.parsed_scope.end" : 40,
+            "key.parsed_scope.start" : 33,
             "key.substructure" : [
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.internal",
+                "key.annotated_decl" : "let identifier: Identifier<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> identifier<\/decl.name>: Identifier<\/ref.generic_type_param><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 27,
+                "key.name" : "identifier",
+                "key.namelength" : 10,
+                "key.nameoffset" : 543,
+                "key.offset" : 539,
+                "key.parsed_declaration" : "let identifier : Identifier",
+                "key.parsed_scope.end" : 35,
+                "key.parsed_scope.start" : 35,
+                "key.typename" : "Identifier",
+                "key.typeusr" : "$sq_D",
+                "key.usr" : "s:10ListableUI9ArrayDiffV7RemovedV10identifierq_vp"
+              },
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let oldIndex: Int<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> oldIndex<\/decl.name>: Int<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 18,
                 "key.name" : "oldIndex",
                 "key.namelength" : 8,
-                "key.nameoffset" : 498,
-                "key.offset" : 494,
+                "key.nameoffset" : 588,
+                "key.offset" : 584,
                 "key.parsed_declaration" : "let oldIndex : Int",
-                "key.parsed_scope.end" : 33,
-                "key.parsed_scope.start" : 33,
+                "key.parsed_scope.end" : 37,
+                "key.parsed_scope.start" : 37,
                 "key.typename" : "Int",
                 "key.typeusr" : "$sSiD",
                 "key.usr" : "s:10ListableUI9ArrayDiffV7RemovedV8oldIndexSivp"
@@ -11521,17 +11536,17 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let old: Element<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> old<\/decl.name>: Element<\/ref.generic_type_param><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 17,
                 "key.name" : "old",
                 "key.namelength" : 3,
-                "key.nameoffset" : 534,
-                "key.offset" : 530,
+                "key.nameoffset" : 624,
+                "key.offset" : 620,
                 "key.parsed_declaration" : "let old : Element",
-                "key.parsed_scope.end" : 35,
-                "key.parsed_scope.start" : 35,
+                "key.parsed_scope.end" : 39,
+                "key.parsed_scope.start" : 39,
                 "key.typename" : "Element",
                 "key.typeusr" : "$sxD",
                 "key.usr" : "s:10ListableUI9ArrayDiffV7RemovedV3oldxvp"
@@ -11544,34 +11559,52 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "struct ArrayDiff<\/Type><Element, Identifier>.Moved<\/Declaration>",
-            "key.bodylength" : 55,
-            "key.bodyoffset" : 581,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+            "key.bodylength" : 100,
+            "key.bodyoffset" : 671,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
             "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> ArrayDiff<\/ref.struct><Element, Identifier>.Moved<\/decl.name><\/decl.struct>",
             "key.kind" : "source.lang.swift.decl.struct",
-            "key.length" : 74,
+            "key.length" : 119,
             "key.name" : "Moved",
             "key.namelength" : 5,
-            "key.nameoffset" : 570,
-            "key.offset" : 563,
+            "key.nameoffset" : 660,
+            "key.offset" : 653,
             "key.parsed_declaration" : "struct Moved",
-            "key.parsed_scope.end" : 42,
-            "key.parsed_scope.start" : 38,
+            "key.parsed_scope.end" : 48,
+            "key.parsed_scope.start" : 42,
             "key.substructure" : [
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.internal",
+                "key.annotated_decl" : "let identifier: Identifier<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> identifier<\/decl.name>: Identifier<\/ref.generic_type_param><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 27,
+                "key.name" : "identifier",
+                "key.namelength" : 10,
+                "key.nameoffset" : 684,
+                "key.offset" : 680,
+                "key.parsed_declaration" : "let identifier : Identifier",
+                "key.parsed_scope.end" : 44,
+                "key.parsed_scope.start" : 44,
+                "key.typename" : "Identifier",
+                "key.typeusr" : "$sq_D",
+                "key.usr" : "s:10ListableUI9ArrayDiffV5MovedV10identifierq_vp"
+              },
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let old: Removed<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> old<\/decl.name>: Removed<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 17,
                 "key.name" : "old",
                 "key.namelength" : 3,
-                "key.nameoffset" : 594,
-                "key.offset" : 590,
+                "key.nameoffset" : 729,
+                "key.offset" : 725,
                 "key.parsed_declaration" : "let old : Removed",
-                "key.parsed_scope.end" : 40,
-                "key.parsed_scope.start" : 40,
+                "key.parsed_scope.end" : 46,
+                "key.parsed_scope.start" : 46,
                 "key.typename" : "ArrayDiff.Removed",
                 "key.typeusr" : "$s10ListableUI9ArrayDiffV7RemovedVyxq__GD",
                 "key.usr" : "s:10ListableUI9ArrayDiffV5MovedV3oldAC7RemovedVyxq__Gvp"
@@ -11579,17 +11612,17 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let new: Added<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> new<\/decl.name>: Added<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 15,
                 "key.name" : "new",
                 "key.namelength" : 3,
-                "key.nameoffset" : 620,
-                "key.offset" : 616,
+                "key.nameoffset" : 755,
+                "key.offset" : 751,
                 "key.parsed_declaration" : "let new : Added",
-                "key.parsed_scope.end" : 41,
-                "key.parsed_scope.start" : 41,
+                "key.parsed_scope.end" : 47,
+                "key.parsed_scope.start" : 47,
                 "key.typename" : "ArrayDiff.Added",
                 "key.typeusr" : "$s10ListableUI9ArrayDiffV5AddedVyxq__GD",
                 "key.usr" : "s:10ListableUI9ArrayDiffV5MovedV3newAC5AddedVyxq__Gvp"
@@ -11602,34 +11635,52 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "struct ArrayDiff<\/Type><Element, Identifier>.Updated<\/Declaration>",
-            "key.bodylength" : 120,
-            "key.bodyoffset" : 667,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+            "key.bodylength" : 165,
+            "key.bodyoffset" : 802,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
             "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> ArrayDiff<\/ref.struct><Element, Identifier>.Updated<\/decl.name><\/decl.struct>",
             "key.kind" : "source.lang.swift.decl.struct",
-            "key.length" : 141,
+            "key.length" : 186,
             "key.name" : "Updated",
             "key.namelength" : 7,
-            "key.nameoffset" : 654,
-            "key.offset" : 647,
+            "key.nameoffset" : 789,
+            "key.offset" : 782,
             "key.parsed_declaration" : "struct Updated",
-            "key.parsed_scope.end" : 51,
-            "key.parsed_scope.start" : 44,
+            "key.parsed_scope.end" : 59,
+            "key.parsed_scope.start" : 50,
             "key.substructure" : [
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.internal",
+                "key.annotated_decl" : "let identifier: Identifier<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> identifier<\/decl.name>: Identifier<\/ref.generic_type_param><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 27,
+                "key.name" : "identifier",
+                "key.namelength" : 10,
+                "key.nameoffset" : 815,
+                "key.offset" : 811,
+                "key.parsed_declaration" : "let identifier : Identifier",
+                "key.parsed_scope.end" : 52,
+                "key.parsed_scope.start" : 52,
+                "key.typename" : "Identifier",
+                "key.typeusr" : "$sq_D",
+                "key.usr" : "s:10ListableUI9ArrayDiffV7UpdatedV10identifierq_vp"
+              },
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let oldIndex: Int<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> oldIndex<\/decl.name>: Int<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 18,
                 "key.name" : "oldIndex",
                 "key.namelength" : 8,
-                "key.nameoffset" : 680,
-                "key.offset" : 676,
+                "key.nameoffset" : 860,
+                "key.offset" : 856,
                 "key.parsed_declaration" : "let oldIndex : Int",
-                "key.parsed_scope.end" : 46,
-                "key.parsed_scope.start" : 46,
+                "key.parsed_scope.end" : 54,
+                "key.parsed_scope.start" : 54,
                 "key.typename" : "Int",
                 "key.typeusr" : "$sSiD",
                 "key.usr" : "s:10ListableUI9ArrayDiffV7UpdatedV8oldIndexSivp"
@@ -11637,17 +11688,17 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let newIndex: Int<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> newIndex<\/decl.name>: Int<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 18,
                 "key.name" : "newIndex",
                 "key.namelength" : 8,
-                "key.nameoffset" : 707,
-                "key.offset" : 703,
+                "key.nameoffset" : 887,
+                "key.offset" : 883,
                 "key.parsed_declaration" : "let newIndex : Int",
-                "key.parsed_scope.end" : 47,
-                "key.parsed_scope.start" : 47,
+                "key.parsed_scope.end" : 55,
+                "key.parsed_scope.start" : 55,
                 "key.typename" : "Int",
                 "key.typeusr" : "$sSiD",
                 "key.usr" : "s:10ListableUI9ArrayDiffV7UpdatedV8newIndexSivp"
@@ -11655,17 +11706,17 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let old: Element<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> old<\/decl.name>: Element<\/ref.generic_type_param><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 17,
                 "key.name" : "old",
                 "key.namelength" : 3,
-                "key.nameoffset" : 743,
-                "key.offset" : 739,
+                "key.nameoffset" : 923,
+                "key.offset" : 919,
                 "key.parsed_declaration" : "let old : Element",
-                "key.parsed_scope.end" : 49,
-                "key.parsed_scope.start" : 49,
+                "key.parsed_scope.end" : 57,
+                "key.parsed_scope.start" : 57,
                 "key.typename" : "Element",
                 "key.typeusr" : "$sxD",
                 "key.usr" : "s:10ListableUI9ArrayDiffV7UpdatedV3oldxvp"
@@ -11673,17 +11724,17 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let new: Element<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> new<\/decl.name>: Element<\/ref.generic_type_param><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 17,
                 "key.name" : "new",
                 "key.namelength" : 3,
-                "key.nameoffset" : 769,
-                "key.offset" : 765,
+                "key.nameoffset" : 949,
+                "key.offset" : 945,
                 "key.parsed_declaration" : "let new : Element",
-                "key.parsed_scope.end" : 50,
-                "key.parsed_scope.start" : 50,
+                "key.parsed_scope.end" : 58,
+                "key.parsed_scope.start" : 58,
                 "key.typename" : "Element",
                 "key.typeusr" : "$sxD",
                 "key.usr" : "s:10ListableUI9ArrayDiffV7UpdatedV3newxvp"
@@ -11696,34 +11747,52 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "struct ArrayDiff<\/Type><Element, Identifier>.NoChange<\/Declaration>",
-            "key.bodylength" : 120,
-            "key.bodyoffset" : 819,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+            "key.bodylength" : 165,
+            "key.bodyoffset" : 999,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
             "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> ArrayDiff<\/ref.struct><Element, Identifier>.NoChange<\/decl.name><\/decl.struct>",
             "key.kind" : "source.lang.swift.decl.struct",
-            "key.length" : 142,
+            "key.length" : 187,
             "key.name" : "NoChange",
             "key.namelength" : 8,
-            "key.nameoffset" : 805,
-            "key.offset" : 798,
+            "key.nameoffset" : 985,
+            "key.offset" : 978,
             "key.parsed_declaration" : "struct NoChange",
-            "key.parsed_scope.end" : 60,
-            "key.parsed_scope.start" : 53,
+            "key.parsed_scope.end" : 70,
+            "key.parsed_scope.start" : 61,
             "key.substructure" : [
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.internal",
+                "key.annotated_decl" : "let identifier: Identifier<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> identifier<\/decl.name>: Identifier<\/ref.generic_type_param><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 27,
+                "key.name" : "identifier",
+                "key.namelength" : 10,
+                "key.nameoffset" : 1012,
+                "key.offset" : 1008,
+                "key.parsed_declaration" : "let identifier : Identifier",
+                "key.parsed_scope.end" : 63,
+                "key.parsed_scope.start" : 63,
+                "key.typename" : "Identifier",
+                "key.typeusr" : "$sq_D",
+                "key.usr" : "s:10ListableUI9ArrayDiffV8NoChangeV10identifierq_vp"
+              },
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let oldIndex: Int<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> oldIndex<\/decl.name>: Int<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 18,
                 "key.name" : "oldIndex",
                 "key.namelength" : 8,
-                "key.nameoffset" : 832,
-                "key.offset" : 828,
+                "key.nameoffset" : 1057,
+                "key.offset" : 1053,
                 "key.parsed_declaration" : "let oldIndex : Int",
-                "key.parsed_scope.end" : 55,
-                "key.parsed_scope.start" : 55,
+                "key.parsed_scope.end" : 65,
+                "key.parsed_scope.start" : 65,
                 "key.typename" : "Int",
                 "key.typeusr" : "$sSiD",
                 "key.usr" : "s:10ListableUI9ArrayDiffV8NoChangeV8oldIndexSivp"
@@ -11731,17 +11800,17 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let newIndex: Int<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> newIndex<\/decl.name>: Int<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 18,
                 "key.name" : "newIndex",
                 "key.namelength" : 8,
-                "key.nameoffset" : 859,
-                "key.offset" : 855,
+                "key.nameoffset" : 1084,
+                "key.offset" : 1080,
                 "key.parsed_declaration" : "let newIndex : Int",
-                "key.parsed_scope.end" : 56,
-                "key.parsed_scope.start" : 56,
+                "key.parsed_scope.end" : 66,
+                "key.parsed_scope.start" : 66,
                 "key.typename" : "Int",
                 "key.typeusr" : "$sSiD",
                 "key.usr" : "s:10ListableUI9ArrayDiffV8NoChangeV8newIndexSivp"
@@ -11749,17 +11818,17 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let old: Element<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> old<\/decl.name>: Element<\/ref.generic_type_param><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 17,
                 "key.name" : "old",
                 "key.namelength" : 3,
-                "key.nameoffset" : 895,
-                "key.offset" : 891,
+                "key.nameoffset" : 1120,
+                "key.offset" : 1116,
                 "key.parsed_declaration" : "let old : Element",
-                "key.parsed_scope.end" : 58,
-                "key.parsed_scope.start" : 58,
+                "key.parsed_scope.end" : 68,
+                "key.parsed_scope.start" : 68,
                 "key.typename" : "Element",
                 "key.typeusr" : "$sxD",
                 "key.usr" : "s:10ListableUI9ArrayDiffV8NoChangeV3oldxvp"
@@ -11767,17 +11836,17 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let new: Element<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> new<\/decl.name>: Element<\/ref.generic_type_param><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 17,
                 "key.name" : "new",
                 "key.namelength" : 3,
-                "key.nameoffset" : 921,
-                "key.offset" : 917,
+                "key.nameoffset" : 1146,
+                "key.offset" : 1142,
                 "key.parsed_declaration" : "let new : Element",
-                "key.parsed_scope.end" : 59,
-                "key.parsed_scope.start" : 59,
+                "key.parsed_scope.end" : 69,
+                "key.parsed_scope.start" : 69,
                 "key.typename" : "Element",
                 "key.typeusr" : "$sxD",
                 "key.usr" : "s:10ListableUI9ArrayDiffV8NoChangeV3newxvp"
@@ -11790,67 +11859,67 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "init(old: [Element<\/Type>], new: [Element<\/Type>], identifierProvider: (Element<\/Type>) -> Identifier<\/Type>, movedHint: (Element<\/Type>, Element<\/Type>) -> Bool<\/Type>, updated: (Element<\/Type>, Element<\/Type>) -> Bool<\/Type>)<\/Declaration>",
-            "key.bodylength" : 3868,
-            "key.bodyoffset" : 1168,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+            "key.bodylength" : 4515,
+            "key.bodyoffset" : 1393,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
             "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(old<\/decl.var.parameter.argument_label>: [Element<\/ref.generic_type_param>]<\/decl.var.parameter.type><\/decl.var.parameter>, new<\/decl.var.parameter.argument_label>: [Element<\/ref.generic_type_param>]<\/decl.var.parameter.type><\/decl.var.parameter>, identifierProvider<\/decl.var.parameter.argument_label>: (Element<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> Identifier<\/ref.generic_type_param><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>, movedHint<\/decl.var.parameter.argument_label>: (Element<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, Element<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>, updated<\/decl.var.parameter.argument_label>: (Element<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, Element<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 4087,
+            "key.length" : 4734,
             "key.name" : "init(old:new:identifierProvider:movedHint:updated:)",
             "key.namelength" : 212,
-            "key.nameoffset" : 950,
-            "key.offset" : 950,
+            "key.nameoffset" : 1175,
+            "key.offset" : 1175,
             "key.parsed_declaration" : "init(\n    old : [Element],\n    new : [Element],\n    identifierProvider : (Element) -> Identifier,\n    movedHint : (Element, Element) -> Bool,\n    updated : (Element, Element) -> Bool\n    )",
-            "key.parsed_scope.end" : 181,
-            "key.parsed_scope.start" : 62,
+            "key.parsed_scope.end" : 211,
+            "key.parsed_scope.start" : 72,
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let old: DiffableCollection<\/Type><Element, Identifier><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> old<\/decl.name>: DiffableCollection<\/ref.class><Element, Identifier><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 63,
                 "key.name" : "old",
                 "key.namelength" : 3,
-                "key.nameoffset" : 2012,
-                "key.offset" : 2008,
+                "key.nameoffset" : 2237,
+                "key.offset" : 2233,
                 "key.parsed_declaration" : "let old = DiffableCollection(elements: old, identifierProvider)",
-                "key.parsed_scope.end" : 97,
-                "key.parsed_scope.start" : 97,
+                "key.parsed_scope.end" : 107,
+                "key.parsed_scope.start" : 107,
                 "key.typename" : "DiffableCollection",
                 "key.typeusr" : "$s10ListableUI18DiffableCollection33_C15E326CC9B009491D3ADB78FA7FFECBLLCyxq_GD",
                 "key.usr" : "s:10ListableUI9ArrayDiffV3old3new18identifierProvider9movedHint7updatedACyxq_GSayxG_AJq_xXESbx_xtXESbx_xtXEtcfcADL0_AA18DiffableCollection33_C15E326CC9B009491D3ADB78FA7FFECBLLCyxq_Gvp"
               },
               {
                 "key.annotated_decl" : "let new: DiffableCollection<\/Type><Element, Identifier><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> new<\/decl.name>: DiffableCollection<\/ref.class><Element, Identifier><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 63,
                 "key.name" : "new",
                 "key.namelength" : 3,
-                "key.nameoffset" : 2084,
-                "key.offset" : 2080,
+                "key.nameoffset" : 2309,
+                "key.offset" : 2305,
                 "key.parsed_declaration" : "let new = DiffableCollection(elements: new, identifierProvider)",
-                "key.parsed_scope.end" : 98,
-                "key.parsed_scope.start" : 98,
+                "key.parsed_scope.end" : 108,
+                "key.parsed_scope.start" : 108,
                 "key.typename" : "DiffableCollection",
                 "key.typeusr" : "$s10ListableUI18DiffableCollection33_C15E326CC9B009491D3ADB78FA7FFECBLLCyxq_GD",
                 "key.usr" : "s:10ListableUI9ArrayDiffV3old3new18identifierProvider9movedHint7updatedACyxq_GSayxG_AJq_xXESbx_xtXESbx_xtXEtcfcAEL0_AA18DiffableCollection33_C15E326CC9B009491D3ADB78FA7FFECBLLCyxq_Gvp"
               },
               {
                 "key.annotated_decl" : "let added: [DiffContainer<\/Type><Element, Identifier>]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> added<\/decl.name>: [DiffContainer<\/ref.class><Element, Identifier>]<\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 45,
                 "key.name" : "added",
                 "key.namelength" : 5,
-                "key.nameoffset" : 2231,
-                "key.offset" : 2227,
+                "key.nameoffset" : 2456,
+                "key.offset" : 2452,
                 "key.parsed_declaration" : "let added = new.subtractDifference(from: old)",
-                "key.parsed_scope.end" : 104,
-                "key.parsed_scope.start" : 104,
+                "key.parsed_scope.end" : 114,
+                "key.parsed_scope.start" : 114,
                 "key.related_decls" : [
                   {
                     "key.annotated_decl" : "added<\/RelatedName>"
@@ -11862,17 +11931,17 @@
               },
               {
                 "key.annotated_decl" : "let removed: [DiffContainer<\/Type><Element, Identifier>]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> removed<\/decl.name>: [DiffContainer<\/ref.class><Element, Identifier>]<\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 47,
                 "key.name" : "removed",
                 "key.namelength" : 7,
-                "key.nameoffset" : 2285,
-                "key.offset" : 2281,
+                "key.nameoffset" : 2510,
+                "key.offset" : 2506,
                 "key.parsed_declaration" : "let removed = old.subtractDifference(from: new)",
-                "key.parsed_scope.end" : 105,
-                "key.parsed_scope.start" : 105,
+                "key.parsed_scope.end" : 115,
+                "key.parsed_scope.start" : 115,
                 "key.related_decls" : [
                   {
                     "key.annotated_decl" : "removed<\/RelatedName>"
@@ -11884,68 +11953,68 @@
               },
               {
                 "key.annotated_decl" : "let pairs: [ArrayDiff<\/Type><Element, Identifier>.Pair<\/Type>]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> pairs<\/decl.name>: [ArrayDiff<\/ref.struct><Element, Identifier>.Pair<\/ref.class>]<\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 86,
                 "key.name" : "pairs",
                 "key.namelength" : 5,
-                "key.nameoffset" : 2785,
-                "key.offset" : 2781,
+                "key.nameoffset" : 3198,
+                "key.offset" : 3194,
                 "key.parsed_declaration" : "let pairs = Pair.pairs(withNew: new, old: old, movedHint: movedHint, updated: updated)",
-                "key.parsed_scope.end" : 125,
-                "key.parsed_scope.start" : 125,
+                "key.parsed_scope.end" : 143,
+                "key.parsed_scope.start" : 143,
                 "key.typename" : "[ArrayDiff.Pair]",
                 "key.typeusr" : "$sSay10ListableUI9ArrayDiffV4Pair33_C15E326CC9B009491D3ADB78FA7FFECBLLCyxq__GGD",
                 "key.usr" : "s:10ListableUI9ArrayDiffV3old3new18identifierProvider9movedHint7updatedACyxq_GSayxG_AJq_xXESbx_xtXESbx_xtXEtcfc5pairsL_SayAC4Pair33_C15E326CC9B009491D3ADB78FA7FFECBLLCyxq__GGvp"
               },
               {
                 "key.annotated_decl" : "let moveHinted: [ArrayDiff<\/Type><Element, Identifier>.Pair<\/Type>]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> moveHinted<\/decl.name>: [ArrayDiff<\/ref.struct><Element, Identifier>.Pair<\/ref.class>]<\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 76,
                 "key.name" : "moveHinted",
                 "key.namelength" : 10,
-                "key.nameoffset" : 2890,
-                "key.offset" : 2885,
+                "key.nameoffset" : 3303,
+                "key.offset" : 3298,
                 "key.parsed_declaration" : "let (moveHinted, moveNotHinted) = pairs.separate { pair in pair.moveHinted }",
-                "key.parsed_scope.end" : 127,
-                "key.parsed_scope.start" : 127,
+                "key.parsed_scope.end" : 145,
+                "key.parsed_scope.start" : 145,
                 "key.typename" : "[ArrayDiff.Pair]",
                 "key.typeusr" : "$sSay10ListableUI9ArrayDiffV4Pair33_C15E326CC9B009491D3ADB78FA7FFECBLLCyxq__GGD",
                 "key.usr" : "s:10ListableUI9ArrayDiffV3old3new18identifierProvider9movedHint7updatedACyxq_GSayxG_AJq_xXESbx_xtXESbx_xtXEtcfc10moveHintedL_SayAC4Pair33_C15E326CC9B009491D3ADB78FA7FFECBLLCyxq__GGvp"
               },
               {
                 "key.annotated_decl" : "let moveNotHinted: [ArrayDiff<\/Type><Element, Identifier>.Pair<\/Type>]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> moveNotHinted<\/decl.name>: [ArrayDiff<\/ref.struct><Element, Identifier>.Pair<\/ref.class>]<\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 76,
                 "key.name" : "moveNotHinted",
                 "key.namelength" : 13,
-                "key.nameoffset" : 2902,
-                "key.offset" : 2885,
+                "key.nameoffset" : 3315,
+                "key.offset" : 3298,
                 "key.parsed_declaration" : "let (moveHinted, moveNotHinted) = pairs.separate { pair in pair.moveHinted }",
-                "key.parsed_scope.end" : 127,
-                "key.parsed_scope.start" : 127,
+                "key.parsed_scope.end" : 145,
+                "key.parsed_scope.start" : 145,
                 "key.typename" : "[ArrayDiff.Pair]",
                 "key.typeusr" : "$sSay10ListableUI9ArrayDiffV4Pair33_C15E326CC9B009491D3ADB78FA7FFECBLLCyxq__GGD",
                 "key.usr" : "s:10ListableUI9ArrayDiffV3old3new18identifierProvider9movedHint7updatedACyxq_GSayxG_AJq_xXESbx_xtXESbx_xtXEtcfc13moveNotHintedL_SayAC4Pair33_C15E326CC9B009491D3ADB78FA7FFECBLLCyxq__GGvp"
               },
               {
                 "key.annotated_decl" : "var sorted: [ArrayDiff<\/Type><Element, Identifier>.Pair<\/Type>]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> sorted<\/decl.name>: [ArrayDiff<\/ref.struct><Element, Identifier>.Pair<\/ref.class>]<\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 21,
                 "key.name" : "sorted",
                 "key.namelength" : 6,
-                "key.nameoffset" : 3183,
-                "key.offset" : 3179,
+                "key.nameoffset" : 3596,
+                "key.offset" : 3592,
                 "key.parsed_declaration" : "var sorted = [Pair]()",
-                "key.parsed_scope.end" : 132,
-                "key.parsed_scope.start" : 132,
+                "key.parsed_scope.end" : 150,
+                "key.parsed_scope.start" : 150,
                 "key.typename" : "[ArrayDiff.Pair]",
                 "key.typeusr" : "$sSay10ListableUI9ArrayDiffV4Pair33_C15E326CC9B009491D3ADB78FA7FFECBLLCyxq__GGD",
                 "key.usr" : "s:10ListableUI9ArrayDiffV3old3new18identifierProvider9movedHint7updatedACyxq_GSayxG_AJq_xXESbx_xtXESbx_xtXEtcfc6sortedL_SayAC4Pair33_C15E326CC9B009491D3ADB78FA7FFECBLLCyxq__GGvp"
@@ -11958,50 +12027,50 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "static func fastPastDiff(old: [Element<\/Type>], new: [Element<\/Type>], identifierProvider: (Element<\/Type>) -> Identifier<\/Type>, updated: (Element<\/Type>, Element<\/Type>) -> Bool<\/Type>) -> ([Updated<\/Type>], [NoChange<\/Type>])?<\/Declaration>",
-            "key.bodylength" : 745,
-            "key.bodyoffset" : 5261,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+            "key.bodylength" : 1186,
+            "key.bodyoffset" : 6133,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
             "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> fastPastDiff<\/decl.name>(old<\/decl.var.parameter.argument_label>: [Element<\/ref.generic_type_param>]<\/decl.var.parameter.type><\/decl.var.parameter>, new<\/decl.var.parameter.argument_label>: [Element<\/ref.generic_type_param>]<\/decl.var.parameter.type><\/decl.var.parameter>, identifierProvider<\/decl.var.parameter.argument_label>: (Element<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> Identifier<\/ref.generic_type_param><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>, updated<\/decl.var.parameter.argument_label>: (Element<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, Element<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>) -> ([Updated<\/ref.struct>]<\/tuple.element.type><\/tuple.element>, [NoChange<\/ref.struct>]<\/tuple.element.type><\/tuple.element>)<\/tuple>?<\/decl.function.returntype><\/decl.function.method.static>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
-            "key.length" : 960,
+            "key.length" : 1401,
             "key.name" : "fastPastDiff(old:new:identifierProvider:updated:)",
             "key.namelength" : 168,
-            "key.nameoffset" : 5059,
-            "key.offset" : 5047,
+            "key.nameoffset" : 5931,
+            "key.offset" : 5919,
             "key.parsed_declaration" : "static func fastPastDiff(\n    old : [Element],\n    new : [Element],\n    identifierProvider : (Element) -> Identifier,\n    updated : (Element, Element) -> Bool\n) -> ([Updated], [NoChange])?",
-            "key.parsed_scope.end" : 214,
-            "key.parsed_scope.start" : 183,
+            "key.parsed_scope.end" : 262,
+            "key.parsed_scope.start" : 213,
             "key.substructure" : [
               {
                 "key.annotated_decl" : "var updates: [ArrayDiff<\/Type><Element, Identifier>.Updated<\/Type>]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> updates<\/decl.name>: [ArrayDiff<\/ref.struct><Element, Identifier>.Updated<\/ref.struct>]<\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 25,
                 "key.name" : "updates",
                 "key.namelength" : 7,
-                "key.nameoffset" : 5360,
-                "key.offset" : 5356,
+                "key.nameoffset" : 6232,
+                "key.offset" : 6228,
                 "key.parsed_declaration" : "var updates = [Updated]()",
-                "key.parsed_scope.end" : 194,
-                "key.parsed_scope.start" : 194,
+                "key.parsed_scope.end" : 224,
+                "key.parsed_scope.start" : 224,
                 "key.typename" : "[ArrayDiff.Updated]",
                 "key.typeusr" : "$sSay10ListableUI9ArrayDiffV7UpdatedVyxq__GGD",
                 "key.usr" : "s:10ListableUI9ArrayDiffV08fastPastD03old3new18identifierProvider7updatedSayAC7UpdatedVyxq__GG_SayAC8NoChangeVyxq__GGtSgSayxG_ARq_xXESbx_xtXEtFZ7updatesL_ALvp"
               },
               {
                 "key.annotated_decl" : "var notChanged: [ArrayDiff<\/Type><Element, Identifier>.NoChange<\/Type>]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> notChanged<\/decl.name>: [ArrayDiff<\/ref.struct><Element, Identifier>.NoChange<\/ref.struct>]<\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 29,
                 "key.name" : "notChanged",
                 "key.namelength" : 10,
-                "key.nameoffset" : 5403,
-                "key.offset" : 5399,
+                "key.nameoffset" : 6275,
+                "key.offset" : 6271,
                 "key.parsed_declaration" : "var notChanged = [NoChange]()",
-                "key.parsed_scope.end" : 196,
-                "key.parsed_scope.start" : 196,
+                "key.parsed_scope.end" : 226,
+                "key.parsed_scope.start" : 226,
                 "key.typename" : "[ArrayDiff.NoChange]",
                 "key.typeusr" : "$sSay10ListableUI9ArrayDiffV8NoChangeVyxq__GGD",
                 "key.usr" : "s:10ListableUI9ArrayDiffV08fastPastD03old3new18identifierProvider7updatedSayAC7UpdatedVyxq__GG_SayAC8NoChangeVyxq__GGtSgSayxG_ARq_xXESbx_xtXEtFZ10notChangedL_APvp"
@@ -12018,42 +12087,42 @@
               {
                 "key.attribute" : "source.decl.attribute.final",
                 "key.length" : 5,
-                "key.offset" : 6025
+                "key.offset" : 7338
               },
               {
                 "key.attribute" : "source.decl.attribute.private",
                 "key.length" : 7,
-                "key.offset" : 6017
+                "key.offset" : 7330
               }
             ],
             "key.bodylength" : 1800,
-            "key.bodyoffset" : 6047,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+            "key.bodyoffset" : 7360,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> ArrayDiff<\/ref.struct><Element, Identifier>.Pair<\/decl.name><\/decl.class>",
             "key.kind" : "source.lang.swift.decl.class",
             "key.length" : 1817,
             "key.name" : "Pair",
             "key.namelength" : 4,
-            "key.nameoffset" : 6037,
-            "key.offset" : 6031,
+            "key.nameoffset" : 7350,
+            "key.offset" : 7344,
             "key.parsed_declaration" : "private final class Pair",
-            "key.parsed_scope.end" : 270,
-            "key.parsed_scope.start" : 216,
+            "key.parsed_scope.end" : 318,
+            "key.parsed_scope.start" : 264,
             "key.substructure" : [
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let new: DiffContainer<\/Type><Element<\/Type>, Identifier<\/Type>><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> new<\/decl.name>: DiffContainer<\/ref.class><Element<\/ref.generic_type_param>, Identifier<\/ref.generic_type_param>><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 44,
                 "key.name" : "new",
                 "key.namelength" : 3,
-                "key.nameoffset" : 6060,
-                "key.offset" : 6056,
+                "key.nameoffset" : 7373,
+                "key.offset" : 7369,
                 "key.parsed_declaration" : "let new : DiffContainer",
-                "key.parsed_scope.end" : 218,
-                "key.parsed_scope.start" : 218,
+                "key.parsed_scope.end" : 266,
+                "key.parsed_scope.start" : 266,
                 "key.typename" : "DiffContainer",
                 "key.typeusr" : "$s10ListableUI13DiffContainer33_C15E326CC9B009491D3ADB78FA7FFECBLLCyxq_GD",
                 "key.usr" : "s:10ListableUI9ArrayDiffV4Pair33_C15E326CC9B009491D3ADB78FA7FFECBLLC3newAA0D9ContainerAELLCyxq_Gvp"
@@ -12061,17 +12130,17 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let old: DiffContainer<\/Type><Element<\/Type>, Identifier<\/Type>><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> old<\/decl.name>: DiffContainer<\/ref.class><Element<\/ref.generic_type_param>, Identifier<\/ref.generic_type_param>><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 44,
                 "key.name" : "old",
                 "key.namelength" : 3,
-                "key.nameoffset" : 6113,
-                "key.offset" : 6109,
+                "key.nameoffset" : 7426,
+                "key.offset" : 7422,
                 "key.parsed_declaration" : "let old : DiffContainer",
-                "key.parsed_scope.end" : 219,
-                "key.parsed_scope.start" : 219,
+                "key.parsed_scope.end" : 267,
+                "key.parsed_scope.start" : 267,
                 "key.typename" : "DiffContainer",
                 "key.typeusr" : "$s10ListableUI13DiffContainer33_C15E326CC9B009491D3ADB78FA7FFECBLLCyxq_GD",
                 "key.usr" : "s:10ListableUI9ArrayDiffV4Pair33_C15E326CC9B009491D3ADB78FA7FFECBLLC3oldAA0D9ContainerAELLCyxq_Gvp"
@@ -12079,17 +12148,17 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let identifier: UniqueIdentifier<\/Type><Element<\/Type>, Identifier<\/Type>><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> identifier<\/decl.name>: UniqueIdentifier<\/ref.struct><Element<\/ref.generic_type_param>, Identifier<\/ref.generic_type_param>><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 54,
                 "key.name" : "identifier",
                 "key.namelength" : 10,
-                "key.nameoffset" : 6175,
-                "key.offset" : 6171,
+                "key.nameoffset" : 7488,
+                "key.offset" : 7484,
                 "key.parsed_declaration" : "let identifier : UniqueIdentifier",
-                "key.parsed_scope.end" : 221,
-                "key.parsed_scope.start" : 221,
+                "key.parsed_scope.end" : 269,
+                "key.parsed_scope.start" : 269,
                 "key.typename" : "UniqueIdentifier",
                 "key.typeusr" : "$s10ListableUI16UniqueIdentifier33_C15E326CC9B009491D3ADB78FA7FFECBLLVyxq_GD",
                 "key.usr" : "s:10ListableUI9ArrayDiffV4Pair33_C15E326CC9B009491D3ADB78FA7FFECBLLC10identifierAA16UniqueIdentifierAELLVyxq_Gvp"
@@ -12097,17 +12166,17 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let distance: Int<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> distance<\/decl.name>: Int<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 18,
                 "key.name" : "distance",
                 "key.namelength" : 8,
-                "key.nameoffset" : 6247,
-                "key.offset" : 6243,
+                "key.nameoffset" : 7560,
+                "key.offset" : 7556,
                 "key.parsed_declaration" : "let distance : Int",
-                "key.parsed_scope.end" : 223,
-                "key.parsed_scope.start" : 223,
+                "key.parsed_scope.end" : 271,
+                "key.parsed_scope.start" : 271,
                 "key.typename" : "Int",
                 "key.typeusr" : "$sSiD",
                 "key.usr" : "s:10ListableUI9ArrayDiffV4Pair33_C15E326CC9B009491D3ADB78FA7FFECBLLC8distanceSivp"
@@ -12115,17 +12184,17 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let moveHinted: Bool<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> moveHinted<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 21,
                 "key.name" : "moveHinted",
                 "key.namelength" : 10,
-                "key.nameoffset" : 6283,
-                "key.offset" : 6279,
+                "key.nameoffset" : 7596,
+                "key.offset" : 7592,
                 "key.parsed_declaration" : "let moveHinted : Bool",
-                "key.parsed_scope.end" : 225,
-                "key.parsed_scope.start" : 225,
+                "key.parsed_scope.end" : 273,
+                "key.parsed_scope.start" : 273,
                 "key.typename" : "Bool",
                 "key.typeusr" : "$sSbD",
                 "key.usr" : "s:10ListableUI9ArrayDiffV4Pair33_C15E326CC9B009491D3ADB78FA7FFECBLLC10moveHintedSbvp"
@@ -12133,17 +12202,17 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let updated: Bool<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> updated<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 18,
                 "key.name" : "updated",
                 "key.namelength" : 7,
-                "key.nameoffset" : 6313,
-                "key.offset" : 6309,
+                "key.nameoffset" : 7626,
+                "key.offset" : 7622,
                 "key.parsed_declaration" : "let updated : Bool",
-                "key.parsed_scope.end" : 226,
-                "key.parsed_scope.start" : 226,
+                "key.parsed_scope.end" : 274,
+                "key.parsed_scope.start" : 274,
                 "key.typename" : "Bool",
                 "key.typeusr" : "$sSbD",
                 "key.usr" : "s:10ListableUI9ArrayDiffV4Pair33_C15E326CC9B009491D3ADB78FA7FFECBLLC7updatedSbvp"
@@ -12152,18 +12221,18 @@
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "init(new: DiffContainer<\/Type><Element<\/Type>, Identifier<\/Type>>, old: DiffContainer<\/Type><Element<\/Type>, Identifier<\/Type>>, identifier: UniqueIdentifier<\/Type><Element<\/Type>, Identifier<\/Type>>, distance: Int<\/Type>, moveHinted: Bool<\/Type>, updated: Bool<\/Type>)<\/Declaration>",
                 "key.bodylength" : 256,
-                "key.bodyoffset" : 6632,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.bodyoffset" : 7945,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(new<\/decl.var.parameter.argument_label>: DiffContainer<\/ref.class><Element<\/ref.generic_type_param>, Identifier<\/ref.generic_type_param>><\/decl.var.parameter.type><\/decl.var.parameter>, old<\/decl.var.parameter.argument_label>: DiffContainer<\/ref.class><Element<\/ref.generic_type_param>, Identifier<\/ref.generic_type_param>><\/decl.var.parameter.type><\/decl.var.parameter>, identifier<\/decl.var.parameter.argument_label>: UniqueIdentifier<\/ref.struct><Element<\/ref.generic_type_param>, Identifier<\/ref.generic_type_param>><\/decl.var.parameter.type><\/decl.var.parameter>, distance<\/decl.var.parameter.argument_label>: Int<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, moveHinted<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, updated<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 544,
                 "key.name" : "init(new:old:identifier:distance:moveHinted:updated:)",
                 "key.namelength" : 277,
-                "key.nameoffset" : 6345,
-                "key.offset" : 6345,
+                "key.nameoffset" : 7658,
+                "key.offset" : 7658,
                 "key.parsed_declaration" : "init(\n    new : DiffContainer,\n    old : DiffContainer,\n    identifier : UniqueIdentifier,\n    distance : Int,\n    moveHinted : Bool,\n    updated : Bool\n    )",
-                "key.parsed_scope.end" : 246,
-                "key.parsed_scope.start" : 228,
+                "key.parsed_scope.end" : 294,
+                "key.parsed_scope.start" : 276,
                 "key.substructure" : [
 
                 ],
@@ -12175,18 +12244,18 @@
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "static func pairs(withNew new: DiffableCollection<\/Type><Element<\/Type>, Identifier<\/Type>>, old: DiffableCollection<\/Type><Element<\/Type>, Identifier<\/Type>>, movedHint: (Element<\/Type>, Element<\/Type>) -> Bool<\/Type>, updated: (Element<\/Type>, Element<\/Type>) -> Bool<\/Type>) -> [Pair<\/Type>]<\/Declaration>",
                 "key.bodylength" : 655,
-                "key.bodyoffset" : 7186,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.bodyoffset" : 8499,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> pairs<\/decl.name>(withNew<\/decl.var.parameter.argument_label> new<\/decl.var.parameter.name>: DiffableCollection<\/ref.class><Element<\/ref.generic_type_param>, Identifier<\/ref.generic_type_param>><\/decl.var.parameter.type><\/decl.var.parameter>, old<\/decl.var.parameter.argument_label>: DiffableCollection<\/ref.class><Element<\/ref.generic_type_param>, Identifier<\/ref.generic_type_param>><\/decl.var.parameter.type><\/decl.var.parameter>, movedHint<\/decl.var.parameter.argument_label>: (Element<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, Element<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>, updated<\/decl.var.parameter.argument_label>: (Element<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, Element<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>) -> [Pair<\/ref.class>]<\/decl.function.returntype><\/decl.function.method.static>",
                 "key.kind" : "source.lang.swift.decl.function.method.static",
                 "key.length" : 935,
                 "key.name" : "pairs(withNew:old:movedHint:updated:)",
                 "key.namelength" : 247,
-                "key.nameoffset" : 6919,
-                "key.offset" : 6907,
+                "key.nameoffset" : 8232,
+                "key.offset" : 8220,
                 "key.parsed_declaration" : "static func pairs(\n    withNew new : DiffableCollection,\n    old : DiffableCollection,\n    movedHint : (Element, Element) -> Bool,\n    updated : (Element, Element) -> Bool\n    ) -> [Pair]",
-                "key.parsed_scope.end" : 269,
-                "key.parsed_scope.start" : 248,
+                "key.parsed_scope.end" : 317,
+                "key.parsed_scope.start" : 296,
                 "key.substructure" : [
 
                 ],
@@ -12207,15 +12276,15 @@
       {
         "key.annotated_decl" : "struct ArrayDiff<Element, Identifier> where Identifier : Hashable<\/Type><\/Declaration>",
         "key.bodylength" : 0,
-        "key.bodyoffset" : 7911,
+        "key.bodyoffset" : 9224,
         "key.elements" : [
           {
             "key.kind" : "source.lang.swift.structure.elem.typeref",
             "key.length" : 9,
-            "key.offset" : 7874
+            "key.offset" : 9187
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
         "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> ArrayDiff<\/decl.name><Element<\/decl.generic_type_param.name><\/decl.generic_type_param>, Identifier<\/decl.generic_type_param.name><\/decl.generic_type_param>> where<\/syntaxtype.keyword> Identifier : Hashable<\/ref.protocol><\/decl.generic_type_requirement><\/decl.struct>",
         "key.inheritedtypes" : [
           {
@@ -12226,11 +12295,11 @@
         "key.length" : 60,
         "key.name" : "ArrayDiff",
         "key.namelength" : 9,
-        "key.nameoffset" : 7862,
-        "key.offset" : 7852,
+        "key.nameoffset" : 9175,
+        "key.offset" : 9165,
         "key.parsed_declaration" : "extension ArrayDiff : Equatable where Element : Equatable",
-        "key.parsed_scope.end" : 273,
-        "key.parsed_scope.start" : 273,
+        "key.parsed_scope.end" : 321,
+        "key.parsed_scope.start" : 321,
         "key.typename" : "ArrayDiff.Type",
         "key.typeusr" : "$s10ListableUI9ArrayDiffVyxq_GmD",
         "key.usr" : "s:10ListableUI9ArrayDiffV"
@@ -12238,15 +12307,15 @@
       {
         "key.annotated_decl" : "struct ArrayDiff<\/Type><Element, Identifier>.Added<\/Declaration>",
         "key.bodylength" : 0,
-        "key.bodyoffset" : 7979,
+        "key.bodyoffset" : 9292,
         "key.elements" : [
           {
             "key.kind" : "source.lang.swift.structure.elem.typeref",
             "key.length" : 9,
-            "key.offset" : 7942
+            "key.offset" : 9255
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
         "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> ArrayDiff<\/ref.struct><Element, Identifier>.Added<\/decl.name><\/decl.struct>",
         "key.inheritedtypes" : [
           {
@@ -12257,11 +12326,11 @@
         "key.length" : 66,
         "key.name" : "ArrayDiff.Added",
         "key.namelength" : 15,
-        "key.nameoffset" : 7924,
-        "key.offset" : 7914,
+        "key.nameoffset" : 9237,
+        "key.offset" : 9227,
         "key.parsed_declaration" : "extension ArrayDiff.Added : Equatable where Element : Equatable",
-        "key.parsed_scope.end" : 275,
-        "key.parsed_scope.start" : 275,
+        "key.parsed_scope.end" : 323,
+        "key.parsed_scope.start" : 323,
         "key.typename" : "ArrayDiff.Added.Type",
         "key.typeusr" : "$s10ListableUI9ArrayDiffV5AddedVyxq__GmD",
         "key.usr" : "s:10ListableUI9ArrayDiffV5AddedV"
@@ -12269,15 +12338,15 @@
       {
         "key.annotated_decl" : "struct ArrayDiff<\/Type><Element, Identifier>.Removed<\/Declaration>",
         "key.bodylength" : 0,
-        "key.bodyoffset" : 8048,
+        "key.bodyoffset" : 9361,
         "key.elements" : [
           {
             "key.kind" : "source.lang.swift.structure.elem.typeref",
             "key.length" : 9,
-            "key.offset" : 8011
+            "key.offset" : 9324
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
         "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> ArrayDiff<\/ref.struct><Element, Identifier>.Removed<\/decl.name><\/decl.struct>",
         "key.inheritedtypes" : [
           {
@@ -12288,11 +12357,11 @@
         "key.length" : 68,
         "key.name" : "ArrayDiff.Removed",
         "key.namelength" : 17,
-        "key.nameoffset" : 7991,
-        "key.offset" : 7981,
+        "key.nameoffset" : 9304,
+        "key.offset" : 9294,
         "key.parsed_declaration" : "extension ArrayDiff.Removed : Equatable where Element : Equatable",
-        "key.parsed_scope.end" : 276,
-        "key.parsed_scope.start" : 276,
+        "key.parsed_scope.end" : 324,
+        "key.parsed_scope.start" : 324,
         "key.typename" : "ArrayDiff.Removed.Type",
         "key.typeusr" : "$s10ListableUI9ArrayDiffV7RemovedVyxq__GmD",
         "key.usr" : "s:10ListableUI9ArrayDiffV7RemovedV"
@@ -12300,15 +12369,15 @@
       {
         "key.annotated_decl" : "struct ArrayDiff<\/Type><Element, Identifier>.Moved<\/Declaration>",
         "key.bodylength" : 0,
-        "key.bodyoffset" : 8115,
+        "key.bodyoffset" : 9428,
         "key.elements" : [
           {
             "key.kind" : "source.lang.swift.structure.elem.typeref",
             "key.length" : 9,
-            "key.offset" : 8078
+            "key.offset" : 9391
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
         "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> ArrayDiff<\/ref.struct><Element, Identifier>.Moved<\/decl.name><\/decl.struct>",
         "key.inheritedtypes" : [
           {
@@ -12319,11 +12388,11 @@
         "key.length" : 66,
         "key.name" : "ArrayDiff.Moved",
         "key.namelength" : 15,
-        "key.nameoffset" : 8060,
-        "key.offset" : 8050,
+        "key.nameoffset" : 9373,
+        "key.offset" : 9363,
         "key.parsed_declaration" : "extension ArrayDiff.Moved : Equatable where Element : Equatable",
-        "key.parsed_scope.end" : 277,
-        "key.parsed_scope.start" : 277,
+        "key.parsed_scope.end" : 325,
+        "key.parsed_scope.start" : 325,
         "key.typename" : "ArrayDiff.Moved.Type",
         "key.typeusr" : "$s10ListableUI9ArrayDiffV5MovedVyxq__GmD",
         "key.usr" : "s:10ListableUI9ArrayDiffV5MovedV"
@@ -12331,15 +12400,15 @@
       {
         "key.annotated_decl" : "struct ArrayDiff<\/Type><Element, Identifier>.Updated<\/Declaration>",
         "key.bodylength" : 0,
-        "key.bodyoffset" : 8184,
+        "key.bodyoffset" : 9497,
         "key.elements" : [
           {
             "key.kind" : "source.lang.swift.structure.elem.typeref",
             "key.length" : 9,
-            "key.offset" : 8147
+            "key.offset" : 9460
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
         "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> ArrayDiff<\/ref.struct><Element, Identifier>.Updated<\/decl.name><\/decl.struct>",
         "key.inheritedtypes" : [
           {
@@ -12350,11 +12419,11 @@
         "key.length" : 68,
         "key.name" : "ArrayDiff.Updated",
         "key.namelength" : 17,
-        "key.nameoffset" : 8127,
-        "key.offset" : 8117,
+        "key.nameoffset" : 9440,
+        "key.offset" : 9430,
         "key.parsed_declaration" : "extension ArrayDiff.Updated : Equatable where Element : Equatable",
-        "key.parsed_scope.end" : 278,
-        "key.parsed_scope.start" : 278,
+        "key.parsed_scope.end" : 326,
+        "key.parsed_scope.start" : 326,
         "key.typename" : "ArrayDiff.Updated.Type",
         "key.typeusr" : "$s10ListableUI9ArrayDiffV7UpdatedVyxq__GmD",
         "key.usr" : "s:10ListableUI9ArrayDiffV7UpdatedV"
@@ -12362,15 +12431,15 @@
       {
         "key.annotated_decl" : "struct ArrayDiff<\/Type><Element, Identifier>.NoChange<\/Declaration>",
         "key.bodylength" : 0,
-        "key.bodyoffset" : 8254,
+        "key.bodyoffset" : 9567,
         "key.elements" : [
           {
             "key.kind" : "source.lang.swift.structure.elem.typeref",
             "key.length" : 9,
-            "key.offset" : 8217
+            "key.offset" : 9530
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
         "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> ArrayDiff<\/ref.struct><Element, Identifier>.NoChange<\/decl.name><\/decl.struct>",
         "key.inheritedtypes" : [
           {
@@ -12381,11 +12450,11 @@
         "key.length" : 69,
         "key.name" : "ArrayDiff.NoChange",
         "key.namelength" : 18,
-        "key.nameoffset" : 8196,
-        "key.offset" : 8186,
+        "key.nameoffset" : 9509,
+        "key.offset" : 9499,
         "key.parsed_declaration" : "extension ArrayDiff.NoChange : Equatable where Element : Equatable",
-        "key.parsed_scope.end" : 279,
-        "key.parsed_scope.start" : 279,
+        "key.parsed_scope.end" : 327,
+        "key.parsed_scope.start" : 327,
         "key.typename" : "ArrayDiff.NoChange.Type",
         "key.typeusr" : "$s10ListableUI9ArrayDiffV8NoChangeVyxq__GmD",
         "key.usr" : "s:10ListableUI9ArrayDiffV8NoChangeV"
@@ -12393,99 +12462,99 @@
       {
         "key.annotated_decl" : "struct ArrayDiff<Element, Identifier> where Identifier : Hashable<\/Type><\/Declaration>",
         "key.bodylength" : 2918,
-        "key.bodyoffset" : 8279,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+        "key.bodyoffset" : 9592,
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
         "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> ArrayDiff<\/decl.name><Element<\/decl.generic_type_param.name><\/decl.generic_type_param>, Identifier<\/decl.generic_type_param.name><\/decl.generic_type_param>> where<\/syntaxtype.keyword> Identifier : Hashable<\/ref.protocol><\/decl.generic_type_requirement><\/decl.struct>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 2940,
         "key.name" : "ArrayDiff",
         "key.namelength" : 9,
-        "key.nameoffset" : 8268,
-        "key.offset" : 8258,
+        "key.nameoffset" : 9581,
+        "key.offset" : 9571,
         "key.parsed_declaration" : "extension ArrayDiff",
-        "key.parsed_scope.end" : 385,
-        "key.parsed_scope.start" : 282,
+        "key.parsed_scope.end" : 433,
+        "key.parsed_scope.start" : 330,
         "key.substructure" : [
           {
             "key.annotated_decl" : "func transform<Mapped>(old: [Mapped<\/Type>], removed: (Element<\/Type>, Mapped<\/Type>) -> (), added: (Element<\/Type>) -> Mapped<\/Type>, moved: (Element<\/Type>, Element<\/Type>, inout Mapped<\/Type>) -> (), updated: (Element<\/Type>, Element<\/Type>, inout Mapped<\/Type>) -> (), noChange: (Element<\/Type>, Element<\/Type>, inout Mapped<\/Type>) -> ()) -> [Mapped<\/Type>]<\/Declaration>",
             "key.bodylength" : 2068,
-            "key.bodyoffset" : 8611,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+            "key.bodyoffset" : 9924,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> transform<\/decl.name><Mapped<\/decl.generic_type_param.name><\/decl.generic_type_param>>(old<\/decl.var.parameter.argument_label>: [Mapped<\/ref.generic_type_param>]<\/decl.var.parameter.type><\/decl.var.parameter>, removed<\/decl.var.parameter.argument_label>: (Element<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, Mapped<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>, added<\/decl.var.parameter.argument_label>: (Element<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> Mapped<\/ref.generic_type_param><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>, moved<\/decl.var.parameter.argument_label>: (Element<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, Element<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, inout<\/syntaxtype.keyword> Mapped<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>, updated<\/decl.var.parameter.argument_label>: (Element<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, Element<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, inout<\/syntaxtype.keyword> Mapped<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>, noChange<\/decl.var.parameter.argument_label>: (Element<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, Element<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, inout<\/syntaxtype.keyword> Mapped<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>) -> [Mapped<\/ref.generic_type_param>]<\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 2396,
             "key.name" : "transform(old:removed:added:moved:updated:noChange:)",
             "key.namelength" : 304,
-            "key.nameoffset" : 8289,
-            "key.offset" : 8284,
+            "key.nameoffset" : 9602,
+            "key.offset" : 9597,
             "key.parsed_declaration" : "func transform(\n    old : [Mapped],\n    removed : (Element, Mapped) -> (),\n    added : (Element) -> Mapped,\n    moved : (Element, Element, inout Mapped) -> (),\n    updated : (Element, Element, inout Mapped) -> (),\n    noChange : (Element, Element, inout Mapped) -> ()\n    ) -> [Mapped]",
-            "key.parsed_scope.end" : 360,
-            "key.parsed_scope.start" : 284,
+            "key.parsed_scope.end" : 408,
+            "key.parsed_scope.start" : 332,
             "key.substructure" : [
               {
                 "key.annotated_decl" : "Mapped<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "Mapped<\/decl.generic_type_param.name><\/decl.generic_type_param>",
                 "key.kind" : "source.lang.swift.decl.generic_type_param",
                 "key.length" : 6,
                 "key.name" : "Mapped",
                 "key.namelength" : 6,
-                "key.nameoffset" : 8299,
-                "key.offset" : 8299,
+                "key.nameoffset" : 9612,
+                "key.offset" : 9612,
                 "key.parsed_declaration" : "func transformvar removes: [ArrayDiff<\/Type><Element, Identifier>.Removal<\/Type><Mapped>]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> removes<\/decl.name>: [ArrayDiff<\/ref.struct><Element, Identifier>.Removal<\/ref.class><Mapped>]<\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 33,
                 "key.name" : "removes",
                 "key.namelength" : 7,
-                "key.nameoffset" : 8785,
-                "key.offset" : 8781,
+                "key.nameoffset" : 10098,
+                "key.offset" : 10094,
                 "key.parsed_declaration" : "var removes = [Removal]()",
-                "key.parsed_scope.end" : 297,
-                "key.parsed_scope.start" : 297,
+                "key.parsed_scope.end" : 345,
+                "key.parsed_scope.start" : 345,
                 "key.typename" : "[ArrayDiff.Removal]",
                 "key.typeusr" : "$sSay10ListableUI9ArrayDiffV7Removal33_C15E326CC9B009491D3ADB78FA7FFECBLLCyxq__qd__GGD",
                 "key.usr" : "s:10ListableUI9ArrayDiffV9transform3old7removed5added5moved7updated8noChangeSayqd__GAK_yx_qd__tXEqd__xXEyx_xqd__ztXEyx_xqd__ztXEyx_xqd__ztXEtlF7removesL_SayAC7Removal33_C15E326CC9B009491D3ADB78FA7FFECBLLCyxq__qd__GGvp"
               },
               {
                 "key.annotated_decl" : "var inserts: [ArrayDiff<\/Type><Element, Identifier>.Insertion<\/Type><Mapped>]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> inserts<\/decl.name>: [ArrayDiff<\/ref.struct><Element, Identifier>.Insertion<\/ref.class><Mapped>]<\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 35,
                 "key.name" : "inserts",
                 "key.namelength" : 7,
-                "key.nameoffset" : 9316,
-                "key.offset" : 9312,
+                "key.nameoffset" : 10629,
+                "key.offset" : 10625,
                 "key.parsed_declaration" : "var inserts = [Insertion]()",
-                "key.parsed_scope.end" : 313,
-                "key.parsed_scope.start" : 313,
+                "key.parsed_scope.end" : 361,
+                "key.parsed_scope.start" : 361,
                 "key.typename" : "[ArrayDiff.Insertion]",
                 "key.typeusr" : "$sSay10ListableUI9ArrayDiffV9Insertion33_C15E326CC9B009491D3ADB78FA7FFECBLLCyxq__qd__GGD",
                 "key.usr" : "s:10ListableUI9ArrayDiffV9transform3old7removed5added5moved7updated8noChangeSayqd__GAK_yx_qd__tXEqd__xXEyx_xqd__ztXEyx_xqd__ztXEyx_xqd__ztXEtlF7insertsL_SayAC9Insertion33_C15E326CC9B009491D3ADB78FA7FFECBLLCyxq__qd__GGvp"
               },
               {
                 "key.annotated_decl" : "var new: [Mapped]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> new<\/decl.name>: [Mapped]<\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 13,
                 "key.name" : "new",
                 "key.namelength" : 3,
-                "key.nameoffset" : 9928,
-                "key.offset" : 9924,
+                "key.nameoffset" : 11241,
+                "key.offset" : 11237,
                 "key.parsed_declaration" : "var new = old",
-                "key.parsed_scope.end" : 331,
-                "key.parsed_scope.start" : 331,
+                "key.parsed_scope.end" : 379,
+                "key.parsed_scope.start" : 379,
                 "key.typename" : "[Mapped]",
                 "key.typeusr" : "$sSayqd__GD",
                 "key.usr" : "s:10ListableUI9ArrayDiffV9transform3old7removed5added5moved7updated8noChangeSayqd__GAK_yx_qd__tXEqd__xXEyx_xqd__ztXEyx_xqd__ztXEyx_xqd__ztXEtlF3newL_AKvp"
@@ -12502,41 +12571,41 @@
               {
                 "key.attribute" : "source.decl.attribute.private",
                 "key.length" : 7,
-                "key.offset" : 10696
+                "key.offset" : 12009
               },
               {
                 "key.attribute" : "source.decl.attribute.final",
                 "key.length" : 5,
-                "key.offset" : 10690
+                "key.offset" : 12003
               }
             ],
             "key.bodylength" : 201,
-            "key.bodyoffset" : 10733,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+            "key.bodyoffset" : 12046,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
             "key.fully_annotated_decl" : "final<\/syntaxtype.keyword> private<\/syntaxtype.keyword> class<\/syntaxtype.keyword> Insertion<\/decl.name><Mapped<\/decl.generic_type_param.name><\/decl.generic_type_param>><\/decl.class>",
             "key.kind" : "source.lang.swift.decl.class",
             "key.length" : 231,
             "key.name" : "Insertion",
             "key.namelength" : 9,
-            "key.nameoffset" : 10710,
-            "key.offset" : 10704,
+            "key.nameoffset" : 12023,
+            "key.offset" : 12017,
             "key.parsed_declaration" : "final private class Insertion",
-            "key.parsed_scope.end" : 372,
-            "key.parsed_scope.start" : 362,
+            "key.parsed_scope.end" : 420,
+            "key.parsed_scope.start" : 410,
             "key.substructure" : [
               {
                 "key.annotated_decl" : "Mapped<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "Mapped<\/decl.generic_type_param.name><\/decl.generic_type_param>",
                 "key.kind" : "source.lang.swift.decl.generic_type_param",
                 "key.length" : 6,
                 "key.name" : "Mapped",
                 "key.namelength" : 6,
-                "key.nameoffset" : 10720,
-                "key.offset" : 10720,
+                "key.nameoffset" : 12033,
+                "key.offset" : 12033,
                 "key.parsed_declaration" : "final private class Insertionlet mapped: Mapped<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> mapped<\/decl.name>: Mapped<\/ref.generic_type_param><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 19,
                 "key.name" : "mapped",
                 "key.namelength" : 6,
-                "key.nameoffset" : 10746,
-                "key.offset" : 10742,
+                "key.nameoffset" : 12059,
+                "key.offset" : 12055,
                 "key.parsed_declaration" : "let mapped : Mapped",
-                "key.parsed_scope.end" : 364,
-                "key.parsed_scope.start" : 364,
+                "key.parsed_scope.end" : 412,
+                "key.parsed_scope.start" : 412,
                 "key.typename" : "Mapped",
                 "key.typeusr" : "$sqd__D",
                 "key.usr" : "s:10ListableUI9ArrayDiffV9Insertion33_C15E326CC9B009491D3ADB78FA7FFECBLLC6mappedqd__vp"
@@ -12562,17 +12631,17 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let insert: Added<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> insert<\/decl.name>: Added<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 18,
                 "key.name" : "insert",
                 "key.namelength" : 6,
-                "key.nameoffset" : 10774,
-                "key.offset" : 10770,
+                "key.nameoffset" : 12087,
+                "key.offset" : 12083,
                 "key.parsed_declaration" : "let insert : Added",
-                "key.parsed_scope.end" : 365,
-                "key.parsed_scope.start" : 365,
+                "key.parsed_scope.end" : 413,
+                "key.parsed_scope.start" : 413,
                 "key.typename" : "ArrayDiff.Added",
                 "key.typeusr" : "$s10ListableUI9ArrayDiffV5AddedVyxq__GD",
                 "key.usr" : "s:10ListableUI9ArrayDiffV9Insertion33_C15E326CC9B009491D3ADB78FA7FFECBLLC6insertAC5AddedVyxq__Gvp"
@@ -12581,18 +12650,18 @@
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "init(mapped: Mapped<\/Type>, insert: Added<\/Type>)<\/Declaration>",
                 "key.bodylength" : 75,
-                "key.bodyoffset" : 10853,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.bodyoffset" : 12166,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(mapped<\/decl.var.parameter.argument_label>: Mapped<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, insert<\/decl.var.parameter.argument_label>: Added<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 123,
                 "key.name" : "init(mapped:insert:)",
                 "key.namelength" : 37,
-                "key.nameoffset" : 10806,
-                "key.offset" : 10806,
+                "key.nameoffset" : 12119,
+                "key.offset" : 12119,
                 "key.parsed_declaration" : "init(mapped : Mapped, insert : Added)",
-                "key.parsed_scope.end" : 371,
-                "key.parsed_scope.start" : 367,
+                "key.parsed_scope.end" : 419,
+                "key.parsed_scope.start" : 415,
                 "key.substructure" : [
 
                 ],
@@ -12612,41 +12681,41 @@
               {
                 "key.attribute" : "source.decl.attribute.private",
                 "key.length" : 7,
-                "key.offset" : 10951
+                "key.offset" : 12264
               },
               {
                 "key.attribute" : "source.decl.attribute.final",
                 "key.length" : 5,
-                "key.offset" : 10945
+                "key.offset" : 12258
               }
             ],
             "key.bodylength" : 209,
-            "key.bodyoffset" : 10986,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+            "key.bodyoffset" : 12299,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
             "key.fully_annotated_decl" : "final<\/syntaxtype.keyword> private<\/syntaxtype.keyword> class<\/syntaxtype.keyword> Removal<\/decl.name><Mapped<\/decl.generic_type_param.name><\/decl.generic_type_param>><\/decl.class>",
             "key.kind" : "source.lang.swift.decl.class",
             "key.length" : 237,
             "key.name" : "Removal",
             "key.namelength" : 7,
-            "key.nameoffset" : 10965,
-            "key.offset" : 10959,
+            "key.nameoffset" : 12278,
+            "key.offset" : 12272,
             "key.parsed_declaration" : "final private class Removal",
-            "key.parsed_scope.end" : 384,
-            "key.parsed_scope.start" : 374,
+            "key.parsed_scope.end" : 432,
+            "key.parsed_scope.start" : 422,
             "key.substructure" : [
               {
                 "key.annotated_decl" : "Mapped<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "Mapped<\/decl.generic_type_param.name><\/decl.generic_type_param>",
                 "key.kind" : "source.lang.swift.decl.generic_type_param",
                 "key.length" : 6,
                 "key.name" : "Mapped",
                 "key.namelength" : 6,
-                "key.nameoffset" : 10973,
-                "key.offset" : 10973,
+                "key.nameoffset" : 12286,
+                "key.offset" : 12286,
                 "key.parsed_declaration" : "final private class Removallet mapped: Mapped<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> mapped<\/decl.name>: Mapped<\/ref.generic_type_param><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 19,
                 "key.name" : "mapped",
                 "key.namelength" : 6,
-                "key.nameoffset" : 10999,
-                "key.offset" : 10995,
+                "key.nameoffset" : 12312,
+                "key.offset" : 12308,
                 "key.parsed_declaration" : "let mapped : Mapped",
-                "key.parsed_scope.end" : 376,
-                "key.parsed_scope.start" : 376,
+                "key.parsed_scope.end" : 424,
+                "key.parsed_scope.start" : 424,
                 "key.typename" : "Mapped",
                 "key.typeusr" : "$sqd__D",
                 "key.usr" : "s:10ListableUI9ArrayDiffV7Removal33_C15E326CC9B009491D3ADB78FA7FFECBLLC6mappedqd__vp"
@@ -12672,17 +12741,17 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let removed: Removed<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> removed<\/decl.name>: Removed<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 21,
                 "key.name" : "removed",
                 "key.namelength" : 7,
-                "key.nameoffset" : 11027,
-                "key.offset" : 11023,
+                "key.nameoffset" : 12340,
+                "key.offset" : 12336,
                 "key.parsed_declaration" : "let removed : Removed",
-                "key.parsed_scope.end" : 377,
-                "key.parsed_scope.start" : 377,
+                "key.parsed_scope.end" : 425,
+                "key.parsed_scope.start" : 425,
                 "key.typename" : "ArrayDiff.Removed",
                 "key.typeusr" : "$s10ListableUI9ArrayDiffV7RemovedVyxq__GD",
                 "key.usr" : "s:10ListableUI9ArrayDiffV7Removal33_C15E326CC9B009491D3ADB78FA7FFECBLLC7removedAC7RemovedVyxq__Gvp"
@@ -12691,18 +12760,18 @@
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "init(mapped: Mapped<\/Type>, removed: Removed<\/Type>)<\/Declaration>",
                 "key.bodylength" : 77,
-                "key.bodyoffset" : 11112,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.bodyoffset" : 12425,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(mapped<\/decl.var.parameter.argument_label>: Mapped<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, removed<\/decl.var.parameter.argument_label>: Removed<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 128,
                 "key.name" : "init(mapped:removed:)",
                 "key.namelength" : 40,
-                "key.nameoffset" : 11062,
-                "key.offset" : 11062,
+                "key.nameoffset" : 12375,
+                "key.offset" : 12375,
                 "key.parsed_declaration" : "init(mapped : Mapped, removed : Removed)",
-                "key.parsed_scope.end" : 383,
-                "key.parsed_scope.start" : 379,
+                "key.parsed_scope.end" : 431,
+                "key.parsed_scope.start" : 427,
                 "key.substructure" : [
 
                 ],
@@ -12727,36 +12796,36 @@
           {
             "key.attribute" : "source.decl.attribute.private",
             "key.length" : 7,
-            "key.offset" : 11201
+            "key.offset" : 12514
           }
         ],
         "key.bodylength" : 1022,
-        "key.bodyoffset" : 11258,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+        "key.bodyoffset" : 12571,
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
         "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> class<\/syntaxtype.keyword> DiffContainer<\/decl.name><Value<\/decl.generic_type_param.name><\/decl.generic_type_param>, Identifier<\/decl.generic_type_param.name><\/decl.generic_type_param>> where<\/syntaxtype.keyword> Identifier : Hashable<\/ref.protocol><\/decl.generic_type_requirement><\/decl.class>",
         "key.kind" : "source.lang.swift.decl.class",
         "key.length" : 1072,
         "key.name" : "DiffContainer",
         "key.namelength" : 13,
-        "key.nameoffset" : 11215,
-        "key.offset" : 11209,
+        "key.nameoffset" : 12528,
+        "key.offset" : 12522,
         "key.parsed_declaration" : "private class DiffContainer",
-        "key.parsed_scope.end" : 421,
-        "key.parsed_scope.start" : 388,
+        "key.parsed_scope.end" : 469,
+        "key.parsed_scope.start" : 436,
         "key.substructure" : [
           {
             "key.annotated_decl" : "Value<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
             "key.fully_annotated_decl" : "Value<\/decl.generic_type_param.name><\/decl.generic_type_param>",
             "key.kind" : "source.lang.swift.decl.generic_type_param",
             "key.length" : 5,
             "key.name" : "Value",
             "key.namelength" : 5,
-            "key.nameoffset" : 11229,
-            "key.offset" : 11229,
+            "key.nameoffset" : 12542,
+            "key.offset" : 12542,
             "key.parsed_declaration" : "private class DiffContainerIdentifier<\/decl.generic_type_param.name> : Hashable<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
             "key.inheritedtypes" : [
               {
@@ -12781,11 +12850,11 @@
             "key.length" : 19,
             "key.name" : "Identifier",
             "key.namelength" : 10,
-            "key.nameoffset" : 11236,
-            "key.offset" : 11236,
+            "key.nameoffset" : 12549,
+            "key.offset" : 12549,
             "key.parsed_declaration" : "private class DiffContainerlet identifier: UniqueIdentifier<\/Type><Value<\/Type>, Identifier<\/Type>><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> identifier<\/decl.name>: UniqueIdentifier<\/ref.struct><Value<\/ref.generic_type_param>, Identifier<\/ref.generic_type_param>><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 52,
             "key.name" : "identifier",
             "key.namelength" : 10,
-            "key.nameoffset" : 11267,
-            "key.offset" : 11263,
+            "key.nameoffset" : 12580,
+            "key.offset" : 12576,
             "key.parsed_declaration" : "let identifier : UniqueIdentifier",
-            "key.parsed_scope.end" : 390,
-            "key.parsed_scope.start" : 390,
+            "key.parsed_scope.end" : 438,
+            "key.parsed_scope.start" : 438,
             "key.typename" : "UniqueIdentifier",
             "key.typeusr" : "$s10ListableUI16UniqueIdentifier33_C15E326CC9B009491D3ADB78FA7FFECBLLVyxq_GD",
             "key.usr" : "s:10ListableUI13DiffContainer33_C15E326CC9B009491D3ADB78FA7FFECBLLC10identifierAA16UniqueIdentifierACLLVyxq_Gvp"
@@ -12811,17 +12880,17 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "let value: Value<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> value<\/decl.name>: Value<\/ref.generic_type_param><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 17,
             "key.name" : "value",
             "key.namelength" : 5,
-            "key.nameoffset" : 11324,
-            "key.offset" : 11320,
+            "key.nameoffset" : 12637,
+            "key.offset" : 12633,
             "key.parsed_declaration" : "let value : Value",
-            "key.parsed_scope.end" : 391,
-            "key.parsed_scope.start" : 391,
+            "key.parsed_scope.end" : 439,
+            "key.parsed_scope.start" : 439,
             "key.typename" : "Value",
             "key.typeusr" : "$sxD",
             "key.usr" : "s:10ListableUI13DiffContainer33_C15E326CC9B009491D3ADB78FA7FFECBLLC5valuexvp"
@@ -12829,17 +12898,17 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "let index: Int<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> index<\/decl.name>: Int<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 15,
             "key.name" : "index",
             "key.namelength" : 5,
-            "key.nameoffset" : 11346,
-            "key.offset" : 11342,
+            "key.nameoffset" : 12659,
+            "key.offset" : 12655,
             "key.parsed_declaration" : "let index : Int",
-            "key.parsed_scope.end" : 392,
-            "key.parsed_scope.start" : 392,
+            "key.parsed_scope.end" : 440,
+            "key.parsed_scope.start" : 440,
             "key.typename" : "Int",
             "key.typeusr" : "$sSiD",
             "key.usr" : "s:10ListableUI13DiffContainer33_C15E326CC9B009491D3ADB78FA7FFECBLLC5indexSivp"
@@ -12848,18 +12917,18 @@
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "init(value: Value<\/Type>, index: Int<\/Type>, identifierProvider: (Value<\/Type>) -> Identifier<\/Type>, identifierFactory: UniqueIdentifier<\/Type><Value<\/Type>, Identifier<\/Type>>.Factory<\/Type>)<\/Declaration>",
             "key.bodylength" : 160,
-            "key.bodyoffset" : 11556,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+            "key.bodyoffset" : 12869,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
             "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(value<\/decl.var.parameter.argument_label>: Value<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, index<\/decl.var.parameter.argument_label>: Int<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, identifierProvider<\/decl.var.parameter.argument_label>: (Value<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> Identifier<\/ref.generic_type_param><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>, identifierFactory<\/decl.var.parameter.argument_label>: UniqueIdentifier<\/ref.struct><Value<\/ref.generic_type_param>, Identifier<\/ref.generic_type_param>>.Factory<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 350,
             "key.name" : "init(value:index:identifierProvider:identifierFactory:)",
             "key.namelength" : 183,
-            "key.nameoffset" : 11367,
-            "key.offset" : 11367,
+            "key.nameoffset" : 12680,
+            "key.offset" : 12680,
             "key.parsed_declaration" : "init(\n    value : Value,\n    index : Int,\n    identifierProvider : (Value) -> Identifier,\n    identifierFactory : UniqueIdentifier.Factory\n    )",
-            "key.parsed_scope.end" : 405,
-            "key.parsed_scope.start" : 394,
+            "key.parsed_scope.end" : 453,
+            "key.parsed_scope.start" : 442,
             "key.substructure" : [
 
             ],
@@ -12871,32 +12940,32 @@
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "static func containers(with elements: [Value<\/Type>], identifierProvider: (Value<\/Type>) -> Identifier<\/Type>) -> [DiffContainer<\/Type>]<\/Declaration>",
             "key.bodylength" : 435,
-            "key.bodyoffset" : 11843,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+            "key.bodyoffset" : 13156,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
             "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> containers<\/decl.name>(with<\/decl.var.parameter.argument_label> elements<\/decl.var.parameter.name>: [Value<\/ref.generic_type_param>]<\/decl.var.parameter.type><\/decl.var.parameter>, identifierProvider<\/decl.var.parameter.argument_label>: (Value<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> Identifier<\/ref.generic_type_param><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>) -> [DiffContainer<\/ref.class>]<\/decl.function.returntype><\/decl.function.method.static>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
             "key.length" : 552,
             "key.name" : "containers(with:identifierProvider:)",
             "key.namelength" : 79,
-            "key.nameoffset" : 11739,
-            "key.offset" : 11727,
+            "key.nameoffset" : 13052,
+            "key.offset" : 13040,
             "key.parsed_declaration" : "static func containers(with elements : [Value], identifierProvider : (Value) -> Identifier) -> [DiffContainer]",
-            "key.parsed_scope.end" : 420,
-            "key.parsed_scope.start" : 407,
+            "key.parsed_scope.end" : 468,
+            "key.parsed_scope.start" : 455,
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let identifierFactory: UniqueIdentifier<\/Type><Value, Identifier>.Factory<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> identifierFactory<\/decl.name>: UniqueIdentifier<\/ref.struct><Value, Identifier>.Factory<\/ref.class><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 69,
                 "key.name" : "identifierFactory",
                 "key.namelength" : 17,
-                "key.nameoffset" : 11856,
-                "key.offset" : 11852,
+                "key.nameoffset" : 13169,
+                "key.offset" : 13165,
                 "key.parsed_declaration" : "let identifierFactory = UniqueIdentifier.Factory()",
-                "key.parsed_scope.end" : 409,
-                "key.parsed_scope.start" : 409,
+                "key.parsed_scope.end" : 457,
+                "key.parsed_scope.start" : 457,
                 "key.typename" : "UniqueIdentifier.Factory",
                 "key.typeusr" : "$s10ListableUI16UniqueIdentifier33_C15E326CC9B009491D3ADB78FA7FFECBLLV7FactoryCyxq__GD",
                 "key.usr" : "s:10ListableUI13DiffContainer33_C15E326CC9B009491D3ADB78FA7FFECBLLC10containers4with18identifierProviderSayADyxq_GGSayxG_q_xXEtFZ0O7FactoryL_AA16UniqueIdentifierACLLV0Q0Cyxq__Gvp"
@@ -12918,19 +12987,19 @@
           {
             "key.attribute" : "source.decl.attribute.private",
             "key.length" : 7,
-            "key.offset" : 12284
+            "key.offset" : 13597
           }
         ],
-        "key.bodylength" : 1158,
-        "key.bodyoffset" : 12355,
+        "key.bodylength" : 1155,
+        "key.bodyoffset" : 13668,
         "key.elements" : [
           {
             "key.kind" : "source.lang.swift.structure.elem.typeref",
             "key.length" : 8,
-            "key.offset" : 12345
+            "key.offset" : 13658
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
         "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> UniqueIdentifier<\/decl.name><Type<\/decl.generic_type_param.name><\/decl.generic_type_param>, Identifier<\/decl.generic_type_param.name><\/decl.generic_type_param>> : Hashable<\/ref.protocol> where<\/syntaxtype.keyword> Identifier : Hashable<\/ref.protocol><\/decl.generic_type_requirement><\/decl.struct>",
         "key.inheritedtypes" : [
           {
@@ -12938,28 +13007,28 @@
           }
         ],
         "key.kind" : "source.lang.swift.decl.struct",
-        "key.length" : 1222,
+        "key.length" : 1219,
         "key.name" : "UniqueIdentifier",
         "key.namelength" : 16,
-        "key.nameoffset" : 12299,
-        "key.offset" : 12292,
+        "key.nameoffset" : 13612,
+        "key.offset" : 13605,
         "key.parsed_declaration" : "private struct UniqueIdentifier : Hashable",
-        "key.parsed_scope.end" : 470,
-        "key.parsed_scope.start" : 424,
+        "key.parsed_scope.end" : 519,
+        "key.parsed_scope.start" : 472,
         "key.substructure" : [
           {
             "key.annotated_decl" : "Type<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
             "key.fully_annotated_decl" : "Type<\/decl.generic_type_param.name><\/decl.generic_type_param>",
             "key.kind" : "source.lang.swift.decl.generic_type_param",
             "key.length" : 4,
             "key.name" : "Type",
             "key.namelength" : 4,
-            "key.nameoffset" : 12316,
-            "key.offset" : 12316,
+            "key.nameoffset" : 13629,
+            "key.offset" : 13629,
             "key.parsed_declaration" : "private struct UniqueIdentifierIdentifier<\/decl.generic_type_param.name> : Hashable<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
             "key.inheritedtypes" : [
               {
@@ -12984,36 +13053,29 @@
             "key.length" : 19,
             "key.name" : "Identifier",
             "key.namelength" : 10,
-            "key.nameoffset" : 12322,
-            "key.offset" : 12322,
+            "key.nameoffset" : 13635,
+            "key.offset" : 13635,
             "key.parsed_declaration" : "private struct UniqueIdentifierprivate let base: Identifier<\/Type><\/Declaration>",
-            "key.attributes" : [
-              {
-                "key.attribute" : "source.decl.attribute.private",
-                "key.length" : 7,
-                "key.offset" : 12360
-              }
-            ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
-            "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> let<\/syntaxtype.keyword> base<\/decl.name>: Identifier<\/ref.generic_type_param><\/decl.var.type><\/decl.var.instance>",
+            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.annotated_decl" : "let base: Identifier<\/Type><\/Declaration>",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+            "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> base<\/decl.name>: Identifier<\/ref.generic_type_param><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 21,
             "key.name" : "base",
             "key.namelength" : 4,
-            "key.nameoffset" : 12372,
-            "key.offset" : 12368,
-            "key.parsed_declaration" : "private let base : Identifier",
-            "key.parsed_scope.end" : 426,
-            "key.parsed_scope.start" : 426,
+            "key.nameoffset" : 13677,
+            "key.offset" : 13673,
+            "key.parsed_declaration" : "let base : Identifier",
+            "key.parsed_scope.end" : 474,
+            "key.parsed_scope.start" : 474,
             "key.typename" : "Identifier",
             "key.typeusr" : "$sq_D",
             "key.usr" : "s:10ListableUI16UniqueIdentifier33_C15E326CC9B009491D3ADB78FA7FFECBLLV4baseq_vp"
@@ -13025,20 +13087,20 @@
               {
                 "key.attribute" : "source.decl.attribute.private",
                 "key.length" : 7,
-                "key.offset" : 12394
+                "key.offset" : 13704
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> let<\/syntaxtype.keyword> modifier<\/decl.name>: Int<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 18,
             "key.name" : "modifier",
             "key.namelength" : 8,
-            "key.nameoffset" : 12406,
-            "key.offset" : 12402,
+            "key.nameoffset" : 13716,
+            "key.offset" : 13712,
             "key.parsed_declaration" : "private let modifier : Int",
-            "key.parsed_scope.end" : 427,
-            "key.parsed_scope.start" : 427,
+            "key.parsed_scope.end" : 476,
+            "key.parsed_scope.start" : 476,
             "key.typename" : "Int",
             "key.typeusr" : "$sSiD",
             "key.usr" : "s:10ListableUI16UniqueIdentifier33_C15E326CC9B009491D3ADB78FA7FFECBLLV8modifierSivp"
@@ -13050,20 +13112,20 @@
               {
                 "key.attribute" : "source.decl.attribute.private",
                 "key.length" : 7,
-                "key.offset" : 12430
+                "key.offset" : 13740
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> let<\/syntaxtype.keyword> hash<\/decl.name>: Int<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 14,
             "key.name" : "hash",
             "key.namelength" : 4,
-            "key.nameoffset" : 12442,
-            "key.offset" : 12438,
+            "key.nameoffset" : 13752,
+            "key.offset" : 13748,
             "key.parsed_declaration" : "private let hash : Int",
-            "key.parsed_scope.end" : 429,
-            "key.parsed_scope.start" : 429,
+            "key.parsed_scope.end" : 478,
+            "key.parsed_scope.start" : 478,
             "key.related_decls" : [
               {
                 "key.annotated_decl" : "hash(into:)<\/RelatedName>"
@@ -13077,32 +13139,32 @@
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "init(base: Identifier<\/Type>, modifier: Int<\/Type>)<\/Declaration>",
             "key.bodylength" : 212,
-            "key.bodyoffset" : 12507,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+            "key.bodyoffset" : 13817,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
             "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(base<\/decl.var.parameter.argument_label>: Identifier<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, modifier<\/decl.var.parameter.argument_label>: Int<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 258,
             "key.name" : "init(base:modifier:)",
             "key.namelength" : 39,
-            "key.nameoffset" : 12462,
-            "key.offset" : 12462,
+            "key.nameoffset" : 13772,
+            "key.offset" : 13772,
             "key.parsed_declaration" : "init(base : Identifier, modifier : Int)",
-            "key.parsed_scope.end" : 440,
-            "key.parsed_scope.start" : 431,
+            "key.parsed_scope.end" : 489,
+            "key.parsed_scope.start" : 480,
             "key.substructure" : [
               {
                 "key.annotated_decl" : "var hasher: Hasher<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> hasher<\/decl.name>: Hasher<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 21,
                 "key.name" : "hasher",
                 "key.namelength" : 6,
-                "key.nameoffset" : 12587,
-                "key.offset" : 12583,
+                "key.nameoffset" : 13897,
+                "key.offset" : 13893,
                 "key.parsed_declaration" : "var hasher = Hasher()",
-                "key.parsed_scope.end" : 436,
-                "key.parsed_scope.start" : 436,
+                "key.parsed_scope.end" : 485,
+                "key.parsed_scope.start" : 485,
                 "key.typename" : "Hasher",
                 "key.typeusr" : "$ss6HasherVD",
                 "key.usr" : "s:10ListableUI16UniqueIdentifier33_C15E326CC9B009491D3ADB78FA7FFECBLLV4base8modifierADyxq_Gq__Sitcfc6hasherL_s6HasherVvp"
@@ -13116,7 +13178,7 @@
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "static func == (lhs: UniqueIdentifier<\/Type>, rhs: UniqueIdentifier<\/Type>) -> Bool<\/Type><\/Declaration>",
             "key.bodylength" : 97,
-            "key.bodyoffset" : 12805,
+            "key.bodyoffset" : 14115,
             "key.doc.declaration" : "static func == (lhs: Self, rhs: Self) -> Bool",
             "key.doc.discussion" : [
               {
@@ -13147,22 +13209,22 @@
               }
             ],
             "key.doc.type" : "Function",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
             "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> == <\/decl.name>(lhs<\/decl.var.parameter.name>: UniqueIdentifier<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, rhs<\/decl.var.parameter.name>: UniqueIdentifier<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.operator.infix>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
             "key.length" : 173,
             "key.name" : "==(_:_:)",
             "key.namelength" : 49,
-            "key.nameoffset" : 12742,
-            "key.offset" : 12730,
+            "key.nameoffset" : 14052,
+            "key.offset" : 14040,
             "key.overrides" : [
               {
                 "key.usr" : "s:SQ2eeoiySbx_xtFZ"
               }
             ],
             "key.parsed_declaration" : "static func == (lhs: UniqueIdentifier, rhs: UniqueIdentifier) -> Bool",
-            "key.parsed_scope.end" : 445,
-            "key.parsed_scope.start" : 442,
+            "key.parsed_scope.end" : 494,
+            "key.parsed_scope.start" : 491,
             "key.related_decls" : [
               {
                 "key.annotated_decl" : "== (_: `Self`, _: `Self`) -> Bool<\/RelatedName>"
@@ -13623,7 +13685,7 @@
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "func hash(into hasher: inout Hasher<\/Type>)<\/Declaration>",
             "key.bodylength" : 39,
-            "key.bodyoffset" : 12955,
+            "key.bodyoffset" : 14265,
             "key.doc.declaration" : "func hash(into hasher: inout Hasher)",
             "key.doc.discussion" : [
               {
@@ -13649,22 +13711,22 @@
               }
             ],
             "key.doc.type" : "Function",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> hash<\/decl.name>(into<\/decl.var.parameter.argument_label> hasher<\/decl.var.parameter.name>: inout<\/syntaxtype.keyword> Hasher<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 82,
             "key.name" : "hash(into:)",
             "key.namelength" : 31,
-            "key.nameoffset" : 12918,
-            "key.offset" : 12913,
+            "key.nameoffset" : 14228,
+            "key.offset" : 14223,
             "key.overrides" : [
               {
                 "key.usr" : "s:SH4hash4intoys6HasherVz_tF"
               }
             ],
             "key.parsed_declaration" : "func hash(into hasher: inout Hasher)",
-            "key.parsed_scope.end" : 450,
-            "key.parsed_scope.start" : 447,
+            "key.parsed_scope.end" : 499,
+            "key.parsed_scope.start" : 496,
             "key.related_decls" : [
               {
                 "key.annotated_decl" : "hash<\/RelatedName>"
@@ -13684,22 +13746,22 @@
               {
                 "key.attribute" : "source.decl.attribute.final",
                 "key.length" : 5,
-                "key.offset" : 13005
+                "key.offset" : 14315
               }
             ],
             "key.bodylength" : 481,
-            "key.bodyoffset" : 13030,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+            "key.bodyoffset" : 14340,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
             "key.fully_annotated_decl" : "final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> UniqueIdentifier<\/ref.struct><Type, Identifier>.Factory<\/decl.name><\/decl.class>",
             "key.kind" : "source.lang.swift.decl.class",
             "key.length" : 501,
             "key.name" : "Factory",
             "key.namelength" : 7,
-            "key.nameoffset" : 13017,
-            "key.offset" : 13011,
+            "key.nameoffset" : 14327,
+            "key.offset" : 14321,
             "key.parsed_declaration" : "final class Factory",
-            "key.parsed_scope.end" : 469,
-            "key.parsed_scope.start" : 452,
+            "key.parsed_scope.end" : 518,
+            "key.parsed_scope.start" : 501,
             "key.substructure" : [
               {
                 "key.accessibility" : "source.lang.swift.accessibility.private",
@@ -13708,20 +13770,20 @@
                   {
                     "key.attribute" : "source.decl.attribute.private",
                     "key.length" : 7,
-                    "key.offset" : 13039
+                    "key.offset" : 14349
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> var<\/syntaxtype.keyword> counts<\/decl.name>: [Identifier<\/ref.generic_type_param> : Int<\/ref.struct>]<\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 35,
                 "key.name" : "counts",
                 "key.namelength" : 6,
-                "key.nameoffset" : 13051,
-                "key.offset" : 13047,
+                "key.nameoffset" : 14361,
+                "key.offset" : 14357,
                 "key.parsed_declaration" : "private var counts : [Identifier:Int] = [:]",
-                "key.parsed_scope.end" : 454,
-                "key.parsed_scope.start" : 454,
+                "key.parsed_scope.end" : 503,
+                "key.parsed_scope.start" : 503,
                 "key.setter_accessibility" : "source.lang.swift.accessibility.private",
                 "key.typename" : "[Identifier : Int]",
                 "key.typeusr" : "$sSDyq_SiGD",
@@ -13731,18 +13793,18 @@
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "func reserveCapacity(_ minimumCapacity: Int<\/Type>)<\/Declaration>",
                 "key.bodylength" : 66,
-                "key.bodyoffset" : 13155,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.bodyoffset" : 14465,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> reserveCapacity<\/decl.name>(_<\/decl.var.parameter.argument_label> minimumCapacity<\/decl.var.parameter.name>: Int<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 122,
                 "key.name" : "reserveCapacity(_:)",
                 "key.namelength" : 40,
-                "key.nameoffset" : 13105,
-                "key.offset" : 13100,
+                "key.nameoffset" : 14415,
+                "key.offset" : 14410,
                 "key.parsed_declaration" : "func reserveCapacity(_ minimumCapacity : Int)",
-                "key.parsed_scope.end" : 459,
-                "key.parsed_scope.start" : 456,
+                "key.parsed_scope.end" : 508,
+                "key.parsed_scope.start" : 505,
                 "key.substructure" : [
 
                 ],
@@ -13754,32 +13816,32 @@
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "func identifier(for base: Identifier<\/Type>) -> UniqueIdentifier<\/Type><\/Declaration>",
                 "key.bodylength" : 197,
-                "key.bodyoffset" : 13308,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.bodyoffset" : 14618,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> identifier<\/decl.name>(for<\/decl.var.parameter.argument_label> base<\/decl.var.parameter.name>: Identifier<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> UniqueIdentifier<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 266,
                 "key.name" : "identifier(for:)",
                 "key.namelength" : 33,
-                "key.nameoffset" : 13245,
-                "key.offset" : 13240,
+                "key.nameoffset" : 14555,
+                "key.offset" : 14550,
                 "key.parsed_declaration" : "func identifier(for base : Identifier) -> UniqueIdentifier",
-                "key.parsed_scope.end" : 468,
-                "key.parsed_scope.start" : 461,
+                "key.parsed_scope.end" : 517,
+                "key.parsed_scope.start" : 510,
                 "key.substructure" : [
                   {
                     "key.annotated_decl" : "let count: Int<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> count<\/decl.name>: Int<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 40,
                     "key.name" : "count",
                     "key.namelength" : 5,
-                    "key.nameoffset" : 13325,
-                    "key.offset" : 13321,
+                    "key.nameoffset" : 14635,
+                    "key.offset" : 14631,
                     "key.parsed_declaration" : "let count = self.counts[base, default:1]",
-                    "key.parsed_scope.end" : 463,
-                    "key.parsed_scope.start" : 463,
+                    "key.parsed_scope.end" : 512,
+                    "key.parsed_scope.start" : 512,
                     "key.typename" : "Int",
                     "key.typeusr" : "$sSiD",
                     "key.usr" : "s:10ListableUI16UniqueIdentifier33_C15E326CC9B009491D3ADB78FA7FFECBLLV7FactoryC10identifier3forADyxq_Gq__tF5countL_Sivp"
@@ -13806,41 +13868,41 @@
           {
             "key.attribute" : "source.decl.attribute.final",
             "key.length" : 5,
-            "key.offset" : 13524
+            "key.offset" : 14834
           },
           {
             "key.attribute" : "source.decl.attribute.private",
             "key.length" : 7,
-            "key.offset" : 13516
+            "key.offset" : 14826
           }
         ],
         "key.bodylength" : 3166,
-        "key.bodyoffset" : 13584,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+        "key.bodyoffset" : 14894,
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
         "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> DiffableCollection<\/decl.name><Value<\/decl.generic_type_param.name><\/decl.generic_type_param>, Identifier<\/decl.generic_type_param.name><\/decl.generic_type_param>> where<\/syntaxtype.keyword> Identifier : Hashable<\/ref.protocol><\/decl.generic_type_requirement><\/decl.class>",
         "key.kind" : "source.lang.swift.decl.class",
         "key.length" : 3221,
         "key.name" : "DiffableCollection",
         "key.namelength" : 18,
-        "key.nameoffset" : 13536,
-        "key.offset" : 13530,
+        "key.nameoffset" : 14846,
+        "key.offset" : 14840,
         "key.parsed_declaration" : "private final class DiffableCollection",
-        "key.parsed_scope.end" : 579,
-        "key.parsed_scope.start" : 472,
+        "key.parsed_scope.end" : 628,
+        "key.parsed_scope.start" : 521,
         "key.substructure" : [
           {
             "key.annotated_decl" : "Value<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
             "key.fully_annotated_decl" : "Value<\/decl.generic_type_param.name><\/decl.generic_type_param>",
             "key.kind" : "source.lang.swift.decl.generic_type_param",
             "key.length" : 5,
             "key.name" : "Value",
             "key.namelength" : 5,
-            "key.nameoffset" : 13555,
-            "key.offset" : 13555,
+            "key.nameoffset" : 14865,
+            "key.offset" : 14865,
             "key.parsed_declaration" : "private final class DiffableCollectionIdentifier<\/decl.generic_type_param.name> : Hashable<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
             "key.inheritedtypes" : [
               {
@@ -13865,11 +13927,11 @@
             "key.length" : 19,
             "key.name" : "Identifier",
             "key.namelength" : 10,
-            "key.nameoffset" : 13562,
-            "key.offset" : 13562,
+            "key.nameoffset" : 14872,
+            "key.offset" : 14872,
             "key.parsed_declaration" : "private final class DiffableCollectionprivate<\/syntaxtype.keyword>(set) var<\/syntaxtype.keyword> containers<\/decl.name>: [DiffContainer<\/ref.class><Value<\/ref.generic_type_param>, Identifier<\/ref.generic_type_param>>]<\/decl.var.type> { get }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 51,
             "key.name" : "containers",
             "key.namelength" : 10,
-            "key.nameoffset" : 13606,
-            "key.offset" : 13602,
+            "key.nameoffset" : 14916,
+            "key.offset" : 14912,
             "key.parsed_declaration" : "private(set) var containers : [DiffContainer]",
-            "key.parsed_scope.end" : 474,
-            "key.parsed_scope.start" : 474,
+            "key.parsed_scope.end" : 523,
+            "key.parsed_scope.start" : 523,
             "key.setter_accessibility" : "source.lang.swift.accessibility.private",
             "key.typename" : "[DiffContainer]",
             "key.typeusr" : "$sSay10ListableUI13DiffContainer33_C15E326CC9B009491D3ADB78FA7FFECBLLCyxq_GGD",
@@ -13907,20 +13969,20 @@
               {
                 "key.attribute" : "source.decl.attribute.private",
                 "key.length" : 7,
-                "key.offset" : 13658
+                "key.offset" : 14968
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> var<\/syntaxtype.keyword> containersByIdentifier<\/decl.name>: [UniqueIdentifier<\/ref.struct><Value<\/ref.generic_type_param>, Identifier<\/ref.generic_type_param>> : DiffContainer<\/ref.class><Value<\/ref.generic_type_param>, Identifier<\/ref.generic_type_param>>]<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 99,
             "key.name" : "containersByIdentifier",
             "key.namelength" : 22,
-            "key.nameoffset" : 13670,
-            "key.offset" : 13666,
+            "key.nameoffset" : 14980,
+            "key.offset" : 14976,
             "key.parsed_declaration" : "private var containersByIdentifier : [UniqueIdentifier:DiffContainer]",
-            "key.parsed_scope.end" : 475,
-            "key.parsed_scope.start" : 475,
+            "key.parsed_scope.end" : 524,
+            "key.parsed_scope.start" : 524,
             "key.setter_accessibility" : "source.lang.swift.accessibility.private",
             "key.typename" : "[UniqueIdentifier : DiffContainer]",
             "key.typeusr" : "$sSDy10ListableUI16UniqueIdentifier33_C15E326CC9B009491D3ADB78FA7FFECBLLVyxq_GAA13DiffContainerACLLCyxq_GGD",
@@ -13930,18 +13992,18 @@
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "init(elements: [Value<\/Type>], _ identifierProvider: (Value<\/Type>) -> Identifier<\/Type>)<\/Declaration>",
             "key.bodylength" : 353,
-            "key.bodyoffset" : 13851,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+            "key.bodyoffset" : 15161,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
             "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(elements<\/decl.var.parameter.argument_label>: [Value<\/ref.generic_type_param>]<\/decl.var.parameter.type><\/decl.var.parameter>, _<\/decl.var.parameter.argument_label> identifierProvider<\/decl.var.parameter.name>: (Value<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> Identifier<\/ref.generic_type_param><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 430,
             "key.name" : "init(elements:_:)",
             "key.namelength" : 70,
-            "key.nameoffset" : 13775,
-            "key.offset" : 13775,
+            "key.nameoffset" : 15085,
+            "key.offset" : 15085,
             "key.parsed_declaration" : "init(elements : [Value], _ identifierProvider : (Value) -> Identifier)",
-            "key.parsed_scope.end" : 486,
-            "key.parsed_scope.start" : 477,
+            "key.parsed_scope.end" : 535,
+            "key.parsed_scope.start" : 526,
             "key.substructure" : [
 
             ],
@@ -13955,24 +14017,24 @@
             "key.name" : "MARK: Querying The Collection",
             "key.namelength" : 0,
             "key.nameoffset" : 0,
-            "key.offset" : 14218
+            "key.offset" : 15528
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "func index(of identifier: UniqueIdentifier<\/Type><Value<\/Type>, Identifier<\/Type>>) -> Int<\/Type><\/Declaration>",
             "key.bodylength" : 115,
-            "key.bodyoffset" : 14333,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+            "key.bodyoffset" : 15643,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> index<\/decl.name>(of<\/decl.var.parameter.argument_label> identifier<\/decl.var.parameter.name>: UniqueIdentifier<\/ref.struct><Value<\/ref.generic_type_param>, Identifier<\/ref.generic_type_param>><\/decl.var.parameter.type><\/decl.var.parameter>) -> Int<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 192,
             "key.name" : "index(of:)",
             "key.namelength" : 58,
-            "key.nameoffset" : 14262,
-            "key.offset" : 14257,
+            "key.nameoffset" : 15572,
+            "key.offset" : 15567,
             "key.parsed_declaration" : "func index(of identifier : UniqueIdentifier) -> Int",
-            "key.parsed_scope.end" : 495,
-            "key.parsed_scope.start" : 490,
+            "key.parsed_scope.end" : 544,
+            "key.parsed_scope.start" : 539,
             "key.substructure" : [
 
             ],
@@ -13984,18 +14046,18 @@
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "func contains(identifier: UniqueIdentifier<\/Type><Value<\/Type>, Identifier<\/Type>>) -> Bool<\/Type><\/Declaration>",
             "key.bodylength" : 67,
-            "key.bodyoffset" : 14536,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+            "key.bodyoffset" : 15846,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> contains<\/decl.name>(identifier<\/decl.var.parameter.argument_label>: UniqueIdentifier<\/ref.struct><Value<\/ref.generic_type_param>, Identifier<\/ref.generic_type_param>><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 145,
             "key.name" : "contains(identifier:)",
             "key.namelength" : 58,
-            "key.nameoffset" : 14464,
-            "key.offset" : 14459,
+            "key.nameoffset" : 15774,
+            "key.offset" : 15769,
             "key.parsed_declaration" : "func contains(identifier : UniqueIdentifier) -> Bool",
-            "key.parsed_scope.end" : 500,
-            "key.parsed_scope.start" : 497,
+            "key.parsed_scope.end" : 549,
+            "key.parsed_scope.start" : 546,
             "key.substructure" : [
 
             ],
@@ -14007,18 +14069,18 @@
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "func container(for identifier: UniqueIdentifier<\/Type><Value<\/Type>, Identifier<\/Type>>) -> DiffContainer<\/Type><Value<\/Type>, Identifier<\/Type>><\/Declaration>",
             "key.bodylength" : 61,
-            "key.bodyoffset" : 14724,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+            "key.bodyoffset" : 16034,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> container<\/decl.name>(for<\/decl.var.parameter.argument_label> identifier<\/decl.var.parameter.name>: UniqueIdentifier<\/ref.struct><Value<\/ref.generic_type_param>, Identifier<\/ref.generic_type_param>><\/decl.var.parameter.type><\/decl.var.parameter>) -> DiffContainer<\/ref.class><Value<\/ref.generic_type_param>, Identifier<\/ref.generic_type_param>><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 172,
             "key.name" : "container(for:)",
             "key.namelength" : 63,
-            "key.nameoffset" : 14619,
-            "key.offset" : 14614,
+            "key.nameoffset" : 15929,
+            "key.offset" : 15924,
             "key.parsed_declaration" : "func container(for identifier : UniqueIdentifier) -> DiffContainer",
-            "key.parsed_scope.end" : 505,
-            "key.parsed_scope.start" : 502,
+            "key.parsed_scope.end" : 554,
+            "key.parsed_scope.start" : 551,
             "key.substructure" : [
 
             ],
@@ -14030,18 +14092,18 @@
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "func difference(from other: DiffableCollection<\/Type>) -> [DiffContainer<\/Type><Value<\/Type>, Identifier<\/Type>>]<\/Declaration>",
             "key.bodylength" : 236,
-            "key.bodyoffset" : 14888,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+            "key.bodyoffset" : 16198,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> difference<\/decl.name>(from<\/decl.var.parameter.argument_label> other<\/decl.var.parameter.name>: DiffableCollection<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>) -> [DiffContainer<\/ref.class><Value<\/ref.generic_type_param>, Identifier<\/ref.generic_type_param>>]<\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 329,
             "key.name" : "difference(from:)",
             "key.namelength" : 43,
-            "key.nameoffset" : 14801,
-            "key.offset" : 14796,
+            "key.nameoffset" : 16111,
+            "key.offset" : 16106,
             "key.parsed_declaration" : "func difference(from other : DiffableCollection) -> [DiffContainer]",
-            "key.parsed_scope.end" : 516,
-            "key.parsed_scope.start" : 507,
+            "key.parsed_scope.end" : 565,
+            "key.parsed_scope.start" : 556,
             "key.substructure" : [
 
             ],
@@ -14053,32 +14115,32 @@
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "func subtractDifference(from other: DiffableCollection<\/Type>) -> [DiffContainer<\/Type><Value<\/Type>, Identifier<\/Type>>]<\/Declaration>",
             "key.bodylength" : 147,
-            "key.bodyoffset" : 15235,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+            "key.bodyoffset" : 16545,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> subtractDifference<\/decl.name>(from<\/decl.var.parameter.argument_label> other<\/decl.var.parameter.name>: DiffableCollection<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>) -> [DiffContainer<\/ref.class><Value<\/ref.generic_type_param>, Identifier<\/ref.generic_type_param>>]<\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 248,
             "key.name" : "subtractDifference(from:)",
             "key.namelength" : 51,
-            "key.nameoffset" : 15140,
-            "key.offset" : 15135,
+            "key.nameoffset" : 16450,
+            "key.offset" : 16445,
             "key.parsed_declaration" : "func subtractDifference(from other : DiffableCollection) -> [DiffContainer]",
-            "key.parsed_scope.end" : 525,
-            "key.parsed_scope.start" : 518,
+            "key.parsed_scope.end" : 574,
+            "key.parsed_scope.start" : 567,
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let difference: [DiffContainer<\/Type><Value, Identifier>]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> difference<\/decl.name>: [DiffContainer<\/ref.class><Value, Identifier>]<\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 45,
                 "key.name" : "difference",
                 "key.namelength" : 10,
-                "key.nameoffset" : 15248,
-                "key.offset" : 15244,
+                "key.nameoffset" : 16558,
+                "key.offset" : 16554,
                 "key.parsed_declaration" : "let difference = self.difference(from: other)",
-                "key.parsed_scope.end" : 520,
-                "key.parsed_scope.start" : 520,
+                "key.parsed_scope.end" : 569,
+                "key.parsed_scope.start" : 569,
                 "key.related_decls" : [
                   {
                     "key.annotated_decl" : "difference(from:)<\/RelatedName>"
@@ -14099,38 +14161,38 @@
             "key.name" : "MARK: Core Mutating Methods",
             "key.namelength" : 0,
             "key.nameoffset" : 0,
-            "key.offset" : 15396
+            "key.offset" : 16706
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "func move(from: Int<\/Type>, to: Int<\/Type>)<\/Declaration>",
             "key.bodylength" : 255,
-            "key.bodyoffset" : 15469,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+            "key.bodyoffset" : 16779,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> move<\/decl.name>(from<\/decl.var.parameter.argument_label>: Int<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, to<\/decl.var.parameter.argument_label>: Int<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 292,
             "key.name" : "move(from:to:)",
             "key.namelength" : 25,
-            "key.nameoffset" : 15438,
-            "key.offset" : 15433,
+            "key.nameoffset" : 16748,
+            "key.offset" : 16743,
             "key.parsed_declaration" : "func move(from : Int, to: Int)",
-            "key.parsed_scope.end" : 541,
-            "key.parsed_scope.start" : 529,
+            "key.parsed_scope.end" : 590,
+            "key.parsed_scope.start" : 578,
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let value: DiffContainer<\/Type><Value, Identifier><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> value<\/decl.name>: DiffContainer<\/ref.class><Value, Identifier><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 33,
                 "key.name" : "value",
                 "key.namelength" : 5,
-                "key.nameoffset" : 15552,
-                "key.offset" : 15548,
+                "key.nameoffset" : 16862,
+                "key.offset" : 16858,
                 "key.parsed_declaration" : "let value = self.containers[from]",
-                "key.parsed_scope.end" : 535,
-                "key.parsed_scope.start" : 535,
+                "key.parsed_scope.end" : 584,
+                "key.parsed_scope.start" : 584,
                 "key.typename" : "DiffContainer",
                 "key.typeusr" : "$s10ListableUI13DiffContainer33_C15E326CC9B009491D3ADB78FA7FFECBLLCyxq_GD",
                 "key.usr" : "s:10ListableUI18DiffableCollection33_C15E326CC9B009491D3ADB78FA7FFECBLLC4move4from2toySi_SitF5valueL_AA13DiffContainerACLLCyxq_Gvp"
@@ -14144,32 +14206,32 @@
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "func remove(containers: [DiffContainer<\/Type><Value<\/Type>, Identifier<\/Type>>])<\/Declaration>",
             "key.bodylength" : 381,
-            "key.bodyoffset" : 15801,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+            "key.bodyoffset" : 17111,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> remove<\/decl.name>(containers<\/decl.var.parameter.argument_label>: [DiffContainer<\/ref.class><Value<\/ref.generic_type_param>, Identifier<\/ref.generic_type_param>>]<\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 448,
             "key.name" : "remove(containers:)",
             "key.namelength" : 55,
-            "key.nameoffset" : 15740,
-            "key.offset" : 15735,
+            "key.nameoffset" : 17050,
+            "key.offset" : 17045,
             "key.parsed_declaration" : "func remove(containers : [DiffContainer])",
-            "key.parsed_scope.end" : 558,
-            "key.parsed_scope.start" : 543,
+            "key.parsed_scope.end" : 607,
+            "key.parsed_scope.start" : 592,
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let indexes: [Int<\/Type>]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> indexes<\/decl.name>: [Int<\/ref.struct>]<\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 114,
                 "key.name" : "indexes",
                 "key.namelength" : 7,
-                "key.nameoffset" : 15937,
-                "key.offset" : 15933,
+                "key.nameoffset" : 17247,
+                "key.offset" : 17243,
                 "key.parsed_declaration" : "let indexes = containers.map({\n    return self.index(of: $0.identifier)\n}).sorted(by: { $0 > $1 })",
-                "key.parsed_scope.end" : 549,
-                "key.parsed_scope.start" : 549,
+                "key.parsed_scope.end" : 598,
+                "key.parsed_scope.start" : 598,
                 "key.typename" : "[Int]",
                 "key.typeusr" : "$sSaySiGD",
                 "key.usr" : "s:10ListableUI18DiffableCollection33_C15E326CC9B009491D3ADB78FA7FFECBLLC6remove10containersySayAA13DiffContainerACLLCyxq_GG_tF7indexesL_SaySiGvp"
@@ -14185,7 +14247,7 @@
             "key.name" : "MARK: Private Methods",
             "key.namelength" : 0,
             "key.nameoffset" : 0,
-            "key.offset" : 16196
+            "key.offset" : 17506
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.private",
@@ -14194,20 +14256,20 @@
               {
                 "key.attribute" : "source.decl.attribute.private",
                 "key.length" : 7,
-                "key.offset" : 16227
+                "key.offset" : 17537
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> var<\/syntaxtype.keyword> uniqueIdentifierIndexes<\/decl.name>: [UniqueIdentifier<\/ref.struct><Value<\/ref.generic_type_param>, Identifier<\/ref.generic_type_param>> : Int<\/ref.struct>]<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 77,
             "key.name" : "uniqueIdentifierIndexes",
             "key.namelength" : 23,
-            "key.nameoffset" : 16239,
-            "key.offset" : 16235,
+            "key.nameoffset" : 17549,
+            "key.offset" : 17545,
             "key.parsed_declaration" : "private var uniqueIdentifierIndexes : [UniqueIdentifier:Int] = [:]",
-            "key.parsed_scope.end" : 562,
-            "key.parsed_scope.start" : 562,
+            "key.parsed_scope.end" : 611,
+            "key.parsed_scope.start" : 611,
             "key.setter_accessibility" : "source.lang.swift.accessibility.private",
             "key.typename" : "[UniqueIdentifier : Int]",
             "key.typeusr" : "$sSDy10ListableUI16UniqueIdentifier33_C15E326CC9B009491D3ADB78FA7FFECBLLVyxq_GSiGD",
@@ -14220,22 +14282,22 @@
               {
                 "key.attribute" : "source.decl.attribute.private",
                 "key.length" : 7,
-                "key.offset" : 16322
+                "key.offset" : 17632
               }
             ],
             "key.bodylength" : 75,
-            "key.bodyoffset" : 16360,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+            "key.bodyoffset" : 17670,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> func<\/syntaxtype.keyword> resetIndexLookups<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 106,
             "key.name" : "resetIndexLookups()",
             "key.namelength" : 19,
-            "key.nameoffset" : 16335,
-            "key.offset" : 16330,
+            "key.nameoffset" : 17645,
+            "key.offset" : 17640,
             "key.parsed_declaration" : "private func resetIndexLookups()",
-            "key.parsed_scope.end" : 567,
-            "key.parsed_scope.start" : 564,
+            "key.parsed_scope.end" : 616,
+            "key.parsed_scope.start" : 613,
             "key.substructure" : [
 
             ],
@@ -14250,22 +14312,22 @@
               {
                 "key.attribute" : "source.decl.attribute.private",
                 "key.length" : 7,
-                "key.offset" : 16446
+                "key.offset" : 17756
               }
             ],
             "key.bodylength" : 253,
-            "key.bodyoffset" : 16495,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+            "key.bodyoffset" : 17805,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> func<\/syntaxtype.keyword> generateIndexLookupsIfNeeded<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 295,
             "key.name" : "generateIndexLookupsIfNeeded()",
             "key.namelength" : 30,
-            "key.nameoffset" : 16459,
-            "key.offset" : 16454,
+            "key.nameoffset" : 17769,
+            "key.offset" : 17764,
             "key.parsed_declaration" : "private func generateIndexLookupsIfNeeded()",
-            "key.parsed_scope.end" : 578,
-            "key.parsed_scope.start" : 569,
+            "key.parsed_scope.end" : 627,
+            "key.parsed_scope.start" : 618,
             "key.substructure" : [
 
             ],
@@ -14285,11 +14347,11 @@
           {
             "key.attribute" : "source.decl.attribute.private",
             "key.length" : 7,
-            "key.offset" : 16753
+            "key.offset" : 18063
           }
         ],
         "key.bodylength" : 378,
-        "key.bodyoffset" : 16778,
+        "key.bodyoffset" : 18088,
         "key.doc.declaration" : "@frozen struct Array",
         "key.doc.discussion" : [
           {
@@ -14433,62 +14495,62 @@
         "key.modulename" : "Swift",
         "key.name" : "Array",
         "key.namelength" : 5,
-        "key.nameoffset" : 16771,
-        "key.offset" : 16761,
+        "key.nameoffset" : 18081,
+        "key.offset" : 18071,
         "key.parsed_declaration" : "private extension Array",
-        "key.parsed_scope.end" : 598,
-        "key.parsed_scope.start" : 581,
+        "key.parsed_scope.end" : 647,
+        "key.parsed_scope.start" : 630,
         "key.substructure" : [
           {
             "key.accessibility" : "source.lang.swift.accessibility.fileprivate",
             "key.annotated_decl" : "func separate(_ block: (Element<\/Type>) -> Bool<\/Type>) -> ([Element<\/Type>], [Element<\/Type>])<\/Declaration>",
             "key.bodylength" : 297,
-            "key.bodyoffset" : 16857,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+            "key.bodyoffset" : 18167,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> separate<\/decl.name>(_<\/decl.var.parameter.argument_label> block<\/decl.var.parameter.name>: (Element<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>) -> ([Element<\/ref.generic_type_param>]<\/tuple.element.type><\/tuple.element>, [Element<\/ref.generic_type_param>]<\/tuple.element.type><\/tuple.element>)<\/tuple><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.groupname" : "Collection\/Array",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 372,
             "key.name" : "separate(_:)",
             "key.namelength" : 37,
-            "key.nameoffset" : 16788,
-            "key.offset" : 16783,
+            "key.nameoffset" : 18098,
+            "key.offset" : 18093,
             "key.parsed_declaration" : "func separate(_ block : (Element) -> Bool) -> ([Element], [Element])",
-            "key.parsed_scope.end" : 597,
-            "key.parsed_scope.start" : 583,
+            "key.parsed_scope.end" : 646,
+            "key.parsed_scope.start" : 632,
             "key.substructure" : [
               {
                 "key.annotated_decl" : "var left: [Element]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> left<\/decl.name>: [Element]<\/decl.var.type><\/decl.var.local>",
                 "key.groupname" : "Collection\/Array",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 22,
                 "key.name" : "left",
                 "key.namelength" : 4,
-                "key.nameoffset" : 16870,
-                "key.offset" : 16866,
+                "key.nameoffset" : 18180,
+                "key.offset" : 18176,
                 "key.parsed_declaration" : "var left = [Element]()",
-                "key.parsed_scope.end" : 585,
-                "key.parsed_scope.start" : 585,
+                "key.parsed_scope.end" : 634,
+                "key.parsed_scope.start" : 634,
                 "key.typename" : "[Element]",
                 "key.typeusr" : "$sSayxGD",
                 "key.usr" : "s:Sa10ListableUIE8separate33_C15E326CC9B009491D3ADB78FA7FFECBLLySayxG_ADtSbxXEF4leftL_ADvp"
               },
               {
                 "key.annotated_decl" : "var right: [Element]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> right<\/decl.name>: [Element]<\/decl.var.type><\/decl.var.local>",
                 "key.groupname" : "Collection\/Array",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 23,
                 "key.name" : "right",
                 "key.namelength" : 5,
-                "key.nameoffset" : 16901,
-                "key.offset" : 16897,
+                "key.nameoffset" : 18211,
+                "key.offset" : 18207,
                 "key.parsed_declaration" : "var right = [Element]()",
-                "key.parsed_scope.end" : 586,
-                "key.parsed_scope.start" : 586,
+                "key.parsed_scope.end" : 635,
+                "key.parsed_scope.start" : 635,
                 "key.typename" : "[Element]",
                 "key.typeusr" : "$sSayxGD",
                 "key.usr" : "s:Sa10ListableUIE8separate33_C15E326CC9B009491D3ADB78FA7FFECBLLySayxG_ADtSbxXEF5rightL_ADvp"
@@ -14510,11 +14572,11 @@
           {
             "key.attribute" : "source.decl.attribute.private",
             "key.length" : 7,
-            "key.offset" : 17159
+            "key.offset" : 18469
           }
         ],
         "key.bodylength" : 609,
-        "key.bodyoffset" : 17184,
+        "key.bodyoffset" : 18494,
         "key.doc.declaration" : "@frozen struct Array",
         "key.doc.discussion" : [
           {
@@ -14658,29 +14720,29 @@
         "key.modulename" : "Swift",
         "key.name" : "Array",
         "key.namelength" : 5,
-        "key.nameoffset" : 17177,
-        "key.offset" : 17167,
+        "key.nameoffset" : 18487,
+        "key.offset" : 18477,
         "key.parsed_declaration" : "private extension Array",
-        "key.parsed_scope.end" : 619,
-        "key.parsed_scope.start" : 600,
+        "key.parsed_scope.end" : 668,
+        "key.parsed_scope.start" : 649,
         "key.substructure" : [
           {
             "key.accessibility" : "source.lang.swift.accessibility.fileprivate",
             "key.annotated_decl" : "func toUniqueDictionary<Key, Value>(_ block: (Int<\/Type>, Element<\/Type>) -> (Key<\/Type>, Value<\/Type>)) -> Dictionary<\/Type><Key<\/Type>, Value<\/Type>> where Key : Hashable<\/Type><\/Declaration>",
             "key.bodylength" : 485,
-            "key.bodyoffset" : 17306,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+            "key.bodyoffset" : 18616,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> toUniqueDictionary<\/decl.name><Key<\/decl.generic_type_param.name><\/decl.generic_type_param>, Value<\/decl.generic_type_param.name><\/decl.generic_type_param>>(_<\/decl.var.parameter.argument_label> block<\/decl.var.parameter.name>: (Int<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, Element<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> (Key<\/ref.generic_type_param><\/tuple.element.type><\/tuple.element>, Value<\/ref.generic_type_param><\/tuple.element.type><\/tuple.element>)<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>) -> Dictionary<\/ref.struct><Key<\/ref.generic_type_param>, Value<\/ref.generic_type_param>><\/decl.function.returntype> where<\/syntaxtype.keyword> Key : Hashable<\/ref.protocol><\/decl.generic_type_requirement><\/decl.function.method.instance>",
             "key.groupname" : "Collection\/Array",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 603,
             "key.name" : "toUniqueDictionary(_:)",
             "key.namelength" : 81,
-            "key.nameoffset" : 17194,
-            "key.offset" : 17189,
+            "key.nameoffset" : 18504,
+            "key.offset" : 18499,
             "key.parsed_declaration" : "func toUniqueDictionary(_ block : (Int, Element) -> (Key, Value)) -> Dictionary",
-            "key.parsed_scope.end" : 618,
-            "key.parsed_scope.start" : 602,
+            "key.parsed_scope.end" : 667,
+            "key.parsed_scope.start" : 651,
             "key.substructure" : [
               {
                 "key.annotated_decl" : "Key : Hashable<\/Type><\/Declaration>",
@@ -14688,10 +14750,10 @@
                   {
                     "key.kind" : "source.lang.swift.structure.elem.typeref",
                     "key.length" : 8,
-                    "key.offset" : 17217
+                    "key.offset" : 18527
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "Key<\/decl.generic_type_param.name> : Hashable<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
                 "key.groupname" : "Collection\/Array",
                 "key.inheritedtypes" : [
@@ -14703,47 +14765,47 @@
                 "key.length" : 12,
                 "key.name" : "Key",
                 "key.namelength" : 3,
-                "key.nameoffset" : 17213,
-                "key.offset" : 17213,
+                "key.nameoffset" : 18523,
+                "key.offset" : 18523,
                 "key.parsed_declaration" : "func toUniqueDictionaryValue<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "Value<\/decl.generic_type_param.name><\/decl.generic_type_param>",
                 "key.groupname" : "Collection\/Array",
                 "key.kind" : "source.lang.swift.decl.generic_type_param",
                 "key.length" : 5,
                 "key.name" : "Value",
                 "key.namelength" : 5,
-                "key.nameoffset" : 17227,
-                "key.offset" : 17227,
+                "key.nameoffset" : 18537,
+                "key.offset" : 18537,
                 "key.parsed_declaration" : "func toUniqueDictionaryvar dictionary: [Key : Value]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/ArrayDiff.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> dictionary<\/decl.name>: [Key : Value]<\/decl.var.type><\/decl.var.local>",
                 "key.groupname" : "Collection\/Array",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 40,
                 "key.name" : "dictionary",
                 "key.namelength" : 10,
-                "key.nameoffset" : 17319,
-                "key.offset" : 17315,
+                "key.nameoffset" : 18629,
+                "key.offset" : 18625,
                 "key.parsed_declaration" : "var dictionary = Dictionary()",
-                "key.parsed_scope.end" : 604,
-                "key.parsed_scope.start" : 604,
+                "key.parsed_scope.end" : 653,
+                "key.parsed_scope.start" : 653,
                 "key.typename" : "[Key : Value]",
                 "key.typeusr" : "$sSDyqd__qd_0_GD",
                 "key.usr" : "s:Sa10ListableUIE18toUniqueDictionary33_C15E326CC9B009491D3ADB78FA7FFECBLLySDyqd__qd_0_Gqd___qd_0_tSi_xtXESHRd__r0_lF10dictionaryL_ADvp"
@@ -14761,31 +14823,31 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
-    "key.length" : 16880,
+    "key.length" : 18227,
     "key.offset" : 0,
     "key.substructure" : [
       {
         "key.accessibility" : "source.lang.swift.accessibility.internal",
         "key.annotated_decl" : "struct SectionedDiff<Section, SectionIdentifier, Item, ItemIdentifier> where SectionIdentifier : Hashable<\/Type>, ItemIdentifier : Hashable<\/Type><\/Declaration>",
-        "key.bodylength" : 10317,
+        "key.bodylength" : 11633,
         "key.bodyoffset" : 202,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
         "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> SectionedDiff<\/decl.name><Section<\/decl.generic_type_param.name><\/decl.generic_type_param>, SectionIdentifier<\/decl.generic_type_param.name><\/decl.generic_type_param>, Item<\/decl.generic_type_param.name><\/decl.generic_type_param>, ItemIdentifier<\/decl.generic_type_param.name><\/decl.generic_type_param>> where<\/syntaxtype.keyword> SectionIdentifier : Hashable<\/ref.protocol><\/decl.generic_type_requirement>, ItemIdentifier : Hashable<\/ref.protocol><\/decl.generic_type_requirement><\/decl.struct>",
         "key.kind" : "source.lang.swift.decl.struct",
-        "key.length" : 10408,
+        "key.length" : 11724,
         "key.name" : "SectionedDiff",
         "key.namelength" : 13,
         "key.nameoffset" : 119,
         "key.offset" : 112,
         "key.parsed_declaration" : "struct SectionedDiff",
-        "key.parsed_scope.end" : 352,
+        "key.parsed_scope.end" : 391,
         "key.parsed_scope.start" : 11,
         "key.substructure" : [
           {
             "key.annotated_decl" : "Section<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
             "key.fully_annotated_decl" : "Section<\/decl.generic_type_param.name><\/decl.generic_type_param>",
             "key.kind" : "source.lang.swift.decl.generic_type_param",
             "key.length" : 7,
@@ -14809,7 +14871,7 @@
                 "key.offset" : 160
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
             "key.fully_annotated_decl" : "SectionIdentifier<\/decl.generic_type_param.name> : Hashable<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
             "key.inheritedtypes" : [
               {
@@ -14831,7 +14893,7 @@
           },
           {
             "key.annotated_decl" : "Item<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
             "key.fully_annotated_decl" : "Item<\/decl.generic_type_param.name><\/decl.generic_type_param>",
             "key.kind" : "source.lang.swift.decl.generic_type_param",
             "key.length" : 4,
@@ -14855,7 +14917,7 @@
                 "key.offset" : 191
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
             "key.fully_annotated_decl" : "ItemIdentifier<\/decl.generic_type_param.name> : Hashable<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
             "key.inheritedtypes" : [
               {
@@ -14878,7 +14940,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "let old: [Section<\/Type>]<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> old<\/decl.name>: [Section<\/ref.generic_type_param>]<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 19,
@@ -14896,7 +14958,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "let new: [Section<\/Type>]<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> new<\/decl.name>: [Section<\/ref.generic_type_param>]<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 19,
@@ -14914,7 +14976,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "let changes: SectionChanges<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> changes<\/decl.name>: SectionChanges<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 28,
@@ -14934,7 +14996,7 @@
             "key.annotated_decl" : "init(old: [Section<\/Type>], new: [Section<\/Type>], configuration: Configuration<\/Type>)<\/Declaration>",
             "key.bodylength" : 194,
             "key.bodyoffset" : 372,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
             "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(old<\/decl.var.parameter.argument_label>: [Section<\/ref.generic_type_param>]<\/decl.var.parameter.type><\/decl.var.parameter>, new<\/decl.var.parameter.argument_label>: [Section<\/ref.generic_type_param>]<\/decl.var.parameter.type><\/decl.var.parameter>, configuration<\/decl.var.parameter.argument_label>: Configuration<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 269,
@@ -14957,7 +15019,7 @@
             "key.annotated_decl" : "struct SectionedDiff<\/Type><Section, SectionIdentifier, Item, ItemIdentifier>.Configuration<\/Declaration>",
             "key.bodylength" : 1477,
             "key.bodyoffset" : 603,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
             "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> SectionedDiff<\/ref.struct><Section, SectionIdentifier, Item, ItemIdentifier>.Configuration<\/decl.name><\/decl.struct>",
             "key.kind" : "source.lang.swift.decl.struct",
             "key.length" : 1504,
@@ -14972,7 +15034,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var section: SectionProviders<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> section<\/decl.name>: SectionProviders<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 30,
@@ -14991,7 +15053,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var item: ItemProviders<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> item<\/decl.name>: ItemProviders<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 24,
@@ -15012,7 +15074,7 @@
                 "key.annotated_decl" : "init(section: SectionProviders<\/Type>, item: ItemProviders<\/Type>)<\/Declaration>",
                 "key.bodylength" : 73,
                 "key.bodyoffset" : 757,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(section<\/decl.var.parameter.argument_label>: SectionProviders<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, item<\/decl.var.parameter.argument_label>: ItemProviders<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 138,
@@ -15035,7 +15097,7 @@
                 "key.annotated_decl" : "struct SectionedDiff<\/Type><Section, SectionIdentifier, Item, ItemIdentifier>.Configuration<\/Type>.SectionProviders<\/Declaration>",
                 "key.bodylength" : 585,
                 "key.bodyoffset" : 882,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> SectionedDiff<\/ref.struct><Section, SectionIdentifier, Item, ItemIdentifier>.Configuration<\/ref.struct>.SectionProviders<\/decl.name><\/decl.struct>",
                 "key.kind" : "source.lang.swift.decl.struct",
                 "key.length" : 619,
@@ -15050,7 +15112,7 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "var identifier: (Section<\/Type>) -> SectionIdentifier<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                     "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> identifier<\/decl.name>: (Section<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> SectionIdentifier<\/ref.generic_type_param><\/decl.function.returntype><\/decl.var.type><\/decl.var.instance>",
                     "key.kind" : "source.lang.swift.decl.var.instance",
                     "key.length" : 47,
@@ -15069,7 +15131,7 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "var items: (Section<\/Type>) -> [Item<\/Type>]<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                     "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> items<\/decl.name>: (Section<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> [Item<\/ref.generic_type_param>]<\/decl.function.returntype><\/decl.var.type><\/decl.var.instance>",
                     "key.kind" : "source.lang.swift.decl.var.instance",
                     "key.length" : 31,
@@ -15088,7 +15150,7 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "var movedHint: (Section<\/Type>, Section<\/Type>) -> Bool<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                     "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> movedHint<\/decl.name>: (Section<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, Section<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.var.type><\/decl.var.instance>",
                     "key.kind" : "source.lang.swift.decl.var.instance",
                     "key.length" : 42,
@@ -15109,7 +15171,7 @@
                     "key.annotated_decl" : "init(identifier: @escaping (Section<\/Type>) -> SectionIdentifier<\/Type>, items: @escaping (Section<\/Type>) -> [Item<\/Type>], movedHint: @escaping (Section<\/Type>, Section<\/Type>) -> Bool<\/Type>)<\/Declaration>",
                     "key.bodylength" : 136,
                     "key.bodyoffset" : 1321,
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                     "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(identifier<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> (Section<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> SectionIdentifier<\/ref.generic_type_param><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>, items<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> (Section<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> [Item<\/ref.generic_type_param>]<\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>, movedHint<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> (Section<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, Section<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
                     "key.kind" : "source.lang.swift.decl.function.method.instance",
                     "key.length" : 365,
@@ -15137,7 +15199,7 @@
                 "key.annotated_decl" : "struct SectionedDiff<\/Type><Section, SectionIdentifier, Item, ItemIdentifier>.Configuration<\/Type>.ItemProviders<\/Declaration>",
                 "key.bodylength" : 558,
                 "key.bodyoffset" : 1516,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> SectionedDiff<\/ref.struct><Section, SectionIdentifier, Item, ItemIdentifier>.Configuration<\/ref.struct>.ItemProviders<\/decl.name><\/decl.struct>",
                 "key.kind" : "source.lang.swift.decl.struct",
                 "key.length" : 589,
@@ -15152,7 +15214,7 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "var identifier: (Item<\/Type>) -> ItemIdentifier<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                     "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> identifier<\/decl.name>: (Item<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> ItemIdentifier<\/ref.generic_type_param><\/decl.function.returntype><\/decl.var.type><\/decl.var.instance>",
                     "key.kind" : "source.lang.swift.decl.var.instance",
                     "key.length" : 41,
@@ -15171,7 +15233,7 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "var updated: (Item<\/Type>, Item<\/Type>) -> Bool<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                     "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> updated<\/decl.name>: (Item<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, Item<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.var.type><\/decl.var.instance>",
                     "key.kind" : "source.lang.swift.decl.var.instance",
                     "key.length" : 34,
@@ -15190,7 +15252,7 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "var movedHint: (Item<\/Type>, Item<\/Type>) -> Bool<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                     "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> movedHint<\/decl.name>: (Item<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, Item<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.var.type><\/decl.var.instance>",
                     "key.kind" : "source.lang.swift.decl.var.instance",
                     "key.length" : 36,
@@ -15211,7 +15273,7 @@
                     "key.annotated_decl" : "init(identifier: @escaping (Item<\/Type>) -> ItemIdentifier<\/Type>, updated: @escaping (Item<\/Type>, Item<\/Type>) -> Bool<\/Type>, movedHint: @escaping (Item<\/Type>, Item<\/Type>) -> Bool<\/Type>)<\/Declaration>",
                     "key.bodylength" : 140,
                     "key.bodyoffset" : 1924,
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                     "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(identifier<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> (Item<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> ItemIdentifier<\/ref.generic_type_param><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>, updated<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> (Item<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, Item<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>, movedHint<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> (Item<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, Item<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
                     "key.kind" : "source.lang.swift.decl.function.method.instance",
                     "key.length" : 360,
@@ -15242,24 +15304,24 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "struct SectionedDiff<\/Type><Section, SectionIdentifier, Item, ItemIdentifier>.SectionChanges<\/Declaration>",
-            "key.bodylength" : 4690,
+            "key.bodylength" : 5486,
             "key.bodyoffset" : 2118,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
             "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> SectionedDiff<\/ref.struct><Section, SectionIdentifier, Item, ItemIdentifier>.SectionChanges<\/decl.name><\/decl.struct>",
             "key.kind" : "source.lang.swift.decl.struct",
-            "key.length" : 4718,
+            "key.length" : 5514,
             "key.name" : "SectionChanges",
             "key.namelength" : 14,
             "key.nameoffset" : 2098,
             "key.offset" : 2091,
             "key.parsed_declaration" : "struct SectionChanges",
-            "key.parsed_scope.end" : 227,
+            "key.parsed_scope.end" : 251,
             "key.parsed_scope.start" : 81,
             "key.substructure" : [
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let added: [Added<\/Type>]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> added<\/decl.name>: [Added<\/ref.struct>]<\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 19,
@@ -15277,7 +15339,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let removed: [Removed<\/Type>]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> removed<\/decl.name>: [Removed<\/ref.struct>]<\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 23,
@@ -15295,7 +15357,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let moved: [Moved<\/Type>]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> moved<\/decl.name>: [Moved<\/ref.struct>]<\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 19,
@@ -15313,7 +15375,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let noChange: [NoChange<\/Type>]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> noChange<\/decl.name>: [NoChange<\/ref.struct>]<\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 25,
@@ -15331,7 +15393,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let addedItemIdentifiers: Set<\/Type><ItemIdentifier<\/Type>><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> addedItemIdentifiers<\/decl.name>: Set<\/ref.struct><ItemIdentifier<\/ref.generic_type_param>><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 46,
@@ -15346,20 +15408,38 @@
                 "key.typeusr" : "$sShyq1_GD",
                 "key.usr" : "s:10ListableUI13SectionedDiffV14SectionChangesV20addedItemIdentifiersShyq1_Gvp"
               },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.internal",
+                "key.annotated_decl" : "let removedItemIdentifiers: Set<\/Type><ItemIdentifier<\/Type>><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> removedItemIdentifiers<\/decl.name>: Set<\/ref.struct><ItemIdentifier<\/ref.generic_type_param>><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 48,
+                "key.name" : "removedItemIdentifiers",
+                "key.namelength" : 22,
+                "key.nameoffset" : 2326,
+                "key.offset" : 2322,
+                "key.parsed_declaration" : "let removedItemIdentifiers : Set",
+                "key.parsed_scope.end" : 90,
+                "key.parsed_scope.start" : 90,
+                "key.typename" : "Set",
+                "key.typeusr" : "$sShyq1_GD",
+                "key.usr" : "s:10ListableUI13SectionedDiffV14SectionChangesV22removedItemIdentifiersShyq1_Gvp"
+              },
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let sectionsChangeCount: Int<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> sectionsChangeCount<\/decl.name>: Int<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 29,
                 "key.name" : "sectionsChangeCount",
                 "key.namelength" : 19,
-                "key.nameoffset" : 2335,
-                "key.offset" : 2331,
+                "key.nameoffset" : 2392,
+                "key.offset" : 2388,
                 "key.parsed_declaration" : "let sectionsChangeCount : Int",
-                "key.parsed_scope.end" : 91,
-                "key.parsed_scope.start" : 91,
+                "key.parsed_scope.end" : 92,
+                "key.parsed_scope.start" : 92,
                 "key.typename" : "Int",
                 "key.typeusr" : "$sSiD",
                 "key.usr" : "s:10ListableUI13SectionedDiffV14SectionChangesV19sectionsChangeCountSivp"
@@ -15367,17 +15447,17 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let itemsChangeCount: Int<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> itemsChangeCount<\/decl.name>: Int<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 26,
                 "key.name" : "itemsChangeCount",
                 "key.namelength" : 16,
-                "key.nameoffset" : 2373,
-                "key.offset" : 2369,
+                "key.nameoffset" : 2430,
+                "key.offset" : 2426,
                 "key.parsed_declaration" : "let itemsChangeCount : Int",
-                "key.parsed_scope.end" : 92,
-                "key.parsed_scope.start" : 92,
+                "key.parsed_scope.end" : 93,
+                "key.parsed_scope.start" : 93,
                 "key.typename" : "Int",
                 "key.typeusr" : "$sSiD",
                 "key.usr" : "s:10ListableUI13SectionedDiffV14SectionChangesV16itemsChangeCountSivp"
@@ -15386,18 +15466,18 @@
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var totalChangeCount: Int<\/Type> { get }<\/Declaration>",
                 "key.bodylength" : 70,
-                "key.bodyoffset" : 2441,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.bodyoffset" : 2498,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> totalChangeCount<\/decl.name>: Int<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 99,
                 "key.name" : "totalChangeCount",
                 "key.namelength" : 16,
-                "key.nameoffset" : 2417,
-                "key.offset" : 2413,
+                "key.nameoffset" : 2474,
+                "key.offset" : 2470,
                 "key.parsed_declaration" : "var totalChangeCount : Int",
-                "key.parsed_scope.end" : 96,
-                "key.parsed_scope.start" : 94,
+                "key.parsed_scope.end" : 97,
+                "key.parsed_scope.start" : 95,
                 "key.typename" : "Int",
                 "key.typeusr" : "$sSiD",
                 "key.usr" : "s:10ListableUI13SectionedDiffV14SectionChangesV16totalChangeCountSivp"
@@ -15406,18 +15486,18 @@
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var isEmpty: Bool<\/Type> { get }<\/Declaration>",
                 "key.bodylength" : 48,
-                "key.bodyoffset" : 2550,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.bodyoffset" : 2607,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> isEmpty<\/decl.name>: Bool<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 69,
                 "key.name" : "isEmpty",
                 "key.namelength" : 7,
-                "key.nameoffset" : 2534,
-                "key.offset" : 2530,
+                "key.nameoffset" : 2591,
+                "key.offset" : 2587,
                 "key.parsed_declaration" : "var isEmpty : Bool",
-                "key.parsed_scope.end" : 100,
-                "key.parsed_scope.start" : 98,
+                "key.parsed_scope.end" : 101,
+                "key.parsed_scope.start" : 99,
                 "key.typename" : "Bool",
                 "key.typeusr" : "$sSbD",
                 "key.usr" : "s:10ListableUI13SectionedDiffV14SectionChangesV7isEmptySbvp"
@@ -15429,20 +15509,20 @@
                   {
                     "key.attribute" : "source.decl.attribute.private",
                     "key.length" : 7,
-                    "key.offset" : 2617
+                    "key.offset" : 2674
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> let<\/syntaxtype.keyword> diff<\/decl.name>: ArrayDiff<\/ref.struct><Section<\/ref.generic_type_param>, SectionIdentifier<\/ref.generic_type_param>><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 48,
                 "key.name" : "diff",
                 "key.namelength" : 4,
-                "key.nameoffset" : 2629,
-                "key.offset" : 2625,
+                "key.nameoffset" : 2686,
+                "key.offset" : 2682,
                 "key.parsed_declaration" : "private let diff : ArrayDiff",
-                "key.parsed_scope.end" : 102,
-                "key.parsed_scope.start" : 102,
+                "key.parsed_scope.end" : 103,
+                "key.parsed_scope.start" : 103,
                 "key.typename" : "ArrayDiff",
                 "key.typeusr" : "$s10ListableUI9ArrayDiffVyxq_GD",
                 "key.usr" : "s:10ListableUI13SectionedDiffV14SectionChangesV4diff33_459A16665E334F63AE247A06F35B0E51LLAA05ArrayD0Vyxq_Gvp"
@@ -15450,124 +15530,181 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "init(old: [Section<\/Type>], new: [Section<\/Type>], configuration: Configuration<\/Type>)<\/Declaration>",
-                "key.bodylength" : 3269,
-                "key.bodyoffset" : 2770,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.bodylength" : 3318,
+                "key.bodyoffset" : 2827,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(old<\/decl.var.parameter.argument_label>: [Section<\/ref.generic_type_param>]<\/decl.var.parameter.type><\/decl.var.parameter>, new<\/decl.var.parameter.argument_label>: [Section<\/ref.generic_type_param>]<\/decl.var.parameter.type><\/decl.var.parameter>, configuration<\/decl.var.parameter.argument_label>: Configuration<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
-                "key.length" : 3349,
+                "key.length" : 3398,
                 "key.name" : "init(old:new:configuration:)",
                 "key.namelength" : 69,
-                "key.nameoffset" : 2691,
-                "key.offset" : 2691,
+                "key.nameoffset" : 2748,
+                "key.offset" : 2748,
                 "key.parsed_declaration" : "init(old : [Section], new : [Section], configuration : Configuration)",
-                "key.parsed_scope.end" : 190,
-                "key.parsed_scope.start" : 104,
+                "key.parsed_scope.end" : 193,
+                "key.parsed_scope.start" : 105,
                 "key.substructure" : [
                   {
-                    "key.annotated_decl" : "let addedIDs: [[ItemIdentifier<\/Type>]]<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
-                    "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> addedIDs<\/decl.name>: [[ItemIdentifier<\/ref.generic_type_param>]]<\/decl.var.type><\/decl.var.local>",
+                    "key.annotated_decl" : "let sectionsChangeCount: Int<\/Type><\/Declaration>",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> sectionsChangeCount<\/decl.name>: Int<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
-                    "key.length" : 206,
-                    "key.name" : "addedIDs",
-                    "key.namelength" : 8,
-                    "key.nameoffset" : 4720,
-                    "key.offset" : 4716,
-                    "key.parsed_declaration" : "let addedIDs : [[ItemIdentifier]] = self.added.map {\n    let items = configuration.section.items($0.newValue)\n    return items.map { configuration.item.identifier($0) }\n}",
-                    "key.parsed_scope.end" : 162,
-                    "key.parsed_scope.start" : 162,
-                    "key.typename" : "[[ItemIdentifier]]",
-                    "key.typeusr" : "$sSaySayq1_GGD",
-                    "key.usr" : "s:10ListableUI13SectionedDiffV14SectionChangesV3old3new13configurationAEyxq_q0_q1__GSayxG_AjC13ConfigurationVyxq_q0_q1__Gtcfc8addedIDsL_SaySayq1_GGvp"
-                  },
-                  {
-                    "key.annotated_decl" : "let movedIDs: [[ItemIdentifier<\/Type>]]<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
-                    "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> movedIDs<\/decl.name>: [[ItemIdentifier<\/ref.generic_type_param>]]<\/decl.var.type><\/decl.var.local>",
-                    "key.kind" : "source.lang.swift.decl.var.local",
-                    "key.length" : 195,
-                    "key.name" : "movedIDs",
-                    "key.namelength" : 8,
-                    "key.nameoffset" : 4952,
-                    "key.offset" : 4948,
-                    "key.parsed_declaration" : "let movedIDs : [[ItemIdentifier]] = self.moved.map {\n    let items = $0.itemChanges.added\n    return items.map { configuration.item.identifier($0.newValue) }\n}",
+                    "key.length" : 130,
+                    "key.name" : "sectionsChangeCount",
+                    "key.namelength" : 19,
+                    "key.nameoffset" : 4958,
+                    "key.offset" : 4954,
+                    "key.parsed_declaration" : "let sectionsChangeCount =\n    self.added.count\n    + self.removed.count\n    + self.moved.count",
                     "key.parsed_scope.end" : 167,
                     "key.parsed_scope.start" : 167,
-                    "key.typename" : "[[ItemIdentifier]]",
-                    "key.typeusr" : "$sSaySayq1_GGD",
-                    "key.usr" : "s:10ListableUI13SectionedDiffV14SectionChangesV3old3new13configurationAEyxq_q0_q1__GSayxG_AjC13ConfigurationVyxq_q0_q1__Gtcfc8movedIDsL_SaySayq1_GGvp"
+                    "key.related_decls" : [
+                      {
+                        "key.annotated_decl" : "sectionsChangeCount<\/RelatedName>"
+                      }
+                    ],
+                    "key.typename" : "Int",
+                    "key.typeusr" : "$sSiD",
+                    "key.usr" : "s:10ListableUI13SectionedDiffV14SectionChangesV3old3new13configurationAEyxq_q0_q1__GSayxG_AjC13ConfigurationVyxq_q0_q1__Gtcfc19sectionsChangeCountL_Sivp"
                   },
                   {
-                    "key.annotated_decl" : "let noChangeIDs: [[ItemIdentifier<\/Type>]]<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
-                    "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> noChangeIDs<\/decl.name>: [[ItemIdentifier<\/ref.generic_type_param>]]<\/decl.var.type><\/decl.var.local>",
+                    "key.annotated_decl" : "let itemsChangeCount: Int<\/Type><\/Declaration>",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> itemsChangeCount<\/decl.name>: Int<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
-                    "key.length" : 201,
-                    "key.name" : "noChangeIDs",
-                    "key.namelength" : 11,
-                    "key.nameoffset" : 5173,
-                    "key.offset" : 5169,
-                    "key.parsed_declaration" : "let noChangeIDs : [[ItemIdentifier]] = self.noChange.map {\n    let items = $0.itemChanges.added\n    return items.map { configuration.item.identifier($0.newValue) }\n}",
+                    "key.length" : 175,
+                    "key.name" : "itemsChangeCount",
+                    "key.namelength" : 16,
+                    "key.nameoffset" : 5114,
+                    "key.offset" : 5110,
+                    "key.parsed_declaration" : "let itemsChangeCount =\n    self.moved.reduce(0, { $0 + $1.itemChanges.changeCount })\n    + self.noChange.reduce(0, { $0 + $1.itemChanges.changeCount })",
                     "key.parsed_scope.end" : 172,
                     "key.parsed_scope.start" : 172,
-                    "key.typename" : "[[ItemIdentifier]]",
-                    "key.typeusr" : "$sSaySayq1_GGD",
-                    "key.usr" : "s:10ListableUI13SectionedDiffV14SectionChangesV3old3new13configurationAEyxq_q0_q1__GSayxG_AjC13ConfigurationVyxq_q0_q1__Gtcfc11noChangeIDsL_SaySayq1_GGvp"
+                    "key.related_decls" : [
+                      {
+                        "key.annotated_decl" : "itemsChangeCount<\/RelatedName>"
+                      }
+                    ],
+                    "key.typename" : "Int",
+                    "key.typeusr" : "$sSiD",
+                    "key.usr" : "s:10ListableUI13SectionedDiffV14SectionChangesV3old3new13configurationAEyxq_q0_q1__GSayxG_AjC13ConfigurationVyxq_q0_q1__Gtcfc16itemsChangeCountL_Sivp"
                   },
                   {
-                    "key.annotated_decl" : "let allIDs: [ItemIdentifier]<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
-                    "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> allIDs<\/decl.name>: [ItemIdentifier]<\/decl.var.type><\/decl.var.local>",
+                    "key.annotated_decl" : "let hasChanges: Bool<\/Type><\/Declaration>",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> hasChanges<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
-                    "key.length" : 91,
-                    "key.name" : "allIDs",
-                    "key.namelength" : 6,
-                    "key.nameoffset" : 5400,
-                    "key.offset" : 5396,
-                    "key.parsed_declaration" : "let allIDs = addedIDs.flatMap { $0 } + movedIDs.flatMap { $0 } + noChangeIDs.flatMap { $0 }",
-                    "key.parsed_scope.end" : 177,
-                    "key.parsed_scope.start" : 177,
-                    "key.typename" : "[ItemIdentifier]",
-                    "key.typeusr" : "$sSayq1_GD",
-                    "key.usr" : "s:10ListableUI13SectionedDiffV14SectionChangesV3old3new13configurationAEyxq_q0_q1__GSayxG_AjC13ConfigurationVyxq_q0_q1__Gtcfc6allIDsL_Sayq1_Gvp"
+                    "key.length" : 64,
+                    "key.name" : "hasChanges",
+                    "key.namelength" : 10,
+                    "key.nameoffset" : 5440,
+                    "key.offset" : 5436,
+                    "key.parsed_declaration" : "let hasChanges = itemsChangeCount > 0 || sectionsChangeCount > 0",
+                    "key.parsed_scope.end" : 179,
+                    "key.parsed_scope.start" : 179,
+                    "key.typename" : "Bool",
+                    "key.typeusr" : "$sSbD",
+                    "key.usr" : "s:10ListableUI13SectionedDiffV14SectionChangesV3old3new13configurationAEyxq_q0_q1__GSayxG_AjC13ConfigurationVyxq_q0_q1__Gtcfc03hasF0L_Sbvp"
                   }
                 ],
                 "key.typename" : " (SectionedDiff.SectionChanges.Type) -> ([Section], [Section], SectionedDiff.Configuration) -> SectionedDiff.SectionChanges",
                 "key.typeusr" : "$s3old3new13configuration10ListableUI13SectionedDiffV14SectionChangesVyxq_q0_q1__GSayxG_AjF13ConfigurationVyxq_q0_q1__GtcD",
                 "key.usr" : "s:10ListableUI13SectionedDiffV14SectionChangesV3old3new13configurationAEyxq_q0_q1__GSayxG_AjC13ConfigurationVyxq_q0_q1__Gtcfc"
               },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.private",
+                "key.annotated_decl" : "private static func allItemIDs(in sections: [Section<\/Type>], configuration: Configuration<\/Type>) -> Set<\/Type><ItemIdentifier<\/Type>><\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.private",
+                    "key.length" : 7,
+                    "key.offset" : 6164
+                  }
+                ],
+                "key.bodylength" : 320,
+                "key.bodyoffset" : 6275,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> allItemIDs<\/decl.name>(in<\/decl.var.parameter.argument_label> sections<\/decl.var.parameter.name>: [Section<\/ref.generic_type_param>]<\/decl.var.parameter.type><\/decl.var.parameter>, configuration<\/decl.var.parameter.argument_label>: Configuration<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> Set<\/ref.struct><ItemIdentifier<\/ref.generic_type_param>><\/decl.function.returntype><\/decl.function.method.static>",
+                "key.kind" : "source.lang.swift.decl.function.method.static",
+                "key.length" : 424,
+                "key.name" : "allItemIDs(in:configuration:)",
+                "key.namelength" : 66,
+                "key.nameoffset" : 6184,
+                "key.offset" : 6172,
+                "key.parsed_declaration" : "private static func allItemIDs(in sections : [Section], configuration : Configuration) -> Set",
+                "key.parsed_scope.end" : 206,
+                "key.parsed_scope.start" : 195,
+                "key.substructure" : [
+                  {
+                    "key.annotated_decl" : "var IDs: Set<\/Type><ItemIdentifier><\/Declaration>",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> IDs<\/decl.name>: Set<\/ref.struct><ItemIdentifier><\/decl.var.type><\/decl.var.local>",
+                    "key.kind" : "source.lang.swift.decl.var.local",
+                    "key.length" : 31,
+                    "key.name" : "IDs",
+                    "key.namelength" : 3,
+                    "key.nameoffset" : 6305,
+                    "key.offset" : 6301,
+                    "key.parsed_declaration" : "var IDs = Set()",
+                    "key.parsed_scope.end" : 197,
+                    "key.parsed_scope.start" : 197,
+                    "key.typename" : "Set",
+                    "key.typeusr" : "$sShyq1_GD",
+                    "key.usr" : "s:10ListableUI13SectionedDiffV14SectionChangesV10allItemIDs33_459A16665E334F63AE247A06F35B0E51LL2in13configurationShyq1_GSayxG_AC13ConfigurationVyxq_q0_q1__GtFZ0I0L_AJvp"
+                  }
+                ],
+                "key.typename" : " (SectionedDiff.SectionChanges.Type) -> ([Section], SectionedDiff.Configuration) -> Set",
+                "key.typeusr" : "$s2in13configurationShyq1_GSayxG_10ListableUI13SectionedDiffV13ConfigurationVyxq_q0_q1__GtcD",
+                "key.usr" : "s:10ListableUI13SectionedDiffV14SectionChangesV10allItemIDs33_459A16665E334F63AE247A06F35B0E51LL2in13configurationShyq1_GSayxG_AC13ConfigurationVyxq_q0_q1__GtFZ"
+              },
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "struct SectionedDiff<\/Type><Section, SectionIdentifier, Item, ItemIdentifier>.SectionChanges<\/Type>.Added<\/Declaration>",
-                "key.bodylength" : 88,
-                "key.bodyoffset" : 6080,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.bodylength" : 148,
+                "key.bodyoffset" : 6636,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> SectionedDiff<\/ref.struct><Section, SectionIdentifier, Item, ItemIdentifier>.SectionChanges<\/ref.struct>.Added<\/decl.name><\/decl.struct>",
                 "key.kind" : "source.lang.swift.decl.struct",
-                "key.length" : 111,
+                "key.length" : 171,
                 "key.name" : "Added",
                 "key.namelength" : 5,
-                "key.nameoffset" : 6065,
-                "key.offset" : 6058,
+                "key.nameoffset" : 6621,
+                "key.offset" : 6614,
                 "key.parsed_declaration" : "struct Added",
-                "key.parsed_scope.end" : 197,
-                "key.parsed_scope.start" : 192,
+                "key.parsed_scope.end" : 215,
+                "key.parsed_scope.start" : 208,
                 "key.substructure" : [
+                  {
+                    "key.accessibility" : "source.lang.swift.accessibility.internal",
+                    "key.annotated_decl" : "let identifier: SectionIdentifier<\/Type><\/Declaration>",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> identifier<\/decl.name>: SectionIdentifier<\/ref.generic_type_param><\/decl.var.type><\/decl.var.instance>",
+                    "key.kind" : "source.lang.swift.decl.var.instance",
+                    "key.length" : 34,
+                    "key.name" : "identifier",
+                    "key.namelength" : 10,
+                    "key.nameoffset" : 6653,
+                    "key.offset" : 6649,
+                    "key.parsed_declaration" : "let identifier : SectionIdentifier",
+                    "key.parsed_scope.end" : 210,
+                    "key.parsed_scope.start" : 210,
+                    "key.typename" : "SectionIdentifier",
+                    "key.typeusr" : "$sq_D",
+                    "key.usr" : "s:10ListableUI13SectionedDiffV14SectionChangesV5AddedV10identifierq_vp"
+                  },
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "let newIndex: Int<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> newIndex<\/decl.name>: Int<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                     "key.kind" : "source.lang.swift.decl.var.instance",
                     "key.length" : 18,
                     "key.name" : "newIndex",
                     "key.namelength" : 8,
-                    "key.nameoffset" : 6097,
-                    "key.offset" : 6093,
+                    "key.nameoffset" : 6713,
+                    "key.offset" : 6709,
                     "key.parsed_declaration" : "let newIndex : Int",
-                    "key.parsed_scope.end" : 194,
-                    "key.parsed_scope.start" : 194,
+                    "key.parsed_scope.end" : 212,
+                    "key.parsed_scope.start" : 212,
                     "key.typename" : "Int",
                     "key.typeusr" : "$sSiD",
                     "key.usr" : "s:10ListableUI13SectionedDiffV14SectionChangesV5AddedV8newIndexSivp"
@@ -15575,17 +15712,17 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "let newValue: Section<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> newValue<\/decl.name>: Section<\/ref.generic_type_param><\/decl.var.type><\/decl.var.instance>",
                     "key.kind" : "source.lang.swift.decl.var.instance",
                     "key.length" : 22,
                     "key.name" : "newValue",
                     "key.namelength" : 8,
-                    "key.nameoffset" : 6141,
-                    "key.offset" : 6137,
+                    "key.nameoffset" : 6757,
+                    "key.offset" : 6753,
                     "key.parsed_declaration" : "let newValue : Section",
-                    "key.parsed_scope.end" : 196,
-                    "key.parsed_scope.start" : 196,
+                    "key.parsed_scope.end" : 214,
+                    "key.parsed_scope.start" : 214,
                     "key.typename" : "Section",
                     "key.typeusr" : "$sxD",
                     "key.usr" : "s:10ListableUI13SectionedDiffV14SectionChangesV5AddedV8newValuexvp"
@@ -15598,34 +15735,52 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "struct SectionedDiff<\/Type><Section, SectionIdentifier, Item, ItemIdentifier>.SectionChanges<\/Type>.Removed<\/Declaration>",
-                "key.bodylength" : 88,
-                "key.bodyoffset" : 6211,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.bodylength" : 148,
+                "key.bodyoffset" : 6827,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> SectionedDiff<\/ref.struct><Section, SectionIdentifier, Item, ItemIdentifier>.SectionChanges<\/ref.struct>.Removed<\/decl.name><\/decl.struct>",
                 "key.kind" : "source.lang.swift.decl.struct",
-                "key.length" : 113,
+                "key.length" : 173,
                 "key.name" : "Removed",
                 "key.namelength" : 7,
-                "key.nameoffset" : 6194,
-                "key.offset" : 6187,
+                "key.nameoffset" : 6810,
+                "key.offset" : 6803,
                 "key.parsed_declaration" : "struct Removed",
-                "key.parsed_scope.end" : 204,
-                "key.parsed_scope.start" : 199,
+                "key.parsed_scope.end" : 224,
+                "key.parsed_scope.start" : 217,
                 "key.substructure" : [
+                  {
+                    "key.accessibility" : "source.lang.swift.accessibility.internal",
+                    "key.annotated_decl" : "let identifier: SectionIdentifier<\/Type><\/Declaration>",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> identifier<\/decl.name>: SectionIdentifier<\/ref.generic_type_param><\/decl.var.type><\/decl.var.instance>",
+                    "key.kind" : "source.lang.swift.decl.var.instance",
+                    "key.length" : 34,
+                    "key.name" : "identifier",
+                    "key.namelength" : 10,
+                    "key.nameoffset" : 6844,
+                    "key.offset" : 6840,
+                    "key.parsed_declaration" : "let identifier : SectionIdentifier",
+                    "key.parsed_scope.end" : 219,
+                    "key.parsed_scope.start" : 219,
+                    "key.typename" : "SectionIdentifier",
+                    "key.typeusr" : "$sq_D",
+                    "key.usr" : "s:10ListableUI13SectionedDiffV14SectionChangesV7RemovedV10identifierq_vp"
+                  },
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "let oldIndex: Int<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> oldIndex<\/decl.name>: Int<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                     "key.kind" : "source.lang.swift.decl.var.instance",
                     "key.length" : 18,
                     "key.name" : "oldIndex",
                     "key.namelength" : 8,
-                    "key.nameoffset" : 6228,
-                    "key.offset" : 6224,
+                    "key.nameoffset" : 6904,
+                    "key.offset" : 6900,
                     "key.parsed_declaration" : "let oldIndex : Int",
-                    "key.parsed_scope.end" : 201,
-                    "key.parsed_scope.start" : 201,
+                    "key.parsed_scope.end" : 221,
+                    "key.parsed_scope.start" : 221,
                     "key.typename" : "Int",
                     "key.typeusr" : "$sSiD",
                     "key.usr" : "s:10ListableUI13SectionedDiffV14SectionChangesV7RemovedV8oldIndexSivp"
@@ -15633,17 +15788,17 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "let oldValue: Section<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> oldValue<\/decl.name>: Section<\/ref.generic_type_param><\/decl.var.type><\/decl.var.instance>",
                     "key.kind" : "source.lang.swift.decl.var.instance",
                     "key.length" : 22,
                     "key.name" : "oldValue",
                     "key.namelength" : 8,
-                    "key.nameoffset" : 6272,
-                    "key.offset" : 6268,
+                    "key.nameoffset" : 6948,
+                    "key.offset" : 6944,
                     "key.parsed_declaration" : "let oldValue : Section",
-                    "key.parsed_scope.end" : 203,
-                    "key.parsed_scope.start" : 203,
+                    "key.parsed_scope.end" : 223,
+                    "key.parsed_scope.start" : 223,
                     "key.typename" : "Section",
                     "key.typeusr" : "$sxD",
                     "key.usr" : "s:10ListableUI13SectionedDiffV14SectionChangesV7RemovedV8oldValuexvp"
@@ -15656,34 +15811,52 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "struct SectionedDiff<\/Type><Section, SectionIdentifier, Item, ItemIdentifier>.SectionChanges<\/Type>.Moved<\/Declaration>",
-                "key.bodylength" : 209,
-                "key.bodyoffset" : 6340,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.bodylength" : 269,
+                "key.bodyoffset" : 7016,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> SectionedDiff<\/ref.struct><Section, SectionIdentifier, Item, ItemIdentifier>.SectionChanges<\/ref.struct>.Moved<\/decl.name><\/decl.struct>",
                 "key.kind" : "source.lang.swift.decl.struct",
-                "key.length" : 232,
+                "key.length" : 292,
                 "key.name" : "Moved",
                 "key.namelength" : 5,
-                "key.nameoffset" : 6325,
-                "key.offset" : 6318,
+                "key.nameoffset" : 7001,
+                "key.offset" : 6994,
                 "key.parsed_declaration" : "struct Moved",
-                "key.parsed_scope.end" : 215,
-                "key.parsed_scope.start" : 206,
+                "key.parsed_scope.end" : 237,
+                "key.parsed_scope.start" : 226,
                 "key.substructure" : [
+                  {
+                    "key.accessibility" : "source.lang.swift.accessibility.internal",
+                    "key.annotated_decl" : "let identifier: SectionIdentifier<\/Type><\/Declaration>",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> identifier<\/decl.name>: SectionIdentifier<\/ref.generic_type_param><\/decl.var.type><\/decl.var.instance>",
+                    "key.kind" : "source.lang.swift.decl.var.instance",
+                    "key.length" : 34,
+                    "key.name" : "identifier",
+                    "key.namelength" : 10,
+                    "key.nameoffset" : 7033,
+                    "key.offset" : 7029,
+                    "key.parsed_declaration" : "let identifier : SectionIdentifier",
+                    "key.parsed_scope.end" : 228,
+                    "key.parsed_scope.start" : 228,
+                    "key.typename" : "SectionIdentifier",
+                    "key.typeusr" : "$sq_D",
+                    "key.usr" : "s:10ListableUI13SectionedDiffV14SectionChangesV5MovedV10identifierq_vp"
+                  },
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "let oldIndex: Int<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> oldIndex<\/decl.name>: Int<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                     "key.kind" : "source.lang.swift.decl.var.instance",
                     "key.length" : 18,
                     "key.name" : "oldIndex",
                     "key.namelength" : 8,
-                    "key.nameoffset" : 6357,
-                    "key.offset" : 6353,
+                    "key.nameoffset" : 7093,
+                    "key.offset" : 7089,
                     "key.parsed_declaration" : "let oldIndex : Int",
-                    "key.parsed_scope.end" : 208,
-                    "key.parsed_scope.start" : 208,
+                    "key.parsed_scope.end" : 230,
+                    "key.parsed_scope.start" : 230,
                     "key.typename" : "Int",
                     "key.typeusr" : "$sSiD",
                     "key.usr" : "s:10ListableUI13SectionedDiffV14SectionChangesV5MovedV8oldIndexSivp"
@@ -15691,17 +15864,17 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "let newIndex: Int<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> newIndex<\/decl.name>: Int<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                     "key.kind" : "source.lang.swift.decl.var.instance",
                     "key.length" : 18,
                     "key.name" : "newIndex",
                     "key.namelength" : 8,
-                    "key.nameoffset" : 6388,
-                    "key.offset" : 6384,
+                    "key.nameoffset" : 7124,
+                    "key.offset" : 7120,
                     "key.parsed_declaration" : "let newIndex : Int",
-                    "key.parsed_scope.end" : 209,
-                    "key.parsed_scope.start" : 209,
+                    "key.parsed_scope.end" : 231,
+                    "key.parsed_scope.start" : 231,
                     "key.typename" : "Int",
                     "key.typeusr" : "$sSiD",
                     "key.usr" : "s:10ListableUI13SectionedDiffV14SectionChangesV5MovedV8newIndexSivp"
@@ -15709,17 +15882,17 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "let oldValue: Section<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> oldValue<\/decl.name>: Section<\/ref.generic_type_param><\/decl.var.type><\/decl.var.instance>",
                     "key.kind" : "source.lang.swift.decl.var.instance",
                     "key.length" : 22,
                     "key.name" : "oldValue",
                     "key.namelength" : 8,
-                    "key.nameoffset" : 6432,
-                    "key.offset" : 6428,
+                    "key.nameoffset" : 7168,
+                    "key.offset" : 7164,
                     "key.parsed_declaration" : "let oldValue : Section",
-                    "key.parsed_scope.end" : 211,
-                    "key.parsed_scope.start" : 211,
+                    "key.parsed_scope.end" : 233,
+                    "key.parsed_scope.start" : 233,
                     "key.typename" : "Section",
                     "key.typeusr" : "$sxD",
                     "key.usr" : "s:10ListableUI13SectionedDiffV14SectionChangesV5MovedV8oldValuexvp"
@@ -15727,17 +15900,17 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "let newValue: Section<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> newValue<\/decl.name>: Section<\/ref.generic_type_param><\/decl.var.type><\/decl.var.instance>",
                     "key.kind" : "source.lang.swift.decl.var.instance",
                     "key.length" : 22,
                     "key.name" : "newValue",
                     "key.namelength" : 8,
-                    "key.nameoffset" : 6467,
-                    "key.offset" : 6463,
+                    "key.nameoffset" : 7203,
+                    "key.offset" : 7199,
                     "key.parsed_declaration" : "let newValue : Section",
-                    "key.parsed_scope.end" : 212,
-                    "key.parsed_scope.start" : 212,
+                    "key.parsed_scope.end" : 234,
+                    "key.parsed_scope.start" : 234,
                     "key.typename" : "Section",
                     "key.typeusr" : "$sxD",
                     "key.usr" : "s:10ListableUI13SectionedDiffV14SectionChangesV5MovedV8newValuexvp"
@@ -15745,17 +15918,17 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "let itemChanges: ItemChanges<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> itemChanges<\/decl.name>: ItemChanges<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                     "key.kind" : "source.lang.swift.decl.var.instance",
                     "key.length" : 29,
                     "key.name" : "itemChanges",
                     "key.namelength" : 11,
-                    "key.nameoffset" : 6515,
-                    "key.offset" : 6511,
+                    "key.nameoffset" : 7251,
+                    "key.offset" : 7247,
                     "key.parsed_declaration" : "let itemChanges : ItemChanges",
-                    "key.parsed_scope.end" : 214,
-                    "key.parsed_scope.start" : 214,
+                    "key.parsed_scope.end" : 236,
+                    "key.parsed_scope.start" : 236,
                     "key.typename" : "SectionedDiff.ItemChanges",
                     "key.typeusr" : "$s10ListableUI13SectionedDiffV11ItemChangesVyxq_q0_q1__GD",
                     "key.usr" : "s:10ListableUI13SectionedDiffV14SectionChangesV5MovedV04itemF0AC04ItemF0Vyxq_q0_q1__Gvp"
@@ -15768,34 +15941,52 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "struct SectionedDiff<\/Type><Section, SectionIdentifier, Item, ItemIdentifier>.SectionChanges<\/Type>.NoChange<\/Declaration>",
-                "key.bodylength" : 209,
-                "key.bodyoffset" : 6593,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.bodylength" : 269,
+                "key.bodyoffset" : 7329,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> SectionedDiff<\/ref.struct><Section, SectionIdentifier, Item, ItemIdentifier>.SectionChanges<\/ref.struct>.NoChange<\/decl.name><\/decl.struct>",
                 "key.kind" : "source.lang.swift.decl.struct",
-                "key.length" : 235,
+                "key.length" : 295,
                 "key.name" : "NoChange",
                 "key.namelength" : 8,
-                "key.nameoffset" : 6575,
-                "key.offset" : 6568,
+                "key.nameoffset" : 7311,
+                "key.offset" : 7304,
                 "key.parsed_declaration" : "struct NoChange",
-                "key.parsed_scope.end" : 226,
-                "key.parsed_scope.start" : 217,
+                "key.parsed_scope.end" : 250,
+                "key.parsed_scope.start" : 239,
                 "key.substructure" : [
+                  {
+                    "key.accessibility" : "source.lang.swift.accessibility.internal",
+                    "key.annotated_decl" : "let identifier: SectionIdentifier<\/Type><\/Declaration>",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> identifier<\/decl.name>: SectionIdentifier<\/ref.generic_type_param><\/decl.var.type><\/decl.var.instance>",
+                    "key.kind" : "source.lang.swift.decl.var.instance",
+                    "key.length" : 34,
+                    "key.name" : "identifier",
+                    "key.namelength" : 10,
+                    "key.nameoffset" : 7346,
+                    "key.offset" : 7342,
+                    "key.parsed_declaration" : "let identifier : SectionIdentifier",
+                    "key.parsed_scope.end" : 241,
+                    "key.parsed_scope.start" : 241,
+                    "key.typename" : "SectionIdentifier",
+                    "key.typeusr" : "$sq_D",
+                    "key.usr" : "s:10ListableUI13SectionedDiffV14SectionChangesV8NoChangeV10identifierq_vp"
+                  },
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "let oldIndex: Int<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> oldIndex<\/decl.name>: Int<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                     "key.kind" : "source.lang.swift.decl.var.instance",
                     "key.length" : 18,
                     "key.name" : "oldIndex",
                     "key.namelength" : 8,
-                    "key.nameoffset" : 6610,
-                    "key.offset" : 6606,
+                    "key.nameoffset" : 7406,
+                    "key.offset" : 7402,
                     "key.parsed_declaration" : "let oldIndex : Int",
-                    "key.parsed_scope.end" : 219,
-                    "key.parsed_scope.start" : 219,
+                    "key.parsed_scope.end" : 243,
+                    "key.parsed_scope.start" : 243,
                     "key.typename" : "Int",
                     "key.typeusr" : "$sSiD",
                     "key.usr" : "s:10ListableUI13SectionedDiffV14SectionChangesV8NoChangeV8oldIndexSivp"
@@ -15803,17 +15994,17 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "let newIndex: Int<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> newIndex<\/decl.name>: Int<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                     "key.kind" : "source.lang.swift.decl.var.instance",
                     "key.length" : 18,
                     "key.name" : "newIndex",
                     "key.namelength" : 8,
-                    "key.nameoffset" : 6641,
-                    "key.offset" : 6637,
+                    "key.nameoffset" : 7437,
+                    "key.offset" : 7433,
                     "key.parsed_declaration" : "let newIndex : Int",
-                    "key.parsed_scope.end" : 220,
-                    "key.parsed_scope.start" : 220,
+                    "key.parsed_scope.end" : 244,
+                    "key.parsed_scope.start" : 244,
                     "key.typename" : "Int",
                     "key.typeusr" : "$sSiD",
                     "key.usr" : "s:10ListableUI13SectionedDiffV14SectionChangesV8NoChangeV8newIndexSivp"
@@ -15821,17 +16012,17 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "let oldValue: Section<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> oldValue<\/decl.name>: Section<\/ref.generic_type_param><\/decl.var.type><\/decl.var.instance>",
                     "key.kind" : "source.lang.swift.decl.var.instance",
                     "key.length" : 22,
                     "key.name" : "oldValue",
                     "key.namelength" : 8,
-                    "key.nameoffset" : 6685,
-                    "key.offset" : 6681,
+                    "key.nameoffset" : 7481,
+                    "key.offset" : 7477,
                     "key.parsed_declaration" : "let oldValue : Section",
-                    "key.parsed_scope.end" : 222,
-                    "key.parsed_scope.start" : 222,
+                    "key.parsed_scope.end" : 246,
+                    "key.parsed_scope.start" : 246,
                     "key.typename" : "Section",
                     "key.typeusr" : "$sxD",
                     "key.usr" : "s:10ListableUI13SectionedDiffV14SectionChangesV8NoChangeV8oldValuexvp"
@@ -15839,17 +16030,17 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "let newValue: Section<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> newValue<\/decl.name>: Section<\/ref.generic_type_param><\/decl.var.type><\/decl.var.instance>",
                     "key.kind" : "source.lang.swift.decl.var.instance",
                     "key.length" : 22,
                     "key.name" : "newValue",
                     "key.namelength" : 8,
-                    "key.nameoffset" : 6720,
-                    "key.offset" : 6716,
+                    "key.nameoffset" : 7516,
+                    "key.offset" : 7512,
                     "key.parsed_declaration" : "let newValue : Section",
-                    "key.parsed_scope.end" : 223,
-                    "key.parsed_scope.start" : 223,
+                    "key.parsed_scope.end" : 247,
+                    "key.parsed_scope.start" : 247,
                     "key.typename" : "Section",
                     "key.typeusr" : "$sxD",
                     "key.usr" : "s:10ListableUI13SectionedDiffV14SectionChangesV8NoChangeV8newValuexvp"
@@ -15857,17 +16048,17 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "let itemChanges: ItemChanges<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> itemChanges<\/decl.name>: ItemChanges<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                     "key.kind" : "source.lang.swift.decl.var.instance",
                     "key.length" : 29,
                     "key.name" : "itemChanges",
                     "key.namelength" : 11,
-                    "key.nameoffset" : 6768,
-                    "key.offset" : 6764,
+                    "key.nameoffset" : 7564,
+                    "key.offset" : 7560,
                     "key.parsed_declaration" : "let itemChanges : ItemChanges",
-                    "key.parsed_scope.end" : 225,
-                    "key.parsed_scope.start" : 225,
+                    "key.parsed_scope.end" : 249,
+                    "key.parsed_scope.start" : 249,
                     "key.typename" : "SectionedDiff.ItemChanges",
                     "key.typeusr" : "$s10ListableUI13SectionedDiffV11ItemChangesVyxq_q0_q1__GD",
                     "key.usr" : "s:10ListableUI13SectionedDiffV14SectionChangesV8NoChangeV04itemF0AC04ItemF0Vyxq_q0_q1__Gvp"
@@ -15885,34 +16076,34 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "struct SectionedDiff<\/Type><Section, SectionIdentifier, Item, ItemIdentifier>.ItemChanges<\/Declaration>",
-            "key.bodylength" : 3669,
-            "key.bodyoffset" : 6848,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+            "key.bodylength" : 4189,
+            "key.bodyoffset" : 7644,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
             "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> SectionedDiff<\/ref.struct><Section, SectionIdentifier, Item, ItemIdentifier>.ItemChanges<\/decl.name><\/decl.struct>",
             "key.kind" : "source.lang.swift.decl.struct",
-            "key.length" : 3694,
+            "key.length" : 4214,
             "key.name" : "ItemChanges",
             "key.namelength" : 11,
-            "key.nameoffset" : 6831,
-            "key.offset" : 6824,
+            "key.nameoffset" : 7627,
+            "key.offset" : 7620,
             "key.parsed_declaration" : "struct ItemChanges",
-            "key.parsed_scope.end" : 351,
-            "key.parsed_scope.start" : 230,
+            "key.parsed_scope.end" : 390,
+            "key.parsed_scope.start" : 254,
             "key.substructure" : [
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let added: [Added<\/Type>]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> added<\/decl.name>: [Added<\/ref.struct>]<\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 19,
                 "key.name" : "added",
                 "key.namelength" : 5,
-                "key.nameoffset" : 6861,
-                "key.offset" : 6857,
+                "key.nameoffset" : 7657,
+                "key.offset" : 7653,
                 "key.parsed_declaration" : "let added : [Added]",
-                "key.parsed_scope.end" : 232,
-                "key.parsed_scope.start" : 232,
+                "key.parsed_scope.end" : 256,
+                "key.parsed_scope.start" : 256,
                 "key.typename" : "[SectionedDiff.ItemChanges.Added]",
                 "key.typeusr" : "$sSay10ListableUI13SectionedDiffV11ItemChangesV5AddedVyxq_q0_q1___GGD",
                 "key.usr" : "s:10ListableUI13SectionedDiffV11ItemChangesV5addedSayAE5AddedVyxq_q0_q1___GGvp"
@@ -15920,17 +16111,17 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let removed: [Removed<\/Type>]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> removed<\/decl.name>: [Removed<\/ref.struct>]<\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 23,
                 "key.name" : "removed",
                 "key.namelength" : 7,
-                "key.nameoffset" : 6889,
-                "key.offset" : 6885,
+                "key.nameoffset" : 7685,
+                "key.offset" : 7681,
                 "key.parsed_declaration" : "let removed : [Removed]",
-                "key.parsed_scope.end" : 233,
-                "key.parsed_scope.start" : 233,
+                "key.parsed_scope.end" : 257,
+                "key.parsed_scope.start" : 257,
                 "key.typename" : "[SectionedDiff.ItemChanges.Removed]",
                 "key.typeusr" : "$sSay10ListableUI13SectionedDiffV11ItemChangesV7RemovedVyxq_q0_q1___GGD",
                 "key.usr" : "s:10ListableUI13SectionedDiffV11ItemChangesV7removedSayAE7RemovedVyxq_q0_q1___GGvp"
@@ -15938,17 +16129,17 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let moved: [Moved<\/Type>]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> moved<\/decl.name>: [Moved<\/ref.struct>]<\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 19,
                 "key.name" : "moved",
                 "key.namelength" : 5,
-                "key.nameoffset" : 6930,
-                "key.offset" : 6926,
+                "key.nameoffset" : 7726,
+                "key.offset" : 7722,
                 "key.parsed_declaration" : "let moved : [Moved]",
-                "key.parsed_scope.end" : 235,
-                "key.parsed_scope.start" : 235,
+                "key.parsed_scope.end" : 259,
+                "key.parsed_scope.start" : 259,
                 "key.typename" : "[SectionedDiff.ItemChanges.Moved]",
                 "key.typeusr" : "$sSay10ListableUI13SectionedDiffV11ItemChangesV5MovedVyxq_q0_q1___GGD",
                 "key.usr" : "s:10ListableUI13SectionedDiffV11ItemChangesV5movedSayAE5MovedVyxq_q0_q1___GGvp"
@@ -15956,17 +16147,17 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let updated: [Updated<\/Type>]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> updated<\/decl.name>: [Updated<\/ref.struct>]<\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 23,
                 "key.name" : "updated",
                 "key.namelength" : 7,
-                "key.nameoffset" : 6958,
-                "key.offset" : 6954,
+                "key.nameoffset" : 7754,
+                "key.offset" : 7750,
                 "key.parsed_declaration" : "let updated : [Updated]",
-                "key.parsed_scope.end" : 236,
-                "key.parsed_scope.start" : 236,
+                "key.parsed_scope.end" : 260,
+                "key.parsed_scope.start" : 260,
                 "key.typename" : "[SectionedDiff.ItemChanges.Updated]",
                 "key.typeusr" : "$sSay10ListableUI13SectionedDiffV11ItemChangesV7UpdatedVyxq_q0_q1___GGD",
                 "key.usr" : "s:10ListableUI13SectionedDiffV11ItemChangesV7updatedSayAE7UpdatedVyxq_q0_q1___GGvp"
@@ -15974,17 +16165,17 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let noChange: [NoChange<\/Type>]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> noChange<\/decl.name>: [NoChange<\/ref.struct>]<\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 25,
                 "key.name" : "noChange",
                 "key.namelength" : 8,
-                "key.nameoffset" : 6990,
-                "key.offset" : 6986,
+                "key.nameoffset" : 7786,
+                "key.offset" : 7782,
                 "key.parsed_declaration" : "let noChange : [NoChange]",
-                "key.parsed_scope.end" : 237,
-                "key.parsed_scope.start" : 237,
+                "key.parsed_scope.end" : 261,
+                "key.parsed_scope.start" : 261,
                 "key.typename" : "[SectionedDiff.ItemChanges.NoChange]",
                 "key.typeusr" : "$sSay10ListableUI13SectionedDiffV11ItemChangesV8NoChangeVyxq_q0_q1___GGD",
                 "key.usr" : "s:10ListableUI13SectionedDiffV11ItemChangesV8noChangeSayAE02NoH0Vyxq_q0_q1___GGvp"
@@ -15992,17 +16183,17 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let changeCount: Int<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> changeCount<\/decl.name>: Int<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 21,
                 "key.name" : "changeCount",
                 "key.namelength" : 11,
-                "key.nameoffset" : 7033,
-                "key.offset" : 7029,
+                "key.nameoffset" : 7829,
+                "key.offset" : 7825,
                 "key.parsed_declaration" : "let changeCount : Int",
-                "key.parsed_scope.end" : 239,
-                "key.parsed_scope.start" : 239,
+                "key.parsed_scope.end" : 263,
+                "key.parsed_scope.start" : 263,
                 "key.typename" : "Int",
                 "key.typeusr" : "$sSiD",
                 "key.usr" : "s:10ListableUI13SectionedDiffV11ItemChangesV11changeCountSivp"
@@ -16010,17 +16201,17 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let diff: ArrayDiff<\/Type><Item<\/Type>, ItemIdentifier<\/Type>><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> diff<\/decl.name>: ArrayDiff<\/ref.struct><Item<\/ref.generic_type_param>, ItemIdentifier<\/ref.generic_type_param>><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 42,
                 "key.name" : "diff",
                 "key.namelength" : 4,
-                "key.nameoffset" : 7072,
-                "key.offset" : 7068,
+                "key.nameoffset" : 7868,
+                "key.offset" : 7864,
                 "key.parsed_declaration" : "let diff : ArrayDiff",
-                "key.parsed_scope.end" : 241,
-                "key.parsed_scope.start" : 241,
+                "key.parsed_scope.end" : 265,
+                "key.parsed_scope.start" : 265,
                 "key.typename" : "ArrayDiff",
                 "key.typeusr" : "$s10ListableUI9ArrayDiffVyq0_q1_GD",
                 "key.usr" : "s:10ListableUI13SectionedDiffV11ItemChangesV4diffAA05ArrayD0Vyq0_q1_Gvp"
@@ -16029,18 +16220,18 @@
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "init(old: Section<\/Type>, oldIndex: Int<\/Type>, new: Section<\/Type>, newIndex: Int<\/Type>, configuration: Configuration<\/Type>)<\/Declaration>",
                 "key.bodylength" : 273,
-                "key.bodyoffset" : 7234,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.bodyoffset" : 8030,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(old<\/decl.var.parameter.argument_label>: Section<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, oldIndex<\/decl.var.parameter.argument_label>: Int<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, new<\/decl.var.parameter.argument_label>: Section<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, newIndex<\/decl.var.parameter.argument_label>: Int<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, configuration<\/decl.var.parameter.argument_label>: Configuration<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 380,
                 "key.name" : "init(old:oldIndex:new:newIndex:configuration:)",
                 "key.namelength" : 96,
-                "key.nameoffset" : 7128,
-                "key.offset" : 7128,
+                "key.nameoffset" : 7924,
+                "key.offset" : 7924,
                 "key.parsed_declaration" : "init(old : Section, oldIndex : Int, new : Section, newIndex : Int, configuration: Configuration)",
-                "key.parsed_scope.end" : 252,
-                "key.parsed_scope.start" : 243,
+                "key.parsed_scope.end" : 276,
+                "key.parsed_scope.start" : 267,
                 "key.related_decls" : [
                   {
                     "key.annotated_decl" : "init(old: [Item], oldIndex: Int, new: [Item], newIndex: Int, configuration: Configuration)<\/RelatedName>"
@@ -16056,19 +16247,19 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "init(old: [Item<\/Type>], oldIndex: Int<\/Type>, new: [Item<\/Type>], newIndex: Int<\/Type>, configuration: Configuration<\/Type>)<\/Declaration>",
-                "key.bodylength" : 2006,
-                "key.bodyoffset" : 7631,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.bodylength" : 2241,
+                "key.bodyoffset" : 8427,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(old<\/decl.var.parameter.argument_label>: [Item<\/ref.generic_type_param>]<\/decl.var.parameter.type><\/decl.var.parameter>, oldIndex<\/decl.var.parameter.argument_label>: Int<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, new<\/decl.var.parameter.argument_label>: [Item<\/ref.generic_type_param>]<\/decl.var.parameter.type><\/decl.var.parameter>, newIndex<\/decl.var.parameter.argument_label>: Int<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, configuration<\/decl.var.parameter.argument_label>: Configuration<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
-                "key.length" : 2112,
+                "key.length" : 2347,
                 "key.name" : "init(old:oldIndex:new:newIndex:configuration:)",
                 "key.namelength" : 95,
-                "key.nameoffset" : 7526,
-                "key.offset" : 7526,
+                "key.nameoffset" : 8322,
+                "key.offset" : 8322,
                 "key.parsed_declaration" : "init(old : [Item], oldIndex : Int, new : [Item], newIndex : Int, configuration : Configuration)",
-                "key.parsed_scope.end" : 309,
-                "key.parsed_scope.start" : 254,
+                "key.parsed_scope.end" : 338,
+                "key.parsed_scope.start" : 278,
                 "key.related_decls" : [
                   {
                     "key.annotated_decl" : "init(old: Section, oldIndex: Int, new: Section, newIndex: Int, configuration: Configuration)<\/RelatedName>"
@@ -16084,34 +16275,52 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "struct SectionedDiff<\/Type><Section, SectionIdentifier, Item, ItemIdentifier>.ItemChanges<\/Type>.Added<\/Declaration>",
-                "key.bodylength" : 91,
-                "key.bodyoffset" : 9678,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.bodylength" : 148,
+                "key.bodyoffset" : 10709,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> SectionedDiff<\/ref.struct><Section, SectionIdentifier, Item, ItemIdentifier>.ItemChanges<\/ref.struct>.Added<\/decl.name><\/decl.struct>",
                 "key.kind" : "source.lang.swift.decl.struct",
-                "key.length" : 114,
+                "key.length" : 171,
                 "key.name" : "Added",
                 "key.namelength" : 5,
-                "key.nameoffset" : 9663,
-                "key.offset" : 9656,
+                "key.nameoffset" : 10694,
+                "key.offset" : 10687,
                 "key.parsed_declaration" : "struct Added",
-                "key.parsed_scope.end" : 316,
-                "key.parsed_scope.start" : 311,
+                "key.parsed_scope.end" : 347,
+                "key.parsed_scope.start" : 340,
                 "key.substructure" : [
+                  {
+                    "key.accessibility" : "source.lang.swift.accessibility.internal",
+                    "key.annotated_decl" : "let identifier: ItemIdentifier<\/Type><\/Declaration>",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> identifier<\/decl.name>: ItemIdentifier<\/ref.generic_type_param><\/decl.var.type><\/decl.var.instance>",
+                    "key.kind" : "source.lang.swift.decl.var.instance",
+                    "key.length" : 31,
+                    "key.name" : "identifier",
+                    "key.namelength" : 10,
+                    "key.nameoffset" : 10726,
+                    "key.offset" : 10722,
+                    "key.parsed_declaration" : "let identifier : ItemIdentifier",
+                    "key.parsed_scope.end" : 342,
+                    "key.parsed_scope.start" : 342,
+                    "key.typename" : "ItemIdentifier",
+                    "key.typeusr" : "$sq1_D",
+                    "key.usr" : "s:10ListableUI13SectionedDiffV11ItemChangesV5AddedV10identifierq1_vp"
+                  },
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "let newIndex: IndexPath<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> newIndex<\/decl.name>: IndexPath<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                     "key.kind" : "source.lang.swift.decl.var.instance",
                     "key.length" : 24,
                     "key.name" : "newIndex",
                     "key.namelength" : 8,
-                    "key.nameoffset" : 9695,
-                    "key.offset" : 9691,
+                    "key.nameoffset" : 10783,
+                    "key.offset" : 10779,
                     "key.parsed_declaration" : "let newIndex : IndexPath",
-                    "key.parsed_scope.end" : 313,
-                    "key.parsed_scope.start" : 313,
+                    "key.parsed_scope.end" : 344,
+                    "key.parsed_scope.start" : 344,
                     "key.typename" : "IndexPath",
                     "key.typeusr" : "$s10Foundation9IndexPathVD",
                     "key.usr" : "s:10ListableUI13SectionedDiffV11ItemChangesV5AddedV8newIndex10Foundation0I4PathVvp"
@@ -16119,17 +16328,17 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "let newValue: Item<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> newValue<\/decl.name>: Item<\/ref.generic_type_param><\/decl.var.type><\/decl.var.instance>",
                     "key.kind" : "source.lang.swift.decl.var.instance",
                     "key.length" : 19,
                     "key.name" : "newValue",
                     "key.namelength" : 8,
-                    "key.nameoffset" : 9745,
-                    "key.offset" : 9741,
+                    "key.nameoffset" : 10833,
+                    "key.offset" : 10829,
                     "key.parsed_declaration" : "let newValue : Item",
-                    "key.parsed_scope.end" : 315,
-                    "key.parsed_scope.start" : 315,
+                    "key.parsed_scope.end" : 346,
+                    "key.parsed_scope.start" : 346,
                     "key.typename" : "Item",
                     "key.typeusr" : "$sq0_D",
                     "key.usr" : "s:10ListableUI13SectionedDiffV11ItemChangesV5AddedV8newValueq0_vp"
@@ -16142,34 +16351,52 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "struct SectionedDiff<\/Type><Section, SectionIdentifier, Item, ItemIdentifier>.ItemChanges<\/Type>.Removed<\/Declaration>",
-                "key.bodylength" : 91,
-                "key.bodyoffset" : 9812,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.bodylength" : 148,
+                "key.bodyoffset" : 10900,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> SectionedDiff<\/ref.struct><Section, SectionIdentifier, Item, ItemIdentifier>.ItemChanges<\/ref.struct>.Removed<\/decl.name><\/decl.struct>",
                 "key.kind" : "source.lang.swift.decl.struct",
-                "key.length" : 116,
+                "key.length" : 173,
                 "key.name" : "Removed",
                 "key.namelength" : 7,
-                "key.nameoffset" : 9795,
-                "key.offset" : 9788,
+                "key.nameoffset" : 10883,
+                "key.offset" : 10876,
                 "key.parsed_declaration" : "struct Removed",
-                "key.parsed_scope.end" : 323,
-                "key.parsed_scope.start" : 318,
+                "key.parsed_scope.end" : 356,
+                "key.parsed_scope.start" : 349,
                 "key.substructure" : [
+                  {
+                    "key.accessibility" : "source.lang.swift.accessibility.internal",
+                    "key.annotated_decl" : "let identifier: ItemIdentifier<\/Type><\/Declaration>",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> identifier<\/decl.name>: ItemIdentifier<\/ref.generic_type_param><\/decl.var.type><\/decl.var.instance>",
+                    "key.kind" : "source.lang.swift.decl.var.instance",
+                    "key.length" : 31,
+                    "key.name" : "identifier",
+                    "key.namelength" : 10,
+                    "key.nameoffset" : 10917,
+                    "key.offset" : 10913,
+                    "key.parsed_declaration" : "let identifier : ItemIdentifier",
+                    "key.parsed_scope.end" : 351,
+                    "key.parsed_scope.start" : 351,
+                    "key.typename" : "ItemIdentifier",
+                    "key.typeusr" : "$sq1_D",
+                    "key.usr" : "s:10ListableUI13SectionedDiffV11ItemChangesV7RemovedV10identifierq1_vp"
+                  },
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "let oldIndex: IndexPath<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> oldIndex<\/decl.name>: IndexPath<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                     "key.kind" : "source.lang.swift.decl.var.instance",
                     "key.length" : 24,
                     "key.name" : "oldIndex",
                     "key.namelength" : 8,
-                    "key.nameoffset" : 9829,
-                    "key.offset" : 9825,
+                    "key.nameoffset" : 10974,
+                    "key.offset" : 10970,
                     "key.parsed_declaration" : "let oldIndex : IndexPath",
-                    "key.parsed_scope.end" : 320,
-                    "key.parsed_scope.start" : 320,
+                    "key.parsed_scope.end" : 353,
+                    "key.parsed_scope.start" : 353,
                     "key.typename" : "IndexPath",
                     "key.typeusr" : "$s10Foundation9IndexPathVD",
                     "key.usr" : "s:10ListableUI13SectionedDiffV11ItemChangesV7RemovedV8oldIndex10Foundation0I4PathVvp"
@@ -16177,17 +16404,17 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "let oldValue: Item<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> oldValue<\/decl.name>: Item<\/ref.generic_type_param><\/decl.var.type><\/decl.var.instance>",
                     "key.kind" : "source.lang.swift.decl.var.instance",
                     "key.length" : 19,
                     "key.name" : "oldValue",
                     "key.namelength" : 8,
-                    "key.nameoffset" : 9879,
-                    "key.offset" : 9875,
+                    "key.nameoffset" : 11024,
+                    "key.offset" : 11020,
                     "key.parsed_declaration" : "let oldValue : Item",
-                    "key.parsed_scope.end" : 322,
-                    "key.parsed_scope.start" : 322,
+                    "key.parsed_scope.end" : 355,
+                    "key.parsed_scope.start" : 355,
                     "key.typename" : "Item",
                     "key.typeusr" : "$sq0_D",
                     "key.usr" : "s:10ListableUI13SectionedDiffV11ItemChangesV7RemovedV8oldValueq0_vp"
@@ -16200,34 +16427,52 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "struct SectionedDiff<\/Type><Section, SectionIdentifier, Item, ItemIdentifier>.ItemChanges<\/Type>.Moved<\/Declaration>",
-                "key.bodylength" : 160,
-                "key.bodyoffset" : 9944,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.bodylength" : 217,
+                "key.bodyoffset" : 11089,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> SectionedDiff<\/ref.struct><Section, SectionIdentifier, Item, ItemIdentifier>.ItemChanges<\/ref.struct>.Moved<\/decl.name><\/decl.struct>",
                 "key.kind" : "source.lang.swift.decl.struct",
-                "key.length" : 183,
+                "key.length" : 240,
                 "key.name" : "Moved",
                 "key.namelength" : 5,
-                "key.nameoffset" : 9929,
-                "key.offset" : 9922,
+                "key.nameoffset" : 11074,
+                "key.offset" : 11067,
                 "key.parsed_declaration" : "struct Moved",
-                "key.parsed_scope.end" : 332,
-                "key.parsed_scope.start" : 325,
+                "key.parsed_scope.end" : 367,
+                "key.parsed_scope.start" : 358,
                 "key.substructure" : [
+                  {
+                    "key.accessibility" : "source.lang.swift.accessibility.internal",
+                    "key.annotated_decl" : "let identifier: ItemIdentifier<\/Type><\/Declaration>",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> identifier<\/decl.name>: ItemIdentifier<\/ref.generic_type_param><\/decl.var.type><\/decl.var.instance>",
+                    "key.kind" : "source.lang.swift.decl.var.instance",
+                    "key.length" : 31,
+                    "key.name" : "identifier",
+                    "key.namelength" : 10,
+                    "key.nameoffset" : 11106,
+                    "key.offset" : 11102,
+                    "key.parsed_declaration" : "let identifier : ItemIdentifier",
+                    "key.parsed_scope.end" : 360,
+                    "key.parsed_scope.start" : 360,
+                    "key.typename" : "ItemIdentifier",
+                    "key.typeusr" : "$sq1_D",
+                    "key.usr" : "s:10ListableUI13SectionedDiffV11ItemChangesV5MovedV10identifierq1_vp"
+                  },
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "let oldIndex: IndexPath<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> oldIndex<\/decl.name>: IndexPath<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                     "key.kind" : "source.lang.swift.decl.var.instance",
                     "key.length" : 24,
                     "key.name" : "oldIndex",
                     "key.namelength" : 8,
-                    "key.nameoffset" : 9961,
-                    "key.offset" : 9957,
+                    "key.nameoffset" : 11163,
+                    "key.offset" : 11159,
                     "key.parsed_declaration" : "let oldIndex : IndexPath",
-                    "key.parsed_scope.end" : 327,
-                    "key.parsed_scope.start" : 327,
+                    "key.parsed_scope.end" : 362,
+                    "key.parsed_scope.start" : 362,
                     "key.typename" : "IndexPath",
                     "key.typeusr" : "$s10Foundation9IndexPathVD",
                     "key.usr" : "s:10ListableUI13SectionedDiffV11ItemChangesV5MovedV8oldIndex10Foundation0I4PathVvp"
@@ -16235,17 +16480,17 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "let newIndex: IndexPath<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> newIndex<\/decl.name>: IndexPath<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                     "key.kind" : "source.lang.swift.decl.var.instance",
                     "key.length" : 24,
                     "key.name" : "newIndex",
                     "key.namelength" : 8,
-                    "key.nameoffset" : 9998,
-                    "key.offset" : 9994,
+                    "key.nameoffset" : 11200,
+                    "key.offset" : 11196,
                     "key.parsed_declaration" : "let newIndex : IndexPath",
-                    "key.parsed_scope.end" : 328,
-                    "key.parsed_scope.start" : 328,
+                    "key.parsed_scope.end" : 363,
+                    "key.parsed_scope.start" : 363,
                     "key.typename" : "IndexPath",
                     "key.typeusr" : "$s10Foundation9IndexPathVD",
                     "key.usr" : "s:10ListableUI13SectionedDiffV11ItemChangesV5MovedV8newIndex10Foundation0I4PathVvp"
@@ -16253,17 +16498,17 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "var oldValue: Item<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                     "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> oldValue<\/decl.name>: Item<\/ref.generic_type_param><\/decl.var.type><\/decl.var.instance>",
                     "key.kind" : "source.lang.swift.decl.var.instance",
                     "key.length" : 19,
                     "key.name" : "oldValue",
                     "key.namelength" : 8,
-                    "key.nameoffset" : 10048,
-                    "key.offset" : 10044,
+                    "key.nameoffset" : 11250,
+                    "key.offset" : 11246,
                     "key.parsed_declaration" : "var oldValue : Item",
-                    "key.parsed_scope.end" : 330,
-                    "key.parsed_scope.start" : 330,
+                    "key.parsed_scope.end" : 365,
+                    "key.parsed_scope.start" : 365,
                     "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
                     "key.typename" : "Item",
                     "key.typeusr" : "$sq0_D",
@@ -16272,17 +16517,17 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "var newValue: Item<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                     "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> newValue<\/decl.name>: Item<\/ref.generic_type_param><\/decl.var.type><\/decl.var.instance>",
                     "key.kind" : "source.lang.swift.decl.var.instance",
                     "key.length" : 19,
                     "key.name" : "newValue",
                     "key.namelength" : 8,
-                    "key.nameoffset" : 10080,
-                    "key.offset" : 10076,
+                    "key.nameoffset" : 11282,
+                    "key.offset" : 11278,
                     "key.parsed_declaration" : "var newValue : Item",
-                    "key.parsed_scope.end" : 331,
-                    "key.parsed_scope.start" : 331,
+                    "key.parsed_scope.end" : 366,
+                    "key.parsed_scope.start" : 366,
                     "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
                     "key.typename" : "Item",
                     "key.typeusr" : "$sq0_D",
@@ -16296,34 +16541,52 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "struct SectionedDiff<\/Type><Section, SectionIdentifier, Item, ItemIdentifier>.ItemChanges<\/Type>.Updated<\/Declaration>",
-                "key.bodylength" : 160,
-                "key.bodyoffset" : 10147,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.bodylength" : 217,
+                "key.bodyoffset" : 11349,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> SectionedDiff<\/ref.struct><Section, SectionIdentifier, Item, ItemIdentifier>.ItemChanges<\/ref.struct>.Updated<\/decl.name><\/decl.struct>",
                 "key.kind" : "source.lang.swift.decl.struct",
-                "key.length" : 185,
+                "key.length" : 242,
                 "key.name" : "Updated",
                 "key.namelength" : 7,
-                "key.nameoffset" : 10130,
-                "key.offset" : 10123,
+                "key.nameoffset" : 11332,
+                "key.offset" : 11325,
                 "key.parsed_declaration" : "struct Updated",
-                "key.parsed_scope.end" : 341,
-                "key.parsed_scope.start" : 334,
+                "key.parsed_scope.end" : 378,
+                "key.parsed_scope.start" : 369,
                 "key.substructure" : [
+                  {
+                    "key.accessibility" : "source.lang.swift.accessibility.internal",
+                    "key.annotated_decl" : "let identifier: ItemIdentifier<\/Type><\/Declaration>",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> identifier<\/decl.name>: ItemIdentifier<\/ref.generic_type_param><\/decl.var.type><\/decl.var.instance>",
+                    "key.kind" : "source.lang.swift.decl.var.instance",
+                    "key.length" : 31,
+                    "key.name" : "identifier",
+                    "key.namelength" : 10,
+                    "key.nameoffset" : 11366,
+                    "key.offset" : 11362,
+                    "key.parsed_declaration" : "let identifier : ItemIdentifier",
+                    "key.parsed_scope.end" : 371,
+                    "key.parsed_scope.start" : 371,
+                    "key.typename" : "ItemIdentifier",
+                    "key.typeusr" : "$sq1_D",
+                    "key.usr" : "s:10ListableUI13SectionedDiffV11ItemChangesV7UpdatedV10identifierq1_vp"
+                  },
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "let oldIndex: IndexPath<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> oldIndex<\/decl.name>: IndexPath<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                     "key.kind" : "source.lang.swift.decl.var.instance",
                     "key.length" : 24,
                     "key.name" : "oldIndex",
                     "key.namelength" : 8,
-                    "key.nameoffset" : 10164,
-                    "key.offset" : 10160,
+                    "key.nameoffset" : 11423,
+                    "key.offset" : 11419,
                     "key.parsed_declaration" : "let oldIndex : IndexPath",
-                    "key.parsed_scope.end" : 336,
-                    "key.parsed_scope.start" : 336,
+                    "key.parsed_scope.end" : 373,
+                    "key.parsed_scope.start" : 373,
                     "key.typename" : "IndexPath",
                     "key.typeusr" : "$s10Foundation9IndexPathVD",
                     "key.usr" : "s:10ListableUI13SectionedDiffV11ItemChangesV7UpdatedV8oldIndex10Foundation0I4PathVvp"
@@ -16331,17 +16594,17 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "let newIndex: IndexPath<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> newIndex<\/decl.name>: IndexPath<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                     "key.kind" : "source.lang.swift.decl.var.instance",
                     "key.length" : 24,
                     "key.name" : "newIndex",
                     "key.namelength" : 8,
-                    "key.nameoffset" : 10201,
-                    "key.offset" : 10197,
+                    "key.nameoffset" : 11460,
+                    "key.offset" : 11456,
                     "key.parsed_declaration" : "let newIndex : IndexPath",
-                    "key.parsed_scope.end" : 337,
-                    "key.parsed_scope.start" : 337,
+                    "key.parsed_scope.end" : 374,
+                    "key.parsed_scope.start" : 374,
                     "key.typename" : "IndexPath",
                     "key.typeusr" : "$s10Foundation9IndexPathVD",
                     "key.usr" : "s:10ListableUI13SectionedDiffV11ItemChangesV7UpdatedV8newIndex10Foundation0I4PathVvp"
@@ -16349,17 +16612,17 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "let oldValue: Item<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> oldValue<\/decl.name>: Item<\/ref.generic_type_param><\/decl.var.type><\/decl.var.instance>",
                     "key.kind" : "source.lang.swift.decl.var.instance",
                     "key.length" : 19,
                     "key.name" : "oldValue",
                     "key.namelength" : 8,
-                    "key.nameoffset" : 10251,
-                    "key.offset" : 10247,
+                    "key.nameoffset" : 11510,
+                    "key.offset" : 11506,
                     "key.parsed_declaration" : "let oldValue : Item",
-                    "key.parsed_scope.end" : 339,
-                    "key.parsed_scope.start" : 339,
+                    "key.parsed_scope.end" : 376,
+                    "key.parsed_scope.start" : 376,
                     "key.typename" : "Item",
                     "key.typeusr" : "$sq0_D",
                     "key.usr" : "s:10ListableUI13SectionedDiffV11ItemChangesV7UpdatedV8oldValueq0_vp"
@@ -16367,17 +16630,17 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "let newValue: Item<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> newValue<\/decl.name>: Item<\/ref.generic_type_param><\/decl.var.type><\/decl.var.instance>",
                     "key.kind" : "source.lang.swift.decl.var.instance",
                     "key.length" : 19,
                     "key.name" : "newValue",
                     "key.namelength" : 8,
-                    "key.nameoffset" : 10283,
-                    "key.offset" : 10279,
+                    "key.nameoffset" : 11542,
+                    "key.offset" : 11538,
                     "key.parsed_declaration" : "let newValue : Item",
-                    "key.parsed_scope.end" : 340,
-                    "key.parsed_scope.start" : 340,
+                    "key.parsed_scope.end" : 377,
+                    "key.parsed_scope.start" : 377,
                     "key.typename" : "Item",
                     "key.typeusr" : "$sq0_D",
                     "key.usr" : "s:10ListableUI13SectionedDiffV11ItemChangesV7UpdatedV8newValueq0_vp"
@@ -16390,34 +16653,52 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "struct SectionedDiff<\/Type><Section, SectionIdentifier, Item, ItemIdentifier>.ItemChanges<\/Type>.NoChange<\/Declaration>",
-                "key.bodylength" : 160,
-                "key.bodyoffset" : 10351,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.bodylength" : 217,
+                "key.bodyoffset" : 11610,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> SectionedDiff<\/ref.struct><Section, SectionIdentifier, Item, ItemIdentifier>.ItemChanges<\/ref.struct>.NoChange<\/decl.name><\/decl.struct>",
                 "key.kind" : "source.lang.swift.decl.struct",
-                "key.length" : 186,
+                "key.length" : 243,
                 "key.name" : "NoChange",
                 "key.namelength" : 8,
-                "key.nameoffset" : 10333,
-                "key.offset" : 10326,
+                "key.nameoffset" : 11592,
+                "key.offset" : 11585,
                 "key.parsed_declaration" : "struct NoChange",
-                "key.parsed_scope.end" : 350,
-                "key.parsed_scope.start" : 343,
+                "key.parsed_scope.end" : 389,
+                "key.parsed_scope.start" : 380,
                 "key.substructure" : [
+                  {
+                    "key.accessibility" : "source.lang.swift.accessibility.internal",
+                    "key.annotated_decl" : "let identifier: ItemIdentifier<\/Type><\/Declaration>",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> identifier<\/decl.name>: ItemIdentifier<\/ref.generic_type_param><\/decl.var.type><\/decl.var.instance>",
+                    "key.kind" : "source.lang.swift.decl.var.instance",
+                    "key.length" : 31,
+                    "key.name" : "identifier",
+                    "key.namelength" : 10,
+                    "key.nameoffset" : 11627,
+                    "key.offset" : 11623,
+                    "key.parsed_declaration" : "let identifier : ItemIdentifier",
+                    "key.parsed_scope.end" : 382,
+                    "key.parsed_scope.start" : 382,
+                    "key.typename" : "ItemIdentifier",
+                    "key.typeusr" : "$sq1_D",
+                    "key.usr" : "s:10ListableUI13SectionedDiffV11ItemChangesV8NoChangeV10identifierq1_vp"
+                  },
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "let oldIndex: IndexPath<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> oldIndex<\/decl.name>: IndexPath<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                     "key.kind" : "source.lang.swift.decl.var.instance",
                     "key.length" : 24,
                     "key.name" : "oldIndex",
                     "key.namelength" : 8,
-                    "key.nameoffset" : 10368,
-                    "key.offset" : 10364,
+                    "key.nameoffset" : 11684,
+                    "key.offset" : 11680,
                     "key.parsed_declaration" : "let oldIndex : IndexPath",
-                    "key.parsed_scope.end" : 345,
-                    "key.parsed_scope.start" : 345,
+                    "key.parsed_scope.end" : 384,
+                    "key.parsed_scope.start" : 384,
                     "key.typename" : "IndexPath",
                     "key.typeusr" : "$s10Foundation9IndexPathVD",
                     "key.usr" : "s:10ListableUI13SectionedDiffV11ItemChangesV8NoChangeV8oldIndex10Foundation0J4PathVvp"
@@ -16425,17 +16706,17 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "let newIndex: IndexPath<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> newIndex<\/decl.name>: IndexPath<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                     "key.kind" : "source.lang.swift.decl.var.instance",
                     "key.length" : 24,
                     "key.name" : "newIndex",
                     "key.namelength" : 8,
-                    "key.nameoffset" : 10405,
-                    "key.offset" : 10401,
+                    "key.nameoffset" : 11721,
+                    "key.offset" : 11717,
                     "key.parsed_declaration" : "let newIndex : IndexPath",
-                    "key.parsed_scope.end" : 346,
-                    "key.parsed_scope.start" : 346,
+                    "key.parsed_scope.end" : 385,
+                    "key.parsed_scope.start" : 385,
                     "key.typename" : "IndexPath",
                     "key.typeusr" : "$s10Foundation9IndexPathVD",
                     "key.usr" : "s:10ListableUI13SectionedDiffV11ItemChangesV8NoChangeV8newIndex10Foundation0J4PathVvp"
@@ -16443,17 +16724,17 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "let oldValue: Item<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> oldValue<\/decl.name>: Item<\/ref.generic_type_param><\/decl.var.type><\/decl.var.instance>",
                     "key.kind" : "source.lang.swift.decl.var.instance",
                     "key.length" : 19,
                     "key.name" : "oldValue",
                     "key.namelength" : 8,
-                    "key.nameoffset" : 10455,
-                    "key.offset" : 10451,
+                    "key.nameoffset" : 11771,
+                    "key.offset" : 11767,
                     "key.parsed_declaration" : "let oldValue : Item",
-                    "key.parsed_scope.end" : 348,
-                    "key.parsed_scope.start" : 348,
+                    "key.parsed_scope.end" : 387,
+                    "key.parsed_scope.start" : 387,
                     "key.typename" : "Item",
                     "key.typeusr" : "$sq0_D",
                     "key.usr" : "s:10ListableUI13SectionedDiffV11ItemChangesV8NoChangeV8oldValueq0_vp"
@@ -16461,17 +16742,17 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "let newValue: Item<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> newValue<\/decl.name>: Item<\/ref.generic_type_param><\/decl.var.type><\/decl.var.instance>",
                     "key.kind" : "source.lang.swift.decl.var.instance",
                     "key.length" : 19,
                     "key.name" : "newValue",
                     "key.namelength" : 8,
-                    "key.nameoffset" : 10487,
-                    "key.offset" : 10483,
+                    "key.nameoffset" : 11803,
+                    "key.offset" : 11799,
                     "key.parsed_declaration" : "let newValue : Item",
-                    "key.parsed_scope.end" : 349,
-                    "key.parsed_scope.start" : 349,
+                    "key.parsed_scope.end" : 388,
+                    "key.parsed_scope.start" : 388,
                     "key.typename" : "Item",
                     "key.typeusr" : "$sq0_D",
                     "key.usr" : "s:10ListableUI13SectionedDiffV11ItemChangesV8NoChangeV8newValueq0_vp"
@@ -16494,15 +16775,15 @@
       {
         "key.annotated_decl" : "struct SectionedDiff<\/Type><Section, SectionIdentifier, Item, ItemIdentifier>.SectionChanges<\/Type>.Added<\/Declaration>",
         "key.bodylength" : 0,
-        "key.bodyoffset" : 10605,
+        "key.bodyoffset" : 11936,
         "key.elements" : [
           {
             "key.kind" : "source.lang.swift.structure.elem.typeref",
             "key.length" : 9,
-            "key.offset" : 10570
+            "key.offset" : 11885
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
         "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> SectionedDiff<\/ref.struct><Section, SectionIdentifier, Item, ItemIdentifier>.SectionChanges<\/ref.struct>.Added<\/decl.name><\/decl.struct>",
         "key.inheritedtypes" : [
           {
@@ -16510,14 +16791,14 @@
           }
         ],
         "key.kind" : "source.lang.swift.decl.extension",
-        "key.length" : 83,
+        "key.length" : 99,
         "key.name" : "SectionedDiff.SectionChanges.Added",
         "key.namelength" : 34,
-        "key.nameoffset" : 10533,
-        "key.offset" : 10523,
-        "key.parsed_declaration" : "extension SectionedDiff.SectionChanges.Added : Equatable where Section:Equatable",
-        "key.parsed_scope.end" : 355,
-        "key.parsed_scope.start" : 355,
+        "key.nameoffset" : 11848,
+        "key.offset" : 11838,
+        "key.parsed_declaration" : "extension SectionedDiff.SectionChanges.Added : Equatable where Section:Equatable, Item:Equatable",
+        "key.parsed_scope.end" : 393,
+        "key.parsed_scope.start" : 393,
         "key.typename" : "SectionedDiff.SectionChanges.Added.Type",
         "key.typeusr" : "$s10ListableUI13SectionedDiffV14SectionChangesV5AddedVyxq_q0_q1___GmD",
         "key.usr" : "s:10ListableUI13SectionedDiffV14SectionChangesV5AddedV"
@@ -16525,15 +16806,15 @@
       {
         "key.annotated_decl" : "struct SectionedDiff<\/Type><Section, SectionIdentifier, Item, ItemIdentifier>.SectionChanges<\/Type>.Removed<\/Declaration>",
         "key.bodylength" : 0,
-        "key.bodyoffset" : 10691,
+        "key.bodyoffset" : 12038,
         "key.elements" : [
           {
             "key.kind" : "source.lang.swift.structure.elem.typeref",
             "key.length" : 9,
-            "key.offset" : 10656
+            "key.offset" : 11987
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
         "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> SectionedDiff<\/ref.struct><Section, SectionIdentifier, Item, ItemIdentifier>.SectionChanges<\/ref.struct>.Removed<\/decl.name><\/decl.struct>",
         "key.inheritedtypes" : [
           {
@@ -16541,14 +16822,14 @@
           }
         ],
         "key.kind" : "source.lang.swift.decl.extension",
-        "key.length" : 85,
+        "key.length" : 101,
         "key.name" : "SectionedDiff.SectionChanges.Removed",
         "key.namelength" : 36,
-        "key.nameoffset" : 10617,
-        "key.offset" : 10607,
-        "key.parsed_declaration" : "extension SectionedDiff.SectionChanges.Removed : Equatable where Section:Equatable",
-        "key.parsed_scope.end" : 356,
-        "key.parsed_scope.start" : 356,
+        "key.nameoffset" : 11948,
+        "key.offset" : 11938,
+        "key.parsed_declaration" : "extension SectionedDiff.SectionChanges.Removed : Equatable where Section:Equatable, Item:Equatable",
+        "key.parsed_scope.end" : 394,
+        "key.parsed_scope.start" : 394,
         "key.typename" : "SectionedDiff.SectionChanges.Removed.Type",
         "key.typeusr" : "$s10ListableUI13SectionedDiffV14SectionChangesV7RemovedVyxq_q0_q1___GmD",
         "key.usr" : "s:10ListableUI13SectionedDiffV14SectionChangesV7RemovedV"
@@ -16556,15 +16837,15 @@
       {
         "key.annotated_decl" : "struct SectionedDiff<\/Type><Section, SectionIdentifier, Item, ItemIdentifier>.SectionChanges<\/Type>.Moved<\/Declaration>",
         "key.bodylength" : 0,
-        "key.bodyoffset" : 10791,
+        "key.bodyoffset" : 12138,
         "key.elements" : [
           {
             "key.kind" : "source.lang.swift.structure.elem.typeref",
             "key.length" : 9,
-            "key.offset" : 10740
+            "key.offset" : 12087
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
         "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> SectionedDiff<\/ref.struct><Section, SectionIdentifier, Item, ItemIdentifier>.SectionChanges<\/ref.struct>.Moved<\/decl.name><\/decl.struct>",
         "key.inheritedtypes" : [
           {
@@ -16575,11 +16856,11 @@
         "key.length" : 99,
         "key.name" : "SectionedDiff.SectionChanges.Moved",
         "key.namelength" : 34,
-        "key.nameoffset" : 10703,
-        "key.offset" : 10693,
+        "key.nameoffset" : 12050,
+        "key.offset" : 12040,
         "key.parsed_declaration" : "extension SectionedDiff.SectionChanges.Moved : Equatable where Section:Equatable, Item:Equatable",
-        "key.parsed_scope.end" : 357,
-        "key.parsed_scope.start" : 357,
+        "key.parsed_scope.end" : 395,
+        "key.parsed_scope.start" : 395,
         "key.typename" : "SectionedDiff.SectionChanges.Moved.Type",
         "key.typeusr" : "$s10ListableUI13SectionedDiffV14SectionChangesV5MovedVyxq_q0_q1___GmD",
         "key.usr" : "s:10ListableUI13SectionedDiffV14SectionChangesV5MovedV"
@@ -16587,15 +16868,15 @@
       {
         "key.annotated_decl" : "struct SectionedDiff<\/Type><Section, SectionIdentifier, Item, ItemIdentifier>.SectionChanges<\/Type>.NoChange<\/Declaration>",
         "key.bodylength" : 0,
-        "key.bodyoffset" : 10894,
+        "key.bodyoffset" : 12241,
         "key.elements" : [
           {
             "key.kind" : "source.lang.swift.structure.elem.typeref",
             "key.length" : 9,
-            "key.offset" : 10843
+            "key.offset" : 12190
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
         "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> SectionedDiff<\/ref.struct><Section, SectionIdentifier, Item, ItemIdentifier>.SectionChanges<\/ref.struct>.NoChange<\/decl.name><\/decl.struct>",
         "key.inheritedtypes" : [
           {
@@ -16606,11 +16887,11 @@
         "key.length" : 102,
         "key.name" : "SectionedDiff.SectionChanges.NoChange",
         "key.namelength" : 37,
-        "key.nameoffset" : 10803,
-        "key.offset" : 10793,
+        "key.nameoffset" : 12150,
+        "key.offset" : 12140,
         "key.parsed_declaration" : "extension SectionedDiff.SectionChanges.NoChange : Equatable where Section:Equatable, Item:Equatable",
-        "key.parsed_scope.end" : 358,
-        "key.parsed_scope.start" : 358,
+        "key.parsed_scope.end" : 396,
+        "key.parsed_scope.start" : 396,
         "key.typename" : "SectionedDiff.SectionChanges.NoChange.Type",
         "key.typeusr" : "$s10ListableUI13SectionedDiffV14SectionChangesV8NoChangeVyxq_q0_q1___GmD",
         "key.usr" : "s:10ListableUI13SectionedDiffV14SectionChangesV8NoChangeV"
@@ -16618,15 +16899,15 @@
       {
         "key.annotated_decl" : "struct SectionedDiff<\/Type><Section, SectionIdentifier, Item, ItemIdentifier>.ItemChanges<\/Declaration>",
         "key.bodylength" : 0,
-        "key.bodyoffset" : 10967,
+        "key.bodyoffset" : 12314,
         "key.elements" : [
           {
             "key.kind" : "source.lang.swift.structure.elem.typeref",
             "key.length" : 9,
-            "key.offset" : 10935
+            "key.offset" : 12282
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
         "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> SectionedDiff<\/ref.struct><Section, SectionIdentifier, Item, ItemIdentifier>.ItemChanges<\/decl.name><\/decl.struct>",
         "key.inheritedtypes" : [
           {
@@ -16637,11 +16918,11 @@
         "key.length" : 71,
         "key.name" : "SectionedDiff.ItemChanges",
         "key.namelength" : 25,
-        "key.nameoffset" : 10907,
-        "key.offset" : 10897,
+        "key.nameoffset" : 12254,
+        "key.offset" : 12244,
         "key.parsed_declaration" : "extension SectionedDiff.ItemChanges : Equatable where Item:Equatable",
-        "key.parsed_scope.end" : 360,
-        "key.parsed_scope.start" : 360,
+        "key.parsed_scope.end" : 398,
+        "key.parsed_scope.start" : 398,
         "key.typename" : "SectionedDiff.ItemChanges.Type",
         "key.typeusr" : "$s10ListableUI13SectionedDiffV11ItemChangesVyxq_q0_q1__GmD",
         "key.usr" : "s:10ListableUI13SectionedDiffV11ItemChangesV"
@@ -16649,15 +16930,15 @@
       {
         "key.annotated_decl" : "struct SectionedDiff<\/Type><Section, SectionIdentifier, Item, ItemIdentifier>.ItemChanges<\/Type>.Added<\/Declaration>",
         "key.bodylength" : 0,
-        "key.bodyoffset" : 11046,
+        "key.bodyoffset" : 12393,
         "key.elements" : [
           {
             "key.kind" : "source.lang.swift.structure.elem.typeref",
             "key.length" : 9,
-            "key.offset" : 11014
+            "key.offset" : 12361
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
         "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> SectionedDiff<\/ref.struct><Section, SectionIdentifier, Item, ItemIdentifier>.ItemChanges<\/ref.struct>.Added<\/decl.name><\/decl.struct>",
         "key.inheritedtypes" : [
           {
@@ -16668,11 +16949,11 @@
         "key.length" : 77,
         "key.name" : "SectionedDiff.ItemChanges.Added",
         "key.namelength" : 31,
-        "key.nameoffset" : 10980,
-        "key.offset" : 10970,
+        "key.nameoffset" : 12327,
+        "key.offset" : 12317,
         "key.parsed_declaration" : "extension SectionedDiff.ItemChanges.Added : Equatable where Item:Equatable",
-        "key.parsed_scope.end" : 362,
-        "key.parsed_scope.start" : 362,
+        "key.parsed_scope.end" : 400,
+        "key.parsed_scope.start" : 400,
         "key.typename" : "SectionedDiff.ItemChanges.Added.Type",
         "key.typeusr" : "$s10ListableUI13SectionedDiffV11ItemChangesV5AddedVyxq_q0_q1___GmD",
         "key.usr" : "s:10ListableUI13SectionedDiffV11ItemChangesV5AddedV"
@@ -16680,15 +16961,15 @@
       {
         "key.annotated_decl" : "struct SectionedDiff<\/Type><Section, SectionIdentifier, Item, ItemIdentifier>.ItemChanges<\/Type>.Removed<\/Declaration>",
         "key.bodylength" : 0,
-        "key.bodyoffset" : 11126,
+        "key.bodyoffset" : 12473,
         "key.elements" : [
           {
             "key.kind" : "source.lang.swift.structure.elem.typeref",
             "key.length" : 9,
-            "key.offset" : 11094
+            "key.offset" : 12441
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
         "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> SectionedDiff<\/ref.struct><Section, SectionIdentifier, Item, ItemIdentifier>.ItemChanges<\/ref.struct>.Removed<\/decl.name><\/decl.struct>",
         "key.inheritedtypes" : [
           {
@@ -16699,11 +16980,11 @@
         "key.length" : 79,
         "key.name" : "SectionedDiff.ItemChanges.Removed",
         "key.namelength" : 33,
-        "key.nameoffset" : 11058,
-        "key.offset" : 11048,
+        "key.nameoffset" : 12405,
+        "key.offset" : 12395,
         "key.parsed_declaration" : "extension SectionedDiff.ItemChanges.Removed : Equatable where Item:Equatable",
-        "key.parsed_scope.end" : 363,
-        "key.parsed_scope.start" : 363,
+        "key.parsed_scope.end" : 401,
+        "key.parsed_scope.start" : 401,
         "key.typename" : "SectionedDiff.ItemChanges.Removed.Type",
         "key.typeusr" : "$s10ListableUI13SectionedDiffV11ItemChangesV7RemovedVyxq_q0_q1___GmD",
         "key.usr" : "s:10ListableUI13SectionedDiffV11ItemChangesV7RemovedV"
@@ -16711,15 +16992,15 @@
       {
         "key.annotated_decl" : "struct SectionedDiff<\/Type><Section, SectionIdentifier, Item, ItemIdentifier>.ItemChanges<\/Type>.Moved<\/Declaration>",
         "key.bodylength" : 0,
-        "key.bodyoffset" : 11204,
+        "key.bodyoffset" : 12551,
         "key.elements" : [
           {
             "key.kind" : "source.lang.swift.structure.elem.typeref",
             "key.length" : 9,
-            "key.offset" : 11172
+            "key.offset" : 12519
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
         "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> SectionedDiff<\/ref.struct><Section, SectionIdentifier, Item, ItemIdentifier>.ItemChanges<\/ref.struct>.Moved<\/decl.name><\/decl.struct>",
         "key.inheritedtypes" : [
           {
@@ -16730,11 +17011,11 @@
         "key.length" : 77,
         "key.name" : "SectionedDiff.ItemChanges.Moved",
         "key.namelength" : 31,
-        "key.nameoffset" : 11138,
-        "key.offset" : 11128,
+        "key.nameoffset" : 12485,
+        "key.offset" : 12475,
         "key.parsed_declaration" : "extension SectionedDiff.ItemChanges.Moved : Equatable where Item:Equatable",
-        "key.parsed_scope.end" : 364,
-        "key.parsed_scope.start" : 364,
+        "key.parsed_scope.end" : 402,
+        "key.parsed_scope.start" : 402,
         "key.typename" : "SectionedDiff.ItemChanges.Moved.Type",
         "key.typeusr" : "$s10ListableUI13SectionedDiffV11ItemChangesV5MovedVyxq_q0_q1___GmD",
         "key.usr" : "s:10ListableUI13SectionedDiffV11ItemChangesV5MovedV"
@@ -16742,15 +17023,15 @@
       {
         "key.annotated_decl" : "struct SectionedDiff<\/Type><Section, SectionIdentifier, Item, ItemIdentifier>.ItemChanges<\/Type>.Updated<\/Declaration>",
         "key.bodylength" : 0,
-        "key.bodyoffset" : 11284,
+        "key.bodyoffset" : 12631,
         "key.elements" : [
           {
             "key.kind" : "source.lang.swift.structure.elem.typeref",
             "key.length" : 9,
-            "key.offset" : 11252
+            "key.offset" : 12599
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
         "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> SectionedDiff<\/ref.struct><Section, SectionIdentifier, Item, ItemIdentifier>.ItemChanges<\/ref.struct>.Updated<\/decl.name><\/decl.struct>",
         "key.inheritedtypes" : [
           {
@@ -16761,11 +17042,11 @@
         "key.length" : 79,
         "key.name" : "SectionedDiff.ItemChanges.Updated",
         "key.namelength" : 33,
-        "key.nameoffset" : 11216,
-        "key.offset" : 11206,
+        "key.nameoffset" : 12563,
+        "key.offset" : 12553,
         "key.parsed_declaration" : "extension SectionedDiff.ItemChanges.Updated : Equatable where Item:Equatable",
-        "key.parsed_scope.end" : 365,
-        "key.parsed_scope.start" : 365,
+        "key.parsed_scope.end" : 403,
+        "key.parsed_scope.start" : 403,
         "key.typename" : "SectionedDiff.ItemChanges.Updated.Type",
         "key.typeusr" : "$s10ListableUI13SectionedDiffV11ItemChangesV7UpdatedVyxq_q0_q1___GmD",
         "key.usr" : "s:10ListableUI13SectionedDiffV11ItemChangesV7UpdatedV"
@@ -16773,15 +17054,15 @@
       {
         "key.annotated_decl" : "struct SectionedDiff<\/Type><Section, SectionIdentifier, Item, ItemIdentifier>.ItemChanges<\/Type>.NoChange<\/Declaration>",
         "key.bodylength" : 0,
-        "key.bodyoffset" : 11365,
+        "key.bodyoffset" : 12712,
         "key.elements" : [
           {
             "key.kind" : "source.lang.swift.structure.elem.typeref",
             "key.length" : 9,
-            "key.offset" : 11333
+            "key.offset" : 12680
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
         "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> SectionedDiff<\/ref.struct><Section, SectionIdentifier, Item, ItemIdentifier>.ItemChanges<\/ref.struct>.NoChange<\/decl.name><\/decl.struct>",
         "key.inheritedtypes" : [
           {
@@ -16792,11 +17073,11 @@
         "key.length" : 80,
         "key.name" : "SectionedDiff.ItemChanges.NoChange",
         "key.namelength" : 34,
-        "key.nameoffset" : 11296,
-        "key.offset" : 11286,
+        "key.nameoffset" : 12643,
+        "key.offset" : 12633,
         "key.parsed_declaration" : "extension SectionedDiff.ItemChanges.NoChange : Equatable where Item:Equatable",
-        "key.parsed_scope.end" : 366,
-        "key.parsed_scope.start" : 366,
+        "key.parsed_scope.end" : 404,
+        "key.parsed_scope.start" : 404,
         "key.typename" : "SectionedDiff.ItemChanges.NoChange.Type",
         "key.typeusr" : "$s10ListableUI13SectionedDiffV11ItemChangesV8NoChangeVyxq_q0_q1___GmD",
         "key.usr" : "s:10ListableUI13SectionedDiffV11ItemChangesV8NoChangeV"
@@ -16804,99 +17085,99 @@
       {
         "key.annotated_decl" : "struct SectionedDiff<\/Type><Section, SectionIdentifier, Item, ItemIdentifier>.SectionChanges<\/Declaration>",
         "key.bodylength" : 2564,
-        "key.bodyoffset" : 11409,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+        "key.bodyoffset" : 12756,
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
         "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> SectionedDiff<\/ref.struct><Section, SectionIdentifier, Item, ItemIdentifier>.SectionChanges<\/decl.name><\/decl.struct>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 2605,
         "key.name" : "SectionedDiff.SectionChanges",
         "key.namelength" : 28,
-        "key.nameoffset" : 11379,
-        "key.offset" : 11369,
+        "key.nameoffset" : 12726,
+        "key.offset" : 12716,
         "key.parsed_declaration" : "extension SectionedDiff.SectionChanges",
-        "key.parsed_scope.end" : 455,
-        "key.parsed_scope.start" : 369,
+        "key.parsed_scope.end" : 493,
+        "key.parsed_scope.start" : 407,
         "key.substructure" : [
           {
             "key.annotated_decl" : "func transform<Mapped>(old: [Mapped<\/Type>], removed: (Section<\/Type>, Mapped<\/Type>) -> (), added: (Section<\/Type>) -> Mapped<\/Type>, moved: (Section<\/Type>, Section<\/Type>, SectionedDiff<\/Type>.ItemChanges<\/Type>, inout Mapped<\/Type>) -> (), noChange: (Section<\/Type>, Section<\/Type>, SectionedDiff<\/Type>.ItemChanges<\/Type>, inout Mapped<\/Type>) -> ()) -> [Mapped<\/Type>]<\/Declaration>",
             "key.bodylength" : 1191,
-            "key.bodyoffset" : 11737,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+            "key.bodyoffset" : 13084,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> transform<\/decl.name><Mapped<\/decl.generic_type_param.name><\/decl.generic_type_param>>(old<\/decl.var.parameter.argument_label>: [Mapped<\/ref.generic_type_param>]<\/decl.var.parameter.type><\/decl.var.parameter>, removed<\/decl.var.parameter.argument_label>: (Section<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, Mapped<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>, added<\/decl.var.parameter.argument_label>: (Section<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> Mapped<\/ref.generic_type_param><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>, moved<\/decl.var.parameter.argument_label>: (Section<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, Section<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, SectionedDiff<\/ref.struct>.ItemChanges<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, inout<\/syntaxtype.keyword> Mapped<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>, noChange<\/decl.var.parameter.argument_label>: (Section<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, Section<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, SectionedDiff<\/ref.struct>.ItemChanges<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, inout<\/syntaxtype.keyword> Mapped<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>) -> [Mapped<\/ref.generic_type_param>]<\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 1515,
             "key.name" : "transform(old:removed:added:moved:noChange:)",
             "key.namelength" : 300,
-            "key.nameoffset" : 11419,
-            "key.offset" : 11414,
+            "key.nameoffset" : 12766,
+            "key.offset" : 12761,
             "key.parsed_declaration" : "func transform(\n    old : [Mapped],\n    removed : (Section, Mapped) -> (),\n    added : (Section) -> Mapped,\n    moved : (Section, Section, SectionedDiff.ItemChanges, inout Mapped) -> (),\n    noChange : (Section, Section, SectionedDiff.ItemChanges, inout Mapped) -> ()\n    ) -> [Mapped]",
-            "key.parsed_scope.end" : 414,
-            "key.parsed_scope.start" : 371,
+            "key.parsed_scope.end" : 452,
+            "key.parsed_scope.start" : 409,
             "key.substructure" : [
               {
                 "key.annotated_decl" : "Mapped<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "Mapped<\/decl.generic_type_param.name><\/decl.generic_type_param>",
                 "key.kind" : "source.lang.swift.decl.generic_type_param",
                 "key.length" : 6,
                 "key.name" : "Mapped",
                 "key.namelength" : 6,
-                "key.nameoffset" : 11429,
-                "key.offset" : 11429,
+                "key.nameoffset" : 12776,
+                "key.offset" : 12776,
                 "key.parsed_declaration" : "func transformlet removes: [Removal<\/Type><Mapped<\/Type>>]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> removes<\/decl.name>: [Removal<\/ref.enum><Mapped<\/ref.generic_type_param>>]<\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 275,
                 "key.name" : "removes",
                 "key.namelength" : 7,
-                "key.nameoffset" : 11750,
-                "key.offset" : 11746,
+                "key.nameoffset" : 13097,
+                "key.offset" : 13093,
                 "key.parsed_declaration" : "let removes : [Removal] = (self.removed.map({\n    removed($0.oldValue, old[$0.oldIndex])\n    return .remove(old[$0.oldIndex], $0)\n}) + self.moved.map({\n    .move(old[$0.oldIndex], $0)\n})).sorted(by: {$0.oldIndex > $1.oldIndex})",
-                "key.parsed_scope.end" : 379,
-                "key.parsed_scope.start" : 379,
+                "key.parsed_scope.end" : 417,
+                "key.parsed_scope.start" : 417,
                 "key.typename" : "[SectionedDiff.SectionChanges.Removal]",
                 "key.typeusr" : "$sSay10ListableUI13SectionedDiffV14SectionChangesV7Removal33_459A16665E334F63AE247A06F35B0E51LLOyxq_q0_q1___qd__GGD",
                 "key.usr" : "s:10ListableUI13SectionedDiffV14SectionChangesV9transform3old7removed5added5moved8noChangeSayqd__GAL_yx_qd__tXEqd__xXEyx_xAC04ItemF0Vyxq_q0_q1__Gqd__ztXEyx_xAOqd__ztXEtlF7removesL_SayAE7Removal33_459A16665E334F63AE247A06F35B0E51LLOyxq_q0_q1___qd__GGvp"
               },
               {
                 "key.annotated_decl" : "let inserts: [Insertion<\/Type><Mapped<\/Type>>]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> inserts<\/decl.name>: [Insertion<\/ref.enum><Mapped<\/ref.generic_type_param>>]<\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 358,
                 "key.name" : "inserts",
                 "key.namelength" : 7,
-                "key.nameoffset" : 12043,
-                "key.offset" : 12039,
+                "key.nameoffset" : 13390,
+                "key.offset" : 13386,
                 "key.parsed_declaration" : "let inserts : [Insertion] = (self.added.map({\n    let value = added($0.newValue)\n    return .add(value, $0)\n}) + self.moved.map({\n    var value = old[$0.oldIndex]\n    moved($0.oldValue, $0.newValue, $0.itemChanges, &value)\n    return .move(value, $0)\n})).sorted(by: {$0.newIndex < $1.newIndex})",
-                "key.parsed_scope.end" : 386,
-                "key.parsed_scope.start" : 386,
+                "key.parsed_scope.end" : 424,
+                "key.parsed_scope.start" : 424,
                 "key.typename" : "[SectionedDiff.SectionChanges.Insertion]",
                 "key.typeusr" : "$sSay10ListableUI13SectionedDiffV14SectionChangesV9Insertion33_459A16665E334F63AE247A06F35B0E51LLOyxq_q0_q1___qd__GGD",
                 "key.usr" : "s:10ListableUI13SectionedDiffV14SectionChangesV9transform3old7removed5added5moved8noChangeSayqd__GAL_yx_qd__tXEqd__xXEyx_xAC04ItemF0Vyxq_q0_q1__Gqd__ztXEyx_xAOqd__ztXEtlF7insertsL_SayAE9Insertion33_459A16665E334F63AE247A06F35B0E51LLOyxq_q0_q1___qd__GGvp"
               },
               {
                 "key.annotated_decl" : "var new: [Mapped]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> new<\/decl.name>: [Mapped]<\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 13,
                 "key.name" : "new",
                 "key.namelength" : 3,
-                "key.nameoffset" : 12419,
-                "key.offset" : 12415,
+                "key.nameoffset" : 13766,
+                "key.offset" : 13762,
                 "key.parsed_declaration" : "var new = old",
-                "key.parsed_scope.end" : 395,
-                "key.parsed_scope.start" : 395,
+                "key.parsed_scope.end" : 433,
+                "key.parsed_scope.start" : 433,
                 "key.typename" : "[Mapped]",
                 "key.typeusr" : "$sSayqd__GD",
                 "key.usr" : "s:10ListableUI13SectionedDiffV14SectionChangesV9transform3old7removed5added5moved8noChangeSayqd__GAL_yx_qd__tXEqd__xXEyx_xAC04ItemF0Vyxq_q0_q1__Gqd__ztXEyx_xAOqd__ztXEtlF3newL_ALvp"
@@ -16913,36 +17194,36 @@
               {
                 "key.attribute" : "source.decl.attribute.private",
                 "key.length" : 7,
-                "key.offset" : 12939
+                "key.offset" : 14286
               }
             ],
             "key.bodylength" : 469,
-            "key.bodyoffset" : 12975,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+            "key.bodyoffset" : 14322,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> enum<\/syntaxtype.keyword> Insertion<\/decl.name><Mapped<\/decl.generic_type_param.name><\/decl.generic_type_param>><\/decl.enum>",
             "key.kind" : "source.lang.swift.decl.enum",
             "key.length" : 498,
             "key.name" : "Insertion",
             "key.namelength" : 9,
-            "key.nameoffset" : 12952,
-            "key.offset" : 12947,
+            "key.nameoffset" : 14299,
+            "key.offset" : 14294,
             "key.parsed_declaration" : "private enum Insertion",
-            "key.parsed_scope.end" : 434,
-            "key.parsed_scope.start" : 416,
+            "key.parsed_scope.end" : 472,
+            "key.parsed_scope.start" : 454,
             "key.substructure" : [
               {
                 "key.annotated_decl" : "Mapped<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "Mapped<\/decl.generic_type_param.name><\/decl.generic_type_param>",
                 "key.kind" : "source.lang.swift.decl.generic_type_param",
                 "key.length" : 6,
                 "key.name" : "Mapped",
                 "key.namelength" : 6,
-                "key.nameoffset" : 12962,
-                "key.offset" : 12962,
+                "key.nameoffset" : 14309,
+                "key.offset" : 14309,
                 "key.parsed_declaration" : "private enum Insertioncase add(Mapped<\/Type>, Added<\/Type>)<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> add<\/decl.name>(Mapped<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, Added<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 18,
                     "key.name" : "add(_:_:)",
                     "key.namelength" : 18,
-                    "key.nameoffset" : 12989,
-                    "key.offset" : 12989,
+                    "key.nameoffset" : 14336,
+                    "key.offset" : 14336,
                     "key.parsed_declaration" : "case add(Mapped, Added)",
-                    "key.parsed_scope.end" : 418,
-                    "key.parsed_scope.start" : 418,
+                    "key.parsed_scope.end" : 456,
+                    "key.parsed_scope.start" : 456,
                     "key.substructure" : [
 
                     ],
@@ -16982,22 +17263,22 @@
                 "key.length" : 24,
                 "key.namelength" : 0,
                 "key.nameoffset" : 0,
-                "key.offset" : 13016,
+                "key.offset" : 14363,
                 "key.substructure" : [
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "case move(Mapped<\/Type>, Moved<\/Type>)<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> move<\/decl.name>(Mapped<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, Moved<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 19,
                     "key.name" : "move(_:_:)",
                     "key.namelength" : 19,
-                    "key.nameoffset" : 13021,
-                    "key.offset" : 13021,
+                    "key.nameoffset" : 14368,
+                    "key.offset" : 14368,
                     "key.parsed_declaration" : "case move(Mapped, Moved)",
-                    "key.parsed_scope.end" : 419,
-                    "key.parsed_scope.start" : 419,
+                    "key.parsed_scope.end" : 457,
+                    "key.parsed_scope.start" : 457,
                     "key.substructure" : [
 
                     ],
@@ -17011,18 +17292,18 @@
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var mapped: Mapped<\/Type> { get }<\/Declaration>",
                 "key.bodylength" : 154,
-                "key.bodyoffset" : 13079,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.bodyoffset" : 14426,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> mapped<\/decl.name>: Mapped<\/ref.generic_type_param><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 176,
                 "key.name" : "mapped",
                 "key.namelength" : 6,
-                "key.nameoffset" : 13062,
-                "key.offset" : 13058,
+                "key.nameoffset" : 14409,
+                "key.offset" : 14405,
                 "key.parsed_declaration" : "var mapped : Mapped",
-                "key.parsed_scope.end" : 426,
-                "key.parsed_scope.start" : 421,
+                "key.parsed_scope.end" : 464,
+                "key.parsed_scope.start" : 459,
                 "key.typename" : "Mapped",
                 "key.typeusr" : "$sqd__D",
                 "key.usr" : "s:10ListableUI13SectionedDiffV14SectionChangesV9Insertion33_459A16665E334F63AE247A06F35B0E51LLO6mappedqd__vp"
@@ -17031,18 +17312,18 @@
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var newIndex: Int<\/Type> { get }<\/Declaration>",
                 "key.bodylength" : 166,
-                "key.bodyoffset" : 13272,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.bodyoffset" : 14619,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> newIndex<\/decl.name>: Int<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 187,
                 "key.name" : "newIndex",
                 "key.namelength" : 8,
-                "key.nameoffset" : 13256,
-                "key.offset" : 13252,
+                "key.nameoffset" : 14603,
+                "key.offset" : 14599,
                 "key.parsed_declaration" : "var newIndex : Int",
-                "key.parsed_scope.end" : 433,
-                "key.parsed_scope.start" : 428,
+                "key.parsed_scope.end" : 471,
+                "key.parsed_scope.start" : 466,
                 "key.typename" : "Int",
                 "key.typeusr" : "$sSiD",
                 "key.usr" : "s:10ListableUI13SectionedDiffV14SectionChangesV9Insertion33_459A16665E334F63AE247A06F35B0E51LLO8newIndexSivp"
@@ -17059,36 +17340,36 @@
               {
                 "key.attribute" : "source.decl.attribute.private",
                 "key.length" : 7,
-                "key.offset" : 13455
+                "key.offset" : 14802
               }
             ],
             "key.bodylength" : 482,
-            "key.bodyoffset" : 13489,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+            "key.bodyoffset" : 14836,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> enum<\/syntaxtype.keyword> Removal<\/decl.name><Mapped<\/decl.generic_type_param.name><\/decl.generic_type_param>><\/decl.enum>",
             "key.kind" : "source.lang.swift.decl.enum",
             "key.length" : 509,
             "key.name" : "Removal",
             "key.namelength" : 7,
-            "key.nameoffset" : 13468,
-            "key.offset" : 13463,
+            "key.nameoffset" : 14815,
+            "key.offset" : 14810,
             "key.parsed_declaration" : "private enum Removal",
-            "key.parsed_scope.end" : 454,
-            "key.parsed_scope.start" : 436,
+            "key.parsed_scope.end" : 492,
+            "key.parsed_scope.start" : 474,
             "key.substructure" : [
               {
                 "key.annotated_decl" : "Mapped<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "Mapped<\/decl.generic_type_param.name><\/decl.generic_type_param>",
                 "key.kind" : "source.lang.swift.decl.generic_type_param",
                 "key.length" : 6,
                 "key.name" : "Mapped",
                 "key.namelength" : 6,
-                "key.nameoffset" : 13476,
-                "key.offset" : 13476,
+                "key.nameoffset" : 14823,
+                "key.offset" : 14823,
                 "key.parsed_declaration" : "private enum Removalcase remove(Mapped<\/Type>, Removed<\/Type>)<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> remove<\/decl.name>(Mapped<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, Removed<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 23,
                     "key.name" : "remove(_:_:)",
                     "key.namelength" : 23,
-                    "key.nameoffset" : 13503,
-                    "key.offset" : 13503,
+                    "key.nameoffset" : 14850,
+                    "key.offset" : 14850,
                     "key.parsed_declaration" : "case remove(Mapped, Removed)",
-                    "key.parsed_scope.end" : 438,
-                    "key.parsed_scope.start" : 438,
+                    "key.parsed_scope.end" : 476,
+                    "key.parsed_scope.start" : 476,
                     "key.substructure" : [
 
                     ],
@@ -17128,22 +17409,22 @@
                 "key.length" : 24,
                 "key.namelength" : 0,
                 "key.nameoffset" : 0,
-                "key.offset" : 13535,
+                "key.offset" : 14882,
                 "key.substructure" : [
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "case move(Mapped<\/Type>, Moved<\/Type>)<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> move<\/decl.name>(Mapped<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, Moved<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 19,
                     "key.name" : "move(_:_:)",
                     "key.namelength" : 19,
-                    "key.nameoffset" : 13540,
-                    "key.offset" : 13540,
+                    "key.nameoffset" : 14887,
+                    "key.offset" : 14887,
                     "key.parsed_declaration" : "case move(Mapped, Moved)",
-                    "key.parsed_scope.end" : 439,
-                    "key.parsed_scope.start" : 439,
+                    "key.parsed_scope.end" : 477,
+                    "key.parsed_scope.start" : 477,
                     "key.substructure" : [
 
                     ],
@@ -17157,18 +17438,18 @@
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var mapped: Mapped<\/Type> { get }<\/Declaration>",
                 "key.bodylength" : 157,
-                "key.bodyoffset" : 13598,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.bodyoffset" : 14945,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> mapped<\/decl.name>: Mapped<\/ref.generic_type_param><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 179,
                 "key.name" : "mapped",
                 "key.namelength" : 6,
-                "key.nameoffset" : 13581,
-                "key.offset" : 13577,
+                "key.nameoffset" : 14928,
+                "key.offset" : 14924,
                 "key.parsed_declaration" : "var mapped : Mapped",
-                "key.parsed_scope.end" : 446,
-                "key.parsed_scope.start" : 441,
+                "key.parsed_scope.end" : 484,
+                "key.parsed_scope.start" : 479,
                 "key.typename" : "Mapped",
                 "key.typeusr" : "$sqd__D",
                 "key.usr" : "s:10ListableUI13SectionedDiffV14SectionChangesV7Removal33_459A16665E334F63AE247A06F35B0E51LLO6mappedqd__vp"
@@ -17177,18 +17458,18 @@
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var oldIndex: Int<\/Type> { get }<\/Declaration>",
                 "key.bodylength" : 171,
-                "key.bodyoffset" : 13794,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.bodyoffset" : 15141,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> oldIndex<\/decl.name>: Int<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 192,
                 "key.name" : "oldIndex",
                 "key.namelength" : 8,
-                "key.nameoffset" : 13778,
-                "key.offset" : 13774,
+                "key.nameoffset" : 15125,
+                "key.offset" : 15121,
                 "key.parsed_declaration" : "var oldIndex : Int",
-                "key.parsed_scope.end" : 453,
-                "key.parsed_scope.start" : 448,
+                "key.parsed_scope.end" : 491,
+                "key.parsed_scope.start" : 486,
                 "key.typename" : "Int",
                 "key.typeusr" : "$sSiD",
                 "key.usr" : "s:10ListableUI13SectionedDiffV14SectionChangesV7Removal33_459A16665E334F63AE247A06F35B0E51LLO8oldIndexSivp"
@@ -17206,99 +17487,99 @@
       {
         "key.annotated_decl" : "struct SectionedDiff<\/Type><Section, SectionIdentifier, Item, ItemIdentifier>.ItemChanges<\/Declaration>",
         "key.bodylength" : 2864,
-        "key.bodyoffset" : 14014,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+        "key.bodyoffset" : 15361,
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
         "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> SectionedDiff<\/ref.struct><Section, SectionIdentifier, Item, ItemIdentifier>.ItemChanges<\/decl.name><\/decl.struct>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 2902,
         "key.name" : "SectionedDiff.ItemChanges",
         "key.namelength" : 25,
-        "key.nameoffset" : 13987,
-        "key.offset" : 13977,
+        "key.nameoffset" : 15334,
+        "key.offset" : 15324,
         "key.parsed_declaration" : "extension SectionedDiff.ItemChanges",
-        "key.parsed_scope.end" : 553,
-        "key.parsed_scope.start" : 458,
+        "key.parsed_scope.end" : 591,
+        "key.parsed_scope.start" : 496,
         "key.substructure" : [
           {
             "key.annotated_decl" : "func transform<Mapped>(old: [Mapped<\/Type>], removed: (Item<\/Type>, Mapped<\/Type>) -> (), added: (Item<\/Type>) -> Mapped<\/Type>, moved: (Item<\/Type>, Item<\/Type>, inout Mapped<\/Type>) -> (), updated: (Item<\/Type>, Item<\/Type>, inout Mapped<\/Type>) -> (), noChange: (Item<\/Type>, Item<\/Type>, inout Mapped<\/Type>) -> ()) -> [Mapped<\/Type>]<\/Declaration>",
             "key.bodylength" : 1491,
-            "key.bodyoffset" : 14322,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+            "key.bodyoffset" : 15669,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> transform<\/decl.name><Mapped<\/decl.generic_type_param.name><\/decl.generic_type_param>>(old<\/decl.var.parameter.argument_label>: [Mapped<\/ref.generic_type_param>]<\/decl.var.parameter.type><\/decl.var.parameter>, removed<\/decl.var.parameter.argument_label>: (Item<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, Mapped<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>, added<\/decl.var.parameter.argument_label>: (Item<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> Mapped<\/ref.generic_type_param><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>, moved<\/decl.var.parameter.argument_label>: (Item<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, Item<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, inout<\/syntaxtype.keyword> Mapped<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>, updated<\/decl.var.parameter.argument_label>: (Item<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, Item<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, inout<\/syntaxtype.keyword> Mapped<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>, noChange<\/decl.var.parameter.argument_label>: (Item<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, Item<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, inout<\/syntaxtype.keyword> Mapped<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>) -> [Mapped<\/ref.generic_type_param>]<\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 1795,
             "key.name" : "transform(old:removed:added:moved:updated:noChange:)",
             "key.namelength" : 280,
-            "key.nameoffset" : 14024,
-            "key.offset" : 14019,
+            "key.nameoffset" : 15371,
+            "key.offset" : 15366,
             "key.parsed_declaration" : "func transform(\n    old : [Mapped],\n    removed : (Item, Mapped) -> (),\n    added : (Item) -> Mapped,\n    moved : (Item, Item, inout Mapped) -> (),\n    updated : (Item, Item, inout Mapped) -> (),\n    noChange : (Item, Item, inout Mapped) -> ()\n    ) -> [Mapped]",
-            "key.parsed_scope.end" : 512,
-            "key.parsed_scope.start" : 460,
+            "key.parsed_scope.end" : 550,
+            "key.parsed_scope.start" : 498,
             "key.substructure" : [
               {
                 "key.annotated_decl" : "Mapped<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "Mapped<\/decl.generic_type_param.name><\/decl.generic_type_param>",
                 "key.kind" : "source.lang.swift.decl.generic_type_param",
                 "key.length" : 6,
                 "key.name" : "Mapped",
                 "key.namelength" : 6,
-                "key.nameoffset" : 14034,
-                "key.offset" : 14034,
+                "key.nameoffset" : 15381,
+                "key.offset" : 15381,
                 "key.parsed_declaration" : "func transformlet removes: [Removal<\/Type><Mapped<\/Type>>]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> removes<\/decl.name>: [Removal<\/ref.enum><Mapped<\/ref.generic_type_param>>]<\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 299,
                 "key.name" : "removes",
                 "key.namelength" : 7,
-                "key.nameoffset" : 14423,
-                "key.offset" : 14419,
+                "key.nameoffset" : 15770,
+                "key.offset" : 15766,
                 "key.parsed_declaration" : "let removes : [Removal] = (self.removed.map({\n    removed($0.oldValue, old[$0.oldIndex.item])\n    return .remove(old[$0.oldIndex.item], $0)\n}) + self.moved.map({\n    return .move(old[$0.oldIndex.item], $0)\n})).sorted(by: { $0.oldIndex > $1.oldIndex })",
-                "key.parsed_scope.end" : 471,
-                "key.parsed_scope.start" : 471,
+                "key.parsed_scope.end" : 509,
+                "key.parsed_scope.start" : 509,
                 "key.typename" : "[SectionedDiff.ItemChanges.Removal]",
                 "key.typeusr" : "$sSay10ListableUI13SectionedDiffV11ItemChangesV7Removal33_459A16665E334F63AE247A06F35B0E51LLOyxq_q0_q1___qd__GGD",
                 "key.usr" : "s:10ListableUI13SectionedDiffV11ItemChangesV9transform3old7removed5added5moved7updated8noChangeSayqd__GAM_yq0__qd__tXEqd__q0_XEyq0__q0_qd__ztXEyq0__q0_qd__ztXEyq0__q0_qd__ztXEtlF7removesL_SayAE7Removal33_459A16665E334F63AE247A06F35B0E51LLOyxq_q0_q1___qd__GGvp"
               },
               {
                 "key.annotated_decl" : "let inserts: [Insertion<\/Type><Mapped<\/Type>>]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> inserts<\/decl.name>: [Insertion<\/ref.enum><Mapped<\/ref.generic_type_param>>]<\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 349,
                 "key.name" : "inserts",
                 "key.namelength" : 7,
-                "key.nameoffset" : 14740,
-                "key.offset" : 14736,
+                "key.nameoffset" : 16087,
+                "key.offset" : 16083,
                 "key.parsed_declaration" : "let inserts : [Insertion] = (self.added.map({\n    let value = added($0.newValue)\n    return .add(value, $0)\n}) + self.moved.map({\n    var value = old[$0.oldIndex.item]\n    moved($0.oldValue, $0.newValue, &value)\n    return .move(value, $0)\n})).sorted(by: { $0.newIndex < $1.newIndex })",
-                "key.parsed_scope.end" : 478,
-                "key.parsed_scope.start" : 478,
+                "key.parsed_scope.end" : 516,
+                "key.parsed_scope.start" : 516,
                 "key.typename" : "[SectionedDiff.ItemChanges.Insertion]",
                 "key.typeusr" : "$sSay10ListableUI13SectionedDiffV11ItemChangesV9Insertion33_459A16665E334F63AE247A06F35B0E51LLOyxq_q0_q1___qd__GGD",
                 "key.usr" : "s:10ListableUI13SectionedDiffV11ItemChangesV9transform3old7removed5added5moved7updated8noChangeSayqd__GAM_yq0__qd__tXEqd__q0_XEyq0__q0_qd__ztXEyq0__q0_qd__ztXEyq0__q0_qd__ztXEtlF7insertsL_SayAE9Insertion33_459A16665E334F63AE247A06F35B0E51LLOyxq_q0_q1___qd__GGvp"
               },
               {
                 "key.annotated_decl" : "var new: [Mapped]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> new<\/decl.name>: [Mapped]<\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 13,
                 "key.name" : "new",
                 "key.namelength" : 3,
-                "key.nameoffset" : 15107,
-                "key.offset" : 15103,
+                "key.nameoffset" : 16454,
+                "key.offset" : 16450,
                 "key.parsed_declaration" : "var new = old",
-                "key.parsed_scope.end" : 487,
-                "key.parsed_scope.start" : 487,
+                "key.parsed_scope.end" : 525,
+                "key.parsed_scope.start" : 525,
                 "key.typename" : "[Mapped]",
                 "key.typeusr" : "$sSayqd__GD",
                 "key.usr" : "s:10ListableUI13SectionedDiffV11ItemChangesV9transform3old7removed5added5moved7updated8noChangeSayqd__GAM_yq0__qd__tXEqd__q0_XEyq0__q0_qd__ztXEyq0__q0_qd__ztXEyq0__q0_qd__ztXEtlF3newL_AMvp"
@@ -17315,36 +17596,36 @@
               {
                 "key.attribute" : "source.decl.attribute.private",
                 "key.length" : 7,
-                "key.offset" : 15824
+                "key.offset" : 17171
               }
             ],
             "key.bodylength" : 479,
-            "key.bodyoffset" : 15860,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+            "key.bodyoffset" : 17207,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> enum<\/syntaxtype.keyword> Insertion<\/decl.name><Mapped<\/decl.generic_type_param.name><\/decl.generic_type_param>><\/decl.enum>",
             "key.kind" : "source.lang.swift.decl.enum",
             "key.length" : 508,
             "key.name" : "Insertion",
             "key.namelength" : 9,
-            "key.nameoffset" : 15837,
-            "key.offset" : 15832,
+            "key.nameoffset" : 17184,
+            "key.offset" : 17179,
             "key.parsed_declaration" : "private enum Insertion",
-            "key.parsed_scope.end" : 532,
-            "key.parsed_scope.start" : 514,
+            "key.parsed_scope.end" : 570,
+            "key.parsed_scope.start" : 552,
             "key.substructure" : [
               {
                 "key.annotated_decl" : "Mapped<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "Mapped<\/decl.generic_type_param.name><\/decl.generic_type_param>",
                 "key.kind" : "source.lang.swift.decl.generic_type_param",
                 "key.length" : 6,
                 "key.name" : "Mapped",
                 "key.namelength" : 6,
-                "key.nameoffset" : 15847,
-                "key.offset" : 15847,
+                "key.nameoffset" : 17194,
+                "key.offset" : 17194,
                 "key.parsed_declaration" : "private enum Insertioncase add(Mapped<\/Type>, Added<\/Type>)<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> add<\/decl.name>(Mapped<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, Added<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 18,
                     "key.name" : "add(_:_:)",
                     "key.namelength" : 18,
-                    "key.nameoffset" : 15874,
-                    "key.offset" : 15874,
+                    "key.nameoffset" : 17221,
+                    "key.offset" : 17221,
                     "key.parsed_declaration" : "case add(Mapped, Added)",
-                    "key.parsed_scope.end" : 516,
-                    "key.parsed_scope.start" : 516,
+                    "key.parsed_scope.end" : 554,
+                    "key.parsed_scope.start" : 554,
                     "key.substructure" : [
 
                     ],
@@ -17384,22 +17665,22 @@
                 "key.length" : 24,
                 "key.namelength" : 0,
                 "key.nameoffset" : 0,
-                "key.offset" : 15901,
+                "key.offset" : 17248,
                 "key.substructure" : [
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "case move(Mapped<\/Type>, Moved<\/Type>)<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> move<\/decl.name>(Mapped<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, Moved<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 19,
                     "key.name" : "move(_:_:)",
                     "key.namelength" : 19,
-                    "key.nameoffset" : 15906,
-                    "key.offset" : 15906,
+                    "key.nameoffset" : 17253,
+                    "key.offset" : 17253,
                     "key.parsed_declaration" : "case move(Mapped, Moved)",
-                    "key.parsed_scope.end" : 517,
-                    "key.parsed_scope.start" : 517,
+                    "key.parsed_scope.end" : 555,
+                    "key.parsed_scope.start" : 555,
                     "key.substructure" : [
 
                     ],
@@ -17413,18 +17694,18 @@
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var mapped: Mapped<\/Type> { get }<\/Declaration>",
                 "key.bodylength" : 154,
-                "key.bodyoffset" : 15964,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.bodyoffset" : 17311,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> mapped<\/decl.name>: Mapped<\/ref.generic_type_param><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 176,
                 "key.name" : "mapped",
                 "key.namelength" : 6,
-                "key.nameoffset" : 15947,
-                "key.offset" : 15943,
+                "key.nameoffset" : 17294,
+                "key.offset" : 17290,
                 "key.parsed_declaration" : "var mapped : Mapped",
-                "key.parsed_scope.end" : 524,
-                "key.parsed_scope.start" : 519,
+                "key.parsed_scope.end" : 562,
+                "key.parsed_scope.start" : 557,
                 "key.typename" : "Mapped",
                 "key.typeusr" : "$sqd__D",
                 "key.usr" : "s:10ListableUI13SectionedDiffV11ItemChangesV9Insertion33_459A16665E334F63AE247A06F35B0E51LLO6mappedqd__vp"
@@ -17433,18 +17714,18 @@
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var newIndex: Int<\/Type> { get }<\/Declaration>",
                 "key.bodylength" : 176,
-                "key.bodyoffset" : 16157,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.bodyoffset" : 17504,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> newIndex<\/decl.name>: Int<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 197,
                 "key.name" : "newIndex",
                 "key.namelength" : 8,
-                "key.nameoffset" : 16141,
-                "key.offset" : 16137,
+                "key.nameoffset" : 17488,
+                "key.offset" : 17484,
                 "key.parsed_declaration" : "var newIndex : Int",
-                "key.parsed_scope.end" : 531,
-                "key.parsed_scope.start" : 526,
+                "key.parsed_scope.end" : 569,
+                "key.parsed_scope.start" : 564,
                 "key.typename" : "Int",
                 "key.typeusr" : "$sSiD",
                 "key.usr" : "s:10ListableUI13SectionedDiffV11ItemChangesV9Insertion33_459A16665E334F63AE247A06F35B0E51LLO8newIndexSivp"
@@ -17461,36 +17742,36 @@
               {
                 "key.attribute" : "source.decl.attribute.private",
                 "key.length" : 7,
-                "key.offset" : 16350
+                "key.offset" : 17697
               }
             ],
             "key.bodylength" : 492,
-            "key.bodyoffset" : 16384,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+            "key.bodyoffset" : 17731,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> enum<\/syntaxtype.keyword> Removal<\/decl.name><Mapped<\/decl.generic_type_param.name><\/decl.generic_type_param>><\/decl.enum>",
             "key.kind" : "source.lang.swift.decl.enum",
             "key.length" : 519,
             "key.name" : "Removal",
             "key.namelength" : 7,
-            "key.nameoffset" : 16363,
-            "key.offset" : 16358,
+            "key.nameoffset" : 17710,
+            "key.offset" : 17705,
             "key.parsed_declaration" : "private enum Removal",
-            "key.parsed_scope.end" : 552,
-            "key.parsed_scope.start" : 534,
+            "key.parsed_scope.end" : 590,
+            "key.parsed_scope.start" : 572,
             "key.substructure" : [
               {
                 "key.annotated_decl" : "Mapped<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "Mapped<\/decl.generic_type_param.name><\/decl.generic_type_param>",
                 "key.kind" : "source.lang.swift.decl.generic_type_param",
                 "key.length" : 6,
                 "key.name" : "Mapped",
                 "key.namelength" : 6,
-                "key.nameoffset" : 16371,
-                "key.offset" : 16371,
+                "key.nameoffset" : 17718,
+                "key.offset" : 17718,
                 "key.parsed_declaration" : "private enum Removalcase remove(Mapped<\/Type>, Removed<\/Type>)<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> remove<\/decl.name>(Mapped<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, Removed<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 23,
                     "key.name" : "remove(_:_:)",
                     "key.namelength" : 23,
-                    "key.nameoffset" : 16398,
-                    "key.offset" : 16398,
+                    "key.nameoffset" : 17745,
+                    "key.offset" : 17745,
                     "key.parsed_declaration" : "case remove(Mapped, Removed)",
-                    "key.parsed_scope.end" : 536,
-                    "key.parsed_scope.start" : 536,
+                    "key.parsed_scope.end" : 574,
+                    "key.parsed_scope.start" : 574,
                     "key.substructure" : [
 
                     ],
@@ -17530,22 +17811,22 @@
                 "key.length" : 24,
                 "key.namelength" : 0,
                 "key.nameoffset" : 0,
-                "key.offset" : 16430,
+                "key.offset" : 17777,
                 "key.substructure" : [
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "case move(Mapped<\/Type>, Moved<\/Type>)<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> move<\/decl.name>(Mapped<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, Moved<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 19,
                     "key.name" : "move(_:_:)",
                     "key.namelength" : 19,
-                    "key.nameoffset" : 16435,
-                    "key.offset" : 16435,
+                    "key.nameoffset" : 17782,
+                    "key.offset" : 17782,
                     "key.parsed_declaration" : "case move(Mapped, Moved)",
-                    "key.parsed_scope.end" : 537,
-                    "key.parsed_scope.start" : 537,
+                    "key.parsed_scope.end" : 575,
+                    "key.parsed_scope.start" : 575,
                     "key.substructure" : [
 
                     ],
@@ -17559,18 +17840,18 @@
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var mapped: Mapped<\/Type> { get }<\/Declaration>",
                 "key.bodylength" : 157,
-                "key.bodyoffset" : 16493,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.bodyoffset" : 17840,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> mapped<\/decl.name>: Mapped<\/ref.generic_type_param><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 179,
                 "key.name" : "mapped",
                 "key.namelength" : 6,
-                "key.nameoffset" : 16476,
-                "key.offset" : 16472,
+                "key.nameoffset" : 17823,
+                "key.offset" : 17819,
                 "key.parsed_declaration" : "var mapped : Mapped",
-                "key.parsed_scope.end" : 544,
-                "key.parsed_scope.start" : 539,
+                "key.parsed_scope.end" : 582,
+                "key.parsed_scope.start" : 577,
                 "key.typename" : "Mapped",
                 "key.typeusr" : "$sqd__D",
                 "key.usr" : "s:10ListableUI13SectionedDiffV11ItemChangesV7Removal33_459A16665E334F63AE247A06F35B0E51LLO6mappedqd__vp"
@@ -17579,18 +17860,18 @@
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var oldIndex: Int<\/Type> { get }<\/Declaration>",
                 "key.bodylength" : 181,
-                "key.bodyoffset" : 16689,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
+                "key.bodyoffset" : 18036,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Diff\/SectionedDiff.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> oldIndex<\/decl.name>: Int<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 202,
                 "key.name" : "oldIndex",
                 "key.namelength" : 8,
-                "key.nameoffset" : 16673,
-                "key.offset" : 16669,
+                "key.nameoffset" : 18020,
+                "key.offset" : 18016,
                 "key.parsed_declaration" : "var oldIndex : Int",
-                "key.parsed_scope.end" : 551,
-                "key.parsed_scope.start" : 546,
+                "key.parsed_scope.end" : 589,
+                "key.parsed_scope.start" : 584,
                 "key.typename" : "Int",
                 "key.typeusr" : "$sSiD",
                 "key.usr" : "s:10ListableUI13SectionedDiffV11ItemChangesV7Removal33_459A16665E334F63AE247A06F35B0E51LLO8oldIndexSivp"
@@ -17608,7 +17889,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/HeaderFooterContentView.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/HeaderFooterContentView.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 5247,
     "key.offset" : 0,
@@ -17632,7 +17913,7 @@
             "key.offset" : 183
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/HeaderFooterContentView.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/HeaderFooterContentView.swift",
         "key.fully_annotated_decl" : "final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> HeaderFooterContentView<\/decl.name><Content<\/decl.generic_type_param.name><\/decl.generic_type_param>> : UIView<\/ref.class> where<\/syntaxtype.keyword> Content : HeaderFooterContent<\/ref.protocol><\/decl.generic_type_requirement><\/decl.class>",
         "key.inheritedtypes" : [
           {
@@ -17658,7 +17939,7 @@
                 "key.offset" : 160
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/HeaderFooterContentView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/HeaderFooterContentView.swift",
             "key.fully_annotated_decl" : "Content<\/decl.generic_type_param.name> : HeaderFooterContent<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
             "key.inheritedtypes" : [
               {
@@ -17689,7 +17970,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "typealias HeaderFooterContentView<\/Type><Content>.OnTap = () -> ()<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/HeaderFooterContentView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/HeaderFooterContentView.swift",
             "key.fully_annotated_decl" : "typealias<\/syntaxtype.keyword> HeaderFooterContentView<\/ref.class><Content>.OnTap<\/decl.name> = () -> ()<\/tuple><\/decl.function.returntype><\/decl.typealias>",
             "key.kind" : "source.lang.swift.decl.typealias",
             "key.length" : 26,
@@ -17709,7 +17990,7 @@
             "key.annotated_decl" : "var onTap: OnTap<\/Type>? { get set }<\/Declaration>",
             "key.bodylength" : 48,
             "key.bodyoffset" : 301,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/HeaderFooterContentView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/HeaderFooterContentView.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> onTap<\/decl.name>: OnTap<\/ref.typealias>?<\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 75,
@@ -17728,7 +18009,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "let content: Content<\/Type>.ContentView<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/HeaderFooterContentView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/HeaderFooterContentView.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> content<\/decl.name>: Content<\/ref.generic_type_param>.ContentView<\/ref.associatedtype><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 33,
@@ -17746,7 +18027,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "let background: Content<\/Type>.BackgroundView<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/HeaderFooterContentView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/HeaderFooterContentView.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> background<\/decl.name>: Content<\/ref.generic_type_param>.BackgroundView<\/ref.associatedtype><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 39,
@@ -17764,7 +18045,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "let pressedBackground: Content<\/Type>.PressedBackgroundView<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/HeaderFooterContentView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/HeaderFooterContentView.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> pressedBackground<\/decl.name>: Content<\/ref.generic_type_param>.PressedBackgroundView<\/ref.associatedtype><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 53,
@@ -17789,7 +18070,7 @@
                 "key.offset" : 505
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/HeaderFooterContentView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/HeaderFooterContentView.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> let<\/syntaxtype.keyword> pressRecognizer<\/decl.name>: PressGestureRecognizer<\/ref.class><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 44,
@@ -17824,7 +18105,7 @@
             ],
             "key.bodylength" : 818,
             "key.bodyoffset" : 644,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/HeaderFooterContentView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/HeaderFooterContentView.swift",
             "key.fully_annotated_decl" : "override<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(frame<\/decl.var.parameter.argument_label>: CGRect<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 840,
@@ -17848,7 +18129,7 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let bounds: CGRect<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/HeaderFooterContentView.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/HeaderFooterContentView.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> bounds<\/decl.name>: CGRect<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 52,
@@ -17920,7 +18201,7 @@
             ],
             "key.bodylength" : 45,
             "key.bodyoffset" : 1654,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/HeaderFooterContentView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/HeaderFooterContentView.swift",
             "key.fully_annotated_decl" : "override<\/syntaxtype.keyword> func<\/syntaxtype.keyword> sizeThatFits<\/decl.name>(_<\/decl.var.parameter.argument_label> size<\/decl.var.parameter.name>: CGSize<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGSize<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 91,
@@ -17955,7 +18236,7 @@
             ],
             "key.bodylength" : 62,
             "key.bodyoffset" : 1781,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/HeaderFooterContentView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/HeaderFooterContentView.swift",
             "key.fully_annotated_decl" : "override<\/syntaxtype.keyword> func<\/syntaxtype.keyword> systemLayoutSizeFitting<\/decl.name>(_<\/decl.var.parameter.argument_label> targetSize<\/decl.var.parameter.name>: CGSize<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGSize<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 125,
@@ -17995,7 +18276,7 @@
             ],
             "key.bodylength" : 216,
             "key.bodyoffset" : 2073,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/HeaderFooterContentView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/HeaderFooterContentView.swift",
             "key.fully_annotated_decl" : "override<\/syntaxtype.keyword> func<\/syntaxtype.keyword> systemLayoutSizeFitting<\/decl.name>(_<\/decl.var.parameter.argument_label> targetSize<\/decl.var.parameter.name>: CGSize<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, withHorizontalFittingPriority<\/decl.var.parameter.argument_label> horizontalFittingPriority<\/decl.var.parameter.name>: UILayoutPriority<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, verticalFittingPriority<\/decl.var.parameter.argument_label>: UILayoutPriority<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGSize<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 427,
@@ -18035,7 +18316,7 @@
             ],
             "key.bodylength" : 181,
             "key.bodyoffset" : 2332,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/HeaderFooterContentView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/HeaderFooterContentView.swift",
             "key.fully_annotated_decl" : "override<\/syntaxtype.keyword> func<\/syntaxtype.keyword> layoutSubviews<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 205,
@@ -18078,7 +18359,7 @@
             ],
             "key.bodylength" : 487,
             "key.bodyoffset" : 2606,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/HeaderFooterContentView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/HeaderFooterContentView.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> func<\/syntaxtype.keyword> updateIsTappable<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 517,
@@ -18113,7 +18394,7 @@
             ],
             "key.bodylength" : 596,
             "key.bodyoffset" : 3144,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/HeaderFooterContentView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/HeaderFooterContentView.swift",
             "key.fully_annotated_decl" : "@objc<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> private<\/syntaxtype.keyword> func<\/syntaxtype.keyword> pressStateChanged<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 623,
@@ -18127,7 +18408,7 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let state: UIGestureRecognizer<\/Type>.State<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/HeaderFooterContentView.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/HeaderFooterContentView.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> state<\/decl.name>: UIGestureRecognizer<\/ref.class>.State<\/ref.enum><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 38,
@@ -18176,7 +18457,7 @@
             "key.offset" : 3795
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/HeaderFooterContentView.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/HeaderFooterContentView.swift",
         "key.fully_annotated_decl" : "fileprivate<\/syntaxtype.keyword> final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> PressGestureRecognizer<\/decl.name> : UILongPressGestureRecognizer<\/ref.class><\/decl.class>",
         "key.inheritedtypes" : [
           {
@@ -18196,7 +18477,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "var allowableMovementAfterBegin: CGFloat<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/HeaderFooterContentView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/HeaderFooterContentView.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> allowableMovementAfterBegin<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 47,
@@ -18222,7 +18503,7 @@
                 "key.offset" : 3892
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/HeaderFooterContentView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/HeaderFooterContentView.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> var<\/syntaxtype.keyword> initialPoint<\/decl.name>: CGPoint<\/ref.struct>?<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 33,
@@ -18250,7 +18531,7 @@
             ],
             "key.bodylength" : 68,
             "key.bodyoffset" : 3966,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/HeaderFooterContentView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/HeaderFooterContentView.swift",
             "key.fully_annotated_decl" : "override<\/syntaxtype.keyword> func<\/syntaxtype.keyword> reset<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 83,
@@ -18285,7 +18566,7 @@
             ],
             "key.bodylength" : 120,
             "key.bodyoffset" : 4119,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/HeaderFooterContentView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/HeaderFooterContentView.swift",
             "key.fully_annotated_decl" : "override<\/syntaxtype.keyword> func<\/syntaxtype.keyword> touchesBegan<\/decl.name>(_<\/decl.var.parameter.argument_label> touches<\/decl.var.parameter.name>: Set<\/ref.struct><UITouch<\/ref.class>><\/decl.var.parameter.type><\/decl.var.parameter>, with<\/decl.var.parameter.argument_label> event<\/decl.var.parameter.name>: UIEvent<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 186,
@@ -18320,7 +18601,7 @@
             ],
             "key.bodylength" : 396,
             "key.bodyoffset" : 4316,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/HeaderFooterContentView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/HeaderFooterContentView.swift",
             "key.fully_annotated_decl" : "override<\/syntaxtype.keyword> func<\/syntaxtype.keyword> canPrevent<\/decl.name>(_<\/decl.var.parameter.argument_label> gesture<\/decl.var.parameter.name>: UIGestureRecognizer<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 454,
@@ -18355,7 +18636,7 @@
             ],
             "key.bodylength" : 446,
             "key.bodyoffset" : 4797,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/HeaderFooterContentView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/HeaderFooterContentView.swift",
             "key.fully_annotated_decl" : "override<\/syntaxtype.keyword> func<\/syntaxtype.keyword> touchesMoved<\/decl.name>(_<\/decl.var.parameter.argument_label> touches<\/decl.var.parameter.name>: Set<\/ref.struct><UITouch<\/ref.class>><\/decl.var.parameter.type><\/decl.var.parameter>, with<\/decl.var.parameter.argument_label> event<\/decl.var.parameter.name>: UIEvent<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 512,
@@ -18386,7 +18667,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/HorizontalPanGestureRecognizer.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/HorizontalPanGestureRecognizer.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 542,
     "key.offset" : 0,
@@ -18403,7 +18684,7 @@
             "key.offset" : 186
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/HorizontalPanGestureRecognizer.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/HorizontalPanGestureRecognizer.swift",
         "key.fully_annotated_decl" : "class<\/syntaxtype.keyword> HorizontalPanGestureRecognizer<\/decl.name> : UIPanGestureRecognizer<\/ref.class><\/decl.class>",
         "key.inheritedtypes" : [
           {
@@ -18432,7 +18713,7 @@
             ],
             "key.bodylength" : 248,
             "key.bodyoffset" : 290,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/HorizontalPanGestureRecognizer.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/HorizontalPanGestureRecognizer.swift",
             "key.fully_annotated_decl" : "override<\/syntaxtype.keyword> func<\/syntaxtype.keyword> touchesMoved<\/decl.name>(_<\/decl.var.parameter.argument_label> touches<\/decl.var.parameter.name>: Set<\/ref.struct><UITouch<\/ref.class>><\/decl.var.parameter.type><\/decl.var.parameter>, with<\/decl.var.parameter.argument_label> event<\/decl.var.parameter.name>: UIEvent<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 314,
@@ -18463,14 +18744,14 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
-    "key.length" : 8266,
+    "key.length" : 8367,
     "key.offset" : 0,
     "key.substructure" : [
       {
         "key.annotated_decl" : "final class ItemCell<Content> : UICollectionViewCell<\/Type>, AnyItemCell where Content : ItemContent<\/Type><\/Declaration>",
-        "key.bodylength" : 7223,
+        "key.bodylength" : 7324,
         "key.bodyoffset" : 142,
         "key.doc.column" : 13,
         "key.doc.declaration" : "final class ItemCell : UICollectionViewCell, AnyItemCell where Content : ListableUI.ItemContent",
@@ -18479,21 +18760,21 @@
             "Para" : "Information on how cell selection appearance customization works: https:\/\/developer.apple.com\/documentation\/uikit\/uicollectionviewdelegate\/changing_the_appearance_of_selected_and_highlighted_cells"
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.swift",
-        "key.doc.full_as_xml" : "ItemCell<\/Name>s:10ListableUI8ItemCellC<\/USR>final class ItemCell<Content> : UICollectionViewCell, AnyItemCell where Content : ListableUI.ItemContent<\/Declaration>An internal cell type used to render items in the list.<\/Para><\/Abstract>Information on how cell selection appearance customization works: https:\/\/developer.apple.com\/documentation\/uikit\/uicollectionviewdelegate\/changing_the_appearance_of_selected_and_highlighted_cells<\/Para><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.swift",
+        "key.doc.full_as_xml" : "ItemCell<\/Name>s:10ListableUI8ItemCellC<\/USR>final class ItemCell<Content> : UICollectionViewCell, AnyItemCell where Content : ListableUI.ItemContent<\/Declaration>An internal cell type used to render items in the list.<\/Para><\/Abstract>Information on how cell selection appearance customization works: https:\/\/developer.apple.com\/documentation\/uikit\/uicollectionviewdelegate\/changing_the_appearance_of_selected_and_highlighted_cells<\/Para><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 24,
         "key.doc.name" : "ItemCell",
         "key.doc.type" : "Class",
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.swift",
         "key.fully_annotated_decl" : "final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> ItemCell<\/decl.name><Content<\/decl.generic_type_param.name><\/decl.generic_type_param>> : UICollectionViewCell<\/ref.class>, AnyItemCell where<\/syntaxtype.keyword> Content : ItemContent<\/ref.protocol><\/decl.generic_type_requirement><\/decl.class>",
         "key.kind" : "source.lang.swift.decl.extension",
-        "key.length" : 7244,
+        "key.length" : 7345,
         "key.name" : "ItemCell",
         "key.namelength" : 8,
         "key.nameoffset" : 132,
         "key.offset" : 122,
         "key.parsed_declaration" : "extension ItemCell",
-        "key.parsed_scope.end" : 240,
+        "key.parsed_scope.end" : 243,
         "key.parsed_scope.start" : 11,
         "key.substructure" : [
           {
@@ -18505,7 +18786,7 @@
                 "key.offset" : 148
               }
             ],
-            "key.bodylength" : 6995,
+            "key.bodylength" : 7045,
             "key.bodyoffset" : 191,
             "key.elements" : [
               {
@@ -18514,7 +18795,7 @@
                 "key.offset" : 183
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
             "key.fully_annotated_decl" : "final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> ContentContainerView<\/decl.name> : UIView<\/ref.class><\/decl.class>",
             "key.inheritedtypes" : [
               {
@@ -18522,19 +18803,19 @@
               }
             ],
             "key.kind" : "source.lang.swift.decl.class",
-            "key.length" : 7033,
+            "key.length" : 7083,
             "key.name" : "ContentContainerView",
             "key.namelength" : 20,
             "key.nameoffset" : 160,
             "key.offset" : 154,
             "key.parsed_declaration" : "final class ContentContainerView : UIView",
-            "key.parsed_scope.end" : 233,
+            "key.parsed_scope.end" : 235,
             "key.parsed_scope.start" : 13,
             "key.substructure" : [
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let contentView: Content<\/Type>.ContentView<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> contentView<\/decl.name>: Content<\/ref.generic_type_param>.ContentView<\/ref.associatedtype><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 37,
@@ -18556,17 +18837,17 @@
                   {
                     "key.attribute" : "source.decl.attribute.private",
                     "key.length" : 7,
-                    "key.offset" : 264
+                    "key.offset" : 248
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
                 "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> var<\/syntaxtype.keyword> swipeConfiguration<\/decl.name>: SwipeConfiguration<\/ref.struct>?<\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 43,
                 "key.name" : "swipeConfiguration",
                 "key.namelength" : 18,
-                "key.nameoffset" : 276,
-                "key.offset" : 272,
+                "key.nameoffset" : 260,
+                "key.offset" : 256,
                 "key.parsed_declaration" : "private var swipeConfiguration: SwipeConfiguration?",
                 "key.parsed_scope.end" : 17,
                 "key.parsed_scope.start" : 17,
@@ -18582,19 +18863,19 @@
                   {
                     "key.attribute" : "source.decl.attribute.private",
                     "key.length" : 7,
-                    "key.offset" : 333
+                    "key.offset" : 309
                   }
                 ],
                 "key.bodylength" : 181,
-                "key.bodyoffset" : 385,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
+                "key.bodyoffset" : 361,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
                 "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> var<\/syntaxtype.keyword> swipeState<\/decl.name>: SwipeActionState<\/ref.enum><\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 226,
                 "key.name" : "swipeState",
                 "key.namelength" : 10,
-                "key.nameoffset" : 345,
-                "key.offset" : 341,
+                "key.nameoffset" : 321,
+                "key.offset" : 317,
                 "key.parsed_declaration" : "private var swipeState: SwipeActionState = .closed",
                 "key.parsed_scope.end" : 25,
                 "key.parsed_scope.start" : 19,
@@ -18610,19 +18891,19 @@
                   {
                     "key.attribute" : "source.decl.attribute.override",
                     "key.length" : 8,
-                    "key.offset" : 577
+                    "key.offset" : 553
                   }
                 ],
-                "key.bodylength" : 252,
-                "key.bodyoffset" : 608,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
+                "key.bodylength" : 240,
+                "key.bodyoffset" : 584,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
                 "key.fully_annotated_decl" : "override<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(frame<\/decl.var.parameter.argument_label>: CGRect<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
-                "key.length" : 275,
+                "key.length" : 263,
                 "key.name" : "init(frame:)",
                 "key.namelength" : 20,
-                "key.nameoffset" : 586,
-                "key.offset" : 586,
+                "key.nameoffset" : 562,
+                "key.offset" : 562,
                 "key.overrides" : [
                   {
                     "key.usr" : "c:objc(cs)UIView(im)initWithFrame:"
@@ -18639,14 +18920,14 @@
                 "key.substructure" : [
                   {
                     "key.annotated_decl" : "let bounds: CGRect<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> bounds<\/decl.name>: CGRect<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 52,
                     "key.name" : "bounds",
                     "key.namelength" : 6,
-                    "key.nameoffset" : 625,
-                    "key.offset" : 621,
+                    "key.nameoffset" : 601,
+                    "key.offset" : 597,
                     "key.parsed_declaration" : "let bounds = CGRect(origin: .zero, size: frame.size)",
                     "key.parsed_scope.end" : 28,
                     "key.parsed_scope.start" : 28,
@@ -18670,23 +18951,23 @@
                   {
                     "key.attribute" : "source.decl.attribute.required",
                     "key.length" : 8,
-                    "key.offset" : 906
+                    "key.offset" : 870
                   },
                   {
                     "key.attribute" : "source.decl.attribute.available",
                     "key.length" : 26,
-                    "key.offset" : 871
+                    "key.offset" : 835
                   }
                 ],
                 "key.bodylength" : 14,
-                "key.bodyoffset" : 938,
+                "key.bodyoffset" : 902,
                 "key.internal_diagnostic" : "Unavailable in the current compilation context.",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 38,
                 "key.name" : "init(coder:)",
                 "key.namelength" : 21,
-                "key.nameoffset" : 915,
-                "key.offset" : 915,
+                "key.nameoffset" : 879,
+                "key.offset" : 879,
                 "key.substructure" : [
 
                 ]
@@ -18698,19 +18979,19 @@
                   {
                     "key.attribute" : "source.decl.attribute.override",
                     "key.length" : 8,
-                    "key.offset" : 963
+                    "key.offset" : 927
                   }
                 ],
                 "key.bodylength" : 230,
-                "key.bodyoffset" : 995,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
+                "key.bodyoffset" : 959,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
                 "key.fully_annotated_decl" : "override<\/syntaxtype.keyword> func<\/syntaxtype.keyword> layoutSubviews<\/decl.name>()<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 254,
                 "key.name" : "layoutSubviews()",
                 "key.namelength" : 16,
-                "key.nameoffset" : 977,
-                "key.offset" : 972,
+                "key.nameoffset" : 941,
+                "key.offset" : 936,
                 "key.overrides" : [
                   {
                     "key.usr" : "c:objc(cs)UIView(im)layoutSubviews"
@@ -18733,33 +19014,33 @@
                   {
                     "key.attribute" : "source.decl.attribute.private",
                     "key.length" : 7,
-                    "key.offset" : 1236
+                    "key.offset" : 1200
                   }
                 ],
                 "key.bodylength" : 905,
-                "key.bodyoffset" : 1304,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
+                "key.bodyoffset" : 1268,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
                 "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> func<\/syntaxtype.keyword> updateFrames<\/decl.name>(using<\/decl.var.parameter.argument_label> configuration<\/decl.var.parameter.name>: SwipeConfiguration<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 966,
                 "key.name" : "updateFrames(using:)",
                 "key.namelength" : 53,
-                "key.nameoffset" : 1249,
-                "key.offset" : 1244,
+                "key.nameoffset" : 1213,
+                "key.offset" : 1208,
                 "key.parsed_declaration" : "private func updateFrames(using configuration: SwipeConfiguration)",
                 "key.parsed_scope.end" : 84,
                 "key.parsed_scope.start" : 50,
                 "key.substructure" : [
                   {
                     "key.annotated_decl" : "let xOriginOffset: CGFloat<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> xOriginOffset<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 26,
                     "key.name" : "xOriginOffset",
                     "key.namelength" : 13,
-                    "key.nameoffset" : 1322,
-                    "key.offset" : 1318,
+                    "key.nameoffset" : 1286,
+                    "key.offset" : 1282,
                     "key.parsed_declaration" : "let xOriginOffset: CGFloat",
                     "key.parsed_scope.end" : 52,
                     "key.parsed_scope.start" : 52,
@@ -18778,7 +19059,7 @@
                 "key.name" : "MARK: - Swipe Registration",
                 "key.namelength" : 0,
                 "key.nameoffset" : 0,
-                "key.offset" : 2223
+                "key.offset" : 2187
               },
               {
                 "key.accessibility" : "source.lang.swift.accessibility.public",
@@ -18787,19 +19068,19 @@
                   {
                     "key.attribute" : "source.decl.attribute.public",
                     "key.length" : 6,
-                    "key.offset" : 2259
+                    "key.offset" : 2223
                   }
                 ],
                 "key.bodylength" : 359,
-                "key.bodyoffset" : 2298,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
+                "key.bodyoffset" : 2262,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> deregisterSwipeIfNeeded<\/decl.name>()<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 392,
                 "key.name" : "deregisterSwipeIfNeeded()",
                 "key.namelength" : 25,
-                "key.nameoffset" : 2271,
-                "key.offset" : 2266,
+                "key.nameoffset" : 2235,
+                "key.offset" : 2230,
                 "key.parsed_declaration" : "public func deregisterSwipeIfNeeded()",
                 "key.parsed_scope.end" : 99,
                 "key.parsed_scope.start" : 88,
@@ -18817,21 +19098,21 @@
                   {
                     "key.attribute" : "source.decl.attribute.public",
                     "key.length" : 6,
-                    "key.offset" : 2668
+                    "key.offset" : 2632
                   }
                 ],
-                "key.bodylength" : 994,
-                "key.bodyoffset" : 2767,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
+                "key.bodylength" : 1090,
+                "key.bodyoffset" : 2731,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> registerSwipeActionsIfNeeded<\/decl.name>(actions<\/decl.var.parameter.argument_label>: SwipeActionsConfiguration<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, reason<\/decl.var.parameter.argument_label>: ApplyReason<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
-                "key.length" : 1087,
+                "key.length" : 1183,
                 "key.name" : "registerSwipeActionsIfNeeded(actions:reason:)",
                 "key.namelength" : 85,
-                "key.nameoffset" : 2680,
-                "key.offset" : 2675,
+                "key.nameoffset" : 2644,
+                "key.offset" : 2639,
                 "key.parsed_declaration" : "public func registerSwipeActionsIfNeeded(actions: SwipeActionsConfiguration, reason: ApplyReason)",
-                "key.parsed_scope.end" : 126,
+                "key.parsed_scope.end" : 127,
                 "key.parsed_scope.start" : 101,
                 "key.substructure" : [
 
@@ -18847,25 +19128,25 @@
                   {
                     "key.attribute" : "source.decl.attribute.weak",
                     "key.length" : 4,
-                    "key.offset" : 3788
+                    "key.offset" : 3840
                   },
                   {
                     "key.attribute" : "source.decl.attribute.private",
                     "key.length" : 7,
-                    "key.offset" : 3780
+                    "key.offset" : 3832
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
                 "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> weak<\/syntaxtype.keyword> var<\/syntaxtype.keyword> listView<\/decl.name>: ListView<\/ref.class><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 30,
                 "key.name" : "listView",
                 "key.namelength" : 8,
-                "key.nameoffset" : 3797,
-                "key.offset" : 3793,
+                "key.nameoffset" : 3849,
+                "key.offset" : 3845,
                 "key.parsed_declaration" : "private weak var listView : ListView? = nil",
-                "key.parsed_scope.end" : 128,
-                "key.parsed_scope.start" : 128,
+                "key.parsed_scope.end" : 129,
+                "key.parsed_scope.start" : 129,
                 "key.setter_accessibility" : "source.lang.swift.accessibility.private",
                 "key.typename" : "ListView?",
                 "key.typeusr" : "$s10ListableUI8ListViewCSgD",
@@ -18878,92 +19159,92 @@
                   {
                     "key.attribute" : "source.decl.attribute.private",
                     "key.length" : 7,
-                    "key.offset" : 3839
+                    "key.offset" : 3891
                   },
                   {
                     "key.attribute" : "source.decl.attribute.objc",
                     "key.length" : 5,
-                    "key.offset" : 3833
+                    "key.offset" : 3885
                   }
                 ],
-                "key.bodylength" : 2031,
-                "key.bodyoffset" : 3895,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
+                "key.bodylength" : 2073,
+                "key.bodyoffset" : 3947,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
                 "key.fully_annotated_decl" : "@objc<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> private<\/syntaxtype.keyword> func<\/syntaxtype.keyword> handlePan<\/decl.name>(sender<\/decl.var.parameter.argument_label>: UIPanGestureRecognizer<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
-                "key.length" : 2080,
+                "key.length" : 2122,
                 "key.name" : "handlePan(sender:)",
                 "key.namelength" : 41,
-                "key.nameoffset" : 3852,
-                "key.offset" : 3847,
+                "key.nameoffset" : 3904,
+                "key.offset" : 3899,
                 "key.parsed_declaration" : "@objc private func handlePan(sender: UIPanGestureRecognizer)",
-                "key.parsed_scope.end" : 194,
-                "key.parsed_scope.start" : 130,
+                "key.parsed_scope.end" : 196,
+                "key.parsed_scope.start" : 131,
                 "key.substructure" : [
                   {
                     "key.annotated_decl" : "let offsetMultiplier: Double<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> offsetMultiplier<\/decl.name>: Double<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 69,
                     "key.name" : "offsetMultiplier",
                     "key.namelength" : 16,
-                    "key.nameoffset" : 4139,
-                    "key.offset" : 4135,
+                    "key.nameoffset" : 4167,
+                    "key.offset" : 4163,
                     "key.parsed_declaration" : "let offsetMultiplier = configuration.numberOfActions == 1 ? 0.5 : 0.7",
-                    "key.parsed_scope.end" : 138,
-                    "key.parsed_scope.start" : 138,
+                    "key.parsed_scope.end" : 139,
+                    "key.parsed_scope.start" : 139,
                     "key.typename" : "Double",
                     "key.typeusr" : "$sSdD",
                     "key.usr" : "s:10ListableUI8ItemCellC20ContentContainerViewC9handlePan33_A7F567565BF168C7DEE5B4CF43486FBDLL6senderySo22UIPanGestureRecognizerC_tF16offsetMultiplierL_Sdvp"
                   },
                   {
                     "key.annotated_decl" : "let performActionOffset: CGFloat<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> performActionOffset<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 65,
                     "key.name" : "performActionOffset",
                     "key.namelength" : 19,
-                    "key.nameoffset" : 4221,
-                    "key.offset" : 4217,
+                    "key.nameoffset" : 4249,
+                    "key.offset" : 4245,
                     "key.parsed_declaration" : "let performActionOffset = frame.width * CGFloat(offsetMultiplier)",
-                    "key.parsed_scope.end" : 139,
-                    "key.parsed_scope.start" : 139,
+                    "key.parsed_scope.end" : 140,
+                    "key.parsed_scope.start" : 140,
                     "key.typename" : "CGFloat",
                     "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
                     "key.usr" : "s:10ListableUI8ItemCellC20ContentContainerViewC9handlePan33_A7F567565BF168C7DEE5B4CF43486FBDLL6senderySo22UIPanGestureRecognizerC_tF19performActionOffsetL_12CoreGraphics7CGFloatVvp"
                   },
                   {
                     "key.annotated_decl" : "let currentSwipeOffset: CGFloat<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> currentSwipeOffset<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 52,
                     "key.name" : "currentSwipeOffset",
                     "key.namelength" : 18,
-                    "key.nameoffset" : 4299,
-                    "key.offset" : 4295,
+                    "key.nameoffset" : 4327,
+                    "key.offset" : 4323,
                     "key.parsed_declaration" : "let currentSwipeOffset = -contentView.frame.origin.x",
-                    "key.parsed_scope.end" : 140,
-                    "key.parsed_scope.start" : 140,
+                    "key.parsed_scope.end" : 141,
+                    "key.parsed_scope.start" : 141,
                     "key.typename" : "CGFloat",
                     "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
                     "key.usr" : "s:10ListableUI8ItemCellC20ContentContainerViewC9handlePan33_A7F567565BF168C7DEE5B4CF43486FBDLL6senderySo22UIPanGestureRecognizerC_tF18currentSwipeOffsetL_12CoreGraphics7CGFloatVvp"
                   },
                   {
                     "key.annotated_decl" : "let willPerformAction: Bool<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> willPerformAction<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
-                    "key.length" : 64,
+                    "key.length" : 130,
                     "key.name" : "willPerformAction",
                     "key.namelength" : 17,
-                    "key.nameoffset" : 4364,
-                    "key.offset" : 4360,
-                    "key.parsed_declaration" : "let willPerformAction = currentSwipeOffset > performActionOffset",
-                    "key.parsed_scope.end" : 141,
-                    "key.parsed_scope.start" : 141,
+                    "key.nameoffset" : 4392,
+                    "key.offset" : 4388,
+                    "key.parsed_declaration" : "let willPerformAction = currentSwipeOffset > performActionOffset\n    && configuration.performsFirstActionWithFullSwipe",
+                    "key.parsed_scope.end" : 142,
+                    "key.parsed_scope.start" : 142,
                     "key.typename" : "Bool",
                     "key.typeusr" : "$sSbD",
                     "key.usr" : "s:10ListableUI8ItemCellC20ContentContainerViewC9handlePan33_A7F567565BF168C7DEE5B4CF43486FBDLL6senderySo22UIPanGestureRecognizerC_tF17willPerformActionL_Sbvp"
@@ -18980,22 +19261,22 @@
                   {
                     "key.attribute" : "source.decl.attribute.private",
                     "key.length" : 7,
-                    "key.offset" : 5937
+                    "key.offset" : 6031
                   }
                 ],
-                "key.bodylength" : 209,
-                "key.bodyoffset" : 5989,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
+                "key.bodylength" : 197,
+                "key.bodyoffset" : 6083,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
                 "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> func<\/syntaxtype.keyword> didPerformAction<\/decl.name>(expandActions<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
-                "key.length" : 254,
+                "key.length" : 242,
                 "key.name" : "didPerformAction(expandActions:)",
                 "key.namelength" : 37,
-                "key.nameoffset" : 5950,
-                "key.offset" : 5945,
+                "key.nameoffset" : 6044,
+                "key.offset" : 6039,
                 "key.parsed_declaration" : "private func didPerformAction(expandActions: Bool)",
-                "key.parsed_scope.end" : 203,
-                "key.parsed_scope.start" : 196,
+                "key.parsed_scope.end" : 205,
+                "key.parsed_scope.start" : 198,
                 "key.substructure" : [
 
                 ],
@@ -19007,18 +19288,18 @@
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "func performAnimatedClose()<\/Declaration>",
                 "key.bodylength" : 62,
-                "key.bodyoffset" : 6246,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
+                "key.bodyoffset" : 6320,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> performAnimatedClose<\/decl.name>()<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 92,
                 "key.name" : "performAnimatedClose()",
                 "key.namelength" : 22,
-                "key.nameoffset" : 6222,
-                "key.offset" : 6217,
+                "key.nameoffset" : 6296,
+                "key.offset" : 6291,
                 "key.parsed_declaration" : "func performAnimatedClose()",
-                "key.parsed_scope.end" : 207,
-                "key.parsed_scope.start" : 205,
+                "key.parsed_scope.end" : 209,
+                "key.parsed_scope.start" : 207,
                 "key.substructure" : [
 
                 ],
@@ -19033,22 +19314,22 @@
                   {
                     "key.attribute" : "source.decl.attribute.private",
                     "key.length" : 7,
-                    "key.offset" : 6319
+                    "key.offset" : 6393
                   }
                 ],
-                "key.bodylength" : 320,
-                "key.bodyoffset" : 6386,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
+                "key.bodylength" : 296,
+                "key.bodyoffset" : 6460,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
                 "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> func<\/syntaxtype.keyword> set<\/decl.name>(state<\/decl.var.parameter.argument_label>: SwipeActionState<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>, animated<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type> = false<\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
-                "key.length" : 380,
+                "key.length" : 356,
                 "key.name" : "set(state:animated:)",
                 "key.namelength" : 52,
-                "key.nameoffset" : 6332,
-                "key.offset" : 6327,
+                "key.nameoffset" : 6406,
+                "key.offset" : 6401,
                 "key.parsed_declaration" : "private func set(state: SwipeActionState, animated: Bool = false)",
-                "key.parsed_scope.end" : 221,
-                "key.parsed_scope.start" : 209,
+                "key.parsed_scope.end" : 223,
+                "key.parsed_scope.start" : 211,
                 "key.substructure" : [
 
                 ],
@@ -19063,27 +19344,27 @@
                   {
                     "key.attribute" : "source.decl.attribute.private",
                     "key.length" : 7,
-                    "key.offset" : 6723
+                    "key.offset" : 6773
                   },
                   {
                     "key.attribute" : "source.decl.attribute.objc",
                     "key.length" : 5,
-                    "key.offset" : 6717
+                    "key.offset" : 6767
                   }
                 ],
                 "key.bodylength" : 90,
-                "key.bodyoffset" : 6808,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
+                "key.bodyoffset" : 6858,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
                 "key.fully_annotated_decl" : "@objc<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> private<\/syntaxtype.keyword> func<\/syntaxtype.keyword> performAccessibilityAction<\/decl.name>(_<\/decl.var.parameter.argument_label> action<\/decl.var.parameter.name>: AccessibilitySwipeAction<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 168,
                 "key.name" : "performAccessibilityAction(_:)",
                 "key.namelength" : 62,
-                "key.nameoffset" : 6736,
-                "key.offset" : 6731,
+                "key.nameoffset" : 6786,
+                "key.offset" : 6781,
                 "key.parsed_declaration" : "@objc private func performAccessibilityAction(_ action: AccessibilitySwipeAction) -> Bool",
-                "key.parsed_scope.end" : 226,
-                "key.parsed_scope.start" : 223,
+                "key.parsed_scope.end" : 228,
+                "key.parsed_scope.start" : 225,
                 "key.substructure" : [
 
                 ],
@@ -19098,22 +19379,22 @@
                   {
                     "key.attribute" : "source.decl.attribute.private",
                     "key.length" : 7,
-                    "key.offset" : 6909
+                    "key.offset" : 6959
                   }
                 ],
                 "key.bodylength" : 199,
-                "key.bodyoffset" : 6981,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
+                "key.bodyoffset" : 7031,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
                 "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> func<\/syntaxtype.keyword> configureAccessibilityActions<\/decl.name>(for<\/decl.var.parameter.argument_label> actions<\/decl.var.parameter.name>: [SwipeAction<\/ref.struct>]<\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 264,
                 "key.name" : "configureAccessibilityActions(for:)",
                 "key.namelength" : 57,
-                "key.nameoffset" : 6922,
-                "key.offset" : 6917,
+                "key.nameoffset" : 6972,
+                "key.offset" : 6967,
                 "key.parsed_declaration" : "private func configureAccessibilityActions(for actions: [SwipeAction])",
-                "key.parsed_scope.end" : 232,
-                "key.parsed_scope.start" : 228,
+                "key.parsed_scope.end" : 234,
+                "key.parsed_scope.start" : 230,
                 "key.substructure" : [
 
                 ],
@@ -19128,34 +19409,34 @@
           },
           {
             "key.annotated_decl" : "struct SwipeConfiguration<\/Declaration>",
-            "key.bodylength" : 143,
-            "key.bodyoffset" : 7220,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
+            "key.bodylength" : 194,
+            "key.bodyoffset" : 7270,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
             "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> SwipeConfiguration<\/decl.name><\/decl.struct>",
             "key.kind" : "source.lang.swift.decl.struct",
-            "key.length" : 171,
+            "key.length" : 222,
             "key.name" : "SwipeConfiguration",
             "key.namelength" : 18,
-            "key.nameoffset" : 7200,
-            "key.offset" : 7193,
+            "key.nameoffset" : 7250,
+            "key.offset" : 7243,
             "key.parsed_declaration" : "struct SwipeConfiguration",
-            "key.parsed_scope.end" : 239,
-            "key.parsed_scope.start" : 235,
+            "key.parsed_scope.end" : 242,
+            "key.parsed_scope.start" : 237,
             "key.substructure" : [
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let panGestureRecognizer: UIPanGestureRecognizer<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> panGestureRecognizer<\/decl.name>: UIPanGestureRecognizer<\/ref.class><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 48,
                 "key.name" : "panGestureRecognizer",
                 "key.namelength" : 20,
-                "key.nameoffset" : 7233,
-                "key.offset" : 7229,
+                "key.nameoffset" : 7283,
+                "key.offset" : 7279,
                 "key.parsed_declaration" : "let panGestureRecognizer: UIPanGestureRecognizer",
-                "key.parsed_scope.end" : 236,
-                "key.parsed_scope.start" : 236,
+                "key.parsed_scope.end" : 238,
+                "key.parsed_scope.start" : 238,
                 "key.typename" : "UIPanGestureRecognizer",
                 "key.typeusr" : "$sSo22UIPanGestureRecognizerCD",
                 "key.usr" : "s:10ListableUI8ItemCellC18SwipeConfigurationV20panGestureRecognizerSo05UIPanhI0Cvp"
@@ -19163,17 +19444,17 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let swipeView: Content<\/Type>.SwipeActionsView<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> swipeView<\/decl.name>: Content<\/ref.generic_type_param>.SwipeActionsView<\/ref.associatedtype><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 39,
                 "key.name" : "swipeView",
                 "key.namelength" : 9,
-                "key.nameoffset" : 7290,
-                "key.offset" : 7286,
+                "key.nameoffset" : 7340,
+                "key.offset" : 7336,
                 "key.parsed_declaration" : "let swipeView: Content.SwipeActionsView",
-                "key.parsed_scope.end" : 237,
-                "key.parsed_scope.start" : 237,
+                "key.parsed_scope.end" : 239,
+                "key.parsed_scope.start" : 239,
                 "key.typename" : "Content.SwipeActionsView",
                 "key.typeusr" : "$s16SwipeActionsView10ListableUI11ItemContentPQzD",
                 "key.usr" : "s:10ListableUI8ItemCellC18SwipeConfigurationV9swipeView0e7ActionsH0Qzvp"
@@ -19181,21 +19462,40 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var numberOfActions: Int<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> numberOfActions<\/decl.name>: Int<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 24,
                 "key.name" : "numberOfActions",
                 "key.namelength" : 15,
-                "key.nameoffset" : 7338,
-                "key.offset" : 7334,
+                "key.nameoffset" : 7388,
+                "key.offset" : 7384,
                 "key.parsed_declaration" : "var numberOfActions: Int",
-                "key.parsed_scope.end" : 238,
-                "key.parsed_scope.start" : 238,
+                "key.parsed_scope.end" : 240,
+                "key.parsed_scope.start" : 240,
                 "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
                 "key.typename" : "Int",
                 "key.typeusr" : "$sSiD",
                 "key.usr" : "s:10ListableUI8ItemCellC18SwipeConfigurationV15numberOfActionsSivp"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.internal",
+                "key.annotated_decl" : "var performsFirstActionWithFullSwipe: Bool<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
+                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> performsFirstActionWithFullSwipe<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 42,
+                "key.name" : "performsFirstActionWithFullSwipe",
+                "key.namelength" : 32,
+                "key.nameoffset" : 7421,
+                "key.offset" : 7417,
+                "key.parsed_declaration" : "var performsFirstActionWithFullSwipe: Bool",
+                "key.parsed_scope.end" : 241,
+                "key.parsed_scope.start" : 241,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
+                "key.typename" : "Bool",
+                "key.typeusr" : "$sSbD",
+                "key.usr" : "s:10ListableUI8ItemCellC18SwipeConfigurationV027performsFirstActionWithFullE0Sbvp"
               }
             ],
             "key.typename" : "ItemCell.SwipeConfiguration.Type",
@@ -19214,19 +19514,19 @@
           {
             "key.attribute" : "source.decl.attribute.private",
             "key.length" : 7,
-            "key.offset" : 7368
+            "key.offset" : 7469
           }
         ],
         "key.bodylength" : 212,
-        "key.bodyoffset" : 7437,
+        "key.bodyoffset" : 7538,
         "key.elements" : [
           {
             "key.kind" : "source.lang.swift.structure.elem.typeref",
             "key.length" : 27,
-            "key.offset" : 7408
+            "key.offset" : 7509
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
         "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> class<\/syntaxtype.keyword> AccessibilitySwipeAction<\/decl.name> : UIAccessibilityCustomAction<\/ref.class><\/decl.class>",
         "key.inheritedtypes" : [
           {
@@ -19237,26 +19537,26 @@
         "key.length" : 274,
         "key.name" : "AccessibilitySwipeAction",
         "key.namelength" : 24,
-        "key.nameoffset" : 7382,
-        "key.offset" : 7376,
+        "key.nameoffset" : 7483,
+        "key.offset" : 7477,
         "key.parsed_declaration" : "private class AccessibilitySwipeAction: UIAccessibilityCustomAction",
-        "key.parsed_scope.end" : 249,
-        "key.parsed_scope.start" : 242,
+        "key.parsed_scope.end" : 252,
+        "key.parsed_scope.start" : 245,
         "key.substructure" : [
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "let action: SwipeAction<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> action<\/decl.name>: SwipeAction<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 23,
             "key.name" : "action",
             "key.namelength" : 6,
-            "key.nameoffset" : 7446,
-            "key.offset" : 7442,
+            "key.nameoffset" : 7547,
+            "key.offset" : 7543,
             "key.parsed_declaration" : "let action: SwipeAction",
-            "key.parsed_scope.end" : 243,
-            "key.parsed_scope.start" : 243,
+            "key.parsed_scope.end" : 246,
+            "key.parsed_scope.start" : 246,
             "key.typename" : "SwipeAction",
             "key.typeusr" : "$s10ListableUI11SwipeActionVD",
             "key.usr" : "s:10ListableUI24AccessibilitySwipeAction33_A7F567565BF168C7DEE5B4CF43486FBDLLC6actionAA0dE0Vvp"
@@ -19265,18 +19565,18 @@
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "init(action: SwipeAction<\/Type>, target: Any?, selector: Selector<\/Type>)<\/Declaration>",
             "key.bodylength" : 115,
-            "key.bodyoffset" : 7532,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
+            "key.bodyoffset" : 7633,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
             "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(action<\/decl.var.parameter.argument_label>: SwipeAction<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, target<\/decl.var.parameter.argument_label>: Any<\/syntaxtype.keyword>?<\/decl.var.parameter.type><\/decl.var.parameter>, selector<\/decl.var.parameter.argument_label>: Selector<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 177,
             "key.name" : "init(action:target:selector:)",
             "key.namelength" : 59,
-            "key.nameoffset" : 7471,
-            "key.offset" : 7471,
+            "key.nameoffset" : 7572,
+            "key.offset" : 7572,
             "key.parsed_declaration" : "init(action: SwipeAction, target: Any?, selector: Selector)",
-            "key.parsed_scope.end" : 248,
-            "key.parsed_scope.start" : 245,
+            "key.parsed_scope.end" : 251,
+            "key.parsed_scope.start" : 248,
             "key.substructure" : [
 
             ],
@@ -19296,29 +19596,29 @@
           {
             "key.attribute" : "source.decl.attribute.public",
             "key.length" : 6,
-            "key.offset" : 7710
+            "key.offset" : 7811
           }
         ],
         "key.bodylength" : 513,
-        "key.bodyoffset" : 7751,
+        "key.bodyoffset" : 7852,
         "key.doc.column" : 13,
         "key.doc.comment" : "These states dictate the layout of the swipe actions.",
         "key.doc.declaration" : "public enum SwipeActionState : Equatable",
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
-        "key.doc.full_as_xml" : "SwipeActionState<\/Name>s:10ListableUI16SwipeActionStateO<\/USR>public enum SwipeActionState : Equatable<\/Declaration>These states dictate the layout of the swipe actions.<\/Para><\/Abstract><\/CommentParts><\/Other>",
-        "key.doc.line" : 252,
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
+        "key.doc.full_as_xml" : "SwipeActionState<\/Name>s:10ListableUI16SwipeActionStateO<\/USR>public enum SwipeActionState : Equatable<\/Declaration>These states dictate the layout of the swipe actions.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+        "key.doc.line" : 255,
         "key.doc.name" : "SwipeActionState",
         "key.doc.type" : "Other",
         "key.doclength" : 58,
-        "key.docoffset" : 7652,
+        "key.docoffset" : 7753,
         "key.elements" : [
           {
             "key.kind" : "source.lang.swift.structure.elem.typeref",
             "key.length" : 9,
-            "key.offset" : 7740
+            "key.offset" : 7841
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> enum<\/syntaxtype.keyword> SwipeActionState<\/decl.name> : Equatable<\/ref.protocol><\/decl.enum>",
         "key.inheritedtypes" : [
           {
@@ -19329,18 +19629,18 @@
         "key.length" : 548,
         "key.name" : "SwipeActionState",
         "key.namelength" : 16,
-        "key.nameoffset" : 7722,
-        "key.offset" : 7717,
+        "key.nameoffset" : 7823,
+        "key.offset" : 7818,
         "key.parsed_declaration" : "public enum SwipeActionState: Equatable",
-        "key.parsed_scope.end" : 267,
-        "key.parsed_scope.start" : 252,
+        "key.parsed_scope.end" : 270,
+        "key.parsed_scope.start" : 255,
         "key.substructure" : [
           {
             "key.kind" : "source.lang.swift.decl.enumcase",
             "key.length" : 11,
             "key.namelength" : 0,
             "key.nameoffset" : 0,
-            "key.offset" : 7802,
+            "key.offset" : 7903,
             "key.substructure" : [
               {
                 "key.accessibility" : "source.lang.swift.accessibility.public",
@@ -19348,24 +19648,24 @@
                 "key.doc.column" : 10,
                 "key.doc.comment" : "The actions are completely collapsed.",
                 "key.doc.declaration" : "",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
-                "key.doc.full_as_xml" : "closed<\/Name>s:10ListableUI16SwipeActionStateO6closedyA2CmF<\/USR><\/Declaration>The actions are completely collapsed.<\/Para><\/Abstract><\/CommentParts><\/Other>",
-                "key.doc.line" : 254,
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
+                "key.doc.full_as_xml" : "closed<\/Name>s:10ListableUI16SwipeActionStateO6closedyA2CmF<\/USR><\/Declaration>The actions are completely collapsed.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.line" : 257,
                 "key.doc.name" : "closed",
                 "key.doc.type" : "Other",
                 "key.doclength" : 42,
-                "key.docoffset" : 7756,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
+                "key.docoffset" : 7857,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
                 "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> closed<\/decl.name><\/decl.enumelement>",
                 "key.kind" : "source.lang.swift.decl.enumelement",
                 "key.length" : 6,
                 "key.name" : "closed",
                 "key.namelength" : 6,
-                "key.nameoffset" : 7807,
-                "key.offset" : 7807,
+                "key.nameoffset" : 7908,
+                "key.offset" : 7908,
                 "key.parsed_declaration" : "case closed",
-                "key.parsed_scope.end" : 254,
-                "key.parsed_scope.start" : 254,
+                "key.parsed_scope.end" : 257,
+                "key.parsed_scope.start" : 257,
                 "key.typename" : "(SwipeActionState.Type) -> SwipeActionState",
                 "key.typeusr" : "$sy10ListableUI16SwipeActionStateOACmcD",
                 "key.usr" : "s:10ListableUI16SwipeActionStateO6closedyA2CmF"
@@ -19377,7 +19677,7 @@
             "key.length" : 9,
             "key.namelength" : 0,
             "key.nameoffset" : 0,
-            "key.offset" : 7871,
+            "key.offset" : 7972,
             "key.substructure" : [
               {
                 "key.accessibility" : "source.lang.swift.accessibility.public",
@@ -19385,24 +19685,24 @@
                 "key.doc.column" : 10,
                 "key.doc.comment" : "The actions are open to their natural size.",
                 "key.doc.declaration" : "",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
-                "key.doc.full_as_xml" : "open<\/Name>s:10ListableUI16SwipeActionStateO4openyA2CmF<\/USR><\/Declaration>The actions are open to their natural size.<\/Para><\/Abstract><\/CommentParts><\/Other>",
-                "key.doc.line" : 257,
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
+                "key.doc.full_as_xml" : "open<\/Name>s:10ListableUI16SwipeActionStateO4openyA2CmF<\/USR><\/Declaration>The actions are open to their natural size.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.line" : 260,
                 "key.doc.name" : "open",
                 "key.doc.type" : "Other",
                 "key.doclength" : 48,
-                "key.docoffset" : 7819,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
+                "key.docoffset" : 7920,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
                 "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> open<\/decl.name><\/decl.enumelement>",
                 "key.kind" : "source.lang.swift.decl.enumelement",
                 "key.length" : 4,
                 "key.name" : "open",
                 "key.namelength" : 4,
-                "key.nameoffset" : 7876,
-                "key.offset" : 7876,
+                "key.nameoffset" : 7977,
+                "key.offset" : 7977,
                 "key.parsed_declaration" : "case open",
-                "key.parsed_scope.end" : 257,
-                "key.parsed_scope.start" : 257,
+                "key.parsed_scope.end" : 260,
+                "key.parsed_scope.start" : 260,
                 "key.typename" : "(SwipeActionState.Type) -> SwipeActionState",
                 "key.typeusr" : "$sy10ListableUI16SwipeActionStateOACmcD",
                 "key.usr" : "s:10ListableUI16SwipeActionStateO4openyA2CmF"
@@ -19414,7 +19714,7 @@
             "key.length" : 37,
             "key.namelength" : 0,
             "key.nameoffset" : 0,
-            "key.offset" : 7975,
+            "key.offset" : 8076,
             "key.substructure" : [
               {
                 "key.accessibility" : "source.lang.swift.accessibility.public",
@@ -19422,24 +19722,24 @@
                 "key.doc.column" : 10,
                 "key.doc.comment" : "The actions are being swiped and the size is affected by the gesture recognizer.",
                 "key.doc.declaration" : "",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
-                "key.doc.full_as_xml" : "swiping(willPerformAction:)<\/Name>s:10ListableUI16SwipeActionStateO7swipingyACSb_tcACmF<\/USR><\/Declaration>The actions are being swiped and the size is affected by the gesture recognizer.<\/Para><\/Abstract><\/CommentParts><\/Other>",
-                "key.doc.line" : 260,
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
+                "key.doc.full_as_xml" : "swiping(willPerformAction:)<\/Name>s:10ListableUI16SwipeActionStateO7swipingyACSb_tcACmF<\/USR><\/Declaration>The actions are being swiped and the size is affected by the gesture recognizer.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.line" : 263,
                 "key.doc.name" : "swiping(willPerformAction:)",
                 "key.doc.type" : "Other",
                 "key.doclength" : 85,
-                "key.docoffset" : 7886,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
+                "key.docoffset" : 7987,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
                 "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> swiping<\/decl.name>(willPerformAction<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.enumelement>",
                 "key.kind" : "source.lang.swift.decl.enumelement",
                 "key.length" : 32,
                 "key.name" : "swiping(willPerformAction:)",
                 "key.namelength" : 32,
-                "key.nameoffset" : 7980,
-                "key.offset" : 7980,
+                "key.nameoffset" : 8081,
+                "key.offset" : 8081,
                 "key.parsed_declaration" : "case swiping(willPerformAction: Bool)",
-                "key.parsed_scope.end" : 260,
-                "key.parsed_scope.start" : 260,
+                "key.parsed_scope.end" : 263,
+                "key.parsed_scope.start" : 263,
                 "key.substructure" : [
 
                 ],
@@ -19454,7 +19754,7 @@
             "key.length" : 40,
             "key.namelength" : 0,
             "key.nameoffset" : 0,
-            "key.offset" : 8095,
+            "key.offset" : 8196,
             "key.substructure" : [
               {
                 "key.accessibility" : "source.lang.swift.accessibility.public",
@@ -19462,24 +19762,24 @@
                 "key.doc.column" : 10,
                 "key.doc.comment" : "The actions have been swiped far enough to confirm the first action.",
                 "key.doc.declaration" : "",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
-                "key.doc.full_as_xml" : "willPerformFirstActionAutomatically<\/Name>s:10ListableUI16SwipeActionStateO016willPerformFirstD13AutomaticallyyA2CmF<\/USR><\/Declaration>The actions have been swiped far enough to confirm the first action.<\/Para><\/Abstract><\/CommentParts><\/Other>",
-                "key.doc.line" : 263,
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
+                "key.doc.full_as_xml" : "willPerformFirstActionAutomatically<\/Name>s:10ListableUI16SwipeActionStateO016willPerformFirstD13AutomaticallyyA2CmF<\/USR><\/Declaration>The actions have been swiped far enough to confirm the first action.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.line" : 266,
                 "key.doc.name" : "willPerformFirstActionAutomatically",
                 "key.doc.type" : "Other",
                 "key.doclength" : 73,
-                "key.docoffset" : 8018,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
+                "key.docoffset" : 8119,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
                 "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> willPerformFirstActionAutomatically<\/decl.name><\/decl.enumelement>",
                 "key.kind" : "source.lang.swift.decl.enumelement",
                 "key.length" : 35,
                 "key.name" : "willPerformFirstActionAutomatically",
                 "key.namelength" : 35,
-                "key.nameoffset" : 8100,
-                "key.offset" : 8100,
+                "key.nameoffset" : 8201,
+                "key.offset" : 8201,
                 "key.parsed_declaration" : "case willPerformFirstActionAutomatically",
-                "key.parsed_scope.end" : 263,
-                "key.parsed_scope.start" : 263,
+                "key.parsed_scope.end" : 266,
+                "key.parsed_scope.start" : 266,
                 "key.typename" : "(SwipeActionState.Type) -> SwipeActionState",
                 "key.typeusr" : "$sy10ListableUI16SwipeActionStateOACmcD",
                 "key.usr" : "s:10ListableUI16SwipeActionStateO016willPerformFirstD13AutomaticallyyA2CmF"
@@ -19491,7 +19791,7 @@
             "key.length" : 18,
             "key.namelength" : 0,
             "key.nameoffset" : 0,
-            "key.offset" : 8245,
+            "key.offset" : 8346,
             "key.substructure" : [
               {
                 "key.accessibility" : "source.lang.swift.accessibility.public",
@@ -19499,24 +19799,24 @@
                 "key.doc.column" : 10,
                 "key.doc.comment" : "The actions have been asked to completely expand (typically because the item is being deleted).",
                 "key.doc.declaration" : "",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
-                "key.doc.full_as_xml" : "expandActions<\/Name>s:10ListableUI16SwipeActionStateO13expandActionsyA2CmF<\/USR><\/Declaration>The actions have been asked to completely expand (typically because the item is being deleted).<\/Para><\/Abstract><\/CommentParts><\/Other>",
-                "key.doc.line" : 266,
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
+                "key.doc.full_as_xml" : "expandActions<\/Name>s:10ListableUI16SwipeActionStateO13expandActionsyA2CmF<\/USR><\/Declaration>The actions have been asked to completely expand (typically because the item is being deleted).<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.line" : 269,
                 "key.doc.name" : "expandActions",
                 "key.doc.type" : "Other",
                 "key.doclength" : 100,
-                "key.docoffset" : 8141,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
+                "key.docoffset" : 8242,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.ContentViewContainer.swift",
                 "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> expandActions<\/decl.name><\/decl.enumelement>",
                 "key.kind" : "source.lang.swift.decl.enumelement",
                 "key.length" : 13,
                 "key.name" : "expandActions",
                 "key.namelength" : 13,
-                "key.nameoffset" : 8250,
-                "key.offset" : 8250,
+                "key.nameoffset" : 8351,
+                "key.offset" : 8351,
                 "key.parsed_declaration" : "case expandActions",
-                "key.parsed_scope.end" : 266,
-                "key.parsed_scope.start" : 266,
+                "key.parsed_scope.end" : 269,
+                "key.parsed_scope.start" : 269,
                 "key.typename" : "(SwipeActionState.Type) -> SwipeActionState",
                 "key.typeusr" : "$sy10ListableUI16SwipeActionStateOACmcD",
                 "key.usr" : "s:10ListableUI16SwipeActionStateO13expandActionsyA2CmF"
@@ -19531,7 +19831,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 5515,
     "key.offset" : 0,
@@ -19548,7 +19848,7 @@
             "key.offset" : 124
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.swift",
         "key.fully_annotated_decl" : "protocol<\/syntaxtype.keyword> AnyItemCell<\/decl.name> : UICollectionViewCell<\/ref.class><\/decl.protocol>",
         "key.inheritedtypes" : [
           {
@@ -19568,7 +19868,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "func closeSwipeActions()<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> closeSwipeActions<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 24,
@@ -19586,7 +19886,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "func wasDequeued(with liveCells: LiveCells<\/Type>)<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> wasDequeued<\/decl.name>(with<\/decl.var.parameter.argument_label> liveCells<\/decl.var.parameter.name>: LiveCells<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 44,
@@ -19629,8 +19929,8 @@
             "Para" : "Information on how cell selection appearance customization works: https:\/\/developer.apple.com\/documentation\/uikit\/uicollectionviewdelegate\/changing_the_appearance_of_selected_and_highlighted_cells"
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.swift",
-        "key.doc.full_as_xml" : "ItemCell<\/Name>s:10ListableUI8ItemCellC<\/USR>final class ItemCell<Content> : UICollectionViewCell, AnyItemCell where Content : ListableUI.ItemContent<\/Declaration>An internal cell type used to render items in the list.<\/Para><\/Abstract>Information on how cell selection appearance customization works: https:\/\/developer.apple.com\/documentation\/uikit\/uicollectionviewdelegate\/changing_the_appearance_of_selected_and_highlighted_cells<\/Para><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.swift",
+        "key.doc.full_as_xml" : "ItemCell<\/Name>s:10ListableUI8ItemCellC<\/USR>final class ItemCell<Content> : UICollectionViewCell, AnyItemCell where Content : ListableUI.ItemContent<\/Declaration>An internal cell type used to render items in the list.<\/Para><\/Abstract>Information on how cell selection appearance customization works: https:\/\/developer.apple.com\/documentation\/uikit\/uicollectionviewdelegate\/changing_the_appearance_of_selected_and_highlighted_cells<\/Para><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 24,
         "key.doc.name" : "ItemCell",
         "key.doc.type" : "Class",
@@ -19648,7 +19948,7 @@
             "key.offset" : 576
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.swift",
         "key.fully_annotated_decl" : "final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> ItemCell<\/decl.name><Content<\/decl.generic_type_param.name><\/decl.generic_type_param>> : UICollectionViewCell<\/ref.class>, AnyItemCell<\/ref.protocol> where<\/syntaxtype.keyword> Content : ItemContent<\/ref.protocol><\/decl.generic_type_requirement><\/decl.class>",
         "key.inheritedtypes" : [
           {
@@ -19677,7 +19977,7 @@
                 "key.offset" : 539
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.swift",
             "key.fully_annotated_decl" : "Content<\/decl.generic_type_param.name> : ItemContent<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
             "key.inheritedtypes" : [
               {
@@ -19700,7 +20000,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "let contentContainer: ContentContainerView<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> contentContainer<\/decl.name>: ContentContainerView<\/ref.class><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 43,
@@ -19718,7 +20018,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "let background: Content<\/Type>.BackgroundView<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> background<\/decl.name>: Content<\/ref.generic_type_param>.BackgroundView<\/ref.associatedtype><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 39,
@@ -19736,7 +20036,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "let selectedBackground: Content<\/Type>.SelectedBackgroundView<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> selectedBackground<\/decl.name>: Content<\/ref.generic_type_param>.SelectedBackgroundView<\/ref.associatedtype><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 55,
@@ -19763,7 +20063,7 @@
             ],
             "key.bodylength" : 768,
             "key.bodyoffset" : 782,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.swift",
             "key.fully_annotated_decl" : "override<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(frame<\/decl.var.parameter.argument_label>: CGRect<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 794,
@@ -19787,7 +20087,7 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let bounds: CGRect<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> bounds<\/decl.name>: CGRect<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 52,
@@ -19851,7 +20151,7 @@
             ],
             "key.bodylength" : 1896,
             "key.bodyoffset" : 1794,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.swift",
             "key.fully_annotated_decl" : "override<\/syntaxtype.keyword> func<\/syntaxtype.keyword> preferredLayoutAttributesFitting<\/decl.name>(_<\/decl.var.parameter.argument_label> layoutAttributes<\/decl.var.parameter.name>: UICollectionViewLayoutAttributes<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>) -> UICollectionViewLayoutAttributes<\/ref.class><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 2030,
@@ -19895,7 +20195,7 @@
             "key.bodylength" : 66,
             "key.bodyoffset" : 3780,
             "key.doc.comment" : "Listable already properly sizes each cell. We do not use self-sizing cells.\nThus, just return the existing layout attributes.\n\nThis avoids an expensive call to sizeThatFits to \"re-size\" the cell to the same size\nduring each of UICollectionView's layout passes:\n\n#0  ItemElementCell.sizeThatFits(_:)\n#1  @objc ItemElementCell.sizeThatFits(_:) ()\n#2  -[UICollectionViewCell systemLayoutSizeFittingSize:withHorizontalFittingPriority:verticalFittingPriority:] ()\n#3  -[UICollectionReusableView preferredLayoutAttributesFittingAttributes:] ()\n#4  -[UICollectionReusableView _preferredLayoutAttributesFittingAttributes:] ()\n#5  -[UICollectionView _checkForPreferredAttributesInView:originalAttributes:] ()\n#6  -[UICollectionView _updateVisibleCellsNow:] ()\n#7  -[UICollectionView layoutSubviews] ()\n\nReturning the passed in value without calling super is OK, per the docs:\nhttps:\/\/developer.apple.com\/documentation\/uikit\/uicollectionreusableview\/1620132-preferredlayoutattributesfitting\n\n  | The default implementation of this method adjusts the size values to accommodate changes made by a self-sizing cell.\n  | Subclasses can override this method and use it to adjust other layout attributes too.\n  | If you override this method and want the cell size adjustments, call super first and make your own modifications to the returned attributes.\n\nImportant part being \"If you override this method **and want the cell size adjustments**, call super first\".\n\nWe do not want these. Thus, this is fine.",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.swift",
             "key.fully_annotated_decl" : "override<\/syntaxtype.keyword> func<\/syntaxtype.keyword> sizeThatFits<\/decl.name>(_<\/decl.var.parameter.argument_label> size<\/decl.var.parameter.name>: CGSize<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGSize<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 112,
@@ -19930,7 +20230,7 @@
             ],
             "key.bodylength" : 83,
             "key.bodyoffset" : 3928,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.swift",
             "key.fully_annotated_decl" : "override<\/syntaxtype.keyword> func<\/syntaxtype.keyword> systemLayoutSizeFitting<\/decl.name>(_<\/decl.var.parameter.argument_label> targetSize<\/decl.var.parameter.name>: CGSize<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGSize<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 146,
@@ -19970,7 +20270,7 @@
             ],
             "key.bodylength" : 237,
             "key.bodyoffset" : 4241,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.swift",
             "key.fully_annotated_decl" : "override<\/syntaxtype.keyword> func<\/syntaxtype.keyword> systemLayoutSizeFitting<\/decl.name>(_<\/decl.var.parameter.argument_label> targetSize<\/decl.var.parameter.name>: CGSize<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, withHorizontalFittingPriority<\/decl.var.parameter.argument_label> horizontalFittingPriority<\/decl.var.parameter.name>: UILayoutPriority<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, verticalFittingPriority<\/decl.var.parameter.argument_label>: UILayoutPriority<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGSize<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 448,
@@ -20010,7 +20310,7 @@
             ],
             "key.bodylength" : 115,
             "key.bodyoffset" : 4521,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.swift",
             "key.fully_annotated_decl" : "override<\/syntaxtype.keyword> func<\/syntaxtype.keyword> layoutSubviews<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 143,
@@ -20046,7 +20346,7 @@
             "key.annotated_decl" : "func closeSwipeActions()<\/Declaration>",
             "key.bodylength" : 58,
             "key.bodyoffset" : 4703,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> closeSwipeActions<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 85,
@@ -20079,7 +20379,7 @@
                 "key.offset" : 4772
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> var<\/syntaxtype.keyword> hasBeenDequeued<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 27,
@@ -20100,7 +20400,7 @@
             "key.annotated_decl" : "func wasDequeued(with liveCells: LiveCells<\/Type>)<\/Declaration>",
             "key.bodylength" : 162,
             "key.bodyoffset" : 4863,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> wasDequeued<\/decl.name>(with<\/decl.var.parameter.argument_label> liveCells<\/decl.var.parameter.name>: LiveCells<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 209,
@@ -20140,7 +20440,7 @@
         ],
         "key.bodylength" : 459,
         "key.bodyoffset" : 5054,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.swift",
         "key.fully_annotated_decl" : "final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> LiveCells<\/decl.name><\/decl.class>",
         "key.kind" : "source.lang.swift.decl.class",
         "key.length" : 477,
@@ -20157,7 +20457,7 @@
             "key.annotated_decl" : "func add(_ cell: AnyItemCell<\/Type>)<\/Declaration>",
             "key.bodylength" : 117,
             "key.bodyoffset" : 5096,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> add<\/decl.name>(_<\/decl.var.parameter.argument_label> cell<\/decl.var.parameter.name>: AnyItemCell<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 150,
@@ -20180,7 +20480,7 @@
             "key.annotated_decl" : "func perform(_ block: (AnyItemCell<\/Type>) -> ())<\/Declaration>",
             "key.bodylength" : 122,
             "key.bodyoffset" : 5269,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> perform<\/decl.name>(_<\/decl.var.parameter.argument_label> block<\/decl.var.parameter.name>: (AnyItemCell<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 168,
@@ -20208,7 +20508,7 @@
                 "key.offset" : 5402
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword>(set) var<\/syntaxtype.keyword> cells<\/decl.name>: [LiveCell<\/ref.struct>]<\/decl.var.type> { get }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 27,
@@ -20229,7 +20529,7 @@
             "key.annotated_decl" : "struct LiveCells<\/Type>.LiveCell<\/Declaration>",
             "key.bodylength" : 42,
             "key.bodyoffset" : 5469,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.swift",
             "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> LiveCells<\/ref.class>.LiveCell<\/decl.name><\/decl.struct>",
             "key.kind" : "source.lang.swift.decl.struct",
             "key.length" : 60,
@@ -20251,7 +20551,7 @@
                     "key.offset" : 5478
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ItemCell.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ItemCell.swift",
                 "key.fully_annotated_decl" : "weak<\/syntaxtype.keyword> var<\/syntaxtype.keyword> cell<\/decl.name>: AnyItemCell<\/ref.protocol><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 23,
@@ -20280,7 +20580,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 9296,
     "key.offset" : 0,
@@ -20297,7 +20597,7 @@
             "key.offset" : 145
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
         "key.fully_annotated_decl" : "protocol<\/syntaxtype.keyword> KeyboardObserverDelegate<\/decl.name> : AnyObject<\/decl.protocol>",
         "key.inheritedtypes" : [
           {
@@ -20317,7 +20617,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "func keyboardFrameWillChange(for observer: KeyboardObserver<\/Type>, animationDuration: Double<\/Type>, options: UIView<\/Type>.AnimationOptions<\/Type>)<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> keyboardFrameWillChange<\/decl.name>(for<\/decl.var.parameter.argument_label> observer<\/decl.var.parameter.name>: KeyboardObserver<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, animationDuration<\/decl.var.parameter.argument_label>: Double<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, options<\/decl.var.parameter.argument_label>: UIView<\/ref.class>.AnimationOptions<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 154,
@@ -20366,14 +20666,14 @@
             "Para" : "iOS Docs for keyboard management: https:\/\/developer.apple.com\/library\/archive\/documentation\/StringsTextFonts\/Conceptual\/TextAndWebiPhoneOS\/KeyboardManagement\/KeyboardManagement.html"
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
-        "key.doc.full_as_xml" : "KeyboardObserver<\/Name>s:10ListableUI16KeyboardObserverC<\/USR>final class KeyboardObserver<\/Declaration>Encapsulates listening for system keyboard updates, plus transforming the visible frame of the keyboard into the coordinates of a requested view.<\/Para><\/Abstract>You use this class by providing a delegate, which receives callbacks when changes to the keyboard frame occur. You would usually implement the delegate somewhat like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>]]><\/rawHTML>Notes]]><\/rawHTML>iOS Docs for keyboard management: https:\/\/developer.apple.com\/library\/archive\/documentation\/StringsTextFonts\/Conceptual\/TextAndWebiPhoneOS\/KeyboardManagement\/KeyboardManagement.html<\/Para><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
+        "key.doc.full_as_xml" : "KeyboardObserver<\/Name>s:10ListableUI16KeyboardObserverC<\/USR>final class KeyboardObserver<\/Declaration>Encapsulates listening for system keyboard updates, plus transforming the visible frame of the keyboard into the coordinates of a requested view.<\/Para><\/Abstract>You use this class by providing a delegate, which receives callbacks when changes to the keyboard frame occur. You would usually implement the delegate somewhat like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>]]><\/rawHTML>Notes]]><\/rawHTML>iOS Docs for keyboard management: https:\/\/developer.apple.com\/library\/archive\/documentation\/StringsTextFonts\/Conceptual\/TextAndWebiPhoneOS\/KeyboardManagement\/KeyboardManagement.html<\/Para><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 43,
         "key.doc.name" : "KeyboardObserver",
         "key.doc.type" : "Class",
         "key.doclength" : 891,
         "key.docoffset" : 324,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
         "key.fully_annotated_decl" : "final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> KeyboardObserver<\/decl.name><\/decl.class>",
         "key.kind" : "source.lang.swift.decl.class",
         "key.length" : 5394,
@@ -20399,14 +20699,14 @@
                 "Para" : "Thus, the `shared` observer is set up on app startup (see `SetupKeyboardObserverOnAppStartup.m`) to avoid this problem."
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
-            "key.doc.full_as_xml" : "shared<\/Name>s:10ListableUI16KeyboardObserverC6sharedACvpZ<\/USR>static let shared: KeyboardObserver<\/Declaration>The global shared keyboard observer. Why is it a global shared instance? We can only know the keyboard position via the keyboard frame notifications.<\/Para><\/Abstract>If a ListView<\/codeVoice> is created while a keyboard is already on-screen, we’d have no way to determine the keyboard frame, and thus couldn’t provide the correct content insets to avoid the visible keyboard.<\/Para>Thus, the shared<\/codeVoice> observer is set up on app startup (see SetupKeyboardObserverOnAppStartup.m<\/codeVoice>) to avoid this problem.<\/Para><\/Discussion><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
+            "key.doc.full_as_xml" : "shared<\/Name>s:10ListableUI16KeyboardObserverC6sharedACvpZ<\/USR>static let shared: KeyboardObserver<\/Declaration>The global shared keyboard observer. Why is it a global shared instance? We can only know the keyboard position via the keyboard frame notifications.<\/Para><\/Abstract>If a ListView<\/codeVoice> is created while a keyboard is already on-screen, we’d have no way to determine the keyboard frame, and thus couldn’t provide the correct content insets to avoid the visible keyboard.<\/Para>Thus, the shared<\/codeVoice> observer is set up on app startup (see SetupKeyboardObserverOnAppStartup.m<\/codeVoice>) to avoid this problem.<\/Para><\/Discussion><\/CommentParts><\/Other>",
             "key.doc.line" : 54,
             "key.doc.name" : "shared",
             "key.doc.type" : "Other",
             "key.doclength" : 538,
             "key.docoffset" : 1256,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
             "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> let<\/syntaxtype.keyword> shared<\/decl.name>: KeyboardObserver<\/ref.class><\/decl.var.type><\/decl.var.static>",
             "key.kind" : "source.lang.swift.decl.var.static",
             "key.length" : 73,
@@ -20434,14 +20734,14 @@
             "key.doc.column" : 28,
             "key.doc.comment" : "Allow logging to the console if app startup-timed shared instance startup did not\noccur; this could cause bugs for the reasons outlined above.",
             "key.doc.declaration" : "fileprivate static var didSetupSharedInstanceDuringAppStartup: Bool",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
-            "key.doc.full_as_xml" : "didSetupSharedInstanceDuringAppStartup<\/Name>s:10ListableUI16KeyboardObserverC38didSetupSharedInstanceDuringAppStartup33_7A7D548761D56153640A94A774282F3CLLSbvpZ<\/USR>fileprivate static var didSetupSharedInstanceDuringAppStartup: Bool<\/Declaration>Allow logging to the console if app startup-timed shared instance startup did not occur; this could cause bugs for the reasons outlined above.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
+            "key.doc.full_as_xml" : "didSetupSharedInstanceDuringAppStartup<\/Name>s:10ListableUI16KeyboardObserverC38didSetupSharedInstanceDuringAppStartup33_7A7D548761D56153640A94A774282F3CLLSbvpZ<\/USR>fileprivate static var didSetupSharedInstanceDuringAppStartup: Bool<\/Declaration>Allow logging to the console if app startup-timed shared instance startup did not occur; this could cause bugs for the reasons outlined above.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 58,
             "key.doc.name" : "didSetupSharedInstanceDuringAppStartup",
             "key.doc.type" : "Other",
             "key.doclength" : 155,
             "key.docoffset" : 1881,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
             "key.fully_annotated_decl" : "fileprivate<\/syntaxtype.keyword> static<\/syntaxtype.keyword> var<\/syntaxtype.keyword> didSetupSharedInstanceDuringAppStartup<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.static>",
             "key.kind" : "source.lang.swift.decl.var.static",
             "key.length" : 57,
@@ -20467,7 +20767,7 @@
                 "key.offset" : 2119
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> let<\/syntaxtype.keyword> center<\/decl.name>: NotificationCenter<\/ref.class><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 31,
@@ -20492,7 +20792,7 @@
                 "key.offset" : 2168
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword>(set) var<\/syntaxtype.keyword> delegates<\/decl.name>: [Delegate<\/ref.struct>]<\/decl.var.type> { get }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 31,
@@ -20513,7 +20813,7 @@
             "key.annotated_decl" : "struct KeyboardObserver<\/Type>.Delegate<\/Declaration>",
             "key.bodylength" : 69,
             "key.bodyoffset" : 2239,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
             "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> KeyboardObserver<\/ref.class>.Delegate<\/decl.name><\/decl.struct>",
             "key.kind" : "source.lang.swift.decl.struct",
             "key.length" : 87,
@@ -20540,7 +20840,7 @@
                     "key.offset" : 2248
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
                 "key.fully_annotated_decl" : "private<\/syntaxtype.keyword>(set) weak<\/syntaxtype.keyword> var<\/syntaxtype.keyword> value<\/decl.name>: KeyboardObserverDelegate<\/ref.protocol><\/decl.var.type> { get }<\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 37,
@@ -20574,7 +20874,7 @@
             "key.annotated_decl" : "init(center: NotificationCenter<\/Type>)<\/Declaration>",
             "key.bodylength" : 867,
             "key.bodyoffset" : 2401,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
             "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(center<\/decl.var.parameter.argument_label>: NotificationCenter<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 903,
@@ -20603,7 +20903,7 @@
               }
             ],
             "key.doc.comment" : "We need to listen to both `will` and `keyboardDidChangeFrame` notifications. Why?\n\nWhen dealing with an undocked or floating keyboard, moving the keyboard\naround the screen does NOT call `willChangeFrame`; only `didChangeFrame` is called.\n\nBefore calling the delegate, we compare `old.endingFrame != new.endingFrame`,\nwhich ensures that the delegate is notified if the frame really changes, and\nprevents duplicate calls.",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> var<\/syntaxtype.keyword> latestNotification<\/decl.name>: NotificationInfo<\/ref.struct>?<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 42,
@@ -20632,7 +20932,7 @@
             "key.annotated_decl" : "func add(delegate: KeyboardObserverDelegate<\/Type>)<\/Declaration>",
             "key.bodylength" : 230,
             "key.bodyoffset" : 3428,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> add<\/decl.name>(delegate<\/decl.var.parameter.argument_label>: KeyboardObserverDelegate<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 278,
@@ -20655,7 +20955,7 @@
             "key.annotated_decl" : "func remove(delegate: KeyboardObserverDelegate<\/Type>)<\/Declaration>",
             "key.bodylength" : 135,
             "key.bodyoffset" : 3719,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> remove<\/decl.name>(delegate<\/decl.var.parameter.argument_label>: KeyboardObserverDelegate<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 186,
@@ -20685,7 +20985,7 @@
             ],
             "key.bodylength" : 78,
             "key.bodyoffset" : 3908,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> func<\/syntaxtype.keyword> removeDeallocatedDelegates<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 114,
@@ -20723,7 +21023,7 @@
                 "key.offset" : 4067
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
             "key.fully_annotated_decl" : "enum<\/syntaxtype.keyword> KeyboardObserver<\/ref.class>.KeyboardFrame<\/decl.name> : Equatable<\/ref.protocol><\/decl.enum>",
             "key.inheritedtypes" : [
               {
@@ -20753,14 +21053,14 @@
                     "key.doc.column" : 14,
                     "key.doc.comment" : "The current frame does not overlap the current view at all.",
                     "key.doc.declaration" : "",
-                    "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
-                    "key.doc.full_as_xml" : "nonOverlapping<\/Name>s:10ListableUI16KeyboardObserverC0C5FrameO14nonOverlappingyA2EmF<\/USR><\/Declaration>The current frame does not overlap the current view at all.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                    "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
+                    "key.doc.full_as_xml" : "nonOverlapping<\/Name>s:10ListableUI16KeyboardObserverC0C5FrameO14nonOverlappingyA2EmF<\/USR><\/Declaration>The current frame does not overlap the current view at all.<\/Para><\/Abstract><\/CommentParts><\/Other>",
                     "key.doc.line" : 127,
                     "key.doc.name" : "nonOverlapping",
                     "key.doc.type" : "Other",
                     "key.doclength" : 64,
                     "key.docoffset" : 4096,
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> nonOverlapping<\/decl.name><\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 14,
@@ -20790,14 +21090,14 @@
                     "key.doc.column" : 14,
                     "key.doc.comment" : "The current frame does overlap the view, by the provided rect, in the view's coordinate space.",
                     "key.doc.declaration" : "",
-                    "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
-                    "key.doc.full_as_xml" : "overlapping(frame:)<\/Name>s:10ListableUI16KeyboardObserverC0C5FrameO11overlappingyAESo6CGRectV_tcAEmF<\/USR><\/Declaration>The current frame does overlap the view, by the provided rect, in the view’s coordinate space.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                    "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
+                    "key.doc.full_as_xml" : "overlapping(frame:)<\/Name>s:10ListableUI16KeyboardObserverC0C5FrameO11overlappingyAESo6CGRectV_tcAEmF<\/USR><\/Declaration>The current frame does overlap the view, by the provided rect, in the view’s coordinate space.<\/Para><\/Abstract><\/CommentParts><\/Other>",
                     "key.doc.line" : 130,
                     "key.doc.name" : "overlapping(frame:)",
                     "key.doc.type" : "Other",
                     "key.doclength" : 99,
                     "key.docoffset" : 4205,
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> overlapping<\/decl.name>(frame<\/decl.var.parameter.argument_label>: CGRect<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 26,
@@ -20830,14 +21130,14 @@
             "key.doc.column" : 10,
             "key.doc.comment" : "How the keyboard overlaps the view provided. If the view is not on screen (eg, no window),\nor the observer has not yet learned about the keyboard's position, this method returns nil.",
             "key.doc.declaration" : "func currentFrame(in view: UIView) -> KeyboardFrame?",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
-            "key.doc.full_as_xml" : "currentFrame(in:)<\/Name>s:10ListableUI16KeyboardObserverC12currentFrame2inAC0cF0OSgSo6UIViewC_tF<\/USR>func currentFrame(in view: UIView) -> KeyboardFrame?<\/Declaration>How the keyboard overlaps the view provided. If the view is not on screen (eg, no window), or the observer has not yet learned about the keyboard’s position, this method returns nil.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
+            "key.doc.full_as_xml" : "currentFrame(in:)<\/Name>s:10ListableUI16KeyboardObserverC12currentFrame2inAC0cF0OSgSo6UIViewC_tF<\/USR>func currentFrame(in view: UIView) -> KeyboardFrame?<\/Declaration>How the keyboard overlaps the view provided. If the view is not on screen (eg, no window), or the observer has not yet learned about the keyboard’s position, this method returns nil.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 135,
             "key.doc.name" : "currentFrame(in:)",
             "key.doc.type" : "Function",
             "key.doclength" : 195,
             "key.docoffset" : 4359,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> currentFrame<\/decl.name>(in<\/decl.var.parameter.argument_label> view<\/decl.var.parameter.name>: UIView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>) -> KeyboardFrame<\/ref.enum>?<\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 488,
@@ -20851,7 +21151,7 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let frame: CGRect<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> frame<\/decl.name>: CGRect<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 61,
@@ -20891,7 +21191,7 @@
             ],
             "key.bodylength" : 985,
             "key.bodyoffset" : 5174,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> func<\/syntaxtype.keyword> receivedUpdatedKeyboardInfo<\/decl.name>(_<\/decl.var.parameter.argument_label> new<\/decl.var.parameter.name>: NotificationInfo<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 1046,
@@ -20905,7 +21205,7 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let old: KeyboardObserver<\/Type>.NotificationInfo<\/Type>?<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> old<\/decl.name>: KeyboardObserver<\/ref.class>.NotificationInfo<\/ref.struct>?<\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 33,
@@ -20923,7 +21223,7 @@
               {
                 "key.annotated_decl" : "let old: KeyboardObserver<\/Type>.NotificationInfo<\/Type><\/Declaration>",
                 "key.doc.comment" : "Only communicate a frame change to the delegate if the frame actually changed.",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> old<\/decl.name>: KeyboardObserver<\/ref.class>.NotificationInfo<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 3,
@@ -20946,14 +21246,14 @@
                     "Para" : "This is unfortunately a private UIView curve. However, we can map it to the animation options’ curve like so: https:\/\/stackoverflow.com\/questions\/26939105\/keyboard-animation-curve-as-int"
                   }
                 ],
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
-                "key.doc.full_as_xml" : "animationOptions<\/Name>s:10ListableUI16KeyboardObserverC015receivedUpdatedC4Info33_7A7D548761D56153640A94A774282F3CLLyyAC012NotificationG0VF16animationOptionsL_So015UIViewAnimationP0Vvp<\/USR>let animationOptions: UIView.AnimationOptions<\/Declaration>Create an animation curve with the correct curve for showing or hiding the keyboard.<\/Para><\/Abstract>This is unfortunately a private UIView curve. However, we can map it to the animation options’ curve like so: https:\/\/stackoverflow.com\/questions\/26939105\/keyboard-animation-curve-as-int<\/Para><\/Discussion><\/CommentParts><\/Other>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
+                "key.doc.full_as_xml" : "animationOptions<\/Name>s:10ListableUI16KeyboardObserverC015receivedUpdatedC4Info33_7A7D548761D56153640A94A774282F3CLLyyAC012NotificationG0VF16animationOptionsL_So015UIViewAnimationP0Vvp<\/USR>let animationOptions: UIView.AnimationOptions<\/Declaration>Create an animation curve with the correct curve for showing or hiding the keyboard.<\/Para><\/Abstract>This is unfortunately a private UIView curve. However, we can map it to the animation options’ curve like so: https:\/\/stackoverflow.com\/questions\/26939105\/keyboard-animation-curve-as-int<\/Para><\/Discussion><\/CommentParts><\/Other>",
                 "key.doc.line" : 176,
                 "key.doc.name" : "animationOptions",
                 "key.doc.type" : "Other",
                 "key.doclength" : 324,
                 "key.docoffset" : 5499,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> animationOptions<\/decl.name>: UIView<\/ref.class>.AnimationOptions<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 82,
@@ -20998,7 +21298,7 @@
             ],
             "key.bodylength" : 316,
             "key.bodyoffset" : 6297,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
             "key.fully_annotated_decl" : "@objc<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> private<\/syntaxtype.keyword> func<\/syntaxtype.keyword> keyboardFrameChanged<\/decl.name>(_<\/decl.var.parameter.argument_label> notification<\/decl.var.parameter.name>: Notification<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 375,
@@ -21038,12 +21338,12 @@
             "Para" : "iOS Docs for keyboard management: https:\/\/developer.apple.com\/library\/archive\/documentation\/StringsTextFonts\/Conceptual\/TextAndWebiPhoneOS\/KeyboardManagement\/KeyboardManagement.html"
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
-        "key.doc.full_as_xml" : "KeyboardObserver<\/Name>s:10ListableUI16KeyboardObserverC<\/USR>final class KeyboardObserver<\/Declaration>Encapsulates listening for system keyboard updates, plus transforming the visible frame of the keyboard into the coordinates of a requested view.<\/Para><\/Abstract>You use this class by providing a delegate, which receives callbacks when changes to the keyboard frame occur. You would usually implement the delegate somewhat like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>]]><\/rawHTML>Notes]]><\/rawHTML>iOS Docs for keyboard management: https:\/\/developer.apple.com\/library\/archive\/documentation\/StringsTextFonts\/Conceptual\/TextAndWebiPhoneOS\/KeyboardManagement\/KeyboardManagement.html<\/Para><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
+        "key.doc.full_as_xml" : "KeyboardObserver<\/Name>s:10ListableUI16KeyboardObserverC<\/USR>final class KeyboardObserver<\/Declaration>Encapsulates listening for system keyboard updates, plus transforming the visible frame of the keyboard into the coordinates of a requested view.<\/Para><\/Abstract>You use this class by providing a delegate, which receives callbacks when changes to the keyboard frame occur. You would usually implement the delegate somewhat like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>]]><\/rawHTML>Notes]]><\/rawHTML>iOS Docs for keyboard management: https:\/\/developer.apple.com\/library\/archive\/documentation\/StringsTextFonts\/Conceptual\/TextAndWebiPhoneOS\/KeyboardManagement\/KeyboardManagement.html<\/Para><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 43,
         "key.doc.name" : "KeyboardObserver",
         "key.doc.type" : "Class",
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
         "key.fully_annotated_decl" : "final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> KeyboardObserver<\/decl.name><\/decl.class>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 1476,
@@ -21066,7 +21366,7 @@
                 "key.offset" : 6677
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
             "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> NotificationInfo<\/decl.name> : Equatable<\/ref.protocol><\/decl.struct>",
             "key.inheritedtypes" : [
               {
@@ -21086,7 +21386,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var endingFrame: CGRect<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> endingFrame<\/decl.name>: CGRect<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 32,
@@ -21105,7 +21405,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var animationDuration: Double<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> animationDuration<\/decl.name>: Double<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 36,
@@ -21124,7 +21424,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var animationCurve: UInt<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> animationCurve<\/decl.name>: UInt<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 29,
@@ -21145,7 +21445,7 @@
                 "key.annotated_decl" : "init(with notification: Notification<\/Type>) throws<\/Declaration>",
                 "key.bodylength" : 963,
                 "key.bodyoffset" : 6895,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
                 "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(with<\/decl.var.parameter.argument_label> notification<\/decl.var.parameter.name>: Notification<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) throws<\/syntaxtype.keyword><\/decl.function.constructor>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 1011,
@@ -21180,7 +21480,7 @@
                     "key.offset" : 7902
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
                 "key.fully_annotated_decl" : "enum<\/syntaxtype.keyword> KeyboardObserver<\/ref.class>.NotificationInfo<\/ref.struct>.ParseError<\/decl.name> : Error<\/ref.protocol>, Equatable<\/ref.protocol><\/decl.enum>",
                 "key.inheritedtypes" : [
                   {
@@ -21210,7 +21510,7 @@
                       {
                         "key.accessibility" : "source.lang.swift.accessibility.internal",
                         "key.annotated_decl" : "case missingUserInfo<\/Declaration>",
-                        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
+                        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
                         "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> missingUserInfo<\/decl.name><\/decl.enumelement>",
                         "key.kind" : "source.lang.swift.decl.enumelement",
                         "key.length" : 15,
@@ -21237,7 +21537,7 @@
                       {
                         "key.accessibility" : "source.lang.swift.accessibility.internal",
                         "key.annotated_decl" : "case missingEndingFrame<\/Declaration>",
-                        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
+                        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
                         "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> missingEndingFrame<\/decl.name><\/decl.enumelement>",
                         "key.kind" : "source.lang.swift.decl.enumelement",
                         "key.length" : 18,
@@ -21264,7 +21564,7 @@
                       {
                         "key.accessibility" : "source.lang.swift.accessibility.internal",
                         "key.annotated_decl" : "case missingAnimationDuration<\/Declaration>",
-                        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
+                        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
                         "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> missingAnimationDuration<\/decl.name><\/decl.enumelement>",
                         "key.kind" : "source.lang.swift.decl.enumelement",
                         "key.length" : 24,
@@ -21291,7 +21591,7 @@
                       {
                         "key.accessibility" : "source.lang.swift.accessibility.internal",
                         "key.annotated_decl" : "case missingAnimationCurve<\/Declaration>",
-                        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
+                        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
                         "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> missingAnimationCurve<\/decl.name><\/decl.enumelement>",
                         "key.kind" : "source.lang.swift.decl.enumelement",
                         "key.length" : 21,
@@ -21340,12 +21640,12 @@
             "Para" : "iOS Docs for keyboard management: https:\/\/developer.apple.com\/library\/archive\/documentation\/StringsTextFonts\/Conceptual\/TextAndWebiPhoneOS\/KeyboardManagement\/KeyboardManagement.html"
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
-        "key.doc.full_as_xml" : "KeyboardObserver<\/Name>s:10ListableUI16KeyboardObserverC<\/USR>final class KeyboardObserver<\/Declaration>Encapsulates listening for system keyboard updates, plus transforming the visible frame of the keyboard into the coordinates of a requested view.<\/Para><\/Abstract>You use this class by providing a delegate, which receives callbacks when changes to the keyboard frame occur. You would usually implement the delegate somewhat like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>]]><\/rawHTML>Notes]]><\/rawHTML>iOS Docs for keyboard management: https:\/\/developer.apple.com\/library\/archive\/documentation\/StringsTextFonts\/Conceptual\/TextAndWebiPhoneOS\/KeyboardManagement\/KeyboardManagement.html<\/Para><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
+        "key.doc.full_as_xml" : "KeyboardObserver<\/Name>s:10ListableUI16KeyboardObserverC<\/USR>final class KeyboardObserver<\/Declaration>Encapsulates listening for system keyboard updates, plus transforming the visible frame of the keyboard into the coordinates of a requested view.<\/Para><\/Abstract>You use this class by providing a delegate, which receives callbacks when changes to the keyboard frame occur. You would usually implement the delegate somewhat like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>]]><\/rawHTML>Notes]]><\/rawHTML>iOS Docs for keyboard management: https:\/\/developer.apple.com\/library\/archive\/documentation\/StringsTextFonts\/Conceptual\/TextAndWebiPhoneOS\/KeyboardManagement\/KeyboardManagement.html<\/Para><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 43,
         "key.doc.name" : "KeyboardObserver",
         "key.doc.type" : "Class",
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
         "key.fully_annotated_decl" : "final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> KeyboardObserver<\/decl.name><\/decl.class>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 714,
@@ -21364,14 +21664,14 @@
             "key.doc.column" : 17,
             "key.doc.comment" : "Called by `ListView` on setup, to warn developers\nif something has gone wrong with keyboard setup.",
             "key.doc.declaration" : "static func logKeyboardSetupWarningIfNeeded()",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
-            "key.doc.full_as_xml" : "logKeyboardSetupWarningIfNeeded()<\/Name>s:10ListableUI16KeyboardObserverC03logC20SetupWarningIfNeededyyFZ<\/USR>static func logKeyboardSetupWarningIfNeeded()<\/Declaration>Called by ListView<\/codeVoice> on setup, to warn developers if something has gone wrong with keyboard setup.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
+            "key.doc.full_as_xml" : "logKeyboardSetupWarningIfNeeded()<\/Name>s:10ListableUI16KeyboardObserverC03logC20SetupWarningIfNeededyyFZ<\/USR>static func logKeyboardSetupWarningIfNeeded()<\/Declaration>Called by ListView<\/codeVoice> on setup, to warn developers if something has gone wrong with keyboard setup.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 251,
             "key.doc.name" : "logKeyboardSetupWarningIfNeeded()",
             "key.doc.type" : "Function",
             "key.doclength" : 111,
             "key.docoffset" : 8135,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
             "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> logKeyboardSetupWarningIfNeeded<\/decl.name>()<\/decl.function.method.static>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
             "key.length" : 559,
@@ -21419,8 +21719,8 @@
         "key.doc.column" : 26,
         "key.doc.comment" : "An Objective-C accessible class that lets us set up the shared\nobserver on app startup, without needing to make `KeyboardObserver` Objective-C\naccessible and public. See `SetupKeyboardObserverOnAppStartup.m` for more.",
         "key.doc.declaration" : "@objc public final class __LST_KeyboardObserver_ObjCAccess : NSObject",
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
-        "key.doc.full_as_xml" : "__LST_KeyboardObserver_ObjCAccess<\/Name>c:@M@ListableUI@objc(cs)__LST_KeyboardObserver_ObjCAccess<\/USR>@objc public final class __LST_KeyboardObserver_ObjCAccess : NSObject<\/Declaration>An Objective-C accessible class that lets us set up the shared observer on app startup, without needing to make KeyboardObserver<\/codeVoice> Objective-C accessible and public. See SetupKeyboardObserverOnAppStartup.m<\/codeVoice> for more.<\/Para><\/Abstract><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
+        "key.doc.full_as_xml" : "__LST_KeyboardObserver_ObjCAccess<\/Name>c:@M@ListableUI@objc(cs)__LST_KeyboardObserver_ObjCAccess<\/USR>@objc public final class __LST_KeyboardObserver_ObjCAccess : NSObject<\/Declaration>An Objective-C accessible class that lets us set up the shared observer on app startup, without needing to make KeyboardObserver<\/codeVoice> Objective-C accessible and public. See SetupKeyboardObserverOnAppStartup.m<\/codeVoice> for more.<\/Para><\/Abstract><\/CommentParts><\/Class>",
         "key.doc.line" : 271,
         "key.doc.name" : "__LST_KeyboardObserver_ObjCAccess",
         "key.doc.type" : "Class",
@@ -21433,7 +21733,7 @@
             "key.offset" : 9105
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
         "key.fully_annotated_decl" : "@objc<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> public<\/syntaxtype.keyword> final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> __LST_KeyboardObserver_ObjCAccess<\/decl.name> : NSObject<\/ref.class><\/decl.class>",
         "key.inheritedtypes" : [
           {
@@ -21467,7 +21767,7 @@
             ],
             "key.bodylength" : 121,
             "key.bodyoffset" : 9170,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/KeyboardObserver\/KeyboardObserver.swift",
             "key.fully_annotated_decl" : "@objc<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> public<\/syntaxtype.keyword> static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> __setupSharedInstance<\/decl.name>()<\/decl.function.method.static>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
             "key.length" : 159,
@@ -21490,7 +21790,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Modify.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Modify.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 245,
     "key.offset" : 0,
@@ -21500,7 +21800,7 @@
         "key.annotated_decl" : "func modified<Value>(_ initial: Value<\/Type>, _ modify: (inout Value<\/Type>) -> ()) -> Value<\/Type><\/Declaration>",
         "key.bodylength" : 58,
         "key.bodyoffset" : 185,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Modify.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Modify.swift",
         "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> modified<\/decl.name><Value<\/decl.generic_type_param.name><\/decl.generic_type_param>>(_<\/decl.var.parameter.argument_label> initial<\/decl.var.parameter.name>: Value<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, _<\/decl.var.parameter.argument_label> modify<\/decl.var.parameter.name>: (inout<\/syntaxtype.keyword> Value<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>) -> Value<\/ref.generic_type_param><\/decl.function.returntype><\/decl.function.free>",
         "key.kind" : "source.lang.swift.decl.function.free",
         "key.length" : 141,
@@ -21514,7 +21814,7 @@
         "key.substructure" : [
           {
             "key.annotated_decl" : "Value<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Modify.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Modify.swift",
             "key.fully_annotated_decl" : "Value<\/decl.generic_type_param.name><\/decl.generic_type_param>",
             "key.kind" : "source.lang.swift.decl.generic_type_param",
             "key.length" : 5,
@@ -21531,7 +21831,7 @@
           },
           {
             "key.annotated_decl" : "var copy: Value<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Modify.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Modify.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> copy<\/decl.name>: Value<\/decl.var.type><\/decl.var.local>",
             "key.kind" : "source.lang.swift.decl.var.local",
             "key.length" : 18,
@@ -21554,7 +21854,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 6626,
     "key.offset" : 0,
@@ -21571,7 +21871,7 @@
             "key.offset" : 177
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
         "key.fully_annotated_decl" : "protocol<\/syntaxtype.keyword> AnyPresentationHeaderFooterState<\/decl.name> : AnyObject<\/decl.protocol>",
         "key.inheritedtypes" : [
           {
@@ -21593,7 +21893,7 @@
             "key.annotated_decl" : "var anyModel: AnyHeaderFooter<\/Type> { get }<\/Declaration>",
             "key.bodylength" : 5,
             "key.bodyoffset" : 225,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> anyModel<\/decl.name>: AnyHeaderFooter<\/ref.protocol><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 38,
@@ -21611,7 +21911,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "func dequeueAndPrepareReusableHeaderFooterView(in cache: ReusableViewCache<\/Type>, frame: CGRect<\/Type>, environment: ListEnvironment<\/Type>) -> UIView<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> dequeueAndPrepareReusableHeaderFooterView<\/decl.name>(in<\/decl.var.parameter.argument_label> cache<\/decl.var.parameter.name>: ReusableViewCache<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, frame<\/decl.var.parameter.argument_label>: CGRect<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, environment<\/decl.var.parameter.argument_label>: ListEnvironment<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> UIView<\/ref.class><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 163,
@@ -21632,7 +21932,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "func enqueueReusableHeaderFooterView(_ view: UIView<\/Type>, in cache: ReusableViewCache<\/Type>)<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> enqueueReusableHeaderFooterView<\/decl.name>(_<\/decl.var.parameter.argument_label> view<\/decl.var.parameter.name>: UIView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, in<\/decl.var.parameter.argument_label> cache<\/decl.var.parameter.name>: ReusableViewCache<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 83,
@@ -21653,7 +21953,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "func applyTo(view: UIView<\/Type>, for reason: ApplyReason<\/Type>, with info: ApplyHeaderFooterContentInfo<\/Type>)<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> applyTo<\/decl.name>(view<\/decl.var.parameter.argument_label>: UIView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, for<\/decl.var.parameter.argument_label> reason<\/decl.var.parameter.name>: ApplyReason<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>, with<\/decl.var.parameter.argument_label> info<\/decl.var.parameter.name>: ApplyHeaderFooterContentInfo<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 125,
@@ -21674,7 +21974,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "func setNew(headerFooter anyHeaderFooter: AnyHeaderFooter<\/Type>)<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> setNew<\/decl.name>(headerFooter<\/decl.var.parameter.argument_label> anyHeaderFooter<\/decl.var.parameter.name>: AnyHeaderFooter<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 59,
@@ -21695,7 +21995,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "func resetCachedSizes()<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> resetCachedSizes<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 23,
@@ -21713,7 +22013,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "func size(for info: Sizing<\/Type>.MeasureInfo<\/Type>, cache: ReusableViewCache<\/Type>, environment: ListEnvironment<\/Type>) -> CGSize<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> size<\/decl.name>(for<\/decl.var.parameter.argument_label> info<\/decl.var.parameter.name>: Sizing<\/ref.enum>.MeasureInfo<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, cache<\/decl.var.parameter.argument_label>: ReusableViewCache<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, environment<\/decl.var.parameter.argument_label>: ListEnvironment<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGSize<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 138,
@@ -21742,12 +22042,12 @@
         "key.bodyoffset" : 911,
         "key.doc.column" : 13,
         "key.doc.declaration" : "final class PresentationState",
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
-        "key.doc.full_as_xml" : "PresentationState<\/Name>s:10ListableUI17PresentationStateC<\/USR>final class PresentationState<\/Declaration>A class used to manage the “live” \/ mutable state of the visible items in the list, which is persistent across diffs of content (instances are only created or destroyed when an item enters or leaves the list).<\/Para><\/Abstract><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+        "key.doc.full_as_xml" : "PresentationState<\/Name>s:10ListableUI17PresentationStateC<\/USR>final class PresentationState<\/Declaration>A class used to manage the “live” \/ mutable state of the visible items in the list, which is persistent across diffs of content (instances are only created or destroyed when an item enters or leaves the list).<\/Para><\/Abstract><\/CommentParts><\/Class>",
         "key.doc.line" : 11,
         "key.doc.name" : "PresentationState",
         "key.doc.type" : "Class",
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
         "key.fully_annotated_decl" : "final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> PresentationState<\/decl.name><\/decl.class>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 5743,
@@ -21770,7 +22070,7 @@
             ],
             "key.bodylength" : 1101,
             "key.bodyoffset" : 959,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
             "key.fully_annotated_decl" : "final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> HeaderFooterViewStatePair<\/decl.name><\/decl.class>",
             "key.kind" : "source.lang.swift.decl.class",
             "key.length" : 1139,
@@ -21787,7 +22087,7 @@
                 "key.annotated_decl" : "var state: AnyPresentationHeaderFooterState<\/Type>? { get set }<\/Declaration>",
                 "key.bodylength" : 340,
                 "key.bodyoffset" : 1015,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> state<\/decl.name>: AnyPresentationHeaderFooterState<\/ref.protocol>?<\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 388,
@@ -21813,7 +22113,7 @@
                     "key.offset" : 1374
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
                 "key.fully_annotated_decl" : "private<\/syntaxtype.keyword>(set) var<\/syntaxtype.keyword> visibleContainer<\/decl.name>: SupplementaryContainerView<\/ref.class>?<\/decl.var.type> { get }<\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 50,
@@ -21834,7 +22134,7 @@
                 "key.annotated_decl" : "func willDisplay(view: SupplementaryContainerView<\/Type>)<\/Declaration>",
                 "key.bodylength" : 50,
                 "key.bodyoffset" : 1516,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> willDisplay<\/decl.name>(view<\/decl.var.parameter.argument_label>: SupplementaryContainerView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 112,
@@ -21857,7 +22157,7 @@
                 "key.annotated_decl" : "func didEndDisplay()<\/Declaration>",
                 "key.bodylength" : 49,
                 "key.bodyoffset" : 1615,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> didEndDisplay<\/decl.name>()<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 80,
@@ -21877,7 +22177,7 @@
                 "key.annotated_decl" : "func applyToVisibleView(with environment: ListEnvironment<\/Type>)<\/Declaration>",
                 "key.bodylength" : 302,
                 "key.bodyoffset" : 1752,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> applyToVisibleView<\/decl.name>(with<\/decl.var.parameter.argument_label> environment<\/decl.var.parameter.name>: ListEnvironment<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 372,
@@ -21918,7 +22218,7 @@
                 "key.offset" : 2137
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
             "key.fully_annotated_decl" : "final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> HeaderFooterState<\/decl.name><Content<\/decl.generic_type_param.name><\/decl.generic_type_param>> : AnyPresentationHeaderFooterState<\/ref.protocol> where<\/syntaxtype.keyword> Content : HeaderFooterContent<\/ref.protocol><\/decl.generic_type_requirement><\/decl.class>",
             "key.inheritedtypes" : [
               {
@@ -21944,7 +22244,7 @@
                     "key.offset" : 2114
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
                 "key.fully_annotated_decl" : "Content<\/decl.generic_type_param.name> : HeaderFooterContent<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
                 "key.inheritedtypes" : [
                   {
@@ -21967,7 +22267,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var model: HeaderFooter<\/Type><Content<\/Type>><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> model<\/decl.name>: HeaderFooter<\/ref.struct><Content<\/ref.generic_type_param>><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 33,
@@ -21986,7 +22286,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let performsContentCallbacks: Bool<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> performsContentCallbacks<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 35,
@@ -22006,7 +22306,7 @@
                 "key.annotated_decl" : "init(_ model: HeaderFooter<\/Type><Content<\/Type>>, performsContentCallbacks: Bool<\/Type>)<\/Declaration>",
                 "key.bodylength" : 109,
                 "key.bodyoffset" : 2376,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
                 "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(_<\/decl.var.parameter.argument_label> model<\/decl.var.parameter.name>: HeaderFooter<\/ref.struct><Content<\/ref.generic_type_param>><\/decl.var.parameter.type><\/decl.var.parameter>, performsContentCallbacks<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 190,
@@ -22037,7 +22337,7 @@
                 "key.annotated_decl" : "var anyModel: AnyHeaderFooter<\/Type> { get }<\/Declaration>",
                 "key.bodylength" : 39,
                 "key.bodyoffset" : 2594,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> anyModel<\/decl.name>: AnyHeaderFooter<\/ref.protocol><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 71,
@@ -22062,7 +22362,7 @@
                 "key.annotated_decl" : "func dequeueAndPrepareReusableHeaderFooterView(in cache: ReusableViewCache<\/Type>, frame: CGRect<\/Type>, environment: ListEnvironment<\/Type>) -> UIView<\/Type><\/Declaration>",
                 "key.bodylength" : 362,
                 "key.bodyoffset" : 2849,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> dequeueAndPrepareReusableHeaderFooterView<\/decl.name>(in<\/decl.var.parameter.argument_label> cache<\/decl.var.parameter.name>: ReusableViewCache<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, frame<\/decl.var.parameter.argument_label>: CGRect<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, environment<\/decl.var.parameter.argument_label>: ListEnvironment<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> UIView<\/ref.class><\/decl.function.returntype><\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 552,
@@ -22081,7 +22381,7 @@
                 "key.substructure" : [
                   {
                     "key.annotated_decl" : "let view: HeaderFooterContentView<\/Type><Content><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> view<\/decl.name>: HeaderFooterContentView<\/ref.class><Content><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 133,
@@ -22106,7 +22406,7 @@
                 "key.annotated_decl" : "func enqueueReusableHeaderFooterView(_ view: UIView<\/Type>, in cache: ReusableViewCache<\/Type>)<\/Declaration>",
                 "key.bodylength" : 72,
                 "key.bodyoffset" : 3323,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> enqueueReusableHeaderFooterView<\/decl.name>(_<\/decl.var.parameter.argument_label> view<\/decl.var.parameter.name>: UIView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, in<\/decl.var.parameter.argument_label> cache<\/decl.var.parameter.name>: ReusableViewCache<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 166,
@@ -22134,7 +22434,7 @@
                 "key.annotated_decl" : "func applyTo(view: UIView<\/Type>, for reason: ApplyReason<\/Type>, with info: ApplyHeaderFooterContentInfo<\/Type>)<\/Declaration>",
                 "key.bodylength" : 622,
                 "key.bodyoffset" : 3557,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> applyTo<\/decl.name>(view<\/decl.var.parameter.argument_label>: UIView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, for<\/decl.var.parameter.argument_label> reason<\/decl.var.parameter.name>: ApplyReason<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>, with<\/decl.var.parameter.argument_label> info<\/decl.var.parameter.name>: ApplyHeaderFooterContentInfo<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 766,
@@ -22153,7 +22453,7 @@
                 "key.substructure" : [
                   {
                     "key.annotated_decl" : "let view: HeaderFooterContentView<\/Type><Content><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> view<\/decl.name>: HeaderFooterContentView<\/ref.class><Content><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 52,
@@ -22170,7 +22470,7 @@
                   },
                   {
                     "key.annotated_decl" : "let views: HeaderFooterContentViews<\/Type><Content><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> views<\/decl.name>: HeaderFooterContentViews<\/ref.struct><Content><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 192,
@@ -22195,7 +22495,7 @@
                 "key.annotated_decl" : "func setNew(headerFooter anyHeaderFooter: AnyHeaderFooter<\/Type>)<\/Declaration>",
                 "key.bodylength" : 318,
                 "key.bodyoffset" : 4266,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> setNew<\/decl.name>(headerFooter<\/decl.var.parameter.argument_label> anyHeaderFooter<\/decl.var.parameter.name>: AnyHeaderFooter<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 387,
@@ -22214,7 +22514,7 @@
                 "key.substructure" : [
                   {
                     "key.annotated_decl" : "let oldModel: HeaderFooter<\/Type><Content><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> oldModel<\/decl.name>: HeaderFooter<\/ref.struct><Content><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 25,
@@ -22231,7 +22531,7 @@
                   },
                   {
                     "key.annotated_decl" : "let isEquivalent: Bool<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> isEquivalent<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 59,
@@ -22261,7 +22561,7 @@
                     "key.offset" : 4603
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
                 "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> var<\/syntaxtype.keyword> cachedSizes<\/decl.name>: [SizeKey<\/ref.struct> : CGSize<\/ref.struct>]<\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 40,
@@ -22282,7 +22582,7 @@
                 "key.annotated_decl" : "func resetCachedSizes()<\/Declaration>",
                 "key.bodylength" : 50,
                 "key.bodyoffset" : 4702,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> resetCachedSizes<\/decl.name>()<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 84,
@@ -22310,7 +22610,7 @@
                 "key.annotated_decl" : "func size(for info: Sizing<\/Type>.MeasureInfo<\/Type>, cache: ReusableViewCache<\/Type>, environment: ListEnvironment<\/Type>) -> CGSize<\/Type><\/Declaration>",
                 "key.bodylength" : 1681,
                 "key.bodyoffset" : 4935,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> size<\/decl.name>(for<\/decl.var.parameter.argument_label> info<\/decl.var.parameter.name>: Sizing<\/ref.enum>.MeasureInfo<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, cache<\/decl.var.parameter.argument_label>: ReusableViewCache<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, environment<\/decl.var.parameter.argument_label>: ListEnvironment<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGSize<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 1846,
@@ -22329,7 +22629,7 @@
                 "key.substructure" : [
                   {
                     "key.annotated_decl" : "let key: PresentationState<\/Type>.SizeKey<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.HeaderFooterState.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> key<\/decl.name>: PresentationState<\/ref.class>.SizeKey<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 225,
@@ -22362,7 +22662,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 17602,
     "key.offset" : 0,
@@ -22379,7 +22679,7 @@
             "key.offset" : 161
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
         "key.fully_annotated_decl" : "protocol<\/syntaxtype.keyword> AnyPresentationItemState<\/decl.name> : AnyObject<\/decl.protocol>",
         "key.inheritedtypes" : [
           {
@@ -22401,7 +22701,7 @@
             "key.annotated_decl" : "var isDisplayed: Bool<\/Type> { get }<\/Declaration>",
             "key.bodylength" : 5,
             "key.bodyoffset" : 201,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> isDisplayed<\/decl.name>: Bool<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 30,
@@ -22419,7 +22719,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "func setAndPerform(isDisplayed: Bool<\/Type>)<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> setAndPerform<\/decl.name>(isDisplayed<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 37,
@@ -22442,7 +22742,7 @@
             "key.annotated_decl" : "var itemPosition: ItemPosition<\/Type> { get set }<\/Declaration>",
             "key.bodylength" : 9,
             "key.bodyoffset" : 292,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> itemPosition<\/decl.name>: ItemPosition<\/ref.enum><\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 43,
@@ -22463,7 +22763,7 @@
             "key.annotated_decl" : "var anyModel: AnyItem<\/Type> { get }<\/Declaration>",
             "key.bodylength" : 5,
             "key.bodyoffset" : 336,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> anyModel<\/decl.name>: AnyItem<\/ref.protocol><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 30,
@@ -22483,7 +22783,7 @@
             "key.annotated_decl" : "var reorderingActions: ReorderingActions<\/Type> { get }<\/Declaration>",
             "key.bodylength" : 5,
             "key.bodyoffset" : 395,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> reorderingActions<\/decl.name>: ReorderingActions<\/ref.class><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 49,
@@ -22503,7 +22803,7 @@
             "key.annotated_decl" : "var cellRegistrationInfo: (class: AnyClass<\/Type>, reuseIdentifier: String<\/Type>) { get }<\/Declaration>",
             "key.bodylength" : 5,
             "key.bodyoffset" : 484,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> cellRegistrationInfo<\/decl.name>: (class<\/tuple.element.argument_label>: AnyClass<\/ref.typealias><\/tuple.element.type><\/tuple.element>, reuseIdentifier<\/tuple.element.argument_label>: String<\/ref.struct><\/tuple.element.type><\/tuple.element>)<\/tuple><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 75,
@@ -22521,7 +22821,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "func dequeueAndPrepareCollectionViewCell(in collectionView: UICollectionView<\/Type>, for indexPath: IndexPath<\/Type>, environment: ListEnvironment<\/Type>) -> AnyItemCell<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> dequeueAndPrepareCollectionViewCell<\/decl.name>(in<\/decl.var.parameter.argument_label> collectionView<\/decl.var.parameter.name>: UICollectionView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, for<\/decl.var.parameter.argument_label> indexPath<\/decl.var.parameter.name>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, environment<\/decl.var.parameter.argument_label>: ListEnvironment<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> AnyItemCell<\/ref.protocol><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 181,
@@ -22542,7 +22842,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "func applyTo(cell anyCell: UICollectionViewCell<\/Type>, itemState: ListableUI.ItemState<\/Type>, reason: ApplyReason<\/Type>, environment: ListEnvironment<\/Type>)<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> applyTo<\/decl.name>(cell<\/decl.var.parameter.argument_label> anyCell<\/decl.var.parameter.name>: UICollectionViewCell<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, itemState<\/decl.var.parameter.argument_label>: ListableUI.ItemState<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, reason<\/decl.var.parameter.argument_label>: ApplyReason<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>, environment<\/decl.var.parameter.argument_label>: ListEnvironment<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 174,
@@ -22563,7 +22863,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "func applyToVisibleCell(with environment: ListEnvironment<\/Type>)<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> applyToVisibleCell<\/decl.name>(with<\/decl.var.parameter.argument_label> environment<\/decl.var.parameter.name>: ListEnvironment<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 59,
@@ -22584,7 +22884,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "func setNew(item anyItem: AnyItem<\/Type>, reason: PresentationState<\/Type>.ItemUpdateReason<\/Type>, updateCallbacks: UpdateCallbacks<\/Type>)<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> setNew<\/decl.name>(item<\/decl.var.parameter.argument_label> anyItem<\/decl.var.parameter.name>: AnyItem<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>, reason<\/decl.var.parameter.argument_label>: PresentationState<\/ref.class>.ItemUpdateReason<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>, updateCallbacks<\/decl.var.parameter.argument_label>: UpdateCallbacks<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 115,
@@ -22605,7 +22905,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "func willDisplay(cell: UICollectionViewCell<\/Type>, in collectionView: UICollectionView<\/Type>, for indexPath: IndexPath<\/Type>)<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> willDisplay<\/decl.name>(cell<\/decl.var.parameter.argument_label>: UICollectionViewCell<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, in<\/decl.var.parameter.argument_label> collectionView<\/decl.var.parameter.name>: UICollectionView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, for<\/decl.var.parameter.argument_label> indexPath<\/decl.var.parameter.name>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 110,
@@ -22626,7 +22926,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "func didEndDisplay()<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> didEndDisplay<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 20,
@@ -22644,7 +22944,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "func wasRemoved(updateCallbacks: UpdateCallbacks<\/Type>)<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> wasRemoved<\/decl.name>(updateCallbacks<\/decl.var.parameter.argument_label>: UpdateCallbacks<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 50,
@@ -22667,7 +22967,7 @@
             "key.annotated_decl" : "var isSelected: Bool<\/Type> { get }<\/Declaration>",
             "key.bodylength" : 5,
             "key.bodyoffset" : 1301,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> isSelected<\/decl.name>: Bool<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 29,
@@ -22685,7 +22985,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "func set(isSelected: Bool<\/Type>, performCallbacks: Bool<\/Type>)<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> set<\/decl.name>(isSelected<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, performCallbacks<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 50,
@@ -22706,7 +23006,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "func resetCachedSizes()<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> resetCachedSizes<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 23,
@@ -22724,7 +23024,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "func size(for info: Sizing<\/Type>.MeasureInfo<\/Type>, cache: ReusableViewCache<\/Type>, environment: ListEnvironment<\/Type>) -> CGSize<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> size<\/decl.name>(for<\/decl.var.parameter.argument_label> info<\/decl.var.parameter.name>: Sizing<\/ref.enum>.MeasureInfo<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, cache<\/decl.var.parameter.argument_label>: ReusableViewCache<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, environment<\/decl.var.parameter.argument_label>: ListEnvironment<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGSize<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 138,
@@ -22745,7 +23045,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "func moved(with result: Reordering<\/Type>.Result<\/Type>)<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> moved<\/decl.name>(with<\/decl.var.parameter.argument_label> result<\/decl.var.parameter.name>: Reordering<\/ref.struct>.Result<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 43,
@@ -22780,7 +23080,7 @@
             "key.offset" : 1643
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
         "key.fully_annotated_decl" : "protocol<\/syntaxtype.keyword> ItemContentCoordinatorDelegate<\/decl.name> : AnyObject<\/decl.protocol>",
         "key.inheritedtypes" : [
           {
@@ -22800,7 +23100,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "func coordinatorUpdated(for item: AnyItem<\/Type>, animated: Bool<\/Type>)<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> coordinatorUpdated<\/decl.name>(for<\/decl.var.parameter.argument_label> item<\/decl.var.parameter.name>: AnyItem<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>, animated<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 60,
@@ -22835,7 +23135,7 @@
         ],
         "key.bodylength" : 174,
         "key.bodyoffset" : 1761,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> ItemStateDependencies<\/decl.name><\/decl.struct>",
         "key.kind" : "source.lang.swift.decl.struct",
         "key.length" : 205,
@@ -22850,7 +23150,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "var reorderingDelegate: ReorderingActionsDelegate<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> reorderingDelegate<\/decl.name>: ReorderingActionsDelegate<\/ref.protocol><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 50,
@@ -22869,7 +23169,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "var coordinatorDelegate: ItemContentCoordinatorDelegate<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> coordinatorDelegate<\/decl.name>: ItemContentCoordinatorDelegate<\/ref.protocol><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 56,
@@ -22888,7 +23188,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "var environmentProvider: () -> ListEnvironment<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> environmentProvider<\/decl.name>: () -> ListEnvironment<\/ref.struct><\/decl.function.returntype><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 47,
@@ -22915,12 +23215,12 @@
         "key.bodyoffset" : 1968,
         "key.doc.column" : 13,
         "key.doc.declaration" : "final class PresentationState",
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
-        "key.doc.full_as_xml" : "PresentationState<\/Name>s:10ListableUI17PresentationStateC<\/USR>final class PresentationState<\/Declaration>A class used to manage the “live” \/ mutable state of the visible items in the list, which is persistent across diffs of content (instances are only created or destroyed when an item enters or leaves the list).<\/Para><\/Abstract><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+        "key.doc.full_as_xml" : "PresentationState<\/Name>s:10ListableUI17PresentationStateC<\/USR>final class PresentationState<\/Declaration>A class used to manage the “live” \/ mutable state of the visible items in the list, which is persistent across diffs of content (instances are only created or destroyed when an item enters or leaves the list).<\/Para><\/Abstract><\/CommentParts><\/Class>",
         "key.doc.line" : 11,
         "key.doc.name" : "PresentationState",
         "key.doc.type" : "Class",
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
         "key.fully_annotated_decl" : "final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> PresentationState<\/decl.name><\/decl.class>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 14580,
@@ -22943,7 +23243,7 @@
                 "key.offset" : 1997
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
             "key.fully_annotated_decl" : "enum<\/syntaxtype.keyword> ItemUpdateReason<\/decl.name> : CaseIterable<\/ref.protocol><\/decl.enum>",
             "key.inheritedtypes" : [
               {
@@ -22969,7 +23269,7 @@
                 "key.substructure" : [
                   {
                     "key.annotated_decl" : "case moveFromList<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> moveFromList<\/decl.name><\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 12,
@@ -22995,7 +23295,7 @@
                 "key.substructure" : [
                   {
                     "key.annotated_decl" : "case updateFromList<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> updateFromList<\/decl.name><\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 14,
@@ -23021,7 +23321,7 @@
                 "key.substructure" : [
                   {
                     "key.annotated_decl" : "case updateFromItemCoordinator<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> updateFromItemCoordinator<\/decl.name><\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 25,
@@ -23047,7 +23347,7 @@
                 "key.substructure" : [
                   {
                     "key.annotated_decl" : "case noChange<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> noChange<\/decl.name><\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 8,
@@ -23087,7 +23387,7 @@
                 "key.offset" : 2191
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
             "key.fully_annotated_decl" : "final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> ItemState<\/decl.name><Content<\/decl.generic_type_param.name><\/decl.generic_type_param>> : AnyPresentationItemState<\/ref.protocol> where<\/syntaxtype.keyword> Content : ItemContent<\/ref.protocol><\/decl.generic_type_requirement><\/decl.class>",
             "key.inheritedtypes" : [
               {
@@ -23113,7 +23413,7 @@
                     "key.offset" : 2176
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                 "key.fully_annotated_decl" : "Content<\/decl.generic_type_param.name> : ItemContent<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
                 "key.inheritedtypes" : [
                   {
@@ -23138,7 +23438,7 @@
                 "key.annotated_decl" : "var model: Item<\/Type><Content<\/Type>> { get }<\/Declaration>",
                 "key.bodylength" : 40,
                 "key.bodyoffset" : 2257,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> model<\/decl.name>: Item<\/ref.struct><Content<\/ref.generic_type_param>><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 68,
@@ -23156,7 +23456,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let performsContentCallbacks: Bool<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> performsContentCallbacks<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 35,
@@ -23181,7 +23481,7 @@
                     "key.offset" : 2369
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                 "key.fully_annotated_decl" : "private<\/syntaxtype.keyword>(set) var<\/syntaxtype.keyword> coordination<\/decl.name>: Coordination<\/ref.struct><\/decl.var.type> { get }<\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 31,
@@ -23202,7 +23502,7 @@
                 "key.annotated_decl" : "struct PresentationState<\/Type>.ItemState<\/Type><Content>.Coordination<\/Declaration>",
                 "key.bodylength" : 197,
                 "key.bodyoffset" : 2452,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                 "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> PresentationState<\/ref.class>.ItemState<\/ref.class><Content>.Coordination<\/decl.name><\/decl.struct>",
                 "key.kind" : "source.lang.swift.decl.struct",
                 "key.length" : 219,
@@ -23217,7 +23517,7 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "var coordinator: Content<\/Type>.Coordinator<\/Type>?<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                     "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> coordinator<\/decl.name>: Content<\/ref.generic_type_param>.Coordinator<\/ref.associatedtype>?<\/decl.var.type><\/decl.var.instance>",
                     "key.kind" : "source.lang.swift.decl.var.instance",
                     "key.length" : 38,
@@ -23236,7 +23536,7 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "let actions: ItemContentCoordinatorActions<\/Type><Content<\/Type>><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> actions<\/decl.name>: ItemContentCoordinatorActions<\/ref.class><Content<\/ref.generic_type_param>><\/decl.var.type><\/decl.var.instance>",
                     "key.kind" : "source.lang.swift.decl.var.instance",
                     "key.length" : 52,
@@ -23254,7 +23554,7 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "let info: ItemContentCoordinatorInfo<\/Type><Content<\/Type>><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> info<\/decl.name>: ItemContentCoordinatorInfo<\/ref.class><Content<\/ref.generic_type_param>><\/decl.var.type><\/decl.var.instance>",
                     "key.kind" : "source.lang.swift.decl.var.instance",
                     "key.length" : 46,
@@ -23277,7 +23577,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let reorderingActions: ReorderingActions<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> reorderingActions<\/decl.name>: ReorderingActions<\/ref.class><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 40,
@@ -23300,7 +23600,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var itemPosition: ItemPosition<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> itemPosition<\/decl.name>: ItemPosition<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 31,
@@ -23324,7 +23624,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let storage: Storage<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> storage<\/decl.name>: Storage<\/ref.class><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 21,
@@ -23344,7 +23644,7 @@
                 "key.annotated_decl" : "init(with model: Item<\/Type><Content<\/Type>>, dependencies: ItemStateDependencies<\/Type>, updateCallbacks: UpdateCallbacks<\/Type>, performsContentCallbacks: Bool<\/Type>)<\/Declaration>",
                 "key.bodylength" : 2865,
                 "key.bodyoffset" : 3012,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                 "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(with<\/decl.var.parameter.argument_label> model<\/decl.var.parameter.name>: Item<\/ref.struct><Content<\/ref.generic_type_param>><\/decl.var.parameter.type><\/decl.var.parameter>, dependencies<\/decl.var.parameter.argument_label>: ItemStateDependencies<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, updateCallbacks<\/decl.var.parameter.argument_label>: UpdateCallbacks<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, performsContentCallbacks<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 3064,
@@ -23358,7 +23658,7 @@
                 "key.substructure" : [
                   {
                     "key.annotated_decl" : "let storage: PresentationState<\/Type>.ItemState<\/Type><Content>.Storage<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> storage<\/decl.name>: PresentationState<\/ref.class>.ItemState<\/ref.class><Content>.Storage<\/ref.class><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 28,
@@ -23380,7 +23680,7 @@
                   },
                   {
                     "key.annotated_decl" : "let actions: ItemContentCoordinatorActions<\/Type><Content><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> actions<\/decl.name>: ItemContentCoordinatorActions<\/ref.class><Content><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 406,
@@ -23398,7 +23698,7 @@
                   {
                     "key.annotated_decl" : "let info: ItemContentCoordinatorInfo<\/Type><Content><\/Declaration>",
                     "key.doc.comment" : "This is a temporary update callback, in case the initialization of the\ncoordinator causes an update to the item itself.",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> info<\/decl.name>: ItemContentCoordinatorInfo<\/ref.class><Content><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 136,
@@ -23415,7 +23715,7 @@
                   },
                   {
                     "key.annotated_decl" : "let coordinator: Content.Coordinator?<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> coordinator<\/decl.name>: Content.Coordinator?<\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 115,
@@ -23442,14 +23742,14 @@
                     "key.doc.column" : 22,
                     "key.doc.comment" : "Now that the presentation state is entirely configured, set up the final\nupdate callback, which triggers a `setNew` call, alongside informing the\n`listView` that changes have occurred.",
                     "key.doc.declaration" : "weak var coordinatorDelegate: ListableUI.ItemContentCoordinatorDelegate?",
-                    "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
-                    "key.doc.full_as_xml" : "coordinatorDelegate<\/Name>s:10ListableUI17PresentationStateC04ItemD0C4with12dependencies15updateCallbacks015performsContentI0AEy_xGAA0E0VyxG_AA0eD12DependenciesVAA06UpdateI0CSbtcfc19coordinatorDelegateL_AA0ek11CoordinatorO0_pSgvp<\/USR>weak var coordinatorDelegate: ListableUI.ItemContentCoordinatorDelegate?<\/Declaration>Now that the presentation state is entirely configured, set up the final update callback, which triggers a setNew<\/codeVoice> call, alongside informing the listView<\/codeVoice> that changes have occurred.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                    "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                    "key.doc.full_as_xml" : "coordinatorDelegate<\/Name>s:10ListableUI17PresentationStateC04ItemD0C4with12dependencies15updateCallbacks015performsContentI0AEy_xGAA0E0VyxG_AA0eD12DependenciesVAA06UpdateI0CSbtcfc19coordinatorDelegateL_AA0ek11CoordinatorO0_pSgvp<\/USR>weak var coordinatorDelegate: ListableUI.ItemContentCoordinatorDelegate?<\/Declaration>Now that the presentation state is entirely configured, set up the final update callback, which triggers a setNew<\/codeVoice> call, alongside informing the listView<\/codeVoice> that changes have occurred.<\/Para><\/Abstract><\/CommentParts><\/Other>",
                     "key.doc.line" : 156,
                     "key.doc.name" : "coordinatorDelegate",
                     "key.doc.type" : "Other",
                     "key.doclength" : 221,
                     "key.docoffset" : 4476,
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                     "key.fully_annotated_decl" : "weak<\/syntaxtype.keyword> var<\/syntaxtype.keyword> coordinatorDelegate<\/decl.name>: ItemContentCoordinatorDelegate<\/ref.protocol>?<\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 58,
@@ -23473,7 +23773,7 @@
                         "key.offset" : 4857
                       }
                     ],
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                     "key.fully_annotated_decl" : "weak<\/syntaxtype.keyword> var<\/syntaxtype.keyword> `self`<\/decl.name>: PresentationState<\/ref.class>.ItemState<\/ref.class><Content>?<\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 4,
@@ -23497,7 +23797,7 @@
                         "key.offset" : 4868
                       }
                     ],
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                     "key.fully_annotated_decl" : "weak<\/syntaxtype.keyword> var<\/syntaxtype.keyword> coordinatorDelegate<\/decl.name>: ItemContentCoordinatorDelegate<\/ref.protocol>?<\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 19,
@@ -23521,7 +23821,7 @@
                         "key.offset" : 5444
                       }
                     ],
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                     "key.fully_annotated_decl" : "weak<\/syntaxtype.keyword> var<\/syntaxtype.keyword> `self`<\/decl.name>: PresentationState<\/ref.class>.ItemState<\/ref.class><Content>?<\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 4,
@@ -23560,7 +23860,7 @@
                   }
                 ],
                 "key.doc.comment" : "Now that we are set up, notify callbacks.",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                 "key.fully_annotated_decl" : "private<\/syntaxtype.keyword>(set) var<\/syntaxtype.keyword> isDisplayed<\/decl.name>: Bool<\/ref.struct><\/decl.var.type> { get }<\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 30,
@@ -23591,7 +23891,7 @@
                     "key.offset" : 6008
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                 "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> var<\/syntaxtype.keyword> hasDisplayed<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 31,
@@ -23617,7 +23917,7 @@
                     "key.offset" : 6056
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                 "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> var<\/syntaxtype.keyword> hasEndedDisplay<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 34,
@@ -23638,7 +23938,7 @@
                 "key.annotated_decl" : "func setAndPerform(isDisplayed: Bool<\/Type>)<\/Declaration>",
                 "key.bodylength" : 919,
                 "key.bodyoffset" : 6155,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> setAndPerform<\/decl.name>(isDisplayed<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 959,
@@ -23666,7 +23966,7 @@
                 "key.annotated_decl" : "var anyModel: AnyItem<\/Type> { get }<\/Declaration>",
                 "key.bodylength" : 39,
                 "key.bodyoffset" : 7125,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> anyModel<\/decl.name>: AnyItem<\/ref.protocol><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 64,
@@ -23689,7 +23989,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var cellRegistrationInfo: (class: AnyClass<\/Type>, reuseIdentifier: String<\/Type>)<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> cellRegistrationInfo<\/decl.name>: (class<\/tuple.element.argument_label>: AnyClass<\/ref.typealias><\/tuple.element.type><\/tuple.element>, reuseIdentifier<\/tuple.element.argument_label>: String<\/ref.struct><\/tuple.element.type><\/tuple.element>)<\/tuple><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 67,
@@ -23715,7 +24015,7 @@
                 "key.annotated_decl" : "func dequeueAndPrepareCollectionViewCell(in collectionView: UICollectionView<\/Type>, for indexPath: IndexPath<\/Type>, environment: ListEnvironment<\/Type>) -> AnyItemCell<\/Type><\/Declaration>",
                 "key.bodylength" : 581,
                 "key.bodyoffset" : 7475,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> dequeueAndPrepareCollectionViewCell<\/decl.name>(in<\/decl.var.parameter.argument_label> collectionView<\/decl.var.parameter.name>: UICollectionView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, for<\/decl.var.parameter.argument_label> indexPath<\/decl.var.parameter.name>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, environment<\/decl.var.parameter.argument_label>: ListEnvironment<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> AnyItemCell<\/ref.protocol><\/decl.function.returntype><\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 789,
@@ -23734,7 +24034,7 @@
                 "key.substructure" : [
                   {
                     "key.annotated_decl" : "let anyCell: UICollectionViewCell<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> anyCell<\/decl.name>: UICollectionViewCell<\/ref.class><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 128,
@@ -23751,7 +24051,7 @@
                   },
                   {
                     "key.annotated_decl" : "let cell: ItemCell<\/Type><Content><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> cell<\/decl.name>: ItemCell<\/ref.class><Content><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 40,
@@ -23768,7 +24068,7 @@
                   },
                   {
                     "key.annotated_decl" : "let itemState: ItemState<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> itemState<\/decl.name>: ItemState<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 48,
@@ -23793,7 +24093,7 @@
                 "key.annotated_decl" : "func applyTo(cell anyCell: UICollectionViewCell<\/Type>, itemState: ListableUI.ItemState<\/Type>, reason: ApplyReason<\/Type>, environment: ListEnvironment<\/Type>)<\/Declaration>",
                 "key.bodylength" : 967,
                 "key.bodyoffset" : 8271,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> applyTo<\/decl.name>(cell<\/decl.var.parameter.argument_label> anyCell<\/decl.var.parameter.name>: UICollectionViewCell<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, itemState<\/decl.var.parameter.argument_label>: ListableUI.ItemState<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, reason<\/decl.var.parameter.argument_label>: ApplyReason<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>, environment<\/decl.var.parameter.argument_label>: ListEnvironment<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 1164,
@@ -23812,7 +24112,7 @@
                 "key.substructure" : [
                   {
                     "key.annotated_decl" : "let cell: ItemCell<\/Type><Content><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> cell<\/decl.name>: ItemCell<\/ref.class><Content><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 40,
@@ -23829,7 +24129,7 @@
                   },
                   {
                     "key.annotated_decl" : "let applyInfo: ApplyItemContentInfo<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> applyInfo<\/decl.name>: ApplyItemContentInfo<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 223,
@@ -23854,7 +24154,7 @@
                 "key.annotated_decl" : "func applyToVisibleCell(with environment: ListEnvironment<\/Type>)<\/Declaration>",
                 "key.bodylength" : 318,
                 "key.bodyoffset" : 9326,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> applyToVisibleCell<\/decl.name>(with<\/decl.var.parameter.argument_label> environment<\/decl.var.parameter.name>: ListEnvironment<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 388,
@@ -23882,7 +24182,7 @@
                 "key.annotated_decl" : "func setNew(item anyItem: AnyItem<\/Type>, reason: ItemUpdateReason<\/Type>, updateCallbacks: UpdateCallbacks<\/Type>)<\/Declaration>",
                 "key.bodylength" : 1373,
                 "key.bodyoffset" : 9768,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> setNew<\/decl.name>(item<\/decl.var.parameter.argument_label> anyItem<\/decl.var.parameter.name>: AnyItem<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>, reason<\/decl.var.parameter.argument_label>: ItemUpdateReason<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>, updateCallbacks<\/decl.var.parameter.argument_label>: UpdateCallbacks<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 1479,
@@ -23901,7 +24201,7 @@
                 "key.substructure" : [
                   {
                     "key.annotated_decl" : "let old: Item<\/Type><Content><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> old<\/decl.name>: Item<\/ref.struct><Content><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 20,
@@ -23918,7 +24218,7 @@
                   },
                   {
                     "key.annotated_decl" : "let new: Item<\/Type><Content><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> new<\/decl.name>: Item<\/ref.struct><Content><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 35,
@@ -23943,7 +24243,7 @@
                 "key.annotated_decl" : "func willDisplay(cell anyCell: UICollectionViewCell<\/Type>, in collectionView: UICollectionView<\/Type>, for indexPath: IndexPath<\/Type>)<\/Declaration>",
                 "key.bodylength" : 127,
                 "key.bodyoffset" : 11288,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> willDisplay<\/decl.name>(cell<\/decl.var.parameter.argument_label> anyCell<\/decl.var.parameter.name>: UICollectionViewCell<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, in<\/decl.var.parameter.argument_label> collectionView<\/decl.var.parameter.name>: UICollectionView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, for<\/decl.var.parameter.argument_label> indexPath<\/decl.var.parameter.name>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 256,
@@ -23962,7 +24262,7 @@
                 "key.substructure" : [
                   {
                     "key.annotated_decl" : "let cell: (ItemCell<\/Type><Content>)<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> cell<\/decl.name>: (ItemCell<\/ref.class><Content>)<\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 42,
@@ -23987,7 +24287,7 @@
                 "key.annotated_decl" : "func didEndDisplay()<\/Declaration>",
                 "key.bodylength" : 58,
                 "key.bodyoffset" : 11464,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> didEndDisplay<\/decl.name>()<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 89,
@@ -24012,7 +24312,7 @@
                 "key.annotated_decl" : "func wasRemoved(updateCallbacks: UpdateCallbacks<\/Type>)<\/Declaration>",
                 "key.bodylength" : 237,
                 "key.bodyoffset" : 11601,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> wasRemoved<\/decl.name>(updateCallbacks<\/decl.var.parameter.argument_label>: UpdateCallbacks<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 298,
@@ -24040,7 +24340,7 @@
                 "key.annotated_decl" : "var isSelected: Bool<\/Type> { get }<\/Declaration>",
                 "key.bodylength" : 51,
                 "key.bodyoffset" : 11879,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> isSelected<\/decl.name>: Bool<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 74,
@@ -24065,7 +24365,7 @@
                 "key.annotated_decl" : "func set(isSelected: Bool<\/Type>, performCallbacks: Bool<\/Type>)<\/Declaration>",
                 "key.bodylength" : 1473,
                 "key.bodyoffset" : 12017,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> set<\/decl.name>(isSelected<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, performCallbacks<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 1534,
@@ -24094,7 +24394,7 @@
                 "key.bodylength" : 912,
                 "key.bodyoffset" : 13582,
                 "key.doc.comment" : "Schedule the caller-provided callbacks to happen after one runloop. Why?\n\nBecause this method is called from within `UICollectionViewDelegate` callbacks,\nThis delay gives the `UICollectionView` time to schedule any necessary animations\nfor changes to the highlight and selection state – otherwise, these animations get\nstuck behind the call to the `onSelect` or `onDeselect` blocks, which creates the appearance\nof a laggy UI if these callbacks are slow.",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> updateCoordinatorWithStateChange<\/decl.name>(old<\/decl.var.parameter.argument_label>: State<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, new<\/decl.var.parameter.argument_label>: State<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 986,
@@ -24122,7 +24422,7 @@
                     "key.offset" : 14513
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                 "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> var<\/syntaxtype.keyword> cachedSizes<\/decl.name>: [SizeKey<\/ref.struct> : CGSize<\/ref.struct>]<\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 40,
@@ -24143,7 +24443,7 @@
                 "key.annotated_decl" : "func resetCachedSizes()<\/Declaration>",
                 "key.bodylength" : 50,
                 "key.bodyoffset" : 14612,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> resetCachedSizes<\/decl.name>()<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 84,
@@ -24171,7 +24471,7 @@
                 "key.annotated_decl" : "func size(for info: Sizing<\/Type>.MeasureInfo<\/Type>, cache: ReusableViewCache<\/Type>, environment: ListEnvironment<\/Type>) -> CGSize<\/Type><\/Declaration>",
                 "key.bodylength" : 1530,
                 "key.bodyoffset" : 14845,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> size<\/decl.name>(for<\/decl.var.parameter.argument_label> info<\/decl.var.parameter.name>: Sizing<\/ref.enum>.MeasureInfo<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, cache<\/decl.var.parameter.argument_label>: ReusableViewCache<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, environment<\/decl.var.parameter.argument_label>: ListEnvironment<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGSize<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 1695,
@@ -24190,7 +24490,7 @@
                 "key.substructure" : [
                   {
                     "key.annotated_decl" : "let key: PresentationState<\/Type>.SizeKey<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> key<\/decl.name>: PresentationState<\/ref.class>.SizeKey<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 225,
@@ -24215,7 +24515,7 @@
                 "key.annotated_decl" : "func moved(with result: Reordering<\/Type>.Result<\/Type>)<\/Declaration>",
                 "key.bodylength" : 63,
                 "key.bodyoffset" : 16447,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> moved<\/decl.name>(with<\/decl.var.parameter.argument_label> result<\/decl.var.parameter.name>: Reordering<\/ref.struct>.Result<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 117,
@@ -24252,7 +24552,7 @@
         "key.annotated_decl" : "final class ItemState<Content> : AnyPresentationItemState<\/Type> where Content : ItemContent<\/Type><\/Declaration>",
         "key.bodylength" : 1039,
         "key.bodyoffset" : 16561,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
         "key.fully_annotated_decl" : "final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> ItemState<\/decl.name><Content<\/decl.generic_type_param.name><\/decl.generic_type_param>> : AnyPresentationItemState<\/ref.protocol> where<\/syntaxtype.keyword> Content : ItemContent<\/ref.protocol><\/decl.generic_type_requirement><\/decl.class>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 1079,
@@ -24275,7 +24575,7 @@
             ],
             "key.bodylength" : 881,
             "key.bodyoffset" : 16587,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
             "key.fully_annotated_decl" : "final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> Storage<\/decl.name><\/decl.class>",
             "key.kind" : "source.lang.swift.decl.class",
             "key.length" : 897,
@@ -24290,7 +24590,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var didSetState: (State<\/Type>, State<\/Type>) -> ()<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> didSetState<\/decl.name>: (State<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, State<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 52,
@@ -24311,7 +24611,7 @@
                 "key.annotated_decl" : "var model: Item<\/Type><Content<\/Type>> { get set }<\/Declaration>",
                 "key.bodylength" : 299,
                 "key.bodyoffset" : 16702,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> model<\/decl.name>: Item<\/ref.struct><Content<\/ref.generic_type_param>><\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 327,
@@ -24332,7 +24632,7 @@
                 "key.annotated_decl" : "var state: State<\/Type> { get set }<\/Declaration>",
                 "key.bodylength" : 213,
                 "key.bodyoffset" : 17039,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> state<\/decl.name>: State<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 233,
@@ -24353,7 +24653,7 @@
                 "key.annotated_decl" : "init(_ model: Item<\/Type><Content<\/Type>>)<\/Declaration>",
                 "key.bodylength" : 152,
                 "key.bodyoffset" : 17310,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                 "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(_<\/decl.var.parameter.argument_label> model<\/decl.var.parameter.name>: Item<\/ref.struct><Content<\/ref.generic_type_param>><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 192,
@@ -24395,7 +24695,7 @@
                 "key.offset" : 17503
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
             "key.fully_annotated_decl" : "internal<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> State<\/decl.name> : Equatable<\/ref.protocol><\/decl.struct>",
             "key.inheritedtypes" : [
               {
@@ -24415,7 +24715,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var isSelected: Bool<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> isSelected<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 21,
@@ -24434,7 +24734,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var visibleCell: ItemCell<\/Type><Content<\/Type>>?<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.ItemState.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> visibleCell<\/decl.name>: ItemCell<\/ref.class><Content<\/ref.generic_type_param>>?<\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 36,
@@ -24463,7 +24763,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.RefreshControl.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.RefreshControl.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 1407,
     "key.offset" : 0,
@@ -24474,12 +24774,12 @@
         "key.bodyoffset" : 160,
         "key.doc.column" : 13,
         "key.doc.declaration" : "final class PresentationState",
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
-        "key.doc.full_as_xml" : "PresentationState<\/Name>s:10ListableUI17PresentationStateC<\/USR>final class PresentationState<\/Declaration>A class used to manage the “live” \/ mutable state of the visible items in the list, which is persistent across diffs of content (instances are only created or destroyed when an item enters or leaves the list).<\/Para><\/Abstract><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+        "key.doc.full_as_xml" : "PresentationState<\/Name>s:10ListableUI17PresentationStateC<\/USR>final class PresentationState<\/Declaration>A class used to manage the “live” \/ mutable state of the visible items in the list, which is persistent across diffs of content (instances are only created or destroyed when an item enters or leaves the list).<\/Para><\/Abstract><\/CommentParts><\/Class>",
         "key.doc.line" : 11,
         "key.doc.name" : "PresentationState",
         "key.doc.type" : "Class",
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
         "key.fully_annotated_decl" : "final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> PresentationState<\/decl.name><\/decl.class>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 1275,
@@ -24508,7 +24808,7 @@
             ],
             "key.bodylength" : 1192,
             "key.bodyoffset" : 211,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.RefreshControl.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.RefreshControl.swift",
             "key.fully_annotated_decl" : "internal<\/syntaxtype.keyword> final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> RefreshControlState<\/decl.name><\/decl.class>",
             "key.kind" : "source.lang.swift.decl.class",
             "key.length" : 1224,
@@ -24530,7 +24830,7 @@
                     "key.offset" : 220
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.RefreshControl.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.RefreshControl.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> model<\/decl.name>: RefreshControl<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 26,
@@ -24556,7 +24856,7 @@
                     "key.offset" : 262
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.RefreshControl.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.RefreshControl.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> view<\/decl.name>: UIRefreshControl<\/ref.class><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 27,
@@ -24584,7 +24884,7 @@
                 ],
                 "key.bodylength" : 196,
                 "key.bodyoffset" : 361,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.RefreshControl.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.RefreshControl.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(_<\/decl.var.parameter.argument_label> model<\/decl.var.parameter.name>: RefreshControl<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 237,
@@ -24607,7 +24907,7 @@
                 "key.annotated_decl" : "func update(with control: RefreshControl<\/Type>)<\/Declaration>",
                 "key.bodylength" : 662,
                 "key.bodyoffset" : 628,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.RefreshControl.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.RefreshControl.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> update<\/decl.name>(with<\/decl.var.parameter.argument_label> control<\/decl.var.parameter.name>: RefreshControl<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 715,
@@ -24637,7 +24937,7 @@
                 ],
                 "key.bodylength" : 44,
                 "key.bodyoffset" : 1353,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.RefreshControl.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.RefreshControl.swift",
                 "key.fully_annotated_decl" : "@objc<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> func<\/syntaxtype.keyword> refreshControlChanged<\/decl.name>()<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 83,
@@ -24668,7 +24968,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.SectionState.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.SectionState.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 5203,
     "key.offset" : 0,
@@ -24679,12 +24979,12 @@
         "key.bodyoffset" : 157,
         "key.doc.column" : 13,
         "key.doc.declaration" : "final class PresentationState",
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
-        "key.doc.full_as_xml" : "PresentationState<\/Name>s:10ListableUI17PresentationStateC<\/USR>final class PresentationState<\/Declaration>A class used to manage the “live” \/ mutable state of the visible items in the list, which is persistent across diffs of content (instances are only created or destroyed when an item enters or leaves the list).<\/Para><\/Abstract><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+        "key.doc.full_as_xml" : "PresentationState<\/Name>s:10ListableUI17PresentationStateC<\/USR>final class PresentationState<\/Declaration>A class used to manage the “live” \/ mutable state of the visible items in the list, which is persistent across diffs of content (instances are only created or destroyed when an item enters or leaves the list).<\/Para><\/Abstract><\/CommentParts><\/Class>",
         "key.doc.line" : 11,
         "key.doc.name" : "PresentationState",
         "key.doc.type" : "Class",
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
         "key.fully_annotated_decl" : "final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> PresentationState<\/decl.name><\/decl.class>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 5074,
@@ -24707,7 +25007,7 @@
             ],
             "key.bodylength" : 5007,
             "key.bodyoffset" : 192,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.SectionState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.SectionState.swift",
             "key.fully_annotated_decl" : "final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> SectionState<\/decl.name><\/decl.class>",
             "key.kind" : "source.lang.swift.decl.class",
             "key.length" : 5032,
@@ -24722,7 +25022,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var model: Section<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.SectionState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.SectionState.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> model<\/decl.name>: Section<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 19,
@@ -24741,7 +25041,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var header: HeaderFooterViewStatePair<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.SectionState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.SectionState.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> header<\/decl.name>: HeaderFooterViewStatePair<\/ref.class><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 48,
@@ -24760,7 +25060,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var footer: HeaderFooterViewStatePair<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.SectionState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.SectionState.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> footer<\/decl.name>: HeaderFooterViewStatePair<\/ref.class><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 48,
@@ -24779,7 +25079,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var items: [AnyPresentationItemState<\/Type>]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.SectionState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.SectionState.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> items<\/decl.name>: [AnyPresentationItemState<\/ref.protocol>]<\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 38,
@@ -24798,7 +25098,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let performsContentCallbacks: Bool<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.SectionState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.SectionState.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> performsContentCallbacks<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 35,
@@ -24818,7 +25118,7 @@
                 "key.annotated_decl" : "init(with model: Section<\/Type>, dependencies: ItemStateDependencies<\/Type>, updateCallbacks: UpdateCallbacks<\/Type>, performsContentCallbacks: Bool<\/Type>)<\/Declaration>",
                 "key.bodylength" : 922,
                 "key.bodyoffset" : 662,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.SectionState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.SectionState.swift",
                 "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(with<\/decl.var.parameter.argument_label> model<\/decl.var.parameter.name>: Section<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, dependencies<\/decl.var.parameter.argument_label>: ItemStateDependencies<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, updateCallbacks<\/decl.var.parameter.argument_label>: UpdateCallbacks<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, performsContentCallbacks<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 1115,
@@ -24841,7 +25141,7 @@
                 "key.annotated_decl" : "func removeItem(at index: Int<\/Type>)<\/Declaration>",
                 "key.bodylength" : 97,
                 "key.bodyoffset" : 1644,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.SectionState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.SectionState.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> removeItem<\/decl.name>(at<\/decl.var.parameter.argument_label> index<\/decl.var.parameter.name>: Int<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 139,
@@ -24864,7 +25164,7 @@
                 "key.annotated_decl" : "func insert(item: AnyPresentationItemState<\/Type>, at index: Int<\/Type>)<\/Declaration>",
                 "key.bodylength" : 118,
                 "key.bodyoffset" : 1830,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.SectionState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.SectionState.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> insert<\/decl.name>(item<\/decl.var.parameter.argument_label>: AnyPresentationItemState<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>, at<\/decl.var.parameter.argument_label> index<\/decl.var.parameter.name>: Int<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 189,
@@ -24887,7 +25187,7 @@
                 "key.annotated_decl" : "func update(with oldSection: Section<\/Type>, new newSection: Section<\/Type>, changes: SectionedDiff<\/Type><Section<\/Type>, AnyIdentifier<\/Type>, AnyItem<\/Type>, AnyIdentifier<\/Type>>.ItemChanges<\/Type>, dependencies: ItemStateDependencies<\/Type>, updateCallbacks: UpdateCallbacks<\/Type>)<\/Declaration>",
                 "key.bodylength" : 1578,
                 "key.bodyoffset" : 2261,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.SectionState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.SectionState.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> update<\/decl.name>(with<\/decl.var.parameter.argument_label> oldSection<\/decl.var.parameter.name>: Section<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, new<\/decl.var.parameter.argument_label> newSection<\/decl.var.parameter.name>: Section<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, changes<\/decl.var.parameter.argument_label>: SectionedDiff<\/ref.struct><Section<\/ref.struct>, AnyIdentifier<\/ref.class>, AnyItem<\/ref.protocol>, AnyIdentifier<\/ref.class>>.ItemChanges<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, dependencies<\/decl.var.parameter.argument_label>: ItemStateDependencies<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, updateCallbacks<\/decl.var.parameter.argument_label>: UpdateCallbacks<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 1873,
@@ -24910,7 +25210,7 @@
                 "key.annotated_decl" : "func wasRemoved(updateCallbacks: UpdateCallbacks<\/Type>)<\/Declaration>",
                 "key.bodylength" : 126,
                 "key.bodyoffset" : 3918,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.SectionState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.SectionState.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> wasRemoved<\/decl.name>(updateCallbacks<\/decl.var.parameter.argument_label>: UpdateCallbacks<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 187,
@@ -24933,7 +25233,7 @@
                 "key.annotated_decl" : "static func headerFooterState(with current: AnyPresentationHeaderFooterState<\/Type>?, new: AnyHeaderFooter<\/Type>?, performsContentCallbacks: Bool<\/Type>) -> AnyPresentationHeaderFooterState<\/Type>?<\/Declaration>",
                 "key.bodylength" : 901,
                 "key.bodyoffset" : 4292,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.SectionState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.SectionState.swift",
                 "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> headerFooterState<\/decl.name>(with<\/decl.var.parameter.argument_label> current<\/decl.var.parameter.name>: AnyPresentationHeaderFooterState<\/ref.protocol>?<\/decl.var.parameter.type><\/decl.var.parameter>, new<\/decl.var.parameter.argument_label>: AnyHeaderFooter<\/ref.protocol>?<\/decl.var.parameter.type><\/decl.var.parameter>, performsContentCallbacks<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> AnyPresentationHeaderFooterState<\/ref.protocol>?<\/decl.function.returntype><\/decl.function.method.static>",
                 "key.kind" : "source.lang.swift.decl.function.method.static",
                 "key.length" : 1131,
@@ -24964,9 +25264,9 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
-    "key.length" : 14287,
+    "key.length" : 14249,
     "key.offset" : 0,
     "key.substructure" : [
       {
@@ -24984,14 +25284,14 @@
         "key.doc.column" : 13,
         "key.doc.comment" : "A class used to manage the \"live\" \/ mutable state of the visible items in the list,\nwhich is persistent across diffs of content (instances are only created or destroyed when an item enters or leaves the list).",
         "key.doc.declaration" : "final class PresentationState",
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
-        "key.doc.full_as_xml" : "PresentationState<\/Name>s:10ListableUI17PresentationStateC<\/USR>final class PresentationState<\/Declaration>A class used to manage the “live” \/ mutable state of the visible items in the list, which is persistent across diffs of content (instances are only created or destroyed when an item enters or leaves the list).<\/Para><\/Abstract><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+        "key.doc.full_as_xml" : "PresentationState<\/Name>s:10ListableUI17PresentationStateC<\/USR>final class PresentationState<\/Declaration>A class used to manage the “live” \/ mutable state of the visible items in the list, which is persistent across diffs of content (instances are only created or destroyed when an item enters or leaves the list).<\/Para><\/Abstract><\/CommentParts><\/Class>",
         "key.doc.line" : 11,
         "key.doc.name" : "PresentationState",
         "key.doc.type" : "Class",
         "key.doclength" : 218,
         "key.docoffset" : 96,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
         "key.fully_annotated_decl" : "final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> PresentationState<\/decl.name><\/decl.class>",
         "key.kind" : "source.lang.swift.decl.class",
         "key.length" : 9029,
@@ -25014,7 +25314,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "var refreshControl: RefreshControlState<\/Type>?<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> refreshControl<\/decl.name>: RefreshControlState<\/ref.class>?<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 41,
@@ -25033,7 +25333,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "var header: HeaderFooterViewStatePair<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> header<\/decl.name>: HeaderFooterViewStatePair<\/ref.class><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 48,
@@ -25052,7 +25352,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "var footer: HeaderFooterViewStatePair<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> footer<\/decl.name>: HeaderFooterViewStatePair<\/ref.class><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 48,
@@ -25071,7 +25371,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "var overscrollFooter: HeaderFooterViewStatePair<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> overscrollFooter<\/decl.name>: HeaderFooterViewStatePair<\/ref.class><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 58,
@@ -25090,7 +25390,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "var sections: [PresentationState<\/Type>.SectionState<\/Type>]<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> sections<\/decl.name>: [PresentationState<\/ref.class>.SectionState<\/ref.class>]<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 47,
@@ -25114,7 +25414,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "var performsContentCallbacks: Bool<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> performsContentCallbacks<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 42,
@@ -25140,7 +25440,7 @@
                 "key.offset" : 735
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword>(set) var<\/syntaxtype.keyword> containsAllItems<\/decl.name>: Bool<\/ref.struct><\/decl.var.type> { get }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 27,
@@ -25166,7 +25466,7 @@
                 "key.offset" : 785
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword>(set) var<\/syntaxtype.keyword> contentIdentifier<\/decl.name>: AnyHashable<\/ref.struct>?<\/decl.var.type> { get }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 36,
@@ -25192,7 +25492,7 @@
                 "key.offset" : 844
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> let<\/syntaxtype.keyword> itemMeasurementCache<\/decl.name>: ReusableViewCache<\/ref.class><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 46,
@@ -25217,7 +25517,7 @@
                 "key.offset" : 903
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> let<\/syntaxtype.keyword> headerFooterMeasurementCache<\/decl.name>: ReusableViewCache<\/ref.class><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 54,
@@ -25245,7 +25545,7 @@
             "key.annotated_decl" : "init()<\/Declaration>",
             "key.bodylength" : 158,
             "key.bodyoffset" : 1038,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
             "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>()<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 171,
@@ -25276,7 +25576,7 @@
             "key.annotated_decl" : "var sectionModels: [Section<\/Type>] { get }<\/Declaration>",
             "key.bodylength" : 259,
             "key.bodyoffset" : 1285,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> sectionModels<\/decl.name>: [Section<\/ref.struct>]<\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 291,
@@ -25296,7 +25596,7 @@
             "key.annotated_decl" : "var selectedItems: [AnyPresentationItemState<\/Type>] { get }<\/Declaration>",
             "key.bodylength" : 255,
             "key.bodyoffset" : 1603,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> selectedItems<\/decl.name>: [AnyPresentationItemState<\/ref.protocol>]<\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 304,
@@ -25313,7 +25613,7 @@
           },
           {
             "key.annotated_decl" : "let items: [[AnyPresentationItemState<\/Type>]]<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> items<\/decl.name>: [[AnyPresentationItemState<\/ref.protocol>]]<\/decl.var.type><\/decl.var.local>",
             "key.kind" : "source.lang.swift.decl.var.local",
             "key.length" : 196,
@@ -25333,7 +25633,7 @@
             "key.annotated_decl" : "var selectedIndexPaths: [IndexPath<\/Type>] { get }<\/Declaration>",
             "key.bodylength" : 338,
             "key.bodyoffset" : 1907,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> selectedIndexPaths<\/decl.name>: [IndexPath<\/ref.struct>]<\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 377,
@@ -25350,7 +25650,7 @@
           },
           {
             "key.annotated_decl" : "let indexes: [[IndexPath<\/Type>]]<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> indexes<\/decl.name>: [[IndexPath<\/ref.struct>]]<\/decl.var.type><\/decl.var.local>",
             "key.kind" : "source.lang.swift.decl.var.local",
             "key.length" : 277,
@@ -25370,7 +25670,7 @@
             "key.annotated_decl" : "func headerFooter(of kind: SupplementaryKind<\/Type>, in section: Int<\/Type>) -> HeaderFooterViewStatePair<\/Type><\/Declaration>",
             "key.bodylength" : 320,
             "key.bodyoffset" : 2355,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> headerFooter<\/decl.name>(of<\/decl.var.parameter.argument_label> kind<\/decl.var.parameter.name>: SupplementaryKind<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>, in<\/decl.var.parameter.argument_label> section<\/decl.var.parameter.name>: Int<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> HeaderFooterViewStatePair<\/ref.class><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 420,
@@ -25393,7 +25693,7 @@
             "key.annotated_decl" : "func item(at indexPath: IndexPath<\/Type>) -> AnyPresentationItemState<\/Type><\/Declaration>",
             "key.bodylength" : 138,
             "key.bodyoffset" : 2755,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> item<\/decl.name>(at<\/decl.var.parameter.argument_label> indexPath<\/decl.var.parameter.name>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> AnyPresentationItemState<\/ref.protocol><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 208,
@@ -25407,7 +25707,7 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let section: PresentationState<\/Type>.SectionState<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> section<\/decl.name>: PresentationState<\/ref.class>.SectionState<\/ref.class><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 46,
@@ -25424,7 +25724,7 @@
               },
               {
                 "key.annotated_decl" : "let item: AnyPresentationItemState<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> item<\/decl.name>: AnyPresentationItemState<\/ref.protocol><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 40,
@@ -25454,7 +25754,7 @@
             "key.annotated_decl" : "func sections(at indexes: [Int<\/Type>]) -> [SectionState<\/Type>]<\/Declaration>",
             "key.bodylength" : 173,
             "key.bodyoffset" : 2961,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> sections<\/decl.name>(at<\/decl.var.parameter.argument_label> indexes<\/decl.var.parameter.name>: [Int<\/ref.struct>]<\/decl.var.parameter.type><\/decl.var.parameter>) -> [SectionState<\/ref.class>]<\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 231,
@@ -25473,7 +25773,7 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "var sections: [SectionState<\/Type>]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> sections<\/decl.name>: [SectionState<\/ref.class>]<\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 34,
@@ -25513,7 +25813,7 @@
             ],
             "key.bodylength" : 411,
             "key.bodyoffset" : 3188,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> lastIndexPath<\/decl.name>: IndexPath<\/ref.struct>?<\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 448,
@@ -25530,7 +25830,7 @@
           },
           {
             "key.annotated_decl" : "let nonEmptySections: [(index: Int<\/Type>, section: SectionState<\/Type>)]<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> nonEmptySections<\/decl.name>: [(index<\/tuple.element.argument_label>: Int<\/ref.struct><\/tuple.element.type><\/tuple.element>, section<\/tuple.element.argument_label>: SectionState<\/ref.class><\/tuple.element.type><\/tuple.element>)<\/tuple>]<\/decl.var.type><\/decl.var.local>",
             "key.kind" : "source.lang.swift.decl.var.local",
             "key.length" : 187,
@@ -25557,7 +25857,7 @@
             ],
             "key.bodylength" : 327,
             "key.bodyoffset" : 3696,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
             "key.fully_annotated_decl" : "internal<\/syntaxtype.keyword> func<\/syntaxtype.keyword> indexPath<\/decl.name>(for<\/decl.var.parameter.argument_label> itemToFind<\/decl.var.parameter.name>: AnyPresentationItemState<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>) -> IndexPath<\/ref.struct>?<\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 405,
@@ -25587,7 +25887,7 @@
             ],
             "key.bodylength" : 244,
             "key.bodyoffset" : 4120,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
             "key.fully_annotated_decl" : "internal<\/syntaxtype.keyword> func<\/syntaxtype.keyword> forEachItem<\/decl.name>(_<\/decl.var.parameter.argument_label> block<\/decl.var.parameter.name>: (IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, AnyPresentationItemState<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 322,
@@ -25618,7 +25918,7 @@
             "key.annotated_decl" : "func moveItem(from: IndexPath<\/Type>, to: IndexPath<\/Type>)<\/Declaration>",
             "key.bodylength" : 193,
             "key.bodyoffset" : 4474,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> moveItem<\/decl.name>(from<\/decl.var.parameter.argument_label>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, to<\/decl.var.parameter.argument_label>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 247,
@@ -25632,7 +25932,7 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let item: AnyPresentationItemState<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> item<\/decl.name>: AnyPresentationItemState<\/ref.protocol><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 30,
@@ -25669,7 +25969,7 @@
             ],
             "key.bodylength" : 86,
             "key.bodyoffset" : 4772,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
             "key.fully_annotated_decl" : "@discardableResult<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> func<\/syntaxtype.keyword> remove<\/decl.name>(at<\/decl.var.parameter.argument_label> indexPath<\/decl.var.parameter.name>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> AnyPresentationItemState<\/ref.protocol><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 158,
@@ -25697,7 +25997,7 @@
             "key.annotated_decl" : "func remove(item itemToRemove: AnyPresentationItemState<\/Type>) -> IndexPath<\/Type>?<\/Declaration>",
             "key.bodylength" : 224,
             "key.bodyoffset" : 4946,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> remove<\/decl.name>(item<\/decl.var.parameter.argument_label> itemToRemove<\/decl.var.parameter.name>: AnyPresentationItemState<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>) -> IndexPath<\/ref.struct>?<\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 302,
@@ -25725,7 +26025,7 @@
             "key.annotated_decl" : "func insert(item: AnyPresentationItemState<\/Type>, at indexPath: IndexPath<\/Type>)<\/Declaration>",
             "key.bodylength" : 85,
             "key.bodyoffset" : 5257,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> insert<\/decl.name>(item<\/decl.var.parameter.argument_label>: AnyPresentationItemState<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>, at<\/decl.var.parameter.argument_label> indexPath<\/decl.var.parameter.name>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 162,
@@ -25756,7 +26056,7 @@
             "key.annotated_decl" : "func resetAllCachedSizes()<\/Declaration>",
             "key.bodylength" : 156,
             "key.bodyoffset" : 5432,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> resetAllCachedSizes<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 189,
@@ -25787,7 +26087,7 @@
             "key.annotated_decl" : "func update(with diff: SectionedDiff<\/Type><Section<\/Type>, AnyIdentifier<\/Type>, AnyItem<\/Type>, AnyIdentifier<\/Type>>, slice: Content<\/Type>.Slice<\/Type>, dependencies: ItemStateDependencies<\/Type>, updateCallbacks: UpdateCallbacks<\/Type>, loggable: SignpostLoggable<\/Type>?)<\/Declaration>",
             "key.bodylength" : 2205,
             "key.bodyoffset" : 5915,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> update<\/decl.name>(with<\/decl.var.parameter.argument_label> diff<\/decl.var.parameter.name>: SectionedDiff<\/ref.struct><Section<\/ref.struct>, AnyIdentifier<\/ref.class>, AnyItem<\/ref.protocol>, AnyIdentifier<\/ref.class>><\/decl.var.parameter.type><\/decl.var.parameter>, slice<\/decl.var.parameter.argument_label>: Content<\/ref.struct>.Slice<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, dependencies<\/decl.var.parameter.argument_label>: ItemStateDependencies<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, updateCallbacks<\/decl.var.parameter.argument_label>: UpdateCallbacks<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, loggable<\/decl.var.parameter.argument_label>: SignpostLoggable<\/ref.protocol>?<\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 2465,
@@ -25817,7 +26117,7 @@
             ],
             "key.bodylength" : 463,
             "key.bodyoffset" : 8223,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
             "key.fully_annotated_decl" : "internal<\/syntaxtype.keyword> func<\/syntaxtype.keyword> updateRefreshControl<\/decl.name>(with<\/decl.var.parameter.argument_label> new<\/decl.var.parameter.name>: RefreshControl<\/ref.struct>?<\/decl.var.parameter.type><\/decl.var.parameter>, in<\/decl.var.parameter.argument_label> view<\/decl.var.parameter.name>: UIScrollView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 547,
@@ -25853,7 +26153,7 @@
                 "key.offset" : 8768
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> var<\/syntaxtype.keyword> registeredCellObjectIdentifiers<\/decl.name>: Set<\/ref.struct><ObjectIdentifier<\/ref.struct>><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 67,
@@ -25874,7 +26174,7 @@
             "key.annotated_decl" : "func registerCell(for item: AnyPresentationItemState<\/Type>, in view: UICollectionView<\/Type>)<\/Declaration>",
             "key.bodylength" : 405,
             "key.bodyoffset" : 8941,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> registerCell<\/decl.name>(for<\/decl.var.parameter.argument_label> item<\/decl.var.parameter.name>: AnyPresentationItemState<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>, in<\/decl.var.parameter.argument_label> view<\/decl.var.parameter.name>: UICollectionView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 494,
@@ -25888,7 +26188,7 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let info: (class: AnyClass<\/Type>, reuseIdentifier: String<\/Type>)<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> info<\/decl.name>: (class<\/tuple.element.argument_label>: AnyClass<\/ref.typealias><\/tuple.element.type><\/tuple.element>, reuseIdentifier<\/tuple.element.argument_label>: String<\/ref.struct><\/tuple.element.type><\/tuple.element>)<\/tuple><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 36,
@@ -25905,7 +26205,7 @@
               },
               {
                 "key.annotated_decl" : "let identifier: ObjectIdentifier<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> identifier<\/decl.name>: ObjectIdentifier<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 45,
@@ -25936,12 +26236,12 @@
         "key.bodyoffset" : 9381,
         "key.doc.column" : 13,
         "key.doc.declaration" : "final class PresentationState",
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
-        "key.doc.full_as_xml" : "PresentationState<\/Name>s:10ListableUI17PresentationStateC<\/USR>final class PresentationState<\/Declaration>A class used to manage the “live” \/ mutable state of the visible items in the list, which is persistent across diffs of content (instances are only created or destroyed when an item enters or leaves the list).<\/Para><\/Abstract><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+        "key.doc.full_as_xml" : "PresentationState<\/Name>s:10ListableUI17PresentationStateC<\/USR>final class PresentationState<\/Declaration>A class used to manage the “live” \/ mutable state of the visible items in the list, which is persistent across diffs of content (instances are only created or destroyed when an item enters or leaves the list).<\/Para><\/Abstract><\/CommentParts><\/Class>",
         "key.doc.line" : 11,
         "key.doc.name" : "PresentationState",
         "key.doc.type" : "Class",
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
         "key.fully_annotated_decl" : "final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> PresentationState<\/decl.name><\/decl.class>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 881,
@@ -25964,7 +26264,7 @@
                 "key.offset" : 9410
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
             "key.fully_annotated_decl" : "enum<\/syntaxtype.keyword> UpdateReason<\/decl.name> : Equatable<\/ref.protocol><\/decl.enum>",
             "key.inheritedtypes" : [
               {
@@ -25990,7 +26290,7 @@
                 "key.substructure" : [
                   {
                     "key.annotated_decl" : "case scrolledDown<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> scrolledDown<\/decl.name><\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 12,
@@ -26016,7 +26316,7 @@
                 "key.substructure" : [
                   {
                     "key.annotated_decl" : "case didEndDecelerating<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> didEndDecelerating<\/decl.name><\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 18,
@@ -26042,7 +26342,7 @@
                 "key.substructure" : [
                   {
                     "key.annotated_decl" : "case scrolledToTop<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> scrolledToTop<\/decl.name><\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 13,
@@ -26068,7 +26368,7 @@
                 "key.substructure" : [
                   {
                     "key.annotated_decl" : "case contentChanged(animated: Bool<\/Type>, identifierChanged: Bool<\/Type>)<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> contentChanged<\/decl.name>(animated<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, identifierChanged<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 57,
@@ -26097,7 +26397,7 @@
                 "key.substructure" : [
                   {
                     "key.annotated_decl" : "case transitionedToBounds(isEmpty: Bool<\/Type>)<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> transitionedToBounds<\/decl.name>(isEmpty<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 36,
@@ -26126,7 +26426,7 @@
                 "key.substructure" : [
                   {
                     "key.annotated_decl" : "case programaticScrollDownTo(IndexPath<\/Type>)<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> programaticScrollDownTo<\/decl.name>(IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 34,
@@ -26151,7 +26451,7 @@
                 "key.annotated_decl" : "var animated: Bool<\/Type> { get }<\/Declaration>",
                 "key.bodylength" : 474,
                 "key.bodyoffset" : 9750,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> animated<\/decl.name>: Bool<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 496,
@@ -26182,12 +26482,12 @@
         "key.bodyoffset" : 10265,
         "key.doc.column" : 13,
         "key.doc.declaration" : "final class PresentationState",
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
-        "key.doc.full_as_xml" : "PresentationState<\/Name>s:10ListableUI17PresentationStateC<\/USR>final class PresentationState<\/Declaration>A class used to manage the “live” \/ mutable state of the visible items in the list, which is persistent across diffs of content (instances are only created or destroyed when an item enters or leaves the list).<\/Para><\/Abstract><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+        "key.doc.full_as_xml" : "PresentationState<\/Name>s:10ListableUI17PresentationStateC<\/USR>final class PresentationState<\/Declaration>A class used to manage the “live” \/ mutable state of the visible items in the list, which is persistent across diffs of content (instances are only created or destroyed when an item enters or leaves the list).<\/Para><\/Abstract><\/CommentParts><\/Class>",
         "key.doc.line" : 11,
         "key.doc.name" : "PresentationState",
         "key.doc.type" : "Class",
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
         "key.fully_annotated_decl" : "final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> PresentationState<\/decl.name><\/decl.class>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 204,
@@ -26210,7 +26510,7 @@
                 "key.offset" : 10287
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
             "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> SizeKey<\/decl.name> : Hashable<\/ref.protocol><\/decl.struct>",
             "key.inheritedtypes" : [
               {
@@ -26230,7 +26530,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var width: CGFloat<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> width<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 19,
@@ -26249,7 +26549,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var height: CGFloat<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> height<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 20,
@@ -26268,7 +26568,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var layoutDirection: LayoutDirection<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> layoutDirection<\/decl.name>: LayoutDirection<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 37,
@@ -26287,7 +26587,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var sizing: Sizing<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> sizing<\/decl.name>: Sizing<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 19,
@@ -26315,41 +26615,41 @@
       },
       {
         "key.annotated_decl" : "final class PresentationState<\/Declaration>",
-        "key.bodylength" : 3813,
+        "key.bodylength" : 3775,
         "key.bodyoffset" : 10472,
         "key.doc.column" : 13,
         "key.doc.declaration" : "final class PresentationState",
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
-        "key.doc.full_as_xml" : "PresentationState<\/Name>s:10ListableUI17PresentationStateC<\/USR>final class PresentationState<\/Declaration>A class used to manage the “live” \/ mutable state of the visible items in the list, which is persistent across diffs of content (instances are only created or destroyed when an item enters or leaves the list).<\/Para><\/Abstract><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+        "key.doc.full_as_xml" : "PresentationState<\/Name>s:10ListableUI17PresentationStateC<\/USR>final class PresentationState<\/Declaration>A class used to manage the “live” \/ mutable state of the visible items in the list, which is persistent across diffs of content (instances are only created or destroyed when an item enters or leaves the list).<\/Para><\/Abstract><\/CommentParts><\/Class>",
         "key.doc.line" : 11,
         "key.doc.name" : "PresentationState",
         "key.doc.type" : "Class",
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
         "key.fully_annotated_decl" : "final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> PresentationState<\/decl.name><\/decl.class>",
         "key.kind" : "source.lang.swift.decl.extension",
-        "key.length" : 3843,
+        "key.length" : 3805,
         "key.name" : "PresentationState",
         "key.namelength" : 17,
         "key.nameoffset" : 10453,
         "key.offset" : 10443,
         "key.parsed_declaration" : "extension PresentationState",
-        "key.parsed_scope.end" : 439,
+        "key.parsed_scope.end" : 438,
         "key.parsed_scope.start" : 352,
         "key.substructure" : [
           {
             "key.annotated_decl" : "func toListLayoutContent(defaults: ListLayoutDefaults<\/Type>, environment: ListEnvironment<\/Type>) -> ListLayoutContent<\/Type><\/Declaration>",
-            "key.bodylength" : 3672,
+            "key.bodylength" : 3634,
             "key.bodyoffset" : 10611,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Presentation State\/PresentationState.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> toListLayoutContent<\/decl.name>(defaults<\/decl.var.parameter.argument_label>: ListLayoutDefaults<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, environment<\/decl.var.parameter.argument_label>: ListEnvironment<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ListLayoutContent<\/ref.class><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 3807,
+            "key.length" : 3769,
             "key.name" : "toListLayoutContent(defaults:environment:)",
             "key.namelength" : 102,
             "key.nameoffset" : 10482,
             "key.offset" : 10477,
             "key.parsed_declaration" : "func toListLayoutContent(\n    defaults: ListLayoutDefaults,\n    environment : ListEnvironment\n) -> ListLayoutContent",
-            "key.parsed_scope.end" : 438,
+            "key.parsed_scope.end" : 437,
             "key.parsed_scope.start" : 354,
             "key.substructure" : [
 
@@ -26366,7 +26666,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ReusableViewCache.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ReusableViewCache.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 1941,
     "key.offset" : 0,
@@ -26383,7 +26683,7 @@
         ],
         "key.bodylength" : 1789,
         "key.bodyoffset" : 150,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ReusableViewCache.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ReusableViewCache.swift",
         "key.fully_annotated_decl" : "final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> ReusableViewCache<\/decl.name><\/decl.class>",
         "key.kind" : "source.lang.swift.decl.class",
         "key.length" : 1815,
@@ -26405,7 +26705,7 @@
                 "key.offset" : 155
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ReusableViewCache.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ReusableViewCache.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> var<\/syntaxtype.keyword> views<\/decl.name>: [String<\/ref.struct> : [AnyObject<\/ref.typealias>]]<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 38,
@@ -26426,7 +26726,7 @@
             "key.annotated_decl" : "init()<\/Declaration>",
             "key.bodylength" : 0,
             "key.bodyoffset" : 219,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ReusableViewCache.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ReusableViewCache.swift",
             "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>()<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 9,
@@ -26446,7 +26746,7 @@
             "key.annotated_decl" : "func count<Content>(for reuseIdentifier: ReuseIdentifier<\/Type><Content<\/Type>>) -> Int<\/Type><\/Declaration>",
             "key.bodylength" : 106,
             "key.bodyoffset" : 310,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ReusableViewCache.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ReusableViewCache.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> count<\/decl.name><Content<\/decl.generic_type_param.name><\/decl.generic_type_param>>(for<\/decl.var.parameter.argument_label> reuseIdentifier<\/decl.var.parameter.name>: ReuseIdentifier<\/ref.class><Content<\/ref.generic_type_param>><\/decl.var.parameter.type><\/decl.var.parameter>) -> Int<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 187,
@@ -26460,7 +26760,7 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "Content<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ReusableViewCache.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ReusableViewCache.swift",
                 "key.fully_annotated_decl" : "Content<\/decl.generic_type_param.name><\/decl.generic_type_param>",
                 "key.kind" : "source.lang.swift.decl.generic_type_param",
                 "key.length" : 7,
@@ -26477,7 +26777,7 @@
               },
               {
                 "key.annotated_decl" : "let views: [AnyObject<\/Type>]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ReusableViewCache.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ReusableViewCache.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> views<\/decl.name>: [AnyObject<\/ref.typealias>]<\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 64,
@@ -26507,7 +26807,7 @@
             "key.annotated_decl" : "func push<Content, View>(_ view: View<\/Type>, with reuseIdentifier: ReuseIdentifier<\/Type><Content<\/Type>>) where View : AnyObject<\/Declaration>",
             "key.bodylength" : 311,
             "key.bodyoffset" : 529,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ReusableViewCache.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ReusableViewCache.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> push<\/decl.name><Content<\/decl.generic_type_param.name><\/decl.generic_type_param>, View<\/decl.generic_type_param.name><\/decl.generic_type_param>>(_<\/decl.var.parameter.argument_label> view<\/decl.var.parameter.name>: View<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, with<\/decl.var.parameter.argument_label> reuseIdentifier<\/decl.var.parameter.name>: ReuseIdentifier<\/ref.class><Content<\/ref.generic_type_param>><\/decl.var.parameter.type><\/decl.var.parameter>) where<\/syntaxtype.keyword> View : AnyObject<\/decl.generic_type_requirement><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 414,
@@ -26521,7 +26821,7 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "Content<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ReusableViewCache.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ReusableViewCache.swift",
                 "key.fully_annotated_decl" : "Content<\/decl.generic_type_param.name><\/decl.generic_type_param>",
                 "key.kind" : "source.lang.swift.decl.generic_type_param",
                 "key.length" : 7,
@@ -26545,7 +26845,7 @@
                     "key.offset" : 450
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ReusableViewCache.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ReusableViewCache.swift",
                 "key.fully_annotated_decl" : "View<\/decl.generic_type_param.name> : AnyObject<\/ref.typealias><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
                 "key.inheritedtypes" : [
                   {
@@ -26567,7 +26867,7 @@
               },
               {
                 "key.annotated_decl" : "var views: [AnyObject<\/Type>]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ReusableViewCache.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ReusableViewCache.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> views<\/decl.name>: [AnyObject<\/ref.typealias>]<\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 64,
@@ -26597,7 +26897,7 @@
             "key.annotated_decl" : "func pop<Content, View>(with reuseIdentifier: ReuseIdentifier<\/Type><Content<\/Type>>, _ create: () -> View<\/Type>) -> View<\/Type> where View : AnyObject<\/Declaration>",
             "key.bodylength" : 275,
             "key.bodyoffset" : 968,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ReusableViewCache.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ReusableViewCache.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> pop<\/decl.name><Content<\/decl.generic_type_param.name><\/decl.generic_type_param>, View<\/decl.generic_type_param.name><\/decl.generic_type_param>>(with<\/decl.var.parameter.argument_label> reuseIdentifier<\/decl.var.parameter.name>: ReuseIdentifier<\/ref.class><Content<\/ref.generic_type_param>><\/decl.var.parameter.type><\/decl.var.parameter>, _<\/decl.var.parameter.argument_label> create<\/decl.var.parameter.name>: () -> View<\/ref.generic_type_param><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>) -> View<\/ref.generic_type_param><\/decl.function.returntype> where<\/syntaxtype.keyword> View : AnyObject<\/decl.generic_type_requirement><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 393,
@@ -26611,7 +26911,7 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "Content<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ReusableViewCache.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ReusableViewCache.swift",
                 "key.fully_annotated_decl" : "Content<\/decl.generic_type_param.name><\/decl.generic_type_param>",
                 "key.kind" : "source.lang.swift.decl.generic_type_param",
                 "key.length" : 7,
@@ -26635,7 +26935,7 @@
                     "key.offset" : 873
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ReusableViewCache.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ReusableViewCache.swift",
                 "key.fully_annotated_decl" : "View<\/decl.generic_type_param.name> : AnyObject<\/ref.typealias><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
                 "key.inheritedtypes" : [
                   {
@@ -26657,7 +26957,7 @@
               },
               {
                 "key.annotated_decl" : "var views: [AnyObject<\/Type>]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ReusableViewCache.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ReusableViewCache.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> views<\/decl.name>: [AnyObject<\/ref.typealias>]<\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 64,
@@ -26687,7 +26987,7 @@
             "key.annotated_decl" : "func use<Content, View, Result>(with reuseIdentifier: ReuseIdentifier<\/Type><Content<\/Type>>, create: () -> View<\/Type>, _ use: (View<\/Type>) -> Result<\/Type>) -> Result<\/Type> where View : AnyObject<\/Declaration>",
             "key.bodylength" : 532,
             "key.bodyoffset" : 1405,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ReusableViewCache.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ReusableViewCache.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> use<\/decl.name><Content<\/decl.generic_type_param.name><\/decl.generic_type_param>, View<\/decl.generic_type_param.name><\/decl.generic_type_param>, Result<\/decl.generic_type_param.name><\/decl.generic_type_param>>(with<\/decl.var.parameter.argument_label> reuseIdentifier<\/decl.var.parameter.name>: ReuseIdentifier<\/ref.class><Content<\/ref.generic_type_param>><\/decl.var.parameter.type><\/decl.var.parameter>, create<\/decl.var.parameter.argument_label>: () -> View<\/ref.generic_type_param><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>, _<\/decl.var.parameter.argument_label> use<\/decl.var.parameter.name>: (View<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> Result<\/ref.generic_type_param><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>) -> Result<\/ref.generic_type_param><\/decl.function.returntype> where<\/syntaxtype.keyword> View : AnyObject<\/decl.generic_type_requirement><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 684,
@@ -26701,7 +27001,7 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "Content<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ReusableViewCache.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ReusableViewCache.swift",
                 "key.fully_annotated_decl" : "Content<\/decl.generic_type_param.name><\/decl.generic_type_param>",
                 "key.kind" : "source.lang.swift.decl.generic_type_param",
                 "key.length" : 7,
@@ -26725,7 +27025,7 @@
                     "key.offset" : 1276
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ReusableViewCache.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ReusableViewCache.swift",
                 "key.fully_annotated_decl" : "View<\/decl.generic_type_param.name> : AnyObject<\/ref.typealias><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
                 "key.inheritedtypes" : [
                   {
@@ -26747,7 +27047,7 @@
               },
               {
                 "key.annotated_decl" : "Result<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ReusableViewCache.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ReusableViewCache.swift",
                 "key.fully_annotated_decl" : "Result<\/decl.generic_type_param.name><\/decl.generic_type_param>",
                 "key.kind" : "source.lang.swift.decl.generic_type_param",
                 "key.length" : 6,
@@ -26764,7 +27064,7 @@
               },
               {
                 "key.annotated_decl" : "let views: [AnyObject<\/Type>]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ReusableViewCache.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ReusableViewCache.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> views<\/decl.name>: [AnyObject<\/ref.typealias>]<\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 64,
@@ -26797,7 +27097,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ReuseIdentifier.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ReuseIdentifier.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 1400,
     "key.offset" : 0,
@@ -26812,7 +27112,7 @@
             "key.offset" : 98
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ReuseIdentifier.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ReuseIdentifier.swift",
         "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> var<\/syntaxtype.keyword> identifiers<\/decl.name>: [ObjectIdentifier<\/ref.struct> : Any<\/syntaxtype.keyword>]<\/decl.var.type><\/decl.var.global>",
         "key.kind" : "source.lang.swift.decl.var.global",
         "key.length" : 46,
@@ -26847,7 +27147,7 @@
             "key.offset" : 194
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ReuseIdentifier.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ReuseIdentifier.swift",
         "key.fully_annotated_decl" : "final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> ReuseIdentifier<\/decl.name><Element<\/decl.generic_type_param.name><\/decl.generic_type_param>> : Hashable<\/ref.protocol><\/decl.class>",
         "key.inheritedtypes" : [
           {
@@ -26866,7 +27166,7 @@
         "key.substructure" : [
           {
             "key.annotated_decl" : "Element<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ReuseIdentifier.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ReuseIdentifier.swift",
             "key.fully_annotated_decl" : "Element<\/decl.generic_type_param.name><\/decl.generic_type_param>",
             "key.kind" : "source.lang.swift.decl.generic_type_param",
             "key.length" : 7,
@@ -26894,7 +27194,7 @@
             "key.annotated_decl" : "static func identifier(for element: Element<\/Type>.Type) -> ReuseIdentifier<\/Type><Element<\/Type>><\/Declaration>",
             "key.bodylength" : 352,
             "key.bodyoffset" : 342,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ReuseIdentifier.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ReuseIdentifier.swift",
             "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> identifier<\/decl.name>(for<\/decl.var.parameter.argument_label> element<\/decl.var.parameter.name>: Element<\/ref.generic_type_param>.Type<\/decl.var.parameter.type><\/decl.var.parameter>) -> ReuseIdentifier<\/ref.class><Element<\/ref.generic_type_param>><\/decl.function.returntype><\/decl.function.method.static>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
             "key.length" : 437,
@@ -26913,7 +27213,7 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let typeIdentifier: ObjectIdentifier<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ReuseIdentifier.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ReuseIdentifier.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> typeIdentifier<\/decl.name>: ObjectIdentifier<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 46,
@@ -26936,7 +27236,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "let stringValue: String<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ReuseIdentifier.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ReuseIdentifier.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> stringValue<\/decl.name>: String<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 24,
@@ -26954,7 +27254,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "let identifier: ObjectIdentifier<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ReuseIdentifier.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ReuseIdentifier.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> identifier<\/decl.name>: ObjectIdentifier<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 33,
@@ -26977,7 +27277,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "let hash: Int<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ReuseIdentifier.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ReuseIdentifier.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> hash<\/decl.name>: Int<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 14,
@@ -27017,7 +27317,7 @@
             ],
             "key.bodylength" : 236,
             "key.bodyoffset" : 869,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ReuseIdentifier.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ReuseIdentifier.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> init<\/syntaxtype.keyword>()<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 249,
@@ -27031,7 +27331,7 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "var hasher: Hasher<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ReuseIdentifier.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ReuseIdentifier.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> hasher<\/decl.name>: Hasher<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 21,
@@ -27094,7 +27394,7 @@
               }
             ],
             "key.doc.type" : "Function",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ReuseIdentifier.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ReuseIdentifier.swift",
             "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> == <\/decl.name>(lhs<\/decl.var.parameter.name>: ReuseIdentifier<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, rhs<\/decl.var.parameter.name>: ReuseIdentifier<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.operator.infix>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
             "key.length" : 106,
@@ -27604,7 +27904,7 @@
               }
             ],
             "key.doc.type" : "Function",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/ReuseIdentifier.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/ReuseIdentifier.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> hash<\/decl.name>(into<\/decl.var.parameter.argument_label> hasher<\/decl.var.parameter.name>: inout<\/syntaxtype.keyword> Hasher<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 82,
@@ -27640,7 +27940,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/SupplementaryContainerView.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/SupplementaryContainerView.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 7686,
     "key.offset" : 0,
@@ -27674,8 +27974,8 @@
             "Para" : "Thus, we always provide this container supplementary view – and swap the content of the header or footer in or out as needed as it changes. As mentioned above, if there is no actual header or footer to show, the view has zero height."
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/SupplementaryContainerView.swift",
-        "key.doc.full_as_xml" : "SupplementaryContainerView<\/Name>c:@M@ListableUI@objc(cs)SupplementaryContainerView<\/USR>final class SupplementaryContainerView : UICollectionReusableView<\/Declaration>The supplementary view provided to the UICollectionView, which is used to contain every actual header and footer view within the list.<\/Para><\/Abstract>Regardless of if a section has a header or footer provided by the developer, we always return a supplementary view – if there’s no header or footer, it has zero height.<\/Para>]]><\/rawHTML>Why this extra layer of indirection?]]><\/rawHTML>Within collection views, supplementary views (how you model headers, footers) are attached to individual index paths. So, Listable models headers and footers as attached to (0,0) for list headers and footers, and (sectionIndex, 0) for section headers and footers. All good so far.<\/Para>The problem arises when you want to swap out a header or footer without changing the row at the (x, 0) index path. The collection view does not know to re-query for those associated headers, because we didn’t actually reload or change that (x, 0) item.<\/Para>Thus, we always provide this container supplementary view – and swap the content of the header or footer in or out as needed as it changes. As mentioned above, if there is no actual header or footer to show, the view has zero height.<\/Para><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/SupplementaryContainerView.swift",
+        "key.doc.full_as_xml" : "SupplementaryContainerView<\/Name>c:@M@ListableUI@objc(cs)SupplementaryContainerView<\/USR>final class SupplementaryContainerView : UICollectionReusableView<\/Declaration>The supplementary view provided to the UICollectionView, which is used to contain every actual header and footer view within the list.<\/Para><\/Abstract>Regardless of if a section has a header or footer provided by the developer, we always return a supplementary view – if there’s no header or footer, it has zero height.<\/Para>]]><\/rawHTML>Why this extra layer of indirection?]]><\/rawHTML>Within collection views, supplementary views (how you model headers, footers) are attached to individual index paths. So, Listable models headers and footers as attached to (0,0) for list headers and footers, and (sectionIndex, 0) for section headers and footers. All good so far.<\/Para>The problem arises when you want to swap out a header or footer without changing the row at the (x, 0) index path. The collection view does not know to re-query for those associated headers, because we didn’t actually reload or change that (x, 0) item.<\/Para>Thus, we always provide this container supplementary view – and swap the content of the header or footer in or out as needed as it changes. As mentioned above, if there is no actual header or footer to show, the view has zero height.<\/Para><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 35,
         "key.doc.name" : "SupplementaryContainerView",
         "key.doc.type" : "Class",
@@ -27688,7 +27988,7 @@
             "key.offset" : 1345
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/SupplementaryContainerView.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/SupplementaryContainerView.swift",
         "key.fully_annotated_decl" : "final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> SupplementaryContainerView<\/decl.name> : UICollectionReusableView<\/ref.class><\/decl.class>",
         "key.inheritedtypes" : [
           {
@@ -27716,7 +28016,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "static let reuseIdentifier: String<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/SupplementaryContainerView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/SupplementaryContainerView.swift",
             "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> let<\/syntaxtype.keyword> reuseIdentifier<\/decl.name>: String<\/ref.struct><\/decl.var.type><\/decl.var.static>",
             "key.kind" : "source.lang.swift.decl.var.static",
             "key.length" : 66,
@@ -27741,7 +28041,7 @@
             "key.annotated_decl" : "static func register(in collectionView: UICollectionView<\/Type>, for kind: String<\/Type>)<\/Declaration>",
             "key.bodylength" : 215,
             "key.bodyoffset" : 1596,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/SupplementaryContainerView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/SupplementaryContainerView.swift",
             "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> register<\/decl.name>(in<\/decl.var.parameter.argument_label> collectionView<\/decl.var.parameter.name>: UICollectionView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, for<\/decl.var.parameter.argument_label> kind<\/decl.var.parameter.name>: String<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.static>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
             "key.length" : 298,
@@ -27764,7 +28064,7 @@
             "key.annotated_decl" : "static func dequeue(in collectionView: UICollectionView<\/Type>, for kind: String<\/Type>, at indexPath: IndexPath<\/Type>, reuseCache: ReusableViewCache<\/Type>, environment: ListEnvironment<\/Type>) -> SupplementaryContainerView<\/Type><\/Declaration>",
             "key.bodylength" : 358,
             "key.bodyoffset" : 2068,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/SupplementaryContainerView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/SupplementaryContainerView.swift",
             "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> dequeue<\/decl.name>(in<\/decl.var.parameter.argument_label> collectionView<\/decl.var.parameter.name>: UICollectionView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, for<\/decl.var.parameter.argument_label> kind<\/decl.var.parameter.name>: String<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, at<\/decl.var.parameter.argument_label> indexPath<\/decl.var.parameter.name>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, reuseCache<\/decl.var.parameter.argument_label>: ReusableViewCache<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, environment<\/decl.var.parameter.argument_label>: ListEnvironment<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> SupplementaryContainerView<\/ref.class><\/decl.function.returntype><\/decl.function.method.static>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
             "key.length" : 605,
@@ -27778,7 +28078,7 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let view: SupplementaryContainerView<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/SupplementaryContainerView.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/SupplementaryContainerView.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> view<\/decl.name>: SupplementaryContainerView<\/ref.class><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 230,
@@ -27811,7 +28111,7 @@
             "key.annotated_decl" : "var headerFooter: AnyPresentationHeaderFooterState<\/Type>? { get set }<\/Declaration>",
             "key.bodylength" : 705,
             "key.bodyoffset" : 2531,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/SupplementaryContainerView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/SupplementaryContainerView.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> headerFooter<\/decl.name>: AnyPresentationHeaderFooterState<\/ref.protocol>?<\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 760,
@@ -27829,7 +28129,7 @@
           },
           {
             "key.annotated_decl" : "let cache: ReusableViewCache<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/SupplementaryContainerView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/SupplementaryContainerView.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> cache<\/decl.name>: ReusableViewCache<\/ref.class><\/decl.var.type><\/decl.var.local>",
             "key.kind" : "source.lang.swift.decl.var.local",
             "key.length" : 28,
@@ -27855,14 +28155,14 @@
                 "Para" : "We use IUOs to avoid having to unwrap the values at each call site."
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/SupplementaryContainerView.swift",
-            "key.doc.full_as_xml" : "environment<\/Name>s:10ListableUI26SupplementaryContainerViewC11environmentAA15ListEnvironmentVSgvp<\/USR>var environment: ListEnvironment!<\/Declaration>Note: Using implicitly unwrapped optionals because we cannot do initializer injection in this type – UICollectionView<\/codeVoice> calls init(frame:)<\/codeVoice>, we must use property injection instead.<\/Para><\/Abstract>We use IUOs to avoid having to unwrap the values at each call site.<\/Para><\/Discussion><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/SupplementaryContainerView.swift",
+            "key.doc.full_as_xml" : "environment<\/Name>s:10ListableUI26SupplementaryContainerViewC11environmentAA15ListEnvironmentVSgvp<\/USR>var environment: ListEnvironment!<\/Declaration>Note: Using implicitly unwrapped optionals because we cannot do initializer injection in this type – UICollectionView<\/codeVoice> calls init(frame:)<\/codeVoice>, we must use property injection instead.<\/Para><\/Abstract>We use IUOs to avoid having to unwrap the values at each call site.<\/Para><\/Discussion><\/CommentParts><\/Other>",
             "key.doc.line" : 106,
             "key.doc.name" : "environment",
             "key.doc.type" : "Other",
             "key.doclength" : 288,
             "key.docoffset" : 3247,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/SupplementaryContainerView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/SupplementaryContainerView.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> environment<\/decl.name>: ListEnvironment<\/ref.struct>!<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 34,
@@ -27881,7 +28181,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "var reuseCache: ReusableViewCache<\/Type>!<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/SupplementaryContainerView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/SupplementaryContainerView.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> reuseCache<\/decl.name>: ReusableViewCache<\/ref.class>!<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 35,
@@ -27909,7 +28209,7 @@
             ],
             "key.bodylength" : 275,
             "key.bodyoffset" : 3664,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/SupplementaryContainerView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/SupplementaryContainerView.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword>(set) var<\/syntaxtype.keyword> content<\/decl.name>: UIView<\/ref.class>?<\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 299,
@@ -27945,7 +28245,7 @@
             ],
             "key.bodylength" : 126,
             "key.bodyoffset" : 4035,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/SupplementaryContainerView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/SupplementaryContainerView.swift",
             "key.fully_annotated_decl" : "override<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(frame<\/decl.var.parameter.argument_label>: CGRect<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 152,
@@ -28020,7 +28320,7 @@
             ],
             "key.bodylength" : 1878,
             "key.bodyoffset" : 4448,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/SupplementaryContainerView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/SupplementaryContainerView.swift",
             "key.fully_annotated_decl" : "override<\/syntaxtype.keyword> func<\/syntaxtype.keyword> preferredLayoutAttributesFitting<\/decl.name>(_<\/decl.var.parameter.argument_label> layoutAttributes<\/decl.var.parameter.name>: UICollectionViewLayoutAttributes<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>) -> UICollectionViewLayoutAttributes<\/ref.class><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 2012,
@@ -28056,7 +28356,7 @@
             "key.bodylength" : 78,
             "key.bodyoffset" : 6374,
             "key.doc.comment" : "Listable already properly sizes each cell. We do not use self-sizing cells.\nThus, just return the existing layout attributes.\n\nThis avoids an expensive call to sizeThatFits to \"re-size\" the cell to the same size\nduring each of UICollectionView's layout passes:\n\n#0  ItemElementCell.sizeThatFits(_:)\n#1  @objc ItemElementCell.sizeThatFits(_:) ()\n#2  -[UICollectionViewCell systemLayoutSizeFittingSize:withHorizontalFittingPriority:verticalFittingPriority:] ()\n#3  -[UICollectionReusableView preferredLayoutAttributesFittingAttributes:] ()\n#4  -[UICollectionReusableView _preferredLayoutAttributesFittingAttributes:] ()\n#5  -[UICollectionView _checkForPreferredAttributesInView:originalAttributes:] ()\n#6  -[UICollectionView _updateVisibleCellsNow:] ()\n#7  -[UICollectionView layoutSubviews] ()\n\nReturning the passed in value without calling super is OK, per the docs:\nhttps:\/\/developer.apple.com\/documentation\/uikit\/uicollectionreusableview\/1620132-preferredlayoutattributesfitting\n\n  | The default implementation of this method adjusts the size values to accommodate changes made by a self-sizing cell.\n  | Subclasses can override this method and use it to adjust other layout attributes too.\n  | If you override this method and want the cell size adjustments, call super first and make your own modifications to the returned attributes.\n\nImportant part being \"If you override this method **and want the cell size adjustments**, call super first\".\n\nWe do not want these. Thus, this is fine.",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/SupplementaryContainerView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/SupplementaryContainerView.swift",
             "key.fully_annotated_decl" : "override<\/syntaxtype.keyword> func<\/syntaxtype.keyword> prepareForReuse<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 107,
@@ -28099,7 +28399,7 @@
             ],
             "key.bodylength" : 148,
             "key.bodyoffset" : 6556,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/SupplementaryContainerView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/SupplementaryContainerView.swift",
             "key.fully_annotated_decl" : "override<\/syntaxtype.keyword> func<\/syntaxtype.keyword> sizeThatFits<\/decl.name>(_<\/decl.var.parameter.argument_label> size<\/decl.var.parameter.name>: CGSize<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGSize<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 194,
@@ -28134,7 +28434,7 @@
             ],
             "key.bodylength" : 165,
             "key.bodyoffset" : 6786,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/SupplementaryContainerView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/SupplementaryContainerView.swift",
             "key.fully_annotated_decl" : "override<\/syntaxtype.keyword> func<\/syntaxtype.keyword> systemLayoutSizeFitting<\/decl.name>(_<\/decl.var.parameter.argument_label> targetSize<\/decl.var.parameter.name>: CGSize<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGSize<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 228,
@@ -28174,7 +28474,7 @@
             ],
             "key.bodylength" : 319,
             "key.bodyoffset" : 7181,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/SupplementaryContainerView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/SupplementaryContainerView.swift",
             "key.fully_annotated_decl" : "override<\/syntaxtype.keyword> func<\/syntaxtype.keyword> systemLayoutSizeFitting<\/decl.name>(_<\/decl.var.parameter.argument_label> targetSize<\/decl.var.parameter.name>: CGSize<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, withHorizontalFittingPriority<\/decl.var.parameter.argument_label> horizontalFittingPriority<\/decl.var.parameter.name>: UILayoutPriority<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, verticalFittingPriority<\/decl.var.parameter.argument_label>: UILayoutPriority<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGSize<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 530,
@@ -28214,7 +28514,7 @@
             ],
             "key.bodylength" : 135,
             "key.bodyoffset" : 7547,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/SupplementaryContainerView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/SupplementaryContainerView.swift",
             "key.fully_annotated_decl" : "override<\/syntaxtype.keyword> func<\/syntaxtype.keyword> layoutSubviews<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 163,
@@ -28245,7 +28545,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/UIView.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/UIView.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 474,
     "key.offset" : 0,
@@ -28272,7 +28572,7 @@
             "key.annotated_decl" : "func firstSuperview<ViewType>(ofType: ViewType<\/Type>.Type) -> ViewType<\/Type>? where ViewType : UIView<\/Type><\/Declaration>",
             "key.bodylength" : 262,
             "key.bodyoffset" : 208,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/UIView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/UIView.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> firstSuperview<\/decl.name><ViewType<\/decl.generic_type_param.name><\/decl.generic_type_param>>(ofType<\/decl.var.parameter.argument_label>: ViewType<\/ref.generic_type_param>.Type<\/decl.var.parameter.type><\/decl.var.parameter>) -> ViewType<\/ref.generic_type_param>?<\/decl.function.returntype> where<\/syntaxtype.keyword> ViewType : UIView<\/ref.class><\/decl.generic_type_requirement><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 338,
@@ -28293,7 +28593,7 @@
                     "key.offset" : 162
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/UIView.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/UIView.swift",
                 "key.fully_annotated_decl" : "ViewType<\/decl.generic_type_param.name> : UIView<\/ref.class><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
                 "key.inheritedtypes" : [
                   {
@@ -28315,7 +28615,7 @@
               },
               {
                 "key.annotated_decl" : "var view: UIView<\/Type>?<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/UIView.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/UIView.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> view<\/decl.name>: UIView<\/ref.class>?<\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 25,
@@ -28343,7 +28643,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/UIViewPropertyAnimator.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/UIViewPropertyAnimator.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 809,
     "key.offset" : 0,
@@ -28385,14 +28685,14 @@
                 "Para" : "This is a critically damped spring, and the duration is based on the spring physics."
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/UIViewPropertyAnimator.swift",
-            "key.doc.full_as_xml" : "init(system:)<\/Name>s:So22UIViewPropertyAnimatorC10ListableUIE6systemAByyc_tcfc<\/USR>convenience init(system animations: @escaping () -> Void)<\/Declaration>Create a UIViewPropertyAnimator with the same animation curve as most system animations (including view controller presentation and navigation controller pushes).<\/Para><\/Abstract>This is a critically damped spring, and the duration is based on the spring physics.<\/Para><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/UIViewPropertyAnimator.swift",
+            "key.doc.full_as_xml" : "init(system:)<\/Name>s:So22UIViewPropertyAnimatorC10ListableUIE6systemAByyc_tcfc<\/USR>convenience init(system animations: @escaping () -> Void)<\/Declaration>Create a UIViewPropertyAnimator with the same animation curve as most system animations (including view controller presentation and navigation controller pushes).<\/Para><\/Abstract>This is a critically damped spring, and the duration is based on the spring physics.<\/Para><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 16,
             "key.doc.name" : "init(system:)",
             "key.doc.type" : "Function",
             "key.doclength" : 276,
             "key.docoffset" : 152,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/UIViewPropertyAnimator.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/UIViewPropertyAnimator.swift",
             "key.fully_annotated_decl" : "convenience<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(system<\/decl.var.parameter.argument_label> animations<\/decl.var.parameter.name>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> () -> Void<\/ref.typealias><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 362,
@@ -28423,7 +28723,7 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let params: UISpringTimingParameters<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/UIViewPropertyAnimator.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/UIViewPropertyAnimator.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> params<\/decl.name>: UISpringTimingParameters<\/ref.class><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 39,
@@ -28451,7 +28751,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Validations.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Validations.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 682,
     "key.offset" : 0,
@@ -28464,14 +28764,14 @@
         "key.doc.column" : 6,
         "key.doc.comment" : "Validates that the provided object is not a class type.",
         "key.doc.declaration" : "func assertIsValueType(_ valueType: Value.Type)",
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Validations.swift",
-        "key.doc.full_as_xml" : "assertIsValueType(_:)<\/Name>s:10ListableUI17assertIsValueTypeyyxmlF<\/USR>func assertIsValueType<Value>(_ valueType: Value.Type)<\/Declaration>Validates that the provided object is not a class type.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Validations.swift",
+        "key.doc.full_as_xml" : "assertIsValueType(_:)<\/Name>s:10ListableUI17assertIsValueTypeyyxmlF<\/USR>func assertIsValueType<Value>(_ valueType: Value.Type)<\/Declaration>Validates that the provided object is not a class type.<\/Para><\/Abstract><\/CommentParts><\/Function>",
         "key.doc.line" : 12,
         "key.doc.name" : "assertIsValueType(_:)",
         "key.doc.type" : "Function",
         "key.doclength" : 60,
         "key.docoffset" : 110,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Validations.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Validations.swift",
         "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> assertIsValueType<\/decl.name><Value<\/decl.generic_type_param.name><\/decl.generic_type_param>>(_<\/decl.var.parameter.argument_label> valueType<\/decl.var.parameter.name>: Value<\/ref.generic_type_param>.Type<\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.free>",
         "key.kind" : "source.lang.swift.decl.function.free",
         "key.length" : 511,
@@ -28485,7 +28785,7 @@
         "key.substructure" : [
           {
             "key.annotated_decl" : "Value<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Internal\/Validations.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Internal\/Validations.swift",
             "key.fully_annotated_decl" : "Value<\/decl.generic_type_param.name><\/decl.generic_type_param>",
             "key.kind" : "source.lang.swift.decl.generic_type_param",
             "key.length" : 5,
@@ -28508,9 +28808,9 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/AnyItem.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/AnyItem.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
-    "key.length" : 898,
+    "key.length" : 906,
     "key.offset" : 0,
     "key.substructure" : [
       {
@@ -28523,7 +28823,7 @@
             "key.offset" : 106
           }
         ],
-        "key.bodylength" : 410,
+        "key.bodylength" : 418,
         "key.bodyoffset" : 150,
         "key.elements" : [
           {
@@ -28532,7 +28832,7 @@
             "key.offset" : 132
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/AnyItem.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/AnyItem.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> AnyItem<\/decl.name> : AnyItem_Internal<\/ref.protocol><\/decl.protocol>",
         "key.inheritedtypes" : [
           {
@@ -28540,13 +28840,13 @@
           }
         ],
         "key.kind" : "source.lang.swift.decl.protocol",
-        "key.length" : 448,
+        "key.length" : 456,
         "key.name" : "AnyItem",
         "key.namelength" : 7,
         "key.nameoffset" : 122,
         "key.offset" : 113,
         "key.parsed_declaration" : "public protocol AnyItem : AnyItem_Internal",
-        "key.parsed_scope.end" : 24,
+        "key.parsed_scope.end" : 26,
         "key.parsed_scope.start" : 11,
         "key.substructure" : [
           {
@@ -28554,7 +28854,7 @@
             "key.annotated_decl" : "var identifier: AnyIdentifier<\/Type> { get }<\/Declaration>",
             "key.bodylength" : 5,
             "key.bodyoffset" : 187,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/AnyItem.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/AnyItem.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> identifier<\/decl.name>: AnyIdentifier<\/ref.class><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 38,
@@ -28574,7 +28874,7 @@
             "key.annotated_decl" : "var anyContent: Any { get }<\/Declaration>",
             "key.bodylength" : 5,
             "key.bodyoffset" : 225,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/AnyItem.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/AnyItem.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> anyContent<\/decl.name>: Any<\/syntaxtype.keyword><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 28,
@@ -28594,7 +28894,7 @@
             "key.annotated_decl" : "var sizing: Sizing<\/Type> { get set }<\/Declaration>",
             "key.bodylength" : 9,
             "key.bodyoffset" : 262,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/AnyItem.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/AnyItem.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> sizing<\/decl.name>: Sizing<\/ref.enum><\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 31,
@@ -28612,41 +28912,40 @@
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "var layout: ItemLayout<\/Type> { get set }<\/Declaration>",
-            "key.bodylength" : 9,
-            "key.bodyoffset" : 302,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/AnyItem.swift",
-            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> layout<\/decl.name>: ItemLayout<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
+            "key.annotated_decl" : "var layouts: ItemLayouts<\/Type> { get }<\/Declaration>",
+            "key.bodylength" : 5,
+            "key.bodyoffset" : 309,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/AnyItem.swift",
+            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> layouts<\/decl.name>: ItemLayouts<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 35,
-            "key.name" : "layout",
-            "key.namelength" : 6,
-            "key.nameoffset" : 281,
-            "key.offset" : 277,
-            "key.parsed_declaration" : "var layout : ItemLayout",
-            "key.parsed_scope.end" : 18,
-            "key.parsed_scope.start" : 18,
-            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-            "key.typename" : "ItemLayout",
-            "key.typeusr" : "$s10ListableUI10ItemLayoutVD",
-            "key.usr" : "s:10ListableUI7AnyItemP6layoutAA0D6LayoutVvp"
+            "key.length" : 33,
+            "key.name" : "layouts",
+            "key.namelength" : 7,
+            "key.nameoffset" : 286,
+            "key.offset" : 282,
+            "key.parsed_declaration" : "var layouts : ItemLayouts",
+            "key.parsed_scope.end" : 19,
+            "key.parsed_scope.start" : 19,
+            "key.typename" : "ItemLayouts",
+            "key.typeusr" : "$s10ListableUI11ItemLayoutsVD",
+            "key.usr" : "s:10ListableUI7AnyItemP7layoutsAA0D7LayoutsVvp"
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
             "key.annotated_decl" : "var selectionStyle: ItemSelectionStyle<\/Type> { get set }<\/Declaration>",
             "key.bodylength" : 9,
-            "key.bodyoffset" : 358,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/AnyItem.swift",
+            "key.bodyoffset" : 366,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/AnyItem.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> selectionStyle<\/decl.name>: ItemSelectionStyle<\/ref.enum><\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 51,
             "key.name" : "selectionStyle",
             "key.namelength" : 14,
-            "key.nameoffset" : 321,
-            "key.offset" : 317,
+            "key.nameoffset" : 329,
+            "key.offset" : 325,
             "key.parsed_declaration" : "var selectionStyle : ItemSelectionStyle",
-            "key.parsed_scope.end" : 19,
-            "key.parsed_scope.start" : 19,
+            "key.parsed_scope.end" : 21,
+            "key.parsed_scope.start" : 21,
             "key.setter_accessibility" : "source.lang.swift.accessibility.public",
             "key.typename" : "ItemSelectionStyle",
             "key.typeusr" : "$s10ListableUI18ItemSelectionStyleOD",
@@ -28656,18 +28955,18 @@
             "key.accessibility" : "source.lang.swift.accessibility.public",
             "key.annotated_decl" : "var insertAndRemoveAnimations: ItemInsertAndRemoveAnimations<\/Type>? { get set }<\/Declaration>",
             "key.bodylength" : 9,
-            "key.bodyoffset" : 437,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/AnyItem.swift",
+            "key.bodyoffset" : 445,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/AnyItem.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> insertAndRemoveAnimations<\/decl.name>: ItemInsertAndRemoveAnimations<\/ref.struct>?<\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 74,
             "key.name" : "insertAndRemoveAnimations",
             "key.namelength" : 25,
-            "key.nameoffset" : 377,
-            "key.offset" : 373,
+            "key.nameoffset" : 385,
+            "key.offset" : 381,
             "key.parsed_declaration" : "var insertAndRemoveAnimations : ItemInsertAndRemoveAnimations?",
-            "key.parsed_scope.end" : 20,
-            "key.parsed_scope.start" : 20,
+            "key.parsed_scope.end" : 22,
+            "key.parsed_scope.start" : 22,
             "key.setter_accessibility" : "source.lang.swift.accessibility.public",
             "key.typename" : "ItemInsertAndRemoveAnimations?",
             "key.typeusr" : "$s10ListableUI29ItemInsertAndRemoveAnimationsVSgD",
@@ -28677,18 +28976,18 @@
             "key.accessibility" : "source.lang.swift.accessibility.public",
             "key.annotated_decl" : "var swipeActions: SwipeActionsConfiguration<\/Type>? { get set }<\/Declaration>",
             "key.bodylength" : 9,
-            "key.bodyoffset" : 499,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/AnyItem.swift",
+            "key.bodyoffset" : 507,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/AnyItem.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> swipeActions<\/decl.name>: SwipeActionsConfiguration<\/ref.struct>?<\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 57,
             "key.name" : "swipeActions",
             "key.namelength" : 12,
-            "key.nameoffset" : 456,
-            "key.offset" : 452,
+            "key.nameoffset" : 464,
+            "key.offset" : 460,
             "key.parsed_declaration" : "var swipeActions : SwipeActionsConfiguration?",
-            "key.parsed_scope.end" : 21,
-            "key.parsed_scope.start" : 21,
+            "key.parsed_scope.end" : 23,
+            "key.parsed_scope.start" : 23,
             "key.setter_accessibility" : "source.lang.swift.accessibility.public",
             "key.typename" : "SwipeActionsConfiguration?",
             "key.typeusr" : "$s10ListableUI25SwipeActionsConfigurationVSgD",
@@ -28698,18 +28997,18 @@
             "key.accessibility" : "source.lang.swift.accessibility.public",
             "key.annotated_decl" : "var reordering: Reordering<\/Type>? { get set }<\/Declaration>",
             "key.bodylength" : 9,
-            "key.bodyoffset" : 549,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/AnyItem.swift",
+            "key.bodyoffset" : 557,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/AnyItem.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> reordering<\/decl.name>: Reordering<\/ref.struct>?<\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 40,
             "key.name" : "reordering",
             "key.namelength" : 10,
-            "key.nameoffset" : 523,
-            "key.offset" : 519,
+            "key.nameoffset" : 531,
+            "key.offset" : 527,
             "key.parsed_declaration" : "var reordering : Reordering?",
-            "key.parsed_scope.end" : 23,
-            "key.parsed_scope.start" : 23,
+            "key.parsed_scope.end" : 25,
+            "key.parsed_scope.start" : 25,
             "key.setter_accessibility" : "source.lang.swift.accessibility.public",
             "key.typename" : "Reordering?",
             "key.typeusr" : "$s10ListableUI10ReorderingVSgD",
@@ -28727,37 +29026,37 @@
           {
             "key.attribute" : "source.decl.attribute.public",
             "key.length" : 6,
-            "key.offset" : 564
+            "key.offset" : 572
           }
         ],
         "key.bodylength" : 298,
-        "key.bodyoffset" : 598,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/AnyItem.swift",
+        "key.bodyoffset" : 606,
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/AnyItem.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> AnyItem_Internal<\/decl.name><\/decl.protocol>",
         "key.kind" : "source.lang.swift.decl.protocol",
         "key.length" : 326,
         "key.name" : "AnyItem_Internal",
         "key.namelength" : 16,
-        "key.nameoffset" : 580,
-        "key.offset" : 571,
+        "key.nameoffset" : 588,
+        "key.offset" : 579,
         "key.parsed_declaration" : "public protocol AnyItem_Internal",
-        "key.parsed_scope.end" : 37,
-        "key.parsed_scope.start" : 27,
+        "key.parsed_scope.end" : 39,
+        "key.parsed_scope.start" : 29,
         "key.substructure" : [
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
             "key.annotated_decl" : "func anyWasMoved(comparedTo other: AnyItem<\/Type>) -> Bool<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/AnyItem.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/AnyItem.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> anyWasMoved<\/decl.name>(comparedTo<\/decl.var.parameter.argument_label> other<\/decl.var.parameter.name>: AnyItem<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 52,
             "key.name" : "anyWasMoved(comparedTo:)",
             "key.namelength" : 39,
-            "key.nameoffset" : 608,
-            "key.offset" : 603,
+            "key.nameoffset" : 616,
+            "key.offset" : 611,
             "key.parsed_declaration" : "func anyWasMoved(comparedTo other : AnyItem) -> Bool",
-            "key.parsed_scope.end" : 29,
-            "key.parsed_scope.start" : 29,
+            "key.parsed_scope.end" : 31,
+            "key.parsed_scope.start" : 31,
             "key.substructure" : [
 
             ],
@@ -28768,17 +29067,17 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
             "key.annotated_decl" : "func anyIsEquivalent(to other: AnyItem<\/Type>) -> Bool<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/AnyItem.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/AnyItem.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> anyIsEquivalent<\/decl.name>(to<\/decl.var.parameter.argument_label> other<\/decl.var.parameter.name>: AnyItem<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 48,
             "key.name" : "anyIsEquivalent(to:)",
             "key.namelength" : 35,
-            "key.nameoffset" : 665,
-            "key.offset" : 660,
+            "key.nameoffset" : 673,
+            "key.offset" : 668,
             "key.parsed_declaration" : "func anyIsEquivalent(to other : AnyItem) -> Bool",
-            "key.parsed_scope.end" : 30,
-            "key.parsed_scope.start" : 30,
+            "key.parsed_scope.end" : 32,
+            "key.parsed_scope.start" : 32,
             "key.substructure" : [
 
             ],
@@ -28789,17 +29088,17 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
             "key.annotated_decl" : "func newPresentationItemState(with dependencies: ItemStateDependencies<\/Type>, updateCallbacks: UpdateCallbacks<\/Type>, performsContentCallbacks: Bool<\/Type>) -> Any<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/AnyItem.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/AnyItem.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> newPresentationItemState<\/decl.name>(with<\/decl.var.parameter.argument_label> dependencies<\/decl.var.parameter.name>: ItemStateDependencies<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, updateCallbacks<\/decl.var.parameter.argument_label>: UpdateCallbacks<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, performsContentCallbacks<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> Any<\/syntaxtype.keyword><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 177,
             "key.name" : "newPresentationItemState(with:updateCallbacks:performsContentCallbacks:)",
             "key.namelength" : 165,
-            "key.nameoffset" : 723,
-            "key.offset" : 718,
+            "key.nameoffset" : 731,
+            "key.offset" : 726,
             "key.parsed_declaration" : "func newPresentationItemState(\n    with dependencies : ItemStateDependencies,\n    updateCallbacks : UpdateCallbacks,\n    performsContentCallbacks : Bool\n) -> Any",
-            "key.parsed_scope.end" : 32,
-            "key.parsed_scope.start" : 32,
+            "key.parsed_scope.end" : 34,
+            "key.parsed_scope.start" : 34,
             "key.substructure" : [
 
             ],
@@ -28815,9 +29114,9 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/DefaultItemProperties.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/DefaultItemProperties.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
-    "key.length" : 1436,
+    "key.length" : 1442,
     "key.offset" : 0,
     "key.substructure" : [
       {
@@ -28830,7 +29129,7 @@
             "key.offset" : 612
           }
         ],
-        "key.bodylength" : 764,
+        "key.bodylength" : 770,
         "key.bodyoffset" : 670,
         "key.doc.column" : 15,
         "key.doc.comment" : "Allows specifying default properties to apply to an item when it is initialized,\nif those values are not provided to the initializer.\nOnly non-nil values are used – if you do not want to provide a default value,\nsimply leave the property nil.\n\nThe order of precedence used when assigning values is:\n1) The value passed to the initializer.\n2) The value from `defaultItemProperties` on the contained `ItemContent`, if non-nil.\n3) A standard, default value.",
@@ -28843,17 +29142,17 @@
             "List-Number" : ""
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/DefaultItemProperties.swift",
-        "key.doc.full_as_xml" : "DefaultItemProperties<\/Name>s:10ListableUI21DefaultItemPropertiesV<\/USR>public struct DefaultItemProperties<Content> where Content : ListableUI.ItemContent<\/Declaration>Allows specifying default properties to apply to an item when it is initialized, if those values are not provided to the initializer. Only non-nil values are used – if you do not want to provide a default value, simply leave the property nil.<\/Para><\/Abstract>The order of precedence used when assigning values is:<\/Para>The value passed to the initializer.<\/Para><\/Item>The value from defaultItemProperties<\/codeVoice> on the contained ItemContent<\/codeVoice>, if non-nil.<\/Para><\/Item>A standard, default value.<\/Para><\/Item><\/List-Number><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/DefaultItemProperties.swift",
+        "key.doc.full_as_xml" : "DefaultItemProperties<\/Name>s:10ListableUI21DefaultItemPropertiesV<\/USR>public struct DefaultItemProperties<Content> where Content : ListableUI.ItemContent<\/Declaration>Allows specifying default properties to apply to an item when it is initialized, if those values are not provided to the initializer. Only non-nil values are used – if you do not want to provide a default value, simply leave the property nil.<\/Para><\/Abstract>The order of precedence used when assigning values is:<\/Para>The value passed to the initializer.<\/Para><\/Item>The value from defaultItemProperties<\/codeVoice> on the contained ItemContent<\/codeVoice>, if non-nil.<\/Para><\/Item>A standard, default value.<\/Para><\/Item><\/List-Number><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 20,
         "key.doc.name" : "DefaultItemProperties",
         "key.doc.type" : "Class",
         "key.doclength" : 492,
         "key.docoffset" : 120,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/DefaultItemProperties.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/DefaultItemProperties.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> DefaultItemProperties<\/decl.name><Content<\/decl.generic_type_param.name><\/decl.generic_type_param>> where<\/syntaxtype.keyword> Content : ItemContent<\/ref.protocol><\/decl.generic_type_requirement><\/decl.struct>",
         "key.kind" : "source.lang.swift.decl.struct",
-        "key.length" : 816,
+        "key.length" : 822,
         "key.name" : "DefaultItemProperties",
         "key.namelength" : 21,
         "key.nameoffset" : 626,
@@ -28871,7 +29170,7 @@
                 "key.offset" : 656
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/DefaultItemProperties.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/DefaultItemProperties.swift",
             "key.fully_annotated_decl" : "Content<\/decl.generic_type_param.name> : ItemContent<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
             "key.inheritedtypes" : [
               {
@@ -28901,7 +29200,7 @@
                 "key.offset" : 675
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/DefaultItemProperties.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/DefaultItemProperties.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> sizing<\/decl.name>: Sizing<\/ref.enum>?<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 20,
@@ -28919,7 +29218,7 @@
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public var layout: ItemLayout<\/Type>?<\/Declaration>",
+            "key.annotated_decl" : "public var layouts: ItemLayouts<\/Type>?<\/Declaration>",
             "key.attributes" : [
               {
                 "key.attribute" : "source.decl.attribute.public",
@@ -28927,21 +29226,21 @@
                 "key.offset" : 707
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/DefaultItemProperties.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> layout<\/decl.name>: ItemLayout<\/ref.struct>?<\/decl.var.type><\/decl.var.instance>",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/DefaultItemProperties.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> layouts<\/decl.name>: ItemLayouts<\/ref.struct>?<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 24,
-            "key.name" : "layout",
-            "key.namelength" : 6,
+            "key.length" : 26,
+            "key.name" : "layouts",
+            "key.namelength" : 7,
             "key.nameoffset" : 718,
             "key.offset" : 714,
-            "key.parsed_declaration" : "public var layout : ItemLayout?",
+            "key.parsed_declaration" : "public var layouts : ItemLayouts?",
             "key.parsed_scope.end" : 23,
             "key.parsed_scope.start" : 23,
             "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-            "key.typename" : "ItemLayout?",
-            "key.typeusr" : "$s10ListableUI10ItemLayoutVSgD",
-            "key.usr" : "s:10ListableUI21DefaultItemPropertiesV6layoutAA0D6LayoutVSgvp"
+            "key.typename" : "ItemLayouts?",
+            "key.typeusr" : "$s10ListableUI11ItemLayoutsVSgD",
+            "key.usr" : "s:10ListableUI21DefaultItemPropertiesV7layoutsAA0D7LayoutsVSgvp"
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
@@ -28950,17 +29249,17 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 748
+                "key.offset" : 750
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/DefaultItemProperties.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/DefaultItemProperties.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> selectionStyle<\/decl.name>: ItemSelectionStyle<\/ref.enum>?<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 40,
             "key.name" : "selectionStyle",
             "key.namelength" : 14,
-            "key.nameoffset" : 759,
-            "key.offset" : 755,
+            "key.nameoffset" : 761,
+            "key.offset" : 757,
             "key.parsed_declaration" : "public var selectionStyle : ItemSelectionStyle?",
             "key.parsed_scope.end" : 25,
             "key.parsed_scope.start" : 25,
@@ -28976,17 +29275,17 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 805
+                "key.offset" : 807
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/DefaultItemProperties.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/DefaultItemProperties.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> insertAndRemoveAnimations<\/decl.name>: ItemInsertAndRemoveAnimations<\/ref.struct>?<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 62,
             "key.name" : "insertAndRemoveAnimations",
             "key.namelength" : 25,
-            "key.nameoffset" : 816,
-            "key.offset" : 812,
+            "key.nameoffset" : 818,
+            "key.offset" : 814,
             "key.parsed_declaration" : "public var insertAndRemoveAnimations : ItemInsertAndRemoveAnimations?",
             "key.parsed_scope.end" : 27,
             "key.parsed_scope.start" : 27,
@@ -29002,17 +29301,17 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 884
+                "key.offset" : 886
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/DefaultItemProperties.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/DefaultItemProperties.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> swipeActions<\/decl.name>: SwipeActionsConfiguration<\/ref.struct>?<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 45,
             "key.name" : "swipeActions",
             "key.namelength" : 12,
-            "key.nameoffset" : 895,
-            "key.offset" : 891,
+            "key.nameoffset" : 897,
+            "key.offset" : 893,
             "key.parsed_declaration" : "public var swipeActions : SwipeActionsConfiguration?",
             "key.parsed_scope.end" : 29,
             "key.parsed_scope.start" : 29,
@@ -29023,33 +29322,33 @@
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public init(sizing: Sizing<\/Type>? = nil, layout: ItemLayout<\/Type>? = nil, selectionStyle: ItemSelectionStyle<\/Type>? = nil, insertAndRemoveAnimations: ItemInsertAndRemoveAnimations<\/Type>? = nil, swipeActions: SwipeActionsConfiguration<\/Type>? = nil)<\/Declaration>",
+            "key.annotated_decl" : "public init(sizing: Sizing<\/Type>? = nil, layouts: ItemLayouts<\/Type>? = nil, selectionStyle: ItemSelectionStyle<\/Type>? = nil, insertAndRemoveAnimations: ItemInsertAndRemoveAnimations<\/Type>? = nil, swipeActions: SwipeActionsConfiguration<\/Type>? = nil)<\/Declaration>",
             "key.attributes" : [
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 946
+                "key.offset" : 948
               }
             ],
-            "key.bodylength" : 216,
-            "key.bodyoffset" : 1216,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/DefaultItemProperties.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(sizing<\/decl.var.parameter.argument_label>: Sizing<\/ref.enum>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, layout<\/decl.var.parameter.argument_label>: ItemLayout<\/ref.struct>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, selectionStyle<\/decl.var.parameter.argument_label>: ItemSelectionStyle<\/ref.enum>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, insertAndRemoveAnimations<\/decl.var.parameter.argument_label>: ItemInsertAndRemoveAnimations<\/ref.struct>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, swipeActions<\/decl.var.parameter.argument_label>: SwipeActionsConfiguration<\/ref.struct>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>)<\/decl.function.constructor>",
+            "key.bodylength" : 218,
+            "key.bodyoffset" : 1220,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/DefaultItemProperties.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(sizing<\/decl.var.parameter.argument_label>: Sizing<\/ref.enum>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, layouts<\/decl.var.parameter.argument_label>: ItemLayouts<\/ref.struct>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, selectionStyle<\/decl.var.parameter.argument_label>: ItemSelectionStyle<\/ref.enum>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, insertAndRemoveAnimations<\/decl.var.parameter.argument_label>: ItemInsertAndRemoveAnimations<\/ref.struct>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, swipeActions<\/decl.var.parameter.argument_label>: SwipeActionsConfiguration<\/ref.struct>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 480,
-            "key.name" : "init(sizing:layout:selectionStyle:insertAndRemoveAnimations:swipeActions:)",
-            "key.namelength" : 261,
-            "key.nameoffset" : 953,
-            "key.offset" : 953,
-            "key.parsed_declaration" : "public init(\n    sizing : Sizing? = nil,\n    layout : ItemLayout? = nil,\n    selectionStyle : ItemSelectionStyle? = nil,\n    insertAndRemoveAnimations : ItemInsertAndRemoveAnimations? = nil,\n    swipeActions : SwipeActionsConfiguration? = nil\n)",
+            "key.length" : 484,
+            "key.name" : "init(sizing:layouts:selectionStyle:insertAndRemoveAnimations:swipeActions:)",
+            "key.namelength" : 263,
+            "key.nameoffset" : 955,
+            "key.offset" : 955,
+            "key.parsed_declaration" : "public init(\n    sizing : Sizing? = nil,\n    layouts : ItemLayouts? = nil,\n    selectionStyle : ItemSelectionStyle? = nil,\n    insertAndRemoveAnimations : ItemInsertAndRemoveAnimations? = nil,\n    swipeActions : SwipeActionsConfiguration? = nil\n)",
             "key.parsed_scope.end" : 43,
             "key.parsed_scope.start" : 31,
             "key.substructure" : [
 
             ],
-            "key.typename" : " (DefaultItemProperties.Type) -> (Sizing?, ItemLayout?, ItemSelectionStyle?, ItemInsertAndRemoveAnimations?, SwipeActionsConfiguration?) -> DefaultItemProperties",
-            "key.typeusr" : "$s6sizing6layout14selectionStyle25insertAndRemoveAnimations12swipeActions10ListableUI21DefaultItemPropertiesVyxGAF6SizingOSg_AF0N6LayoutVSgAF0n9SelectionD0OSgAF0n6InsertfgH0VSgAF05SwipeJ13ConfigurationVSgtcD",
-            "key.usr" : "s:10ListableUI21DefaultItemPropertiesV6sizing6layout14selectionStyle25insertAndRemoveAnimations12swipeActionsACyxGAA6SizingOSg_AA0D6LayoutVSgAA0d9SelectionI0OSgAA0d6InsertklM0VSgAA05SwipeO13ConfigurationVSgtcfc"
+            "key.typename" : " (DefaultItemProperties.Type) -> (Sizing?, ItemLayouts?, ItemSelectionStyle?, ItemInsertAndRemoveAnimations?, SwipeActionsConfiguration?) -> DefaultItemProperties",
+            "key.typeusr" : "$s6sizing7layouts14selectionStyle25insertAndRemoveAnimations12swipeActions10ListableUI21DefaultItemPropertiesVyxGAF6SizingOSg_AF0N7LayoutsVSgAF0n9SelectionD0OSgAF0n6InsertfgH0VSgAF05SwipeJ13ConfigurationVSgtcD",
+            "key.usr" : "s:10ListableUI21DefaultItemPropertiesV6sizing7layouts14selectionStyle25insertAndRemoveAnimations12swipeActionsACyxGAA6SizingOSg_AA0D7LayoutsVSgAA0d9SelectionI0OSgAA0d6InsertklM0VSgAA05SwipeO13ConfigurationVSgtcfc"
           }
         ],
         "key.typename" : "DefaultItemProperties.Type",
@@ -29059,1040 +29358,275 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item+Callbacks.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/Item.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
-    "key.length" : 1568,
+    "key.length" : 5340,
     "key.offset" : 0,
     "key.substructure" : [
       {
         "key.accessibility" : "source.lang.swift.accessibility.public",
-        "key.annotated_decl" : "public struct Item<Content> : AnyItem where Content : ItemContent<\/Type><\/Declaration>",
+        "key.annotated_decl" : "public struct Item<Content> : AnyItem<\/Type> where Content : ItemContent<\/Type><\/Declaration>",
         "key.attributes" : [
           {
             "key.attribute" : "source.decl.attribute.public",
             "key.length" : 6,
-            "key.offset" : 113
+            "key.offset" : 83
           }
         ],
-        "key.bodylength" : 1430,
-        "key.bodyoffset" : 136,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item.swift",
-        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> Item<\/decl.name><Content<\/decl.generic_type_param.name><\/decl.generic_type_param>> : AnyItem where<\/syntaxtype.keyword> Content : ItemContent<\/ref.protocol><\/decl.generic_type_requirement><\/decl.struct>",
-        "key.kind" : "source.lang.swift.decl.extension",
-        "key.length" : 1447,
+        "key.bodylength" : 4959,
+        "key.bodyoffset" : 134,
+        "key.elements" : [
+          {
+            "key.kind" : "source.lang.swift.structure.elem.typeref",
+            "key.length" : 7,
+            "key.offset" : 125
+          }
+        ],
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/Item.swift",
+        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> Item<\/decl.name><Content<\/decl.generic_type_param.name><\/decl.generic_type_param>> : AnyItem<\/ref.protocol> where<\/syntaxtype.keyword> Content : ItemContent<\/ref.protocol><\/decl.generic_type_requirement><\/decl.struct>",
+        "key.inheritedtypes" : [
+          {
+            "key.name" : "AnyItem"
+          }
+        ],
+        "key.kind" : "source.lang.swift.decl.struct",
+        "key.length" : 5004,
         "key.name" : "Item",
         "key.namelength" : 4,
-        "key.nameoffset" : 130,
-        "key.offset" : 120,
-        "key.parsed_declaration" : "public extension Item",
-        "key.parsed_scope.end" : 78,
-        "key.parsed_scope.start" : 11,
+        "key.nameoffset" : 97,
+        "key.offset" : 90,
+        "key.parsed_declaration" : "public struct Item : AnyItem",
+        "key.parsed_scope.end" : 172,
+        "key.parsed_scope.start" : 9,
         "key.substructure" : [
           {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "struct OnDisplay<\/Declaration>",
-            "key.bodylength" : 141,
-            "key.bodyoffset" : 224,
-            "key.doc.column" : 12,
-            "key.doc.comment" : "Value passed to the `onDisplay` callback for `Item`.",
-            "key.doc.declaration" : "struct OnDisplay",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item+Callbacks.swift",
-            "key.doc.full_as_xml" : "OnDisplay<\/Name>s:10ListableUI4ItemV9OnDisplayV<\/USR>struct OnDisplay<\/Declaration>Value passed to the onDisplay<\/codeVoice> callback for Item<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Class>",
-            "key.doc.line" : 14,
-            "key.doc.name" : "OnDisplay",
-            "key.doc.type" : "Class",
-            "key.doclength" : 57,
-            "key.docoffset" : 141,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item+Callbacks.swift",
-            "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> OnDisplay<\/decl.name><\/decl.struct>",
-            "key.kind" : "source.lang.swift.decl.struct",
-            "key.length" : 164,
-            "key.name" : "OnDisplay",
-            "key.namelength" : 9,
-            "key.nameoffset" : 209,
-            "key.offset" : 202,
-            "key.parsed_declaration" : "struct OnDisplay",
-            "key.parsed_scope.end" : 21,
-            "key.parsed_scope.start" : 14,
-            "key.substructure" : [
-              {
-                "key.accessibility" : "source.lang.swift.accessibility.public",
-                "key.annotated_decl" : "public typealias Item<\/Type><Content>.OnDisplay<\/Type>.Callback = (OnDisplay<\/Type>) -> ()<\/Declaration>",
-                "key.attributes" : [
-                  {
-                    "key.attribute" : "source.decl.attribute.public",
-                    "key.length" : 6,
-                    "key.offset" : 233
-                  }
-                ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item+Callbacks.swift",
-                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> typealias<\/syntaxtype.keyword> Item<\/ref.struct><Content>.OnDisplay<\/ref.struct>.Callback<\/decl.name> = (OnDisplay<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.typealias>",
-                "key.kind" : "source.lang.swift.decl.typealias",
-                "key.length" : 38,
-                "key.name" : "Callback",
-                "key.namelength" : 8,
-                "key.nameoffset" : 250,
-                "key.offset" : 240,
-                "key.parsed_declaration" : "public typealias Callback = (OnDisplay) -> ()",
-                "key.parsed_scope.end" : 16,
-                "key.parsed_scope.start" : 16,
-                "key.typename" : "((Item.OnDisplay) -> ()).Type",
-                "key.typeusr" : "$sy10ListableUI4ItemV9OnDisplayVyx_GcmD",
-                "key.usr" : "s:10ListableUI4ItemV9OnDisplayV8Callbacka"
-              },
+            "key.annotated_decl" : "Content : ItemContent<\/Type><\/Declaration>",
+            "key.elements" : [
               {
-                "key.accessibility" : "source.lang.swift.accessibility.public",
-                "key.annotated_decl" : "public var item: Item<\/Type><\/Declaration>",
-                "key.attributes" : [
-                  {
-                    "key.attribute" : "source.decl.attribute.public",
-                    "key.length" : 6,
-                    "key.offset" : 288
-                  }
-                ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item+Callbacks.swift",
-                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> item<\/decl.name>: Item<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 15,
-                "key.name" : "item",
-                "key.namelength" : 4,
-                "key.nameoffset" : 299,
-                "key.offset" : 295,
-                "key.parsed_declaration" : "public var item : Item",
-                "key.parsed_scope.end" : 18,
-                "key.parsed_scope.start" : 18,
-                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-                "key.typename" : "Item",
-                "key.typeusr" : "$s10ListableUI4ItemVyxGD",
-                "key.usr" : "s:10ListableUI4ItemV9OnDisplayV4itemACyxGvp"
-              },
+                "key.kind" : "source.lang.swift.structure.elem.typeref",
+                "key.length" : 11,
+                "key.offset" : 110
+              }
+            ],
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/Item.swift",
+            "key.fully_annotated_decl" : "Content<\/decl.generic_type_param.name> : ItemContent<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
+            "key.inheritedtypes" : [
               {
-                "key.accessibility" : "source.lang.swift.accessibility.public",
-                "key.annotated_decl" : "public var isFirstDisplay: Bool<\/Type><\/Declaration>",
-                "key.attributes" : [
-                  {
-                    "key.attribute" : "source.decl.attribute.public",
-                    "key.length" : 6,
-                    "key.offset" : 328
-                  }
-                ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item+Callbacks.swift",
-                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> isFirstDisplay<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 25,
-                "key.name" : "isFirstDisplay",
-                "key.namelength" : 14,
-                "key.nameoffset" : 339,
-                "key.offset" : 335,
-                "key.parsed_declaration" : "public var isFirstDisplay : Bool",
-                "key.parsed_scope.end" : 20,
-                "key.parsed_scope.start" : 20,
-                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-                "key.typename" : "Bool",
-                "key.typeusr" : "$sSbD",
-                "key.usr" : "s:10ListableUI4ItemV9OnDisplayV07isFirstE0Sbvp"
+                "key.name" : "ItemContent"
               }
             ],
-            "key.typename" : "Item.OnDisplay.Type",
-            "key.typeusr" : "$s10ListableUI4ItemV9OnDisplayVyx_GmD",
-            "key.usr" : "s:10ListableUI4ItemV9OnDisplayV"
+            "key.kind" : "source.lang.swift.decl.generic_type_param",
+            "key.length" : 19,
+            "key.name" : "Content",
+            "key.namelength" : 7,
+            "key.nameoffset" : 102,
+            "key.offset" : 102,
+            "key.parsed_declaration" : "public struct Itemstruct OnEndDisplay<\/Declaration>",
-            "key.bodylength" : 147,
-            "key.bodyoffset" : 465,
-            "key.doc.column" : 12,
-            "key.doc.comment" : "Value passed to the `onEndDisplay` callback for `Item`.",
-            "key.doc.declaration" : "struct OnEndDisplay",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item+Callbacks.swift",
-            "key.doc.full_as_xml" : "OnEndDisplay<\/Name>s:10ListableUI4ItemV12OnEndDisplayV<\/USR>struct OnEndDisplay<\/Declaration>Value passed to the onEndDisplay<\/codeVoice> callback for Item<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Class>",
-            "key.doc.line" : 24,
-            "key.doc.name" : "OnEndDisplay",
-            "key.doc.type" : "Class",
-            "key.doclength" : 60,
-            "key.docoffset" : 376,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item+Callbacks.swift",
-            "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> OnEndDisplay<\/decl.name><\/decl.struct>",
-            "key.kind" : "source.lang.swift.decl.struct",
-            "key.length" : 173,
-            "key.name" : "OnEndDisplay",
-            "key.namelength" : 12,
-            "key.nameoffset" : 447,
-            "key.offset" : 440,
-            "key.parsed_declaration" : "struct OnEndDisplay",
-            "key.parsed_scope.end" : 31,
-            "key.parsed_scope.start" : 24,
-            "key.substructure" : [
-              {
-                "key.accessibility" : "source.lang.swift.accessibility.public",
-                "key.annotated_decl" : "public typealias Item<\/Type><Content>.OnEndDisplay<\/Type>.Callback = (OnEndDisplay<\/Type>) -> ()<\/Declaration>",
-                "key.attributes" : [
-                  {
-                    "key.attribute" : "source.decl.attribute.public",
-                    "key.length" : 6,
-                    "key.offset" : 474
-                  }
-                ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item+Callbacks.swift",
-                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> typealias<\/syntaxtype.keyword> Item<\/ref.struct><Content>.OnEndDisplay<\/ref.struct>.Callback<\/decl.name> = (OnEndDisplay<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.typealias>",
-                "key.kind" : "source.lang.swift.decl.typealias",
-                "key.length" : 41,
-                "key.name" : "Callback",
-                "key.namelength" : 8,
-                "key.nameoffset" : 491,
-                "key.offset" : 481,
-                "key.parsed_declaration" : "public typealias Callback = (OnEndDisplay) -> ()",
-                "key.parsed_scope.end" : 26,
-                "key.parsed_scope.start" : 26,
-                "key.typename" : "((Item.OnEndDisplay) -> ()).Type",
-                "key.typeusr" : "$sy10ListableUI4ItemV12OnEndDisplayVyx_GcmD",
-                "key.usr" : "s:10ListableUI4ItemV12OnEndDisplayV8Callbacka"
-              },
-              {
-                "key.accessibility" : "source.lang.swift.accessibility.public",
-                "key.annotated_decl" : "public var item: Item<\/Type><\/Declaration>",
-                "key.attributes" : [
-                  {
-                    "key.attribute" : "source.decl.attribute.public",
-                    "key.length" : 6,
-                    "key.offset" : 532
-                  }
-                ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item+Callbacks.swift",
-                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> item<\/decl.name>: Item<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 15,
-                "key.name" : "item",
-                "key.namelength" : 4,
-                "key.nameoffset" : 543,
-                "key.offset" : 539,
-                "key.parsed_declaration" : "public var item : Item",
-                "key.parsed_scope.end" : 28,
-                "key.parsed_scope.start" : 28,
-                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-                "key.typename" : "Item",
-                "key.typeusr" : "$s10ListableUI4ItemVyxGD",
-                "key.usr" : "s:10ListableUI4ItemV12OnEndDisplayV4itemACyxGvp"
-              },
+            "key.annotated_decl" : "public var identifier: AnyIdentifier<\/Type><\/Declaration>",
+            "key.attributes" : [
               {
-                "key.accessibility" : "source.lang.swift.accessibility.public",
-                "key.annotated_decl" : "public var isFirstEndDisplay: Bool<\/Type><\/Declaration>",
-                "key.attributes" : [
-                  {
-                    "key.attribute" : "source.decl.attribute.public",
-                    "key.length" : 6,
-                    "key.offset" : 572
-                  }
-                ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item+Callbacks.swift",
-                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> isFirstEndDisplay<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 28,
-                "key.name" : "isFirstEndDisplay",
-                "key.namelength" : 17,
-                "key.nameoffset" : 583,
-                "key.offset" : 579,
-                "key.parsed_declaration" : "public var isFirstEndDisplay : Bool",
-                "key.parsed_scope.end" : 30,
-                "key.parsed_scope.start" : 30,
-                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-                "key.typename" : "Bool",
-                "key.typeusr" : "$sSbD",
-                "key.usr" : "s:10ListableUI4ItemV12OnEndDisplayV07isFirsteF0Sbvp"
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 139
               }
             ],
-            "key.typename" : "Item.OnEndDisplay.Type",
-            "key.typeusr" : "$s10ListableUI4ItemV12OnEndDisplayVyx_GmD",
-            "key.usr" : "s:10ListableUI4ItemV12OnEndDisplayV"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "struct OnSelect<\/Declaration>",
-            "key.bodylength" : 98,
-            "key.bodyoffset" : 704,
-            "key.doc.column" : 12,
-            "key.doc.comment" : "Value passed to the `onSelect` callback for `Item`.",
-            "key.doc.declaration" : "struct OnSelect",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item+Callbacks.swift",
-            "key.doc.full_as_xml" : "OnSelect<\/Name>s:10ListableUI4ItemV8OnSelectV<\/USR>struct OnSelect<\/Declaration>Value passed to the onSelect<\/codeVoice> callback for Item<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Class>",
-            "key.doc.line" : 34,
-            "key.doc.name" : "OnSelect",
-            "key.doc.type" : "Class",
-            "key.doclength" : 56,
-            "key.docoffset" : 623,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item+Callbacks.swift",
-            "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> OnSelect<\/decl.name><\/decl.struct>",
-            "key.kind" : "source.lang.swift.decl.struct",
-            "key.length" : 120,
-            "key.name" : "OnSelect",
-            "key.namelength" : 8,
-            "key.nameoffset" : 690,
-            "key.offset" : 683,
-            "key.parsed_declaration" : "struct OnSelect",
-            "key.parsed_scope.end" : 39,
-            "key.parsed_scope.start" : 34,
-            "key.substructure" : [
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/Item.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> identifier<\/decl.name>: AnyIdentifier<\/ref.class><\/decl.var.type><\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 30,
+            "key.name" : "identifier",
+            "key.namelength" : 10,
+            "key.nameoffset" : 150,
+            "key.offset" : 146,
+            "key.overrides" : [
               {
-                "key.accessibility" : "source.lang.swift.accessibility.public",
-                "key.annotated_decl" : "public typealias Item<\/Type><Content>.OnSelect<\/Type>.Callback = (OnSelect<\/Type>) -> ()<\/Declaration>",
-                "key.attributes" : [
-                  {
-                    "key.attribute" : "source.decl.attribute.public",
-                    "key.length" : 6,
-                    "key.offset" : 713
-                  }
-                ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item+Callbacks.swift",
-                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> typealias<\/syntaxtype.keyword> Item<\/ref.struct><Content>.OnSelect<\/ref.struct>.Callback<\/decl.name> = (OnSelect<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.typealias>",
-                "key.kind" : "source.lang.swift.decl.typealias",
-                "key.length" : 37,
-                "key.name" : "Callback",
-                "key.namelength" : 8,
-                "key.nameoffset" : 730,
-                "key.offset" : 720,
-                "key.parsed_declaration" : "public typealias Callback = (OnSelect) -> ()",
-                "key.parsed_scope.end" : 36,
-                "key.parsed_scope.start" : 36,
-                "key.typename" : "((Item.OnSelect) -> ()).Type",
-                "key.typeusr" : "$sy10ListableUI4ItemV8OnSelectVyx_GcmD",
-                "key.usr" : "s:10ListableUI4ItemV8OnSelectV8Callbacka"
-              },
+                "key.usr" : "s:10ListableUI7AnyItemP10identifierAA0C10IdentifierCvp"
+              }
+            ],
+            "key.parsed_declaration" : "public var identifier : AnyIdentifier",
+            "key.parsed_scope.end" : 11,
+            "key.parsed_scope.start" : 11,
+            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+            "key.typename" : "AnyIdentifier",
+            "key.typeusr" : "$s10ListableUI13AnyIdentifierCD",
+            "key.usr" : "s:10ListableUI4ItemV10identifierAA13AnyIdentifierCvp"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "public var content: Content<\/Type><\/Declaration>",
+            "key.attributes" : [
               {
-                "key.accessibility" : "source.lang.swift.accessibility.public",
-                "key.annotated_decl" : "public var item: Item<\/Type><\/Declaration>",
-                "key.attributes" : [
-                  {
-                    "key.attribute" : "source.decl.attribute.public",
-                    "key.length" : 6,
-                    "key.offset" : 775
-                  }
-                ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item+Callbacks.swift",
-                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> item<\/decl.name>: Item<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 15,
-                "key.name" : "item",
-                "key.namelength" : 4,
-                "key.nameoffset" : 786,
-                "key.offset" : 782,
-                "key.parsed_declaration" : "public var item : Item",
-                "key.parsed_scope.end" : 38,
-                "key.parsed_scope.start" : 38,
-                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-                "key.typename" : "Item",
-                "key.typeusr" : "$s10ListableUI4ItemVyxGD",
-                "key.usr" : "s:10ListableUI4ItemV8OnSelectV4itemACyxGvp"
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 186
               }
             ],
-            "key.typename" : "Item.OnSelect.Type",
-            "key.typeusr" : "$s10ListableUI4ItemV8OnSelectVyx_GmD",
-            "key.usr" : "s:10ListableUI4ItemV8OnSelectV"
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/Item.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> content<\/decl.name>: Content<\/ref.generic_type_param><\/decl.var.type><\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 21,
+            "key.name" : "content",
+            "key.namelength" : 7,
+            "key.nameoffset" : 197,
+            "key.offset" : 193,
+            "key.parsed_declaration" : "public var content : Content",
+            "key.parsed_scope.end" : 13,
+            "key.parsed_scope.start" : 13,
+            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+            "key.typename" : "Content",
+            "key.typeusr" : "$sxD",
+            "key.usr" : "s:10ListableUI4ItemV7contentxvp"
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "struct OnDeselect<\/Declaration>",
-            "key.bodylength" : 92,
-            "key.bodyoffset" : 898,
-            "key.doc.column" : 12,
-            "key.doc.comment" : "Value passed to the `onDeselect` callback for `Item`.",
-            "key.doc.declaration" : "struct OnDeselect",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item+Callbacks.swift",
-            "key.doc.full_as_xml" : "OnDeselect<\/Name>s:10ListableUI4ItemV10OnDeselectV<\/USR>struct OnDeselect<\/Declaration>Value passed to the onDeselect<\/codeVoice> callback for Item<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Class>",
-            "key.doc.line" : 42,
-            "key.doc.name" : "OnDeselect",
-            "key.doc.type" : "Class",
-            "key.doclength" : 58,
-            "key.docoffset" : 813,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item+Callbacks.swift",
-            "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> OnDeselect<\/decl.name><\/decl.struct>",
-            "key.kind" : "source.lang.swift.decl.struct",
-            "key.length" : 116,
-            "key.name" : "OnDeselect",
-            "key.namelength" : 10,
-            "key.nameoffset" : 882,
-            "key.offset" : 875,
-            "key.parsed_declaration" : "struct OnDeselect",
-            "key.parsed_scope.end" : 47,
-            "key.parsed_scope.start" : 42,
-            "key.substructure" : [
+            "key.annotated_decl" : "public var sizing: Sizing<\/Type><\/Declaration>",
+            "key.attributes" : [
               {
-                "key.accessibility" : "source.lang.swift.accessibility.public",
-                "key.annotated_decl" : "public typealias Item<\/Type><Content>.OnDeselect<\/Type>.Callback = (OnDeselect<\/Type>) -> ()<\/Declaration>",
-                "key.attributes" : [
-                  {
-                    "key.attribute" : "source.decl.attribute.public",
-                    "key.length" : 6,
-                    "key.offset" : 907
-                  }
-                ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item+Callbacks.swift",
-                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> typealias<\/syntaxtype.keyword> Item<\/ref.struct><Content>.OnDeselect<\/ref.struct>.Callback<\/decl.name> = (OnDeselect<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.typealias>",
-                "key.kind" : "source.lang.swift.decl.typealias",
-                "key.length" : 39,
-                "key.name" : "Callback",
-                "key.namelength" : 8,
-                "key.nameoffset" : 924,
-                "key.offset" : 914,
-                "key.parsed_declaration" : "public typealias Callback = (OnDeselect) -> ()",
-                "key.parsed_scope.end" : 44,
-                "key.parsed_scope.start" : 44,
-                "key.typename" : "((Item.OnDeselect) -> ()).Type",
-                "key.typeusr" : "$sy10ListableUI4ItemV10OnDeselectVyx_GcmD",
-                "key.usr" : "s:10ListableUI4ItemV10OnDeselectV8Callbacka"
-              },
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 224
+              }
+            ],
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/Item.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> sizing<\/decl.name>: Sizing<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 19,
+            "key.name" : "sizing",
+            "key.namelength" : 6,
+            "key.nameoffset" : 235,
+            "key.offset" : 231,
+            "key.overrides" : [
               {
-                "key.accessibility" : "source.lang.swift.accessibility.public",
-                "key.annotated_decl" : "public var item: Item<\/Type><\/Declaration>",
-                "key.attributes" : [
-                  {
-                    "key.attribute" : "source.decl.attribute.public",
-                    "key.length" : 6,
-                    "key.offset" : 963
-                  }
-                ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item+Callbacks.swift",
-                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> item<\/decl.name>: Item<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 15,
-                "key.name" : "item",
-                "key.namelength" : 4,
-                "key.nameoffset" : 974,
-                "key.offset" : 970,
-                "key.parsed_declaration" : "public var item : Item",
-                "key.parsed_scope.end" : 46,
-                "key.parsed_scope.start" : 46,
-                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-                "key.typename" : "Item",
-                "key.typeusr" : "$s10ListableUI4ItemVyxGD",
-                "key.usr" : "s:10ListableUI4ItemV10OnDeselectV4itemACyxGvp"
+                "key.usr" : "s:10ListableUI7AnyItemP6sizingAA6SizingOvp"
               }
             ],
-            "key.typename" : "Item.OnDeselect.Type",
-            "key.typeusr" : "$s10ListableUI4ItemV10OnDeselectVyx_GmD",
-            "key.usr" : "s:10ListableUI4ItemV10OnDeselectV"
+            "key.parsed_declaration" : "public var sizing : Sizing",
+            "key.parsed_scope.end" : 15,
+            "key.parsed_scope.start" : 15,
+            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+            "key.typename" : "Sizing",
+            "key.typeusr" : "$s10ListableUI6SizingOD",
+            "key.usr" : "s:10ListableUI4ItemV6sizingAA6SizingOvp"
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "struct OnInsert<\/Declaration>",
-            "key.bodylength" : 98,
-            "key.bodyoffset" : 1022,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item+Callbacks.swift",
-            "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> OnInsert<\/decl.name><\/decl.struct>",
-            "key.kind" : "source.lang.swift.decl.struct",
-            "key.length" : 120,
-            "key.name" : "OnInsert",
-            "key.namelength" : 8,
-            "key.nameoffset" : 1008,
-            "key.offset" : 1001,
-            "key.parsed_declaration" : "struct OnInsert",
-            "key.parsed_scope.end" : 54,
-            "key.parsed_scope.start" : 49,
-            "key.substructure" : [
+            "key.annotated_decl" : "public var layouts: ItemLayouts<\/Type><\/Declaration>",
+            "key.attributes" : [
               {
-                "key.accessibility" : "source.lang.swift.accessibility.public",
-                "key.annotated_decl" : "public typealias Item<\/Type><Content>.OnInsert<\/Type>.Callback = (OnInsert<\/Type>) -> ()<\/Declaration>",
-                "key.attributes" : [
-                  {
-                    "key.attribute" : "source.decl.attribute.public",
-                    "key.length" : 6,
-                    "key.offset" : 1031
-                  }
-                ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item+Callbacks.swift",
-                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> typealias<\/syntaxtype.keyword> Item<\/ref.struct><Content>.OnInsert<\/ref.struct>.Callback<\/decl.name> = (OnInsert<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.typealias>",
-                "key.kind" : "source.lang.swift.decl.typealias",
-                "key.length" : 37,
-                "key.name" : "Callback",
-                "key.namelength" : 8,
-                "key.nameoffset" : 1048,
-                "key.offset" : 1038,
-                "key.parsed_declaration" : "public typealias Callback = (OnInsert) -> ()",
-                "key.parsed_scope.end" : 51,
-                "key.parsed_scope.start" : 51,
-                "key.typename" : "((Item.OnInsert) -> ()).Type",
-                "key.typeusr" : "$sy10ListableUI4ItemV8OnInsertVyx_GcmD",
-                "key.usr" : "s:10ListableUI4ItemV8OnInsertV8Callbacka"
-              },
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 255
+              }
+            ],
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/Item.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> layouts<\/decl.name>: ItemLayouts<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 25,
+            "key.name" : "layouts",
+            "key.namelength" : 7,
+            "key.nameoffset" : 266,
+            "key.offset" : 262,
+            "key.overrides" : [
               {
-                "key.accessibility" : "source.lang.swift.accessibility.public",
-                "key.annotated_decl" : "public var item: Item<\/Type><\/Declaration>",
-                "key.attributes" : [
-                  {
-                    "key.attribute" : "source.decl.attribute.public",
-                    "key.length" : 6,
-                    "key.offset" : 1093
-                  }
-                ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item+Callbacks.swift",
-                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> item<\/decl.name>: Item<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 15,
-                "key.name" : "item",
-                "key.namelength" : 4,
-                "key.nameoffset" : 1104,
-                "key.offset" : 1100,
-                "key.parsed_declaration" : "public var item : Item",
-                "key.parsed_scope.end" : 53,
-                "key.parsed_scope.start" : 53,
-                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-                "key.typename" : "Item",
-                "key.typeusr" : "$s10ListableUI4ItemVyxGD",
-                "key.usr" : "s:10ListableUI4ItemV8OnInsertV4itemACyxGvp"
+                "key.usr" : "s:10ListableUI7AnyItemP7layoutsAA0D7LayoutsVvp"
               }
             ],
-            "key.typename" : "Item.OnInsert.Type",
-            "key.typeusr" : "$s10ListableUI4ItemV8OnInsertVyx_GmD",
-            "key.usr" : "s:10ListableUI4ItemV8OnInsertV"
+            "key.parsed_declaration" : "public var layouts : ItemLayouts",
+            "key.parsed_scope.end" : 16,
+            "key.parsed_scope.start" : 16,
+            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+            "key.typename" : "ItemLayouts",
+            "key.typeusr" : "$s10ListableUI11ItemLayoutsVD",
+            "key.usr" : "s:10ListableUI4ItemV7layoutsAA0C7LayoutsVvp"
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "struct OnRemove<\/Declaration>",
-            "key.bodylength" : 98,
-            "key.bodyoffset" : 1152,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item+Callbacks.swift",
-            "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> OnRemove<\/decl.name><\/decl.struct>",
-            "key.kind" : "source.lang.swift.decl.struct",
-            "key.length" : 120,
-            "key.name" : "OnRemove",
-            "key.namelength" : 8,
-            "key.nameoffset" : 1138,
-            "key.offset" : 1131,
-            "key.parsed_declaration" : "struct OnRemove",
-            "key.parsed_scope.end" : 61,
-            "key.parsed_scope.start" : 56,
-            "key.substructure" : [
+            "key.annotated_decl" : "public var selectionStyle: ItemSelectionStyle<\/Type><\/Declaration>",
+            "key.attributes" : [
               {
-                "key.accessibility" : "source.lang.swift.accessibility.public",
-                "key.annotated_decl" : "public typealias Item<\/Type><Content>.OnRemove<\/Type>.Callback = (OnRemove<\/Type>) -> ()<\/Declaration>",
-                "key.attributes" : [
-                  {
-                    "key.attribute" : "source.decl.attribute.public",
-                    "key.length" : 6,
-                    "key.offset" : 1161
-                  }
-                ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item+Callbacks.swift",
-                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> typealias<\/syntaxtype.keyword> Item<\/ref.struct><Content>.OnRemove<\/ref.struct>.Callback<\/decl.name> = (OnRemove<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.typealias>",
-                "key.kind" : "source.lang.swift.decl.typealias",
-                "key.length" : 37,
-                "key.name" : "Callback",
-                "key.namelength" : 8,
-                "key.nameoffset" : 1178,
-                "key.offset" : 1168,
-                "key.parsed_declaration" : "public typealias Callback = (OnRemove) -> ()",
-                "key.parsed_scope.end" : 58,
-                "key.parsed_scope.start" : 58,
-                "key.typename" : "((Item.OnRemove) -> ()).Type",
-                "key.typeusr" : "$sy10ListableUI4ItemV8OnRemoveVyx_GcmD",
-                "key.usr" : "s:10ListableUI4ItemV8OnRemoveV8Callbacka"
-              },
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 297
+              }
+            ],
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/Item.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> selectionStyle<\/decl.name>: ItemSelectionStyle<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 39,
+            "key.name" : "selectionStyle",
+            "key.namelength" : 14,
+            "key.nameoffset" : 308,
+            "key.offset" : 304,
+            "key.overrides" : [
               {
-                "key.accessibility" : "source.lang.swift.accessibility.public",
-                "key.annotated_decl" : "public var item: Item<\/Type><\/Declaration>",
-                "key.attributes" : [
-                  {
-                    "key.attribute" : "source.decl.attribute.public",
-                    "key.length" : 6,
-                    "key.offset" : 1223
-                  }
-                ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item+Callbacks.swift",
-                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> item<\/decl.name>: Item<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 15,
-                "key.name" : "item",
-                "key.namelength" : 4,
-                "key.nameoffset" : 1234,
-                "key.offset" : 1230,
-                "key.parsed_declaration" : "public var item : Item",
-                "key.parsed_scope.end" : 60,
-                "key.parsed_scope.start" : 60,
-                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-                "key.typename" : "Item",
-                "key.typeusr" : "$s10ListableUI4ItemVyxGD",
-                "key.usr" : "s:10ListableUI4ItemV8OnRemoveV4itemACyxGvp"
+                "key.usr" : "s:10ListableUI7AnyItemP14selectionStyleAA0d9SelectionF0Ovp"
               }
             ],
-            "key.typename" : "Item.OnRemove.Type",
-            "key.typeusr" : "$s10ListableUI4ItemV8OnRemoveVyx_GmD",
-            "key.usr" : "s:10ListableUI4ItemV8OnRemoveV"
+            "key.parsed_declaration" : "public var selectionStyle : ItemSelectionStyle",
+            "key.parsed_scope.end" : 18,
+            "key.parsed_scope.start" : 18,
+            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+            "key.typename" : "ItemSelectionStyle",
+            "key.typeusr" : "$s10ListableUI18ItemSelectionStyleOD",
+            "key.usr" : "s:10ListableUI4ItemV14selectionStyleAA0c9SelectionE0Ovp"
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "struct OnMove<\/Declaration>",
-            "key.bodylength" : 125,
-            "key.bodyoffset" : 1280,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item+Callbacks.swift",
-            "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> OnMove<\/decl.name><\/decl.struct>",
-            "key.kind" : "source.lang.swift.decl.struct",
-            "key.length" : 145,
-            "key.name" : "OnMove",
-            "key.namelength" : 6,
-            "key.nameoffset" : 1268,
-            "key.offset" : 1261,
-            "key.parsed_declaration" : "struct OnMove",
-            "key.parsed_scope.end" : 69,
-            "key.parsed_scope.start" : 63,
-            "key.substructure" : [
-              {
-                "key.accessibility" : "source.lang.swift.accessibility.public",
-                "key.annotated_decl" : "public typealias Item<\/Type><Content>.OnMove<\/Type>.Callback = (OnMove<\/Type>) -> ()<\/Declaration>",
-                "key.attributes" : [
-                  {
-                    "key.attribute" : "source.decl.attribute.public",
-                    "key.length" : 6,
-                    "key.offset" : 1289
-                  }
-                ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item+Callbacks.swift",
-                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> typealias<\/syntaxtype.keyword> Item<\/ref.struct><Content>.OnMove<\/ref.struct>.Callback<\/decl.name> = (OnMove<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.typealias>",
-                "key.kind" : "source.lang.swift.decl.typealias",
-                "key.length" : 35,
-                "key.name" : "Callback",
-                "key.namelength" : 8,
-                "key.nameoffset" : 1306,
-                "key.offset" : 1296,
-                "key.parsed_declaration" : "public typealias Callback = (OnMove) -> ()",
-                "key.parsed_scope.end" : 65,
-                "key.parsed_scope.start" : 65,
-                "key.typename" : "((Item.OnMove) -> ()).Type",
-                "key.typeusr" : "$sy10ListableUI4ItemV6OnMoveVyx_GcmD",
-                "key.usr" : "s:10ListableUI4ItemV6OnMoveV8Callbacka"
-              },
+            "key.annotated_decl" : "public var insertAndRemoveAnimations: ItemInsertAndRemoveAnimations<\/Type>?<\/Declaration>",
+            "key.attributes" : [
               {
-                "key.accessibility" : "source.lang.swift.accessibility.public",
-                "key.annotated_decl" : "public var old: Item<\/Type><\/Declaration>",
-                "key.attributes" : [
-                  {
-                    "key.attribute" : "source.decl.attribute.public",
-                    "key.length" : 6,
-                    "key.offset" : 1349
-                  }
-                ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item+Callbacks.swift",
-                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> old<\/decl.name>: Item<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 14,
-                "key.name" : "old",
-                "key.namelength" : 3,
-                "key.nameoffset" : 1360,
-                "key.offset" : 1356,
-                "key.parsed_declaration" : "public var old : Item",
-                "key.parsed_scope.end" : 67,
-                "key.parsed_scope.start" : 67,
-                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-                "key.typename" : "Item",
-                "key.typeusr" : "$s10ListableUI4ItemVyxGD",
-                "key.usr" : "s:10ListableUI4ItemV6OnMoveV3oldACyxGvp"
-              },
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 353
+              }
+            ],
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/Item.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> insertAndRemoveAnimations<\/decl.name>: ItemInsertAndRemoveAnimations<\/ref.struct>?<\/decl.var.type><\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 62,
+            "key.name" : "insertAndRemoveAnimations",
+            "key.namelength" : 25,
+            "key.nameoffset" : 364,
+            "key.offset" : 360,
+            "key.overrides" : [
               {
-                "key.accessibility" : "source.lang.swift.accessibility.public",
-                "key.annotated_decl" : "public var new: Item<\/Type><\/Declaration>",
-                "key.attributes" : [
-                  {
-                    "key.attribute" : "source.decl.attribute.public",
-                    "key.length" : 6,
-                    "key.offset" : 1379
-                  }
-                ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item+Callbacks.swift",
-                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> new<\/decl.name>: Item<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 14,
-                "key.name" : "new",
-                "key.namelength" : 3,
-                "key.nameoffset" : 1390,
-                "key.offset" : 1386,
-                "key.parsed_declaration" : "public var new : Item",
-                "key.parsed_scope.end" : 68,
-                "key.parsed_scope.start" : 68,
-                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-                "key.typename" : "Item",
-                "key.typeusr" : "$s10ListableUI4ItemVyxGD",
-                "key.usr" : "s:10ListableUI4ItemV6OnMoveV3newACyxGvp"
+                "key.usr" : "s:10ListableUI7AnyItemP25insertAndRemoveAnimationsAA0d6InsertfgH0VSgvp"
               }
             ],
-            "key.typename" : "Item.OnMove.Type",
-            "key.typeusr" : "$s10ListableUI4ItemV6OnMoveVyx_GmD",
-            "key.usr" : "s:10ListableUI4ItemV6OnMoveV"
+            "key.parsed_declaration" : "public var insertAndRemoveAnimations : ItemInsertAndRemoveAnimations?",
+            "key.parsed_scope.end" : 20,
+            "key.parsed_scope.start" : 20,
+            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+            "key.typename" : "ItemInsertAndRemoveAnimations?",
+            "key.typeusr" : "$s10ListableUI29ItemInsertAndRemoveAnimationsVSgD",
+            "key.usr" : "s:10ListableUI4ItemV25insertAndRemoveAnimationsAA0c6InsertefG0VSgvp"
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "struct OnUpdate<\/Declaration>",
-            "key.bodylength" : 127,
-            "key.bodyoffset" : 1437,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item+Callbacks.swift",
-            "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> OnUpdate<\/decl.name><\/decl.struct>",
-            "key.kind" : "source.lang.swift.decl.struct",
-            "key.length" : 149,
-            "key.name" : "OnUpdate",
-            "key.namelength" : 8,
-            "key.nameoffset" : 1423,
-            "key.offset" : 1416,
-            "key.parsed_declaration" : "struct OnUpdate",
-            "key.parsed_scope.end" : 77,
-            "key.parsed_scope.start" : 71,
-            "key.substructure" : [
-              {
-                "key.accessibility" : "source.lang.swift.accessibility.public",
-                "key.annotated_decl" : "public typealias Item<\/Type><Content>.OnUpdate<\/Type>.Callback = (OnUpdate<\/Type>) -> ()<\/Declaration>",
-                "key.attributes" : [
-                  {
-                    "key.attribute" : "source.decl.attribute.public",
-                    "key.length" : 6,
-                    "key.offset" : 1446
-                  }
-                ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item+Callbacks.swift",
-                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> typealias<\/syntaxtype.keyword> Item<\/ref.struct><Content>.OnUpdate<\/ref.struct>.Callback<\/decl.name> = (OnUpdate<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.typealias>",
-                "key.kind" : "source.lang.swift.decl.typealias",
-                "key.length" : 37,
-                "key.name" : "Callback",
-                "key.namelength" : 8,
-                "key.nameoffset" : 1463,
-                "key.offset" : 1453,
-                "key.parsed_declaration" : "public typealias Callback = (OnUpdate) -> ()",
-                "key.parsed_scope.end" : 73,
-                "key.parsed_scope.start" : 73,
-                "key.typename" : "((Item.OnUpdate) -> ()).Type",
-                "key.typeusr" : "$sy10ListableUI4ItemV8OnUpdateVyx_GcmD",
-                "key.usr" : "s:10ListableUI4ItemV8OnUpdateV8Callbacka"
-              },
-              {
-                "key.accessibility" : "source.lang.swift.accessibility.public",
-                "key.annotated_decl" : "public var old: Item<\/Type><\/Declaration>",
-                "key.attributes" : [
-                  {
-                    "key.attribute" : "source.decl.attribute.public",
-                    "key.length" : 6,
-                    "key.offset" : 1508
-                  }
-                ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item+Callbacks.swift",
-                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> old<\/decl.name>: Item<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 14,
-                "key.name" : "old",
-                "key.namelength" : 3,
-                "key.nameoffset" : 1519,
-                "key.offset" : 1515,
-                "key.parsed_declaration" : "public var old : Item",
-                "key.parsed_scope.end" : 75,
-                "key.parsed_scope.start" : 75,
-                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-                "key.typename" : "Item",
-                "key.typeusr" : "$s10ListableUI4ItemVyxGD",
-                "key.usr" : "s:10ListableUI4ItemV8OnUpdateV3oldACyxGvp"
-              },
-              {
-                "key.accessibility" : "source.lang.swift.accessibility.public",
-                "key.annotated_decl" : "public var new: Item<\/Type><\/Declaration>",
-                "key.attributes" : [
-                  {
-                    "key.attribute" : "source.decl.attribute.public",
-                    "key.length" : 6,
-                    "key.offset" : 1538
-                  }
-                ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item+Callbacks.swift",
-                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> new<\/decl.name>: Item<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 14,
-                "key.name" : "new",
-                "key.namelength" : 3,
-                "key.nameoffset" : 1549,
-                "key.offset" : 1545,
-                "key.parsed_declaration" : "public var new : Item",
-                "key.parsed_scope.end" : 76,
-                "key.parsed_scope.start" : 76,
-                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-                "key.typename" : "Item",
-                "key.typeusr" : "$s10ListableUI4ItemVyxGD",
-                "key.usr" : "s:10ListableUI4ItemV8OnUpdateV3newACyxGvp"
-              }
-            ],
-            "key.typename" : "Item.OnUpdate.Type",
-            "key.typeusr" : "$s10ListableUI4ItemV8OnUpdateVyx_GmD",
-            "key.usr" : "s:10ListableUI4ItemV8OnUpdateV"
-          }
-        ],
-        "key.typename" : "Item.Type",
-        "key.typeusr" : "$s10ListableUI4ItemVyxGmD",
-        "key.usr" : "s:10ListableUI4ItemV"
-      }
-    ]
-  }
-}, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item.swift" : {
-    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
-    "key.length" : 5329,
-    "key.offset" : 0,
-    "key.substructure" : [
-      {
-        "key.accessibility" : "source.lang.swift.accessibility.public",
-        "key.annotated_decl" : "public struct Item<Content> : AnyItem<\/Type> where Content : ItemContent<\/Type><\/Declaration>",
-        "key.attributes" : [
-          {
-            "key.attribute" : "source.decl.attribute.public",
-            "key.length" : 6,
-            "key.offset" : 83
-          }
-        ],
-        "key.bodylength" : 4945,
-        "key.bodyoffset" : 134,
-        "key.elements" : [
-          {
-            "key.kind" : "source.lang.swift.structure.elem.typeref",
-            "key.length" : 7,
-            "key.offset" : 125
-          }
-        ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item.swift",
-        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> Item<\/decl.name><Content<\/decl.generic_type_param.name><\/decl.generic_type_param>> : AnyItem<\/ref.protocol> where<\/syntaxtype.keyword> Content : ItemContent<\/ref.protocol><\/decl.generic_type_requirement><\/decl.struct>",
-        "key.inheritedtypes" : [
-          {
-            "key.name" : "AnyItem"
-          }
-        ],
-        "key.kind" : "source.lang.swift.decl.struct",
-        "key.length" : 4990,
-        "key.name" : "Item",
-        "key.namelength" : 4,
-        "key.nameoffset" : 97,
-        "key.offset" : 90,
-        "key.parsed_declaration" : "public struct Item : AnyItem",
-        "key.parsed_scope.end" : 172,
-        "key.parsed_scope.start" : 9,
-        "key.substructure" : [
-          {
-            "key.annotated_decl" : "Content : ItemContent<\/Type><\/Declaration>",
-            "key.elements" : [
-              {
-                "key.kind" : "source.lang.swift.structure.elem.typeref",
-                "key.length" : 11,
-                "key.offset" : 110
-              }
-            ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item.swift",
-            "key.fully_annotated_decl" : "Content<\/decl.generic_type_param.name> : ItemContent<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
-            "key.inheritedtypes" : [
-              {
-                "key.name" : "ItemContent"
-              }
-            ],
-            "key.kind" : "source.lang.swift.decl.generic_type_param",
-            "key.length" : 19,
-            "key.name" : "Content",
-            "key.namelength" : 7,
-            "key.nameoffset" : 102,
-            "key.offset" : 102,
-            "key.parsed_declaration" : "public struct Itempublic var identifier: AnyIdentifier<\/Type><\/Declaration>",
-            "key.attributes" : [
-              {
-                "key.attribute" : "source.decl.attribute.public",
-                "key.length" : 6,
-                "key.offset" : 139
-              }
-            ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> identifier<\/decl.name>: AnyIdentifier<\/ref.class><\/decl.var.type><\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 30,
-            "key.name" : "identifier",
-            "key.namelength" : 10,
-            "key.nameoffset" : 150,
-            "key.offset" : 146,
-            "key.overrides" : [
-              {
-                "key.usr" : "s:10ListableUI7AnyItemP10identifierAA0C10IdentifierCvp"
-              }
-            ],
-            "key.parsed_declaration" : "public var identifier : AnyIdentifier",
-            "key.parsed_scope.end" : 11,
-            "key.parsed_scope.start" : 11,
-            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-            "key.typename" : "AnyIdentifier",
-            "key.typeusr" : "$s10ListableUI13AnyIdentifierCD",
-            "key.usr" : "s:10ListableUI4ItemV10identifierAA13AnyIdentifierCvp"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public var content: Content<\/Type><\/Declaration>",
-            "key.attributes" : [
-              {
-                "key.attribute" : "source.decl.attribute.public",
-                "key.length" : 6,
-                "key.offset" : 186
-              }
-            ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> content<\/decl.name>: Content<\/ref.generic_type_param><\/decl.var.type><\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 21,
-            "key.name" : "content",
-            "key.namelength" : 7,
-            "key.nameoffset" : 197,
-            "key.offset" : 193,
-            "key.parsed_declaration" : "public var content : Content",
-            "key.parsed_scope.end" : 13,
-            "key.parsed_scope.start" : 13,
-            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-            "key.typename" : "Content",
-            "key.typeusr" : "$sxD",
-            "key.usr" : "s:10ListableUI4ItemV7contentxvp"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public var sizing: Sizing<\/Type><\/Declaration>",
-            "key.attributes" : [
-              {
-                "key.attribute" : "source.decl.attribute.public",
-                "key.length" : 6,
-                "key.offset" : 224
-              }
-            ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> sizing<\/decl.name>: Sizing<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 19,
-            "key.name" : "sizing",
-            "key.namelength" : 6,
-            "key.nameoffset" : 235,
-            "key.offset" : 231,
-            "key.overrides" : [
-              {
-                "key.usr" : "s:10ListableUI7AnyItemP6sizingAA6SizingOvp"
-              }
-            ],
-            "key.parsed_declaration" : "public var sizing : Sizing",
-            "key.parsed_scope.end" : 15,
-            "key.parsed_scope.start" : 15,
-            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-            "key.typename" : "Sizing",
-            "key.typeusr" : "$s10ListableUI6SizingOD",
-            "key.usr" : "s:10ListableUI4ItemV6sizingAA6SizingOvp"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public var layout: ItemLayout<\/Type><\/Declaration>",
-            "key.attributes" : [
-              {
-                "key.attribute" : "source.decl.attribute.public",
-                "key.length" : 6,
-                "key.offset" : 255
-              }
-            ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> layout<\/decl.name>: ItemLayout<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 23,
-            "key.name" : "layout",
-            "key.namelength" : 6,
-            "key.nameoffset" : 266,
-            "key.offset" : 262,
-            "key.overrides" : [
-              {
-                "key.usr" : "s:10ListableUI7AnyItemP6layoutAA0D6LayoutVvp"
-              }
-            ],
-            "key.parsed_declaration" : "public var layout : ItemLayout",
-            "key.parsed_scope.end" : 16,
-            "key.parsed_scope.start" : 16,
-            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-            "key.typename" : "ItemLayout",
-            "key.typeusr" : "$s10ListableUI10ItemLayoutVD",
-            "key.usr" : "s:10ListableUI4ItemV6layoutAA0C6LayoutVvp"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public var selectionStyle: ItemSelectionStyle<\/Type><\/Declaration>",
-            "key.attributes" : [
-              {
-                "key.attribute" : "source.decl.attribute.public",
-                "key.length" : 6,
-                "key.offset" : 295
-              }
-            ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> selectionStyle<\/decl.name>: ItemSelectionStyle<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 39,
-            "key.name" : "selectionStyle",
-            "key.namelength" : 14,
-            "key.nameoffset" : 306,
-            "key.offset" : 302,
-            "key.overrides" : [
-              {
-                "key.usr" : "s:10ListableUI7AnyItemP14selectionStyleAA0d9SelectionF0Ovp"
-              }
-            ],
-            "key.parsed_declaration" : "public var selectionStyle : ItemSelectionStyle",
-            "key.parsed_scope.end" : 18,
-            "key.parsed_scope.start" : 18,
-            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-            "key.typename" : "ItemSelectionStyle",
-            "key.typeusr" : "$s10ListableUI18ItemSelectionStyleOD",
-            "key.usr" : "s:10ListableUI4ItemV14selectionStyleAA0c9SelectionE0Ovp"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public var insertAndRemoveAnimations: ItemInsertAndRemoveAnimations<\/Type>?<\/Declaration>",
-            "key.attributes" : [
-              {
-                "key.attribute" : "source.decl.attribute.public",
-                "key.length" : 6,
-                "key.offset" : 351
-              }
-            ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> insertAndRemoveAnimations<\/decl.name>: ItemInsertAndRemoveAnimations<\/ref.struct>?<\/decl.var.type><\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 62,
-            "key.name" : "insertAndRemoveAnimations",
-            "key.namelength" : 25,
-            "key.nameoffset" : 362,
-            "key.offset" : 358,
-            "key.overrides" : [
-              {
-                "key.usr" : "s:10ListableUI7AnyItemP25insertAndRemoveAnimationsAA0d6InsertfgH0VSgvp"
-              }
-            ],
-            "key.parsed_declaration" : "public var insertAndRemoveAnimations : ItemInsertAndRemoveAnimations?",
-            "key.parsed_scope.end" : 20,
-            "key.parsed_scope.start" : 20,
-            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-            "key.typename" : "ItemInsertAndRemoveAnimations?",
-            "key.typeusr" : "$s10ListableUI29ItemInsertAndRemoveAnimationsVSgD",
-            "key.usr" : "s:10ListableUI4ItemV25insertAndRemoveAnimationsAA0c6InsertefG0VSgvp"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public var swipeActions: SwipeActionsConfiguration<\/Type>?<\/Declaration>",
-            "key.attributes" : [
+            "key.annotated_decl" : "public var swipeActions: SwipeActionsConfiguration<\/Type>?<\/Declaration>",
+            "key.attributes" : [
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 430
+                "key.offset" : 432
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/Item.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> swipeActions<\/decl.name>: SwipeActionsConfiguration<\/ref.struct>?<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 45,
             "key.name" : "swipeActions",
             "key.namelength" : 12,
-            "key.nameoffset" : 441,
-            "key.offset" : 437,
+            "key.nameoffset" : 443,
+            "key.offset" : 439,
             "key.overrides" : [
               {
                 "key.usr" : "s:10ListableUI7AnyItemP12swipeActionsAA05SwipeF13ConfigurationVSgvp"
@@ -30113,17 +29647,17 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 488
+                "key.offset" : 490
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/Item.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> reordering<\/decl.name>: Reordering<\/ref.struct>?<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 28,
             "key.name" : "reordering",
             "key.namelength" : 10,
-            "key.nameoffset" : 499,
-            "key.offset" : 495,
+            "key.nameoffset" : 501,
+            "key.offset" : 497,
             "key.overrides" : [
               {
                 "key.usr" : "s:10ListableUI7AnyItemP10reorderingAA10ReorderingVSgvp"
@@ -30144,17 +29678,17 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 537
+                "key.offset" : 539
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/Item.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> onDisplay<\/decl.name>: OnDisplay<\/ref.struct>.Callback<\/ref.typealias>?<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 35,
             "key.name" : "onDisplay",
             "key.namelength" : 9,
-            "key.nameoffset" : 548,
-            "key.offset" : 544,
+            "key.nameoffset" : 550,
+            "key.offset" : 546,
             "key.parsed_declaration" : "public var onDisplay : OnDisplay.Callback?",
             "key.parsed_scope.end" : 26,
             "key.parsed_scope.start" : 26,
@@ -30170,17 +29704,17 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 584
+                "key.offset" : 586
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/Item.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> onEndDisplay<\/decl.name>: OnEndDisplay<\/ref.struct>.Callback<\/ref.typealias>?<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 41,
             "key.name" : "onEndDisplay",
             "key.namelength" : 12,
-            "key.nameoffset" : 595,
-            "key.offset" : 591,
+            "key.nameoffset" : 597,
+            "key.offset" : 593,
             "key.parsed_declaration" : "public var onEndDisplay : OnEndDisplay.Callback?",
             "key.parsed_scope.end" : 27,
             "key.parsed_scope.start" : 27,
@@ -30196,17 +29730,17 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 642
+                "key.offset" : 644
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/Item.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> onSelect<\/decl.name>: OnSelect<\/ref.struct>.Callback<\/ref.typealias>?<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 33,
             "key.name" : "onSelect",
             "key.namelength" : 8,
-            "key.nameoffset" : 653,
-            "key.offset" : 649,
+            "key.nameoffset" : 655,
+            "key.offset" : 651,
             "key.parsed_declaration" : "public var onSelect : OnSelect.Callback?",
             "key.parsed_scope.end" : 29,
             "key.parsed_scope.start" : 29,
@@ -30222,17 +29756,17 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 687
+                "key.offset" : 689
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/Item.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> onDeselect<\/decl.name>: OnDeselect<\/ref.struct>.Callback<\/ref.typealias>?<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 37,
             "key.name" : "onDeselect",
             "key.namelength" : 10,
-            "key.nameoffset" : 698,
-            "key.offset" : 694,
+            "key.nameoffset" : 700,
+            "key.offset" : 696,
             "key.parsed_declaration" : "public var onDeselect : OnDeselect.Callback?",
             "key.parsed_scope.end" : 30,
             "key.parsed_scope.start" : 30,
@@ -30248,17 +29782,17 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 741
+                "key.offset" : 743
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/Item.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> onInsert<\/decl.name>: OnInsert<\/ref.struct>.Callback<\/ref.typealias>?<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 33,
             "key.name" : "onInsert",
             "key.namelength" : 8,
-            "key.nameoffset" : 752,
-            "key.offset" : 748,
+            "key.nameoffset" : 754,
+            "key.offset" : 750,
             "key.parsed_declaration" : "public var onInsert : OnInsert.Callback?",
             "key.parsed_scope.end" : 32,
             "key.parsed_scope.start" : 32,
@@ -30274,17 +29808,17 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 786
+                "key.offset" : 788
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/Item.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> onRemove<\/decl.name>: OnRemove<\/ref.struct>.Callback<\/ref.typealias>?<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 33,
             "key.name" : "onRemove",
             "key.namelength" : 8,
-            "key.nameoffset" : 797,
-            "key.offset" : 793,
+            "key.nameoffset" : 799,
+            "key.offset" : 795,
             "key.parsed_declaration" : "public var onRemove : OnRemove.Callback?",
             "key.parsed_scope.end" : 33,
             "key.parsed_scope.start" : 33,
@@ -30300,17 +29834,17 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 831
+                "key.offset" : 833
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/Item.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> onMove<\/decl.name>: OnMove<\/ref.struct>.Callback<\/ref.typealias>?<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 29,
             "key.name" : "onMove",
             "key.namelength" : 6,
-            "key.nameoffset" : 842,
-            "key.offset" : 838,
+            "key.nameoffset" : 844,
+            "key.offset" : 840,
             "key.parsed_declaration" : "public var onMove : OnMove.Callback?",
             "key.parsed_scope.end" : 34,
             "key.parsed_scope.start" : 34,
@@ -30326,17 +29860,17 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 872
+                "key.offset" : 874
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/Item.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> onUpdate<\/decl.name>: OnUpdate<\/ref.struct>.Callback<\/ref.typealias>?<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 33,
             "key.name" : "onUpdate",
             "key.namelength" : 8,
-            "key.nameoffset" : 883,
-            "key.offset" : 879,
+            "key.nameoffset" : 885,
+            "key.offset" : 881,
             "key.parsed_declaration" : "public var onUpdate : OnUpdate.Callback?",
             "key.parsed_scope.end" : 35,
             "key.parsed_scope.start" : 35,
@@ -30352,17 +29886,17 @@
               {
                 "key.attribute" : "source.decl.attribute.internal",
                 "key.length" : 8,
-                "key.offset" : 922
+                "key.offset" : 924
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/Item.swift",
             "key.fully_annotated_decl" : "internal<\/syntaxtype.keyword> let<\/syntaxtype.keyword> reuseIdentifier<\/decl.name>: ReuseIdentifier<\/ref.class><Content<\/ref.generic_type_param>><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 46,
             "key.name" : "reuseIdentifier",
             "key.namelength" : 15,
-            "key.nameoffset" : 935,
-            "key.offset" : 931,
+            "key.nameoffset" : 937,
+            "key.offset" : 933,
             "key.parsed_declaration" : "internal let reuseIdentifier : ReuseIdentifier",
             "key.parsed_scope.end" : 37,
             "key.parsed_scope.start" : 37,
@@ -30377,17 +29911,17 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 987
+                "key.offset" : 989
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/Item.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> debuggingIdentifier<\/decl.name>: String<\/ref.struct>?<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 39,
             "key.name" : "debuggingIdentifier",
             "key.namelength" : 19,
-            "key.nameoffset" : 998,
-            "key.offset" : 994,
+            "key.nameoffset" : 1000,
+            "key.offset" : 996,
             "key.parsed_declaration" : "public var debuggingIdentifier : String? = nil",
             "key.parsed_scope.end" : 39,
             "key.parsed_scope.start" : 39,
@@ -30402,7 +29936,7 @@
             "key.name" : "MARK: Initialization",
             "key.namelength" : 0,
             "key.nameoffset" : 0,
-            "key.offset" : 1053
+            "key.offset" : 1055
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
@@ -30411,17 +29945,17 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 1090
+                "key.offset" : 1092
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/Item.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> typealias<\/syntaxtype.keyword> Item<\/ref.struct><Content>.Build<\/decl.name> = (inout<\/syntaxtype.keyword> Item<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.typealias>",
             "key.kind" : "source.lang.swift.decl.typealias",
             "key.length" : 36,
             "key.name" : "Build",
             "key.namelength" : 5,
-            "key.nameoffset" : 1107,
-            "key.offset" : 1097,
+            "key.nameoffset" : 1109,
+            "key.offset" : 1099,
             "key.parsed_declaration" : "public typealias Build = (inout Item) -> ()",
             "key.parsed_scope.end" : 45,
             "key.parsed_scope.start" : 45,
@@ -30436,25 +29970,25 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 1143
+                "key.offset" : 1145
               }
             ],
             "key.bodylength" : 62,
-            "key.bodyoffset" : 1214,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item.swift",
+            "key.bodyoffset" : 1216,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/Item.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(_<\/decl.var.parameter.argument_label> content<\/decl.var.parameter.name>: Content<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, build<\/decl.var.parameter.argument_label>: Build<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 127,
             "key.name" : "init(_:build:)",
             "key.namelength" : 62,
-            "key.nameoffset" : 1150,
-            "key.offset" : 1150,
+            "key.nameoffset" : 1152,
+            "key.offset" : 1152,
             "key.parsed_declaration" : "public init(\n    _ content : Content,\n    build : Build\n)",
             "key.parsed_scope.end" : 54,
             "key.parsed_scope.start" : 47,
             "key.related_decls" : [
               {
-                "key.annotated_decl" : "init(_:sizing:layout:selectionStyle:insertAndRemoveAnimations:swipeActions:reordering:onDisplay:onEndDisplay:onSelect:onDeselect:onInsert:onRemove:onMove:onUpdate:)<\/RelatedName>"
+                "key.annotated_decl" : "init(_:sizing:layouts:selectionStyle:insertAndRemoveAnimations:swipeActions:reordering:onDisplay:onEndDisplay:onSelect:onDeselect:onInsert:onRemove:onMove:onUpdate:)<\/RelatedName>"
               }
             ],
             "key.substructure" : [
@@ -30466,25 +30000,25 @@
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public init(_ content: Content<\/Type>, sizing: Sizing<\/Type>? = nil, layout: ItemLayout<\/Type>? = nil, selectionStyle: ItemSelectionStyle<\/Type>? = nil, insertAndRemoveAnimations: ItemInsertAndRemoveAnimations<\/Type>? = nil, swipeActions: SwipeActionsConfiguration<\/Type>? = nil, reordering: Reordering<\/Type>? = nil, onDisplay: OnDisplay<\/Type>.Callback<\/Type>? = nil, onEndDisplay: OnEndDisplay<\/Type>.Callback<\/Type>? = nil, onSelect: OnSelect<\/Type>.Callback<\/Type>? = nil, onDeselect: OnDeselect<\/Type>.Callback<\/Type>? = nil, onInsert: OnInsert<\/Type>.Callback<\/Type>? = nil, onRemove: OnRemove<\/Type>.Callback<\/Type>? = nil, onMove: OnMove<\/Type>.Callback<\/Type>? = nil, onUpdate: OnUpdate<\/Type>.Callback<\/Type>? = nil)<\/Declaration>",
+            "key.annotated_decl" : "public init(_ content: Content<\/Type>, sizing: Sizing<\/Type>? = nil, layouts: ItemLayouts<\/Type>? = nil, selectionStyle: ItemSelectionStyle<\/Type>? = nil, insertAndRemoveAnimations: ItemInsertAndRemoveAnimations<\/Type>? = nil, swipeActions: SwipeActionsConfiguration<\/Type>? = nil, reordering: Reordering<\/Type>? = nil, onDisplay: OnDisplay<\/Type>.Callback<\/Type>? = nil, onEndDisplay: OnEndDisplay<\/Type>.Callback<\/Type>? = nil, onSelect: OnSelect<\/Type>.Callback<\/Type>? = nil, onDeselect: OnDeselect<\/Type>.Callback<\/Type>? = nil, onInsert: OnInsert<\/Type>.Callback<\/Type>? = nil, onRemove: OnRemove<\/Type>.Callback<\/Type>? = nil, onMove: OnMove<\/Type>.Callback<\/Type>? = nil, onUpdate: OnUpdate<\/Type>.Callback<\/Type>? = nil)<\/Declaration>",
             "key.attributes" : [
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 1287
+                "key.offset" : 1289
               }
             ],
-            "key.bodylength" : 2045,
-            "key.bodyoffset" : 1996,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(_<\/decl.var.parameter.argument_label> content<\/decl.var.parameter.name>: Content<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, sizing<\/decl.var.parameter.argument_label>: Sizing<\/ref.enum>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, layout<\/decl.var.parameter.argument_label>: ItemLayout<\/ref.struct>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, selectionStyle<\/decl.var.parameter.argument_label>: ItemSelectionStyle<\/ref.enum>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, insertAndRemoveAnimations<\/decl.var.parameter.argument_label>: ItemInsertAndRemoveAnimations<\/ref.struct>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, swipeActions<\/decl.var.parameter.argument_label>: SwipeActionsConfiguration<\/ref.struct>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, reordering<\/decl.var.parameter.argument_label>: Reordering<\/ref.struct>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, onDisplay<\/decl.var.parameter.argument_label>: OnDisplay<\/ref.struct>.Callback<\/ref.typealias>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, onEndDisplay<\/decl.var.parameter.argument_label>: OnEndDisplay<\/ref.struct>.Callback<\/ref.typealias>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, onSelect<\/decl.var.parameter.argument_label>: OnSelect<\/ref.struct>.Callback<\/ref.typealias>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, onDeselect<\/decl.var.parameter.argument_label>: OnDeselect<\/ref.struct>.Callback<\/ref.typealias>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, onInsert<\/decl.var.parameter.argument_label>: OnInsert<\/ref.struct>.Callback<\/ref.typealias>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, onRemove<\/decl.var.parameter.argument_label>: OnRemove<\/ref.struct>.Callback<\/ref.typealias>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, onMove<\/decl.var.parameter.argument_label>: OnMove<\/ref.struct>.Callback<\/ref.typealias>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, onUpdate<\/decl.var.parameter.argument_label>: OnUpdate<\/ref.struct>.Callback<\/ref.typealias>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>)<\/decl.function.constructor>",
+            "key.bodylength" : 2055,
+            "key.bodyoffset" : 2000,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/Item.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(_<\/decl.var.parameter.argument_label> content<\/decl.var.parameter.name>: Content<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, sizing<\/decl.var.parameter.argument_label>: Sizing<\/ref.enum>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, layouts<\/decl.var.parameter.argument_label>: ItemLayouts<\/ref.struct>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, selectionStyle<\/decl.var.parameter.argument_label>: ItemSelectionStyle<\/ref.enum>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, insertAndRemoveAnimations<\/decl.var.parameter.argument_label>: ItemInsertAndRemoveAnimations<\/ref.struct>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, swipeActions<\/decl.var.parameter.argument_label>: SwipeActionsConfiguration<\/ref.struct>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, reordering<\/decl.var.parameter.argument_label>: Reordering<\/ref.struct>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, onDisplay<\/decl.var.parameter.argument_label>: OnDisplay<\/ref.struct>.Callback<\/ref.typealias>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, onEndDisplay<\/decl.var.parameter.argument_label>: OnEndDisplay<\/ref.struct>.Callback<\/ref.typealias>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, onSelect<\/decl.var.parameter.argument_label>: OnSelect<\/ref.struct>.Callback<\/ref.typealias>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, onDeselect<\/decl.var.parameter.argument_label>: OnDeselect<\/ref.struct>.Callback<\/ref.typealias>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, onInsert<\/decl.var.parameter.argument_label>: OnInsert<\/ref.struct>.Callback<\/ref.typealias>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, onRemove<\/decl.var.parameter.argument_label>: OnRemove<\/ref.struct>.Callback<\/ref.typealias>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, onMove<\/decl.var.parameter.argument_label>: OnMove<\/ref.struct>.Callback<\/ref.typealias>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, onUpdate<\/decl.var.parameter.argument_label>: OnUpdate<\/ref.struct>.Callback<\/ref.typealias>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 2748,
-            "key.name" : "init(_:sizing:layout:selectionStyle:insertAndRemoveAnimations:swipeActions:reordering:onDisplay:onEndDisplay:onSelect:onDeselect:onInsert:onRemove:onMove:onUpdate:)",
-            "key.namelength" : 700,
-            "key.nameoffset" : 1294,
-            "key.offset" : 1294,
-            "key.parsed_declaration" : "public init(\n    _ content : Content,\n    sizing : Sizing? = nil,\n    layout : ItemLayout? = nil,\n    selectionStyle : ItemSelectionStyle? = nil,\n    insertAndRemoveAnimations : ItemInsertAndRemoveAnimations? = nil,\n    swipeActions : SwipeActionsConfiguration? = nil,\n    reordering : Reordering? = nil,\n    onDisplay : OnDisplay.Callback? = nil,\n    onEndDisplay : OnEndDisplay.Callback? = nil,\n    onSelect : OnSelect.Callback? = nil,\n    onDeselect : OnDeselect.Callback? = nil,\n    onInsert : OnInsert.Callback? = nil,\n    onRemove : OnRemove.Callback? = nil,\n    onMove : OnMove.Callback? = nil,\n    onUpdate : OnUpdate.Callback? = nil\n)",
+            "key.length" : 2760,
+            "key.name" : "init(_:sizing:layouts:selectionStyle:insertAndRemoveAnimations:swipeActions:reordering:onDisplay:onEndDisplay:onSelect:onDeselect:onInsert:onRemove:onMove:onUpdate:)",
+            "key.namelength" : 702,
+            "key.nameoffset" : 1296,
+            "key.offset" : 1296,
+            "key.parsed_declaration" : "public init(\n    _ content : Content,\n    sizing : Sizing? = nil,\n    layouts : ItemLayouts? = nil,\n    selectionStyle : ItemSelectionStyle? = nil,\n    insertAndRemoveAnimations : ItemInsertAndRemoveAnimations? = nil,\n    swipeActions : SwipeActionsConfiguration? = nil,\n    reordering : Reordering? = nil,\n    onDisplay : OnDisplay.Callback? = nil,\n    onEndDisplay : OnEndDisplay.Callback? = nil,\n    onSelect : OnSelect.Callback? = nil,\n    onDeselect : OnDeselect.Callback? = nil,\n    onInsert : OnInsert.Callback? = nil,\n    onRemove : OnRemove.Callback? = nil,\n    onMove : OnMove.Callback? = nil,\n    onUpdate : OnUpdate.Callback? = nil\n)",
             "key.parsed_scope.end" : 131,
             "key.parsed_scope.start" : 56,
             "key.related_decls" : [
@@ -30495,9 +30029,9 @@
             "key.substructure" : [
 
             ],
-            "key.typename" : " (Item.Type) -> (Content, Sizing?, ItemLayout?, ItemSelectionStyle?, ItemInsertAndRemoveAnimations?, SwipeActionsConfiguration?, Reordering?, ((Item.OnDisplay) -> ())?, ((Item.OnEndDisplay) -> ())?, ((Item.OnSelect) -> ())?, ((Item.OnDeselect) -> ())?, ((Item.OnInsert) -> ())?, ((Item.OnRemove) -> ())?, ((Item.OnMove) -> ())?, ((Item.OnUpdate) -> ())?) -> Item",
-            "key.typeusr" : "$s_6sizing6layout14selectionStyle25insertAndRemoveAnimations12swipeActions10reordering9onDisplay0l3EndM00L6Select0L8Deselect0L6Insert0lG00L4Move0L6Update10ListableUI4ItemVyxGx_AO6SizingOSgAO0V6LayoutVSgAO0v9SelectionD0OSgAO0vqfgH0VSgAO05SwipeJ13ConfigurationVSgAO10ReorderingVSgyAQ02OnM0Vyx_GcSgyAQ02OnnM0Vyx_GcSgyAQ02OnO0Vyx_GcSgyAQ02OnP0Vyx_GcSgyAQ02OnQ0Vyx_GcSgyAQ02OnG0Vyx_GcSgyAQ02OnR0Vyx_GcSgyAQ02OnS0Vyx_GcSgtcD",
-            "key.usr" : "s:10ListableUI4ItemV_6sizing6layout14selectionStyle25insertAndRemoveAnimations12swipeActions10reordering9onDisplay0o3EndP00O6Select0O8Deselect0O6Insert0oJ00O4Move0O6UpdateACyxGx_AA6SizingOSgAA0C6LayoutVSgAA0c9SelectionG0OSgAA0ctijK0VSgAA05SwipeM13ConfigurationVSgAA10ReorderingVSgyAC02OnP0Vyx_GcSgyAC02OnqP0Vyx_GcSgyAC02OnR0Vyx_GcSgyAC02OnS0Vyx_GcSgyAC02OnT0Vyx_GcSgyAC02OnJ0Vyx_GcSgyAC02OnU0Vyx_GcSgyAC02OnV0Vyx_GcSgtcfc"
+            "key.typename" : " (Item.Type) -> (Content, Sizing?, ItemLayouts?, ItemSelectionStyle?, ItemInsertAndRemoveAnimations?, SwipeActionsConfiguration?, Reordering?, ((Item.OnDisplay) -> ())?, ((Item.OnEndDisplay) -> ())?, ((Item.OnSelect) -> ())?, ((Item.OnDeselect) -> ())?, ((Item.OnInsert) -> ())?, ((Item.OnRemove) -> ())?, ((Item.OnMove) -> ())?, ((Item.OnUpdate) -> ())?) -> Item",
+            "key.typeusr" : "$s_6sizing7layouts14selectionStyle25insertAndRemoveAnimations12swipeActions10reordering9onDisplay0l3EndM00L6Select0L8Deselect0L6Insert0lG00L4Move0L6Update10ListableUI4ItemVyxGx_AO6SizingOSgAO0V7LayoutsVSgAO0v9SelectionD0OSgAO0vqfgH0VSgAO05SwipeJ13ConfigurationVSgAO10ReorderingVSgyAQ02OnM0Vyx_GcSgyAQ02OnnM0Vyx_GcSgyAQ02OnO0Vyx_GcSgyAQ02OnP0Vyx_GcSgyAQ02OnQ0Vyx_GcSgyAQ02OnG0Vyx_GcSgyAQ02OnR0Vyx_GcSgyAQ02OnS0Vyx_GcSgtcD",
+            "key.usr" : "s:10ListableUI4ItemV_6sizing7layouts14selectionStyle25insertAndRemoveAnimations12swipeActions10reordering9onDisplay0o3EndP00O6Select0O8Deselect0O6Insert0oJ00O4Move0O6UpdateACyxGx_AA6SizingOSgAA0C7LayoutsVSgAA0c9SelectionG0OSgAA0ctijK0VSgAA05SwipeM13ConfigurationVSgAA10ReorderingVSgyAC02OnP0Vyx_GcSgyAC02OnqP0Vyx_GcSgyAC02OnR0Vyx_GcSgyAC02OnS0Vyx_GcSgyAC02OnT0Vyx_GcSgyAC02OnJ0Vyx_GcSgyAC02OnU0Vyx_GcSgyAC02OnV0Vyx_GcSgtcfc"
           },
           {
             "key.kind" : "source.lang.swift.syntaxtype.comment.mark",
@@ -30505,7 +30039,7 @@
             "key.name" : "MARK: AnyItem",
             "key.namelength" : 0,
             "key.nameoffset" : 0,
-            "key.offset" : 4055
+            "key.offset" : 4069
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
@@ -30514,19 +30048,19 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 4078
+                "key.offset" : 4092
               }
             ],
             "key.bodylength" : 26,
-            "key.bodyoffset" : 4106,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item.swift",
+            "key.bodyoffset" : 4120,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/Item.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> anyContent<\/decl.name>: Any<\/syntaxtype.keyword><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 48,
             "key.name" : "anyContent",
             "key.namelength" : 10,
-            "key.nameoffset" : 4089,
-            "key.offset" : 4085,
+            "key.nameoffset" : 4103,
+            "key.offset" : 4099,
             "key.overrides" : [
               {
                 "key.usr" : "s:10ListableUI7AnyItemP10anyContentypvp"
@@ -30545,7 +30079,7 @@
             "key.name" : "MARK: AnyItem_Internal",
             "key.namelength" : 0,
             "key.nameoffset" : 0,
-            "key.offset" : 4146
+            "key.offset" : 4160
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
@@ -30554,19 +30088,19 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 4178
+                "key.offset" : 4192
               }
             ],
             "key.bodylength" : 166,
-            "key.bodyoffset" : 4239,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item.swift",
+            "key.bodyoffset" : 4253,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/Item.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> anyIsEquivalent<\/decl.name>(to<\/decl.var.parameter.argument_label> other<\/decl.var.parameter.name>: AnyItem<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 221,
             "key.name" : "anyIsEquivalent(to:)",
             "key.namelength" : 35,
-            "key.nameoffset" : 4190,
-            "key.offset" : 4185,
+            "key.nameoffset" : 4204,
+            "key.offset" : 4199,
             "key.overrides" : [
               {
                 "key.usr" : "s:10ListableUI16AnyItem_InternalP15anyIsEquivalent2toSbAA0cD0_p_tF"
@@ -30589,19 +30123,19 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 4416
+                "key.offset" : 4430
               }
             ],
             "key.bodylength" : 169,
-            "key.bodyoffset" : 4481,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item.swift",
+            "key.bodyoffset" : 4495,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/Item.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> anyWasMoved<\/decl.name>(comparedTo<\/decl.var.parameter.argument_label> other<\/decl.var.parameter.name>: AnyItem<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 228,
             "key.name" : "anyWasMoved(comparedTo:)",
             "key.namelength" : 39,
-            "key.nameoffset" : 4428,
-            "key.offset" : 4423,
+            "key.nameoffset" : 4442,
+            "key.offset" : 4437,
             "key.overrides" : [
               {
                 "key.usr" : "s:10ListableUI16AnyItem_InternalP11anyWasMoved10comparedToSbAA0cD0_p_tF"
@@ -30624,19 +30158,19 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 4661
+                "key.offset" : 4675
               }
             ],
             "key.bodylength" : 226,
-            "key.bodyoffset" : 4851,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item.swift",
+            "key.bodyoffset" : 4865,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/Item.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> newPresentationItemState<\/decl.name>(with<\/decl.var.parameter.argument_label> dependencies<\/decl.var.parameter.name>: ItemStateDependencies<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, updateCallbacks<\/decl.var.parameter.argument_label>: UpdateCallbacks<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, performsContentCallbacks<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> Any<\/syntaxtype.keyword><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 410,
             "key.name" : "newPresentationItemState(with:updateCallbacks:performsContentCallbacks:)",
             "key.namelength" : 165,
-            "key.nameoffset" : 4673,
-            "key.offset" : 4668,
+            "key.nameoffset" : 4687,
+            "key.offset" : 4682,
             "key.overrides" : [
               {
                 "key.usr" : "s:10ListableUI16AnyItem_InternalP015newPresentationD5State4with15updateCallbacks015performsContentK0ypAA0dH12DependenciesV_AA06UpdateK0CSbtF"
@@ -30660,15 +30194,15 @@
       {
         "key.annotated_decl" : "public struct Item<Content> : AnyItem<\/Type> where Content : ItemContent<\/Type><\/Declaration>",
         "key.bodylength" : 206,
-        "key.bodyoffset" : 5118,
+        "key.bodyoffset" : 5132,
         "key.elements" : [
           {
             "key.kind" : "source.lang.swift.structure.elem.typeref",
             "key.length" : 16,
-            "key.offset" : 5100
+            "key.offset" : 5114
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/Item.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> Item<\/decl.name><Content<\/decl.generic_type_param.name><\/decl.generic_type_param>> : AnyItem<\/ref.protocol> where<\/syntaxtype.keyword> Content : ItemContent<\/ref.protocol><\/decl.generic_type_requirement><\/decl.struct>",
         "key.inheritedtypes" : [
           {
@@ -30679,8 +30213,8 @@
         "key.length" : 242,
         "key.name" : "Item",
         "key.namelength" : 4,
-        "key.nameoffset" : 5093,
-        "key.offset" : 5083,
+        "key.nameoffset" : 5107,
+        "key.offset" : 5097,
         "key.parsed_declaration" : "extension Item : SignpostLoggable",
         "key.parsed_scope.end" : 183,
         "key.parsed_scope.start" : 175,
@@ -30688,15 +30222,15 @@
           {
             "key.annotated_decl" : "var signpostInfo: SignpostLoggingInfo<\/Type> { get }<\/Declaration>",
             "key.bodylength" : 159,
-            "key.bodyoffset" : 5163,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item.swift",
+            "key.bodyoffset" : 5177,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/Item.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> signpostInfo<\/decl.name>: SignpostLoggingInfo<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 200,
             "key.name" : "signpostInfo",
             "key.namelength" : 12,
-            "key.nameoffset" : 5127,
-            "key.offset" : 5123,
+            "key.nameoffset" : 5141,
+            "key.offset" : 5137,
             "key.overrides" : [
               {
                 "key.usr" : "s:10ListableUI16SignpostLoggableP12signpostInfoAA0c7LoggingF0Vvp"
@@ -30717,315 +30251,1080 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemCallbacks.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
-    "key.length" : 11442,
+    "key.length" : 1568,
     "key.offset" : 0,
     "key.substructure" : [
       {
         "key.accessibility" : "source.lang.swift.accessibility.public",
-        "key.annotated_decl" : "public protocol ItemContent<\/Declaration>",
+        "key.annotated_decl" : "public struct Item<Content> : AnyItem where Content : ItemContent<\/Type><\/Declaration>",
         "key.attributes" : [
           {
             "key.attribute" : "source.decl.attribute.public",
             "key.length" : 6,
-            "key.offset" : 1291
-          }
-        ],
-        "key.bodylength" : 6190,
-        "key.bodyoffset" : 1362,
-        "key.doc.column" : 17,
-        "key.doc.comment" : "\nAn `ItemContent` is a type used to provide the content of an `Item`\nin a listable section.\n\nA `ItemContent` that displays text might look like this:\n```\nstruct MyItemContent : ItemContent, Equatable\n{\n    var text : String\n\n    var identifier: Identifier {\n        return .init(self.text)\n    }\n\n    static func createReusableContentView(frame : CGRect) -> MyContentView {\n        MyContentView(frame: frame)\n    }\n\n    func apply(to views : ItemContentViews, for reason: ApplyReason, with info : ApplyItemContentInfo) {\n        views.content.text = self.text\n    }\n}\n```\nIf you want to add support for rendering a background view and a selected or highlighted state, you should provide\nboth `createReusableBackgroundView` and `createReusableSelectedBackgroundView` methods,\nand apply the desired content in your `apply(to:)` method.\n\nThe ordering of the elements by z-index is as follows:\nz-index 3) `ContentView`\nz-index 2) `SelectedBackgroundView` (Only if the item supports a `selectionStyle` and is selected or highlighted.)\nz-index 1) `BackgroundView`",
-        "key.doc.declaration" : "public protocol ItemContent",
-        "key.doc.discussion" : [
-          {
-            "Para" : "A `ItemContent` that displays text might look like this:"
-          },
-          {
-            "CodeListing" : ""
-          },
-          {
-            "Para" : "If you want to add support for rendering a background view and a selected or highlighted state, you should provide both `createReusableBackgroundView` and `createReusableSelectedBackgroundView` methods, and apply the desired content in your `apply(to:)` method."
-          },
-          {
-            "Para" : "The ordering of the elements by z-index is as follows: z-index 3) `ContentView` z-index 2) `SelectedBackgroundView` (Only if the item supports a `selectionStyle` and is selected or highlighted.) z-index 1) `BackgroundView`"
+            "key.offset" : 113
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-        "key.doc.full_as_xml" : "ItemContent<\/Name>s:10ListableUI11ItemContentP<\/USR>public protocol ItemContent<\/Declaration>An ItemContent<\/codeVoice> is a type used to provide the content of an Item<\/codeVoice> in a listable section.<\/Para><\/Abstract>A ItemContent<\/codeVoice> that displays text might look like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> MyContentView {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered>, for reason: ApplyReason, with info : ApplyItemContentInfo) {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>If you want to add support for rendering a background view and a selected or highlighted state, you should provide both createReusableBackgroundView<\/codeVoice> and createReusableSelectedBackgroundView<\/codeVoice> methods, and apply the desired content in your apply(to:)<\/codeVoice> method.<\/Para>The ordering of the elements by z-index is as follows: z-index 3) ContentView<\/codeVoice> z-index 2) SelectedBackgroundView<\/codeVoice> (Only if the item supports a selectionStyle<\/codeVoice> and is selected or highlighted.) z-index 1) BackgroundView<\/codeVoice><\/Para><\/Discussion><\/CommentParts><\/Class>",
-        "key.doc.line" : 40,
-        "key.doc.name" : "ItemContent",
-        "key.doc.type" : "Class",
-        "key.doclength" : 1202,
-        "key.docoffset" : 89,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> ItemContent<\/decl.name><\/decl.protocol>",
-        "key.kind" : "source.lang.swift.decl.protocol",
-        "key.length" : 6255,
-        "key.name" : "ItemContent",
-        "key.namelength" : 11,
-        "key.nameoffset" : 1307,
-        "key.offset" : 1298,
-        "key.parsed_declaration" : "public protocol ItemContent where Coordinator.ItemContentType == Self",
-        "key.parsed_scope.end" : 196,
-        "key.parsed_scope.start" : 40,
+        "key.bodylength" : 1430,
+        "key.bodyoffset" : 136,
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/Item.swift",
+        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> Item<\/decl.name><Content<\/decl.generic_type_param.name><\/decl.generic_type_param>> : AnyItem where<\/syntaxtype.keyword> Content : ItemContent<\/ref.protocol><\/decl.generic_type_requirement><\/decl.struct>",
+        "key.kind" : "source.lang.swift.decl.extension",
+        "key.length" : 1447,
+        "key.name" : "Item",
+        "key.namelength" : 4,
+        "key.nameoffset" : 130,
+        "key.offset" : 120,
+        "key.parsed_declaration" : "public extension Item",
+        "key.parsed_scope.end" : 78,
+        "key.parsed_scope.start" : 11,
         "key.substructure" : [
-          {
-            "key.kind" : "source.lang.swift.syntaxtype.comment.mark",
-            "key.length" : 20,
-            "key.name" : "MARK: Identification",
-            "key.namelength" : 0,
-            "key.nameoffset" : 0,
-            "key.offset" : 1377
-          },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "var identifier: Identifier<\/Type><Self<\/Type>> { get }<\/Declaration>",
-            "key.bodylength" : 5,
-            "key.bodyoffset" : 2084,
-            "key.doc.column" : 9,
-            "key.doc.comment" : "Identifies the content across updates to the list. This value must remain the same,\notherwise the content will be considered a new item, and the old one removed from the list.\n\nDoes not have to be globally unique – the list will make a \"best guess\" if there are multiple items\nwith the same identifier. However, diffing of changes will be more correct with a unique identifier.\n\nIf you're backing your content with some sort of client or server-provided data, consider using its\nserver or client UUID here, or some other unique identifier from the underlying data model.",
-            "key.doc.declaration" : "var identifier: Identifier { get }",
-            "key.doc.discussion" : [
+            "key.annotated_decl" : "struct OnDisplay<\/Declaration>",
+            "key.bodylength" : 141,
+            "key.bodyoffset" : 224,
+            "key.doc.column" : 12,
+            "key.doc.comment" : "Value passed to the `onDisplay` callback for `Item`.",
+            "key.doc.declaration" : "struct OnDisplay",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemCallbacks.swift",
+            "key.doc.full_as_xml" : "OnDisplay<\/Name>s:10ListableUI4ItemV9OnDisplayV<\/USR>struct OnDisplay<\/Declaration>Value passed to the onDisplay<\/codeVoice> callback for Item<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Class>",
+            "key.doc.line" : 14,
+            "key.doc.name" : "OnDisplay",
+            "key.doc.type" : "Class",
+            "key.doclength" : 57,
+            "key.docoffset" : 141,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemCallbacks.swift",
+            "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> OnDisplay<\/decl.name><\/decl.struct>",
+            "key.kind" : "source.lang.swift.decl.struct",
+            "key.length" : 164,
+            "key.name" : "OnDisplay",
+            "key.namelength" : 9,
+            "key.nameoffset" : 209,
+            "key.offset" : 202,
+            "key.parsed_declaration" : "struct OnDisplay",
+            "key.parsed_scope.end" : 21,
+            "key.parsed_scope.start" : 14,
+            "key.substructure" : [
               {
-                "Para" : "Does not have to be globally unique – the list will make a “best guess” if there are multiple items with the same identifier. However, diffing of changes will be more correct with a unique identifier."
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public typealias Item<\/Type><Content>.OnDisplay<\/Type>.Callback = (OnDisplay<\/Type>) -> ()<\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 233
+                  }
+                ],
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemCallbacks.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> typealias<\/syntaxtype.keyword> Item<\/ref.struct><Content>.OnDisplay<\/ref.struct>.Callback<\/decl.name> = (OnDisplay<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.typealias>",
+                "key.kind" : "source.lang.swift.decl.typealias",
+                "key.length" : 38,
+                "key.name" : "Callback",
+                "key.namelength" : 8,
+                "key.nameoffset" : 250,
+                "key.offset" : 240,
+                "key.parsed_declaration" : "public typealias Callback = (OnDisplay) -> ()",
+                "key.parsed_scope.end" : 16,
+                "key.parsed_scope.start" : 16,
+                "key.typename" : "((Item.OnDisplay) -> ()).Type",
+                "key.typeusr" : "$sy10ListableUI4ItemV9OnDisplayVyx_GcmD",
+                "key.usr" : "s:10ListableUI4ItemV9OnDisplayV8Callbacka"
               },
               {
-                "Para" : "If you’re backing your content with some sort of client or server-provided data, consider using its server or client UUID here, or some other unique identifier from the underlying data model."
-              }
-            ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-            "key.doc.full_as_xml" : "identifier<\/Name>s:10ListableUI11ItemContentP10identifierAA10IdentifierCyxGvp<\/USR>var identifier: Identifier<Self> { get }<\/Declaration>Identifies the content across updates to the list. This value must remain the same, otherwise the content will be considered a new item, and the old one removed from the list.<\/Para><\/Abstract>Does not have to be globally unique – the list will make a “best guess” if there are multiple items with the same identifier. However, diffing of changes will be more correct with a unique identifier.<\/Para>If you’re backing your content with some sort of client or server-provided data, consider using its server or client UUID here, or some other unique identifier from the underlying data model.<\/Para><\/Discussion><\/CommentParts><\/Other>",
-            "key.doc.line" : 54,
-            "key.doc.name" : "identifier",
-            "key.doc.type" : "Other",
-            "key.doclength" : 631,
-            "key.docoffset" : 1414,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> identifier<\/decl.name>: Identifier<\/ref.class><Self<\/ref.generic_type_param>><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 41,
-            "key.name" : "identifier",
-            "key.namelength" : 10,
-            "key.nameoffset" : 2053,
-            "key.offset" : 2049,
-            "key.parsed_declaration" : "var identifier : Identifier",
-            "key.parsed_scope.end" : 54,
-            "key.parsed_scope.start" : 54,
-            "key.related_decls" : [
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public var item: Item<\/Type><\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 288
+                  }
+                ],
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemCallbacks.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> item<\/decl.name>: Item<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 15,
+                "key.name" : "item",
+                "key.namelength" : 4,
+                "key.nameoffset" : 299,
+                "key.offset" : 295,
+                "key.parsed_declaration" : "public var item : Item",
+                "key.parsed_scope.end" : 18,
+                "key.parsed_scope.start" : 18,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+                "key.typename" : "Item",
+                "key.typeusr" : "$s10ListableUI4ItemVyxGD",
+                "key.usr" : "s:10ListableUI4ItemV9OnDisplayV4itemACyxGvp"
+              },
               {
-                "key.annotated_decl" : "identifier<\/RelatedName>"
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public var isFirstDisplay: Bool<\/Type><\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 328
+                  }
+                ],
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemCallbacks.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> isFirstDisplay<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 25,
+                "key.name" : "isFirstDisplay",
+                "key.namelength" : 14,
+                "key.nameoffset" : 339,
+                "key.offset" : 335,
+                "key.parsed_declaration" : "public var isFirstDisplay : Bool",
+                "key.parsed_scope.end" : 20,
+                "key.parsed_scope.start" : 20,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+                "key.typename" : "Bool",
+                "key.typeusr" : "$sSbD",
+                "key.usr" : "s:10ListableUI4ItemV9OnDisplayV07isFirstE0Sbvp"
               }
             ],
-            "key.typename" : "Identifier",
-            "key.typeusr" : "$s10ListableUI10IdentifierCyxGD",
-            "key.usr" : "s:10ListableUI11ItemContentP10identifierAA10IdentifierCyxGvp"
-          },
-          {
-            "key.kind" : "source.lang.swift.syntaxtype.comment.mark",
-            "key.length" : 29,
-            "key.name" : "MARK: Default Item Properties",
-            "key.namelength" : 0,
-            "key.nameoffset" : 0,
-            "key.offset" : 2110
+            "key.typename" : "Item.OnDisplay.Type",
+            "key.typeusr" : "$s10ListableUI4ItemV9OnDisplayVyx_GmD",
+            "key.usr" : "s:10ListableUI4ItemV9OnDisplayV"
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "var defaultItemProperties: DefaultItemProperties<\/Type><Self<\/Type>> { get }<\/Declaration>",
-            "key.bodylength" : 5,
-            "key.bodyoffset" : 2380,
-            "key.doc.column" : 9,
-            "key.doc.comment" : "Default values to assign to various properties on the `Item` which wraps\nthis `ItemContent`, if those values are not passed to the `Item` initializer.",
-            "key.doc.declaration" : "var defaultItemProperties: DefaultItemProperties { get }",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-            "key.doc.full_as_xml" : "defaultItemProperties<\/Name>s:10ListableUI11ItemContentP07defaultC10PropertiesAA07DefaultcF0VyxGvp<\/USR>var defaultItemProperties: DefaultItemProperties<Self> { get }<\/Declaration>Default values to assign to various properties on the Item<\/codeVoice> which wraps this ItemContent<\/codeVoice>, if those values are not passed to the Item<\/codeVoice> initializer.<\/Para><\/Abstract><\/CommentParts><\/Other>",
-            "key.doc.line" : 62,
-            "key.doc.name" : "defaultItemProperties",
-            "key.doc.type" : "Other",
-            "key.doclength" : 163,
-            "key.docoffset" : 2156,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> defaultItemProperties<\/decl.name>: DefaultItemProperties<\/ref.struct><Self<\/ref.generic_type_param>><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 63,
-            "key.name" : "defaultItemProperties",
-            "key.namelength" : 21,
-            "key.nameoffset" : 2327,
-            "key.offset" : 2323,
-            "key.parsed_declaration" : "var defaultItemProperties : DefaultItemProperties",
-            "key.parsed_scope.end" : 62,
-            "key.parsed_scope.start" : 62,
-            "key.related_decls" : [
+            "key.annotated_decl" : "struct OnEndDisplay<\/Declaration>",
+            "key.bodylength" : 147,
+            "key.bodyoffset" : 465,
+            "key.doc.column" : 12,
+            "key.doc.comment" : "Value passed to the `onEndDisplay` callback for `Item`.",
+            "key.doc.declaration" : "struct OnEndDisplay",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemCallbacks.swift",
+            "key.doc.full_as_xml" : "OnEndDisplay<\/Name>s:10ListableUI4ItemV12OnEndDisplayV<\/USR>struct OnEndDisplay<\/Declaration>Value passed to the onEndDisplay<\/codeVoice> callback for Item<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Class>",
+            "key.doc.line" : 24,
+            "key.doc.name" : "OnEndDisplay",
+            "key.doc.type" : "Class",
+            "key.doclength" : 60,
+            "key.docoffset" : 376,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemCallbacks.swift",
+            "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> OnEndDisplay<\/decl.name><\/decl.struct>",
+            "key.kind" : "source.lang.swift.decl.struct",
+            "key.length" : 173,
+            "key.name" : "OnEndDisplay",
+            "key.namelength" : 12,
+            "key.nameoffset" : 447,
+            "key.offset" : 440,
+            "key.parsed_declaration" : "struct OnEndDisplay",
+            "key.parsed_scope.end" : 31,
+            "key.parsed_scope.start" : 24,
+            "key.substructure" : [
               {
-                "key.annotated_decl" : "defaultItemProperties<\/RelatedName>"
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public typealias Item<\/Type><Content>.OnEndDisplay<\/Type>.Callback = (OnEndDisplay<\/Type>) -> ()<\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 474
+                  }
+                ],
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemCallbacks.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> typealias<\/syntaxtype.keyword> Item<\/ref.struct><Content>.OnEndDisplay<\/ref.struct>.Callback<\/decl.name> = (OnEndDisplay<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.typealias>",
+                "key.kind" : "source.lang.swift.decl.typealias",
+                "key.length" : 41,
+                "key.name" : "Callback",
+                "key.namelength" : 8,
+                "key.nameoffset" : 491,
+                "key.offset" : 481,
+                "key.parsed_declaration" : "public typealias Callback = (OnEndDisplay) -> ()",
+                "key.parsed_scope.end" : 26,
+                "key.parsed_scope.start" : 26,
+                "key.typename" : "((Item.OnEndDisplay) -> ()).Type",
+                "key.typeusr" : "$sy10ListableUI4ItemV12OnEndDisplayVyx_GcmD",
+                "key.usr" : "s:10ListableUI4ItemV12OnEndDisplayV8Callbacka"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public var item: Item<\/Type><\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 532
+                  }
+                ],
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemCallbacks.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> item<\/decl.name>: Item<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 15,
+                "key.name" : "item",
+                "key.namelength" : 4,
+                "key.nameoffset" : 543,
+                "key.offset" : 539,
+                "key.parsed_declaration" : "public var item : Item",
+                "key.parsed_scope.end" : 28,
+                "key.parsed_scope.start" : 28,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+                "key.typename" : "Item",
+                "key.typeusr" : "$s10ListableUI4ItemVyxGD",
+                "key.usr" : "s:10ListableUI4ItemV12OnEndDisplayV4itemACyxGvp"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public var isFirstEndDisplay: Bool<\/Type><\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 572
+                  }
+                ],
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemCallbacks.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> isFirstEndDisplay<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 28,
+                "key.name" : "isFirstEndDisplay",
+                "key.namelength" : 17,
+                "key.nameoffset" : 583,
+                "key.offset" : 579,
+                "key.parsed_declaration" : "public var isFirstEndDisplay : Bool",
+                "key.parsed_scope.end" : 30,
+                "key.parsed_scope.start" : 30,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+                "key.typename" : "Bool",
+                "key.typeusr" : "$sSbD",
+                "key.usr" : "s:10ListableUI4ItemV12OnEndDisplayV07isFirsteF0Sbvp"
               }
             ],
-            "key.typename" : "DefaultItemProperties",
-            "key.typeusr" : "$s10ListableUI21DefaultItemPropertiesVyxGD",
-            "key.usr" : "s:10ListableUI11ItemContentP07defaultC10PropertiesAA07DefaultcF0VyxGvp"
-          },
-          {
-            "key.kind" : "source.lang.swift.syntaxtype.comment.mark",
-            "key.length" : 32,
-            "key.name" : "MARK: Applying To Displayed View",
-            "key.namelength" : 0,
-            "key.nameoffset" : 0,
-            "key.offset" : 2406
+            "key.typename" : "Item.OnEndDisplay.Type",
+            "key.typeusr" : "$s10ListableUI4ItemV12OnEndDisplayVyx_GmD",
+            "key.usr" : "s:10ListableUI4ItemV12OnEndDisplayV"
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "func apply(to views: ItemContentViews<\/Type><Self<\/Type>>, for reason: ApplyReason<\/Type>, with info: ApplyItemContentInfo<\/Type>)<\/Declaration>",
-            "key.doc.column" : 10,
-            "key.doc.comment" : "Called when rendering the content. This is where you should push data from your\ncontent into the passed in views.\n\nDo not retain a reference to the passed in views – they are reused by the list.",
-            "key.doc.declaration" : "func apply(to views: ItemContentViews, for reason: ApplyReason, with info: ApplyItemContentInfo)",
-            "key.doc.discussion" : [
+            "key.annotated_decl" : "struct OnSelect<\/Declaration>",
+            "key.bodylength" : 98,
+            "key.bodyoffset" : 704,
+            "key.doc.column" : 12,
+            "key.doc.comment" : "Value passed to the `onSelect` callback for `Item`.",
+            "key.doc.declaration" : "struct OnSelect",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemCallbacks.swift",
+            "key.doc.full_as_xml" : "OnSelect<\/Name>s:10ListableUI4ItemV8OnSelectV<\/USR>struct OnSelect<\/Declaration>Value passed to the onSelect<\/codeVoice> callback for Item<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Class>",
+            "key.doc.line" : 34,
+            "key.doc.name" : "OnSelect",
+            "key.doc.type" : "Class",
+            "key.doclength" : 56,
+            "key.docoffset" : 623,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemCallbacks.swift",
+            "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> OnSelect<\/decl.name><\/decl.struct>",
+            "key.kind" : "source.lang.swift.decl.struct",
+            "key.length" : 120,
+            "key.name" : "OnSelect",
+            "key.namelength" : 8,
+            "key.nameoffset" : 690,
+            "key.offset" : 683,
+            "key.parsed_declaration" : "struct OnSelect",
+            "key.parsed_scope.end" : 39,
+            "key.parsed_scope.start" : 34,
+            "key.substructure" : [
               {
-                "Para" : "Do not retain a reference to the passed in views – they are reused by the list."
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public typealias Item<\/Type><Content>.OnSelect<\/Type>.Callback = (OnSelect<\/Type>) -> ()<\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 713
+                  }
+                ],
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemCallbacks.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> typealias<\/syntaxtype.keyword> Item<\/ref.struct><Content>.OnSelect<\/ref.struct>.Callback<\/decl.name> = (OnSelect<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.typealias>",
+                "key.kind" : "source.lang.swift.decl.typealias",
+                "key.length" : 37,
+                "key.name" : "Callback",
+                "key.namelength" : 8,
+                "key.nameoffset" : 730,
+                "key.offset" : 720,
+                "key.parsed_declaration" : "public typealias Callback = (OnSelect) -> ()",
+                "key.parsed_scope.end" : 36,
+                "key.parsed_scope.start" : 36,
+                "key.typename" : "((Item.OnSelect) -> ()).Type",
+                "key.typeusr" : "$sy10ListableUI4ItemV8OnSelectVyx_GcmD",
+                "key.usr" : "s:10ListableUI4ItemV8OnSelectV8Callbacka"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public var item: Item<\/Type><\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 775
+                  }
+                ],
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemCallbacks.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> item<\/decl.name>: Item<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 15,
+                "key.name" : "item",
+                "key.namelength" : 4,
+                "key.nameoffset" : 786,
+                "key.offset" : 782,
+                "key.parsed_declaration" : "public var item : Item",
+                "key.parsed_scope.end" : 38,
+                "key.parsed_scope.start" : 38,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+                "key.typename" : "Item",
+                "key.typeusr" : "$s10ListableUI4ItemVyxGD",
+                "key.usr" : "s:10ListableUI4ItemV8OnSelectV4itemACyxGvp"
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-            "key.doc.full_as_xml" : "apply(to:for:with:)<\/Name>s:10ListableUI11ItemContentP5apply2to3for4withyAA0cD5ViewsVyxG_AA11ApplyReasonOAA0jcD4InfoVtF<\/USR>func apply(to views: ItemContentViews<Self>, for reason: ApplyReason, with info: ApplyItemContentInfo)<\/Declaration>Called when rendering the content. This is where you should push data from your content into the passed in views.<\/Para><\/Abstract>Do not retain a reference to the passed in views – they are reused by the list.<\/Para><\/Discussion><\/CommentParts><\/Function>",
-            "key.doc.line" : 74,
-            "key.doc.name" : "apply(to:for:with:)",
-            "key.doc.type" : "Function",
-            "key.doclength" : 228,
-            "key.docoffset" : 2459,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> apply<\/decl.name>(to<\/decl.var.parameter.argument_label> views<\/decl.var.parameter.name>: ItemContentViews<\/ref.struct><Self<\/ref.generic_type_param>><\/decl.var.parameter.type><\/decl.var.parameter>, for<\/decl.var.parameter.argument_label> reason<\/decl.var.parameter.name>: ApplyReason<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>, with<\/decl.var.parameter.argument_label> info<\/decl.var.parameter.name>: ApplyItemContentInfo<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
-            "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 134,
-            "key.name" : "apply(to:for:with:)",
-            "key.namelength" : 129,
-            "key.nameoffset" : 2697,
-            "key.offset" : 2692,
-            "key.parsed_declaration" : "func apply(\n    to views : ItemContentViews,\n    for reason: ApplyReason,\n    with info : ApplyItemContentInfo\n)",
-            "key.parsed_scope.end" : 74,
-            "key.parsed_scope.start" : 74,
-            "key.substructure" : [
-
-            ],
-            "key.typename" : " (Self) -> (ItemContentViews, ApplyReason, ApplyItemContentInfo) -> ()",
-            "key.typeusr" : "$s2to3for4withy10ListableUI16ItemContentViewsVyxG_AD11ApplyReasonOAD0ifG4InfoVtcD",
-            "key.usr" : "s:10ListableUI11ItemContentP5apply2to3for4withyAA0cD5ViewsVyxG_AA11ApplyReasonOAA0jcD4InfoVtF"
-          },
-          {
-            "key.kind" : "source.lang.swift.syntaxtype.comment.mark",
-            "key.length" : 22,
-            "key.name" : "MARK: Tracking Changes",
-            "key.namelength" : 0,
-            "key.nameoffset" : 0,
-            "key.offset" : 2846
+            "key.typename" : "Item.OnSelect.Type",
+            "key.typeusr" : "$s10ListableUI4ItemV8OnSelectVyx_GmD",
+            "key.usr" : "s:10ListableUI4ItemV8OnSelectV"
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "func wasMoved(comparedTo other: Self<\/Type>) -> Bool<\/Type><\/Declaration>",
-            "key.doc.column" : 10,
-            "key.doc.comment" : "Return true if the content's sort changed based on the old value passed into the function.\n\nThe list view uses the value of this method to be more intelligent about what has moved within the list.\n\nNote\n----\nThere is a default implementation of this method which simply calls `isEquivalent`.",
-            "key.doc.declaration" : "func wasMoved(comparedTo other: Self) -> Bool",
-            "key.doc.discussion" : [
+            "key.annotated_decl" : "struct OnDeselect<\/Declaration>",
+            "key.bodylength" : 92,
+            "key.bodyoffset" : 898,
+            "key.doc.column" : 12,
+            "key.doc.comment" : "Value passed to the `onDeselect` callback for `Item`.",
+            "key.doc.declaration" : "struct OnDeselect",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemCallbacks.swift",
+            "key.doc.full_as_xml" : "OnDeselect<\/Name>s:10ListableUI4ItemV10OnDeselectV<\/USR>struct OnDeselect<\/Declaration>Value passed to the onDeselect<\/codeVoice> callback for Item<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Class>",
+            "key.doc.line" : 42,
+            "key.doc.name" : "OnDeselect",
+            "key.doc.type" : "Class",
+            "key.doclength" : 58,
+            "key.docoffset" : 813,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemCallbacks.swift",
+            "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> OnDeselect<\/decl.name><\/decl.struct>",
+            "key.kind" : "source.lang.swift.decl.struct",
+            "key.length" : 116,
+            "key.name" : "OnDeselect",
+            "key.namelength" : 10,
+            "key.nameoffset" : 882,
+            "key.offset" : 875,
+            "key.parsed_declaration" : "struct OnDeselect",
+            "key.parsed_scope.end" : 47,
+            "key.parsed_scope.start" : 42,
+            "key.substructure" : [
               {
-                "Para" : "The list view uses the value of this method to be more intelligent about what has moved within the list."
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public typealias Item<\/Type><Content>.OnDeselect<\/Type>.Callback = (OnDeselect<\/Type>) -> ()<\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 907
+                  }
+                ],
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemCallbacks.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> typealias<\/syntaxtype.keyword> Item<\/ref.struct><Content>.OnDeselect<\/ref.struct>.Callback<\/decl.name> = (OnDeselect<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.typealias>",
+                "key.kind" : "source.lang.swift.decl.typealias",
+                "key.length" : 39,
+                "key.name" : "Callback",
+                "key.namelength" : 8,
+                "key.nameoffset" : 924,
+                "key.offset" : 914,
+                "key.parsed_declaration" : "public typealias Callback = (OnDeselect) -> ()",
+                "key.parsed_scope.end" : 44,
+                "key.parsed_scope.start" : 44,
+                "key.typename" : "((Item.OnDeselect) -> ()).Type",
+                "key.typeusr" : "$sy10ListableUI4ItemV10OnDeselectVyx_GcmD",
+                "key.usr" : "s:10ListableUI4ItemV10OnDeselectV8Callbacka"
               },
               {
-                "Para" : "There is a default implementation of this method which simply calls `isEquivalent`."
-              }
-            ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-            "key.doc.full_as_xml" : "wasMoved(comparedTo:)<\/Name>s:10ListableUI11ItemContentP8wasMoved10comparedToSbx_tF<\/USR>func wasMoved(comparedTo other: Self) -> Bool<\/Declaration>Return true if the content’s sort changed based on the old value passed into the function.<\/Para><\/Abstract>The list view uses the value of this method to be more intelligent about what has moved within the list.<\/Para>]]><\/rawHTML>Note]]><\/rawHTML>There is a default implementation of this method which simply calls isEquivalent<\/codeVoice>.<\/Para><\/Discussion><\/CommentParts><\/Function>",
-            "key.doc.line" : 93,
-            "key.doc.name" : "wasMoved(comparedTo:)",
-            "key.doc.type" : "Function",
-            "key.doclength" : 338,
-            "key.docoffset" : 2885,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> wasMoved<\/decl.name>(comparedTo<\/decl.var.parameter.argument_label> other<\/decl.var.parameter.name>: Self<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
-            "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 46,
-            "key.name" : "wasMoved(comparedTo:)",
-            "key.namelength" : 33,
-            "key.nameoffset" : 3233,
-            "key.offset" : 3228,
-            "key.parsed_declaration" : "func wasMoved(comparedTo other : Self) -> Bool",
-            "key.parsed_scope.end" : 93,
-            "key.parsed_scope.start" : 93,
-            "key.related_decls" : [
-              {
-                "key.annotated_decl" : "wasMoved(comparedTo: Self) -> Bool<\/RelatedName>"
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public var item: Item<\/Type><\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 963
+                  }
+                ],
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemCallbacks.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> item<\/decl.name>: Item<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 15,
+                "key.name" : "item",
+                "key.namelength" : 4,
+                "key.nameoffset" : 974,
+                "key.offset" : 970,
+                "key.parsed_declaration" : "public var item : Item",
+                "key.parsed_scope.end" : 46,
+                "key.parsed_scope.start" : 46,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+                "key.typename" : "Item",
+                "key.typeusr" : "$s10ListableUI4ItemVyxGD",
+                "key.usr" : "s:10ListableUI4ItemV10OnDeselectV4itemACyxGvp"
               }
             ],
-            "key.substructure" : [
-
-            ],
-            "key.typename" : " (Self) -> (Self) -> Bool",
-            "key.typeusr" : "$s10comparedToSbx_tcD",
-            "key.usr" : "s:10ListableUI11ItemContentP8wasMoved10comparedToSbx_tF"
+            "key.typename" : "Item.OnDeselect.Type",
+            "key.typeusr" : "$s10ListableUI4ItemV10OnDeselectVyx_GmD",
+            "key.usr" : "s:10ListableUI4ItemV10OnDeselectV"
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "func isEquivalent(to other: Self<\/Type>) -> Bool<\/Type><\/Declaration>",
-            "key.doc.column" : 10,
-            "key.doc.comment" : "Return false if the content' changed based on the old value passed into the function.\n\nIf this method returns false, the row representing the content is reloaded.\n\nNote\n----\nThere is a default implementation of this method when `ItemContent ` conforms to `Equatable`\nwhich returns `self == other`.",
-            "key.doc.declaration" : "func isEquivalent(to other: Self) -> Bool",
-            "key.doc.discussion" : [
+            "key.annotated_decl" : "struct OnInsert<\/Declaration>",
+            "key.bodylength" : 98,
+            "key.bodyoffset" : 1022,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemCallbacks.swift",
+            "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> OnInsert<\/decl.name><\/decl.struct>",
+            "key.kind" : "source.lang.swift.decl.struct",
+            "key.length" : 120,
+            "key.name" : "OnInsert",
+            "key.namelength" : 8,
+            "key.nameoffset" : 1008,
+            "key.offset" : 1001,
+            "key.parsed_declaration" : "struct OnInsert",
+            "key.parsed_scope.end" : 54,
+            "key.parsed_scope.start" : 49,
+            "key.substructure" : [
               {
-                "Para" : "If this method returns false, the row representing the content is reloaded."
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public typealias Item<\/Type><Content>.OnInsert<\/Type>.Callback = (OnInsert<\/Type>) -> ()<\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 1031
+                  }
+                ],
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemCallbacks.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> typealias<\/syntaxtype.keyword> Item<\/ref.struct><Content>.OnInsert<\/ref.struct>.Callback<\/decl.name> = (OnInsert<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.typealias>",
+                "key.kind" : "source.lang.swift.decl.typealias",
+                "key.length" : 37,
+                "key.name" : "Callback",
+                "key.namelength" : 8,
+                "key.nameoffset" : 1048,
+                "key.offset" : 1038,
+                "key.parsed_declaration" : "public typealias Callback = (OnInsert) -> ()",
+                "key.parsed_scope.end" : 51,
+                "key.parsed_scope.start" : 51,
+                "key.typename" : "((Item.OnInsert) -> ()).Type",
+                "key.typeusr" : "$sy10ListableUI4ItemV8OnInsertVyx_GcmD",
+                "key.usr" : "s:10ListableUI4ItemV8OnInsertV8Callbacka"
               },
               {
-                "Para" : "There is a default implementation of this method when `ItemContent ` conforms to `Equatable` which returns `self == other`."
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public var item: Item<\/Type><\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 1093
+                  }
+                ],
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemCallbacks.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> item<\/decl.name>: Item<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 15,
+                "key.name" : "item",
+                "key.namelength" : 4,
+                "key.nameoffset" : 1104,
+                "key.offset" : 1100,
+                "key.parsed_declaration" : "public var item : Item",
+                "key.parsed_scope.end" : 53,
+                "key.parsed_scope.start" : 53,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+                "key.typename" : "Item",
+                "key.typeusr" : "$s10ListableUI4ItemVyxGD",
+                "key.usr" : "s:10ListableUI4ItemV8OnInsertV4itemACyxGvp"
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-            "key.doc.full_as_xml" : "isEquivalent(to:)<\/Name>s:10ListableUI11ItemContentP12isEquivalent2toSbx_tF<\/USR>func isEquivalent(to other: Self) -> Bool<\/Declaration>Return false if the content’ changed based on the old value passed into the function.<\/Para><\/Abstract>If this method returns false, the row representing the content is reloaded.<\/Para>]]><\/rawHTML>Note]]><\/rawHTML>There is a default implementation of this method when ItemContent <\/codeVoice> conforms to Equatable<\/codeVoice> which returns self == other<\/codeVoice>.<\/Para><\/Discussion><\/CommentParts><\/Function>",
-            "key.doc.line" : 105,
-            "key.doc.name" : "isEquivalent(to:)",
-            "key.doc.type" : "Function",
-            "key.doclength" : 349,
-            "key.docoffset" : 3284,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> isEquivalent<\/decl.name>(to<\/decl.var.parameter.argument_label> other<\/decl.var.parameter.name>: Self<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
-            "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 42,
-            "key.name" : "isEquivalent(to:)",
-            "key.namelength" : 29,
-            "key.nameoffset" : 3643,
-            "key.offset" : 3638,
-            "key.parsed_declaration" : "func isEquivalent(to other : Self) -> Bool",
-            "key.parsed_scope.end" : 105,
-            "key.parsed_scope.start" : 105,
-            "key.related_decls" : [
+            "key.typename" : "Item.OnInsert.Type",
+            "key.typeusr" : "$s10ListableUI4ItemV8OnInsertVyx_GmD",
+            "key.usr" : "s:10ListableUI4ItemV8OnInsertV"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "struct OnRemove<\/Declaration>",
+            "key.bodylength" : 98,
+            "key.bodyoffset" : 1152,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemCallbacks.swift",
+            "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> OnRemove<\/decl.name><\/decl.struct>",
+            "key.kind" : "source.lang.swift.decl.struct",
+            "key.length" : 120,
+            "key.name" : "OnRemove",
+            "key.namelength" : 8,
+            "key.nameoffset" : 1138,
+            "key.offset" : 1131,
+            "key.parsed_declaration" : "struct OnRemove",
+            "key.parsed_scope.end" : 61,
+            "key.parsed_scope.start" : 56,
+            "key.substructure" : [
               {
-                "key.annotated_decl" : "isEquivalent(to: Self) -> Bool<\/RelatedName>"
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public typealias Item<\/Type><Content>.OnRemove<\/Type>.Callback = (OnRemove<\/Type>) -> ()<\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 1161
+                  }
+                ],
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemCallbacks.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> typealias<\/syntaxtype.keyword> Item<\/ref.struct><Content>.OnRemove<\/ref.struct>.Callback<\/decl.name> = (OnRemove<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.typealias>",
+                "key.kind" : "source.lang.swift.decl.typealias",
+                "key.length" : 37,
+                "key.name" : "Callback",
+                "key.namelength" : 8,
+                "key.nameoffset" : 1178,
+                "key.offset" : 1168,
+                "key.parsed_declaration" : "public typealias Callback = (OnRemove) -> ()",
+                "key.parsed_scope.end" : 58,
+                "key.parsed_scope.start" : 58,
+                "key.typename" : "((Item.OnRemove) -> ()).Type",
+                "key.typeusr" : "$sy10ListableUI4ItemV8OnRemoveVyx_GcmD",
+                "key.usr" : "s:10ListableUI4ItemV8OnRemoveV8Callbacka"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public var item: Item<\/Type><\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 1223
+                  }
+                ],
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemCallbacks.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> item<\/decl.name>: Item<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 15,
+                "key.name" : "item",
+                "key.namelength" : 4,
+                "key.nameoffset" : 1234,
+                "key.offset" : 1230,
+                "key.parsed_declaration" : "public var item : Item",
+                "key.parsed_scope.end" : 60,
+                "key.parsed_scope.start" : 60,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+                "key.typename" : "Item",
+                "key.typeusr" : "$s10ListableUI4ItemVyxGD",
+                "key.usr" : "s:10ListableUI4ItemV8OnRemoveV4itemACyxGvp"
               }
             ],
-            "key.substructure" : [
-
-            ],
-            "key.typename" : " (Self) -> (Self) -> Bool",
-            "key.typeusr" : "$s2toSbx_tcD",
-            "key.usr" : "s:10ListableUI11ItemContentP12isEquivalent2toSbx_tF"
-          },
-          {
-            "key.kind" : "source.lang.swift.syntaxtype.comment.mark",
-            "key.length" : 45,
-            "key.name" : "MARK: Creating & Providing Swipe Action Views",
-            "key.namelength" : 0,
-            "key.nameoffset" : 0,
-            "key.offset" : 3700
+            "key.typename" : "Item.OnRemove.Type",
+            "key.typeusr" : "$s10ListableUI4ItemV8OnRemoveVyx_GmD",
+            "key.usr" : "s:10ListableUI4ItemV8OnRemoveV"
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "associatedtype SwipeActionsView : ItemContentSwipeActionsView<\/Type> = DefaultSwipeActionsView<\/Type><\/Declaration>",
-            "key.doc.column" : 20,
-            "key.doc.comment" : "The view type to use to render swipe actions (delete, etc) for this content.\nA default implementation, which matches `UITableView`, is provided.",
-            "key.doc.declaration" : "associatedtype SwipeActionsView : ListableUI.ItemContentSwipeActionsView = ListableUI.DefaultSwipeActionsView",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-            "key.doc.full_as_xml" : "SwipeActionsView<\/Name>s:10ListableUI11ItemContentP16SwipeActionsViewQa<\/USR>associatedtype SwipeActionsView : ListableUI.ItemContentSwipeActionsView = ListableUI.DefaultSwipeActionsView<\/Declaration>The view type to use to render swipe actions (delete, etc) for this content. A default implementation, which matches UITableView<\/codeVoice>, is provided.<\/Para><\/Abstract><\/CommentParts><\/Other>",
-            "key.doc.line" : 113,
-            "key.doc.name" : "SwipeActionsView",
-            "key.doc.type" : "Other",
+            "key.annotated_decl" : "struct OnMove<\/Declaration>",
+            "key.bodylength" : 125,
+            "key.bodyoffset" : 1280,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemCallbacks.swift",
+            "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> OnMove<\/decl.name><\/decl.struct>",
+            "key.kind" : "source.lang.swift.decl.struct",
+            "key.length" : 145,
+            "key.name" : "OnMove",
+            "key.namelength" : 6,
+            "key.nameoffset" : 1268,
+            "key.offset" : 1261,
+            "key.parsed_declaration" : "struct OnMove",
+            "key.parsed_scope.end" : 69,
+            "key.parsed_scope.start" : 63,
+            "key.substructure" : [
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public typealias Item<\/Type><Content>.OnMove<\/Type>.Callback = (OnMove<\/Type>) -> ()<\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 1289
+                  }
+                ],
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemCallbacks.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> typealias<\/syntaxtype.keyword> Item<\/ref.struct><Content>.OnMove<\/ref.struct>.Callback<\/decl.name> = (OnMove<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.typealias>",
+                "key.kind" : "source.lang.swift.decl.typealias",
+                "key.length" : 35,
+                "key.name" : "Callback",
+                "key.namelength" : 8,
+                "key.nameoffset" : 1306,
+                "key.offset" : 1296,
+                "key.parsed_declaration" : "public typealias Callback = (OnMove) -> ()",
+                "key.parsed_scope.end" : 65,
+                "key.parsed_scope.start" : 65,
+                "key.typename" : "((Item.OnMove) -> ()).Type",
+                "key.typeusr" : "$sy10ListableUI4ItemV6OnMoveVyx_GcmD",
+                "key.usr" : "s:10ListableUI4ItemV6OnMoveV8Callbacka"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public var old: Item<\/Type><\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 1349
+                  }
+                ],
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemCallbacks.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> old<\/decl.name>: Item<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 14,
+                "key.name" : "old",
+                "key.namelength" : 3,
+                "key.nameoffset" : 1360,
+                "key.offset" : 1356,
+                "key.parsed_declaration" : "public var old : Item",
+                "key.parsed_scope.end" : 67,
+                "key.parsed_scope.start" : 67,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+                "key.typename" : "Item",
+                "key.typeusr" : "$s10ListableUI4ItemVyxGD",
+                "key.usr" : "s:10ListableUI4ItemV6OnMoveV3oldACyxGvp"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public var new: Item<\/Type><\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 1379
+                  }
+                ],
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemCallbacks.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> new<\/decl.name>: Item<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 14,
+                "key.name" : "new",
+                "key.namelength" : 3,
+                "key.nameoffset" : 1390,
+                "key.offset" : 1386,
+                "key.parsed_declaration" : "public var new : Item",
+                "key.parsed_scope.end" : 68,
+                "key.parsed_scope.start" : 68,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+                "key.typename" : "Item",
+                "key.typeusr" : "$s10ListableUI4ItemVyxGD",
+                "key.usr" : "s:10ListableUI4ItemV6OnMoveV3newACyxGvp"
+              }
+            ],
+            "key.typename" : "Item.OnMove.Type",
+            "key.typeusr" : "$s10ListableUI4ItemV6OnMoveVyx_GmD",
+            "key.usr" : "s:10ListableUI4ItemV6OnMoveV"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "struct OnUpdate<\/Declaration>",
+            "key.bodylength" : 127,
+            "key.bodyoffset" : 1437,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemCallbacks.swift",
+            "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> OnUpdate<\/decl.name><\/decl.struct>",
+            "key.kind" : "source.lang.swift.decl.struct",
+            "key.length" : 149,
+            "key.name" : "OnUpdate",
+            "key.namelength" : 8,
+            "key.nameoffset" : 1423,
+            "key.offset" : 1416,
+            "key.parsed_declaration" : "struct OnUpdate",
+            "key.parsed_scope.end" : 77,
+            "key.parsed_scope.start" : 71,
+            "key.substructure" : [
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public typealias Item<\/Type><Content>.OnUpdate<\/Type>.Callback = (OnUpdate<\/Type>) -> ()<\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 1446
+                  }
+                ],
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemCallbacks.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> typealias<\/syntaxtype.keyword> Item<\/ref.struct><Content>.OnUpdate<\/ref.struct>.Callback<\/decl.name> = (OnUpdate<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.typealias>",
+                "key.kind" : "source.lang.swift.decl.typealias",
+                "key.length" : 37,
+                "key.name" : "Callback",
+                "key.namelength" : 8,
+                "key.nameoffset" : 1463,
+                "key.offset" : 1453,
+                "key.parsed_declaration" : "public typealias Callback = (OnUpdate) -> ()",
+                "key.parsed_scope.end" : 73,
+                "key.parsed_scope.start" : 73,
+                "key.typename" : "((Item.OnUpdate) -> ()).Type",
+                "key.typeusr" : "$sy10ListableUI4ItemV8OnUpdateVyx_GcmD",
+                "key.usr" : "s:10ListableUI4ItemV8OnUpdateV8Callbacka"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public var old: Item<\/Type><\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 1508
+                  }
+                ],
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemCallbacks.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> old<\/decl.name>: Item<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 14,
+                "key.name" : "old",
+                "key.namelength" : 3,
+                "key.nameoffset" : 1519,
+                "key.offset" : 1515,
+                "key.parsed_declaration" : "public var old : Item",
+                "key.parsed_scope.end" : 75,
+                "key.parsed_scope.start" : 75,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+                "key.typename" : "Item",
+                "key.typeusr" : "$s10ListableUI4ItemVyxGD",
+                "key.usr" : "s:10ListableUI4ItemV8OnUpdateV3oldACyxGvp"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public var new: Item<\/Type><\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 1538
+                  }
+                ],
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemCallbacks.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> new<\/decl.name>: Item<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 14,
+                "key.name" : "new",
+                "key.namelength" : 3,
+                "key.nameoffset" : 1549,
+                "key.offset" : 1545,
+                "key.parsed_declaration" : "public var new : Item",
+                "key.parsed_scope.end" : 76,
+                "key.parsed_scope.start" : 76,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+                "key.typename" : "Item",
+                "key.typeusr" : "$s10ListableUI4ItemVyxGD",
+                "key.usr" : "s:10ListableUI4ItemV8OnUpdateV3newACyxGvp"
+              }
+            ],
+            "key.typename" : "Item.OnUpdate.Type",
+            "key.typeusr" : "$s10ListableUI4ItemV8OnUpdateVyx_GmD",
+            "key.usr" : "s:10ListableUI4ItemV8OnUpdateV"
+          }
+        ],
+        "key.typename" : "Item.Type",
+        "key.typeusr" : "$s10ListableUI4ItemVyxGmD",
+        "key.usr" : "s:10ListableUI4ItemV"
+      }
+    ]
+  }
+}, {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift" : {
+    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
+    "key.length" : 11442,
+    "key.offset" : 0,
+    "key.substructure" : [
+      {
+        "key.accessibility" : "source.lang.swift.accessibility.public",
+        "key.annotated_decl" : "public protocol ItemContent<\/Declaration>",
+        "key.attributes" : [
+          {
+            "key.attribute" : "source.decl.attribute.public",
+            "key.length" : 6,
+            "key.offset" : 1291
+          }
+        ],
+        "key.bodylength" : 6190,
+        "key.bodyoffset" : 1362,
+        "key.doc.column" : 17,
+        "key.doc.comment" : "\nAn `ItemContent` is a type used to provide the content of an `Item`\nin a listable section.\n\nA `ItemContent` that displays text might look like this:\n```\nstruct MyItemContent : ItemContent, Equatable\n{\n    var text : String\n\n    var identifier: Identifier {\n        return .init(self.text)\n    }\n\n    static func createReusableContentView(frame : CGRect) -> MyContentView {\n        MyContentView(frame: frame)\n    }\n\n    func apply(to views : ItemContentViews, for reason: ApplyReason, with info : ApplyItemContentInfo) {\n        views.content.text = self.text\n    }\n}\n```\nIf you want to add support for rendering a background view and a selected or highlighted state, you should provide\nboth `createReusableBackgroundView` and `createReusableSelectedBackgroundView` methods,\nand apply the desired content in your `apply(to:)` method.\n\nThe ordering of the elements by z-index is as follows:\nz-index 3) `ContentView`\nz-index 2) `SelectedBackgroundView` (Only if the item supports a `selectionStyle` and is selected or highlighted.)\nz-index 1) `BackgroundView`",
+        "key.doc.declaration" : "public protocol ItemContent",
+        "key.doc.discussion" : [
+          {
+            "Para" : "A `ItemContent` that displays text might look like this:"
+          },
+          {
+            "CodeListing" : ""
+          },
+          {
+            "Para" : "If you want to add support for rendering a background view and a selected or highlighted state, you should provide both `createReusableBackgroundView` and `createReusableSelectedBackgroundView` methods, and apply the desired content in your `apply(to:)` method."
+          },
+          {
+            "Para" : "The ordering of the elements by z-index is as follows: z-index 3) `ContentView` z-index 2) `SelectedBackgroundView` (Only if the item supports a `selectionStyle` and is selected or highlighted.) z-index 1) `BackgroundView`"
+          }
+        ],
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+        "key.doc.full_as_xml" : "ItemContent<\/Name>s:10ListableUI11ItemContentP<\/USR>public protocol ItemContent<\/Declaration>An ItemContent<\/codeVoice> is a type used to provide the content of an Item<\/codeVoice> in a listable section.<\/Para><\/Abstract>A ItemContent<\/codeVoice> that displays text might look like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> MyContentView {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered>, for reason: ApplyReason, with info : ApplyItemContentInfo) {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>If you want to add support for rendering a background view and a selected or highlighted state, you should provide both createReusableBackgroundView<\/codeVoice> and createReusableSelectedBackgroundView<\/codeVoice> methods, and apply the desired content in your apply(to:)<\/codeVoice> method.<\/Para>The ordering of the elements by z-index is as follows: z-index 3) ContentView<\/codeVoice> z-index 2) SelectedBackgroundView<\/codeVoice> (Only if the item supports a selectionStyle<\/codeVoice> and is selected or highlighted.) z-index 1) BackgroundView<\/codeVoice><\/Para><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.line" : 40,
+        "key.doc.name" : "ItemContent",
+        "key.doc.type" : "Class",
+        "key.doclength" : 1202,
+        "key.docoffset" : 89,
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> ItemContent<\/decl.name><\/decl.protocol>",
+        "key.kind" : "source.lang.swift.decl.protocol",
+        "key.length" : 6255,
+        "key.name" : "ItemContent",
+        "key.namelength" : 11,
+        "key.nameoffset" : 1307,
+        "key.offset" : 1298,
+        "key.parsed_declaration" : "public protocol ItemContent where Coordinator.ItemContentType == Self",
+        "key.parsed_scope.end" : 196,
+        "key.parsed_scope.start" : 40,
+        "key.substructure" : [
+          {
+            "key.kind" : "source.lang.swift.syntaxtype.comment.mark",
+            "key.length" : 20,
+            "key.name" : "MARK: Identification",
+            "key.namelength" : 0,
+            "key.nameoffset" : 0,
+            "key.offset" : 1377
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "var identifier: Identifier<\/Type><Self<\/Type>> { get }<\/Declaration>",
+            "key.bodylength" : 5,
+            "key.bodyoffset" : 2084,
+            "key.doc.column" : 9,
+            "key.doc.comment" : "Identifies the content across updates to the list. This value must remain the same,\notherwise the content will be considered a new item, and the old one removed from the list.\n\nDoes not have to be globally unique – the list will make a \"best guess\" if there are multiple items\nwith the same identifier. However, diffing of changes will be more correct with a unique identifier.\n\nIf you're backing your content with some sort of client or server-provided data, consider using its\nserver or client UUID here, or some other unique identifier from the underlying data model.",
+            "key.doc.declaration" : "var identifier: Identifier { get }",
+            "key.doc.discussion" : [
+              {
+                "Para" : "Does not have to be globally unique – the list will make a “best guess” if there are multiple items with the same identifier. However, diffing of changes will be more correct with a unique identifier."
+              },
+              {
+                "Para" : "If you’re backing your content with some sort of client or server-provided data, consider using its server or client UUID here, or some other unique identifier from the underlying data model."
+              }
+            ],
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.doc.full_as_xml" : "identifier<\/Name>s:10ListableUI11ItemContentP10identifierAA10IdentifierCyxGvp<\/USR>var identifier: Identifier<Self> { get }<\/Declaration>Identifies the content across updates to the list. This value must remain the same, otherwise the content will be considered a new item, and the old one removed from the list.<\/Para><\/Abstract>Does not have to be globally unique – the list will make a “best guess” if there are multiple items with the same identifier. However, diffing of changes will be more correct with a unique identifier.<\/Para>If you’re backing your content with some sort of client or server-provided data, consider using its server or client UUID here, or some other unique identifier from the underlying data model.<\/Para><\/Discussion><\/CommentParts><\/Other>",
+            "key.doc.line" : 54,
+            "key.doc.name" : "identifier",
+            "key.doc.type" : "Other",
+            "key.doclength" : 631,
+            "key.docoffset" : 1414,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> identifier<\/decl.name>: Identifier<\/ref.class><Self<\/ref.generic_type_param>><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 41,
+            "key.name" : "identifier",
+            "key.namelength" : 10,
+            "key.nameoffset" : 2053,
+            "key.offset" : 2049,
+            "key.parsed_declaration" : "var identifier : Identifier",
+            "key.parsed_scope.end" : 54,
+            "key.parsed_scope.start" : 54,
+            "key.related_decls" : [
+              {
+                "key.annotated_decl" : "identifier<\/RelatedName>"
+              }
+            ],
+            "key.typename" : "Identifier",
+            "key.typeusr" : "$s10ListableUI10IdentifierCyxGD",
+            "key.usr" : "s:10ListableUI11ItemContentP10identifierAA10IdentifierCyxGvp"
+          },
+          {
+            "key.kind" : "source.lang.swift.syntaxtype.comment.mark",
+            "key.length" : 29,
+            "key.name" : "MARK: Default Item Properties",
+            "key.namelength" : 0,
+            "key.nameoffset" : 0,
+            "key.offset" : 2110
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "var defaultItemProperties: DefaultItemProperties<\/Type><Self<\/Type>> { get }<\/Declaration>",
+            "key.bodylength" : 5,
+            "key.bodyoffset" : 2380,
+            "key.doc.column" : 9,
+            "key.doc.comment" : "Default values to assign to various properties on the `Item` which wraps\nthis `ItemContent`, if those values are not passed to the `Item` initializer.",
+            "key.doc.declaration" : "var defaultItemProperties: DefaultItemProperties { get }",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.doc.full_as_xml" : "defaultItemProperties<\/Name>s:10ListableUI11ItemContentP07defaultC10PropertiesAA07DefaultcF0VyxGvp<\/USR>var defaultItemProperties: DefaultItemProperties<Self> { get }<\/Declaration>Default values to assign to various properties on the Item<\/codeVoice> which wraps this ItemContent<\/codeVoice>, if those values are not passed to the Item<\/codeVoice> initializer.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.line" : 62,
+            "key.doc.name" : "defaultItemProperties",
+            "key.doc.type" : "Other",
+            "key.doclength" : 163,
+            "key.docoffset" : 2156,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> defaultItemProperties<\/decl.name>: DefaultItemProperties<\/ref.struct><Self<\/ref.generic_type_param>><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 63,
+            "key.name" : "defaultItemProperties",
+            "key.namelength" : 21,
+            "key.nameoffset" : 2327,
+            "key.offset" : 2323,
+            "key.parsed_declaration" : "var defaultItemProperties : DefaultItemProperties",
+            "key.parsed_scope.end" : 62,
+            "key.parsed_scope.start" : 62,
+            "key.related_decls" : [
+              {
+                "key.annotated_decl" : "defaultItemProperties<\/RelatedName>"
+              }
+            ],
+            "key.typename" : "DefaultItemProperties",
+            "key.typeusr" : "$s10ListableUI21DefaultItemPropertiesVyxGD",
+            "key.usr" : "s:10ListableUI11ItemContentP07defaultC10PropertiesAA07DefaultcF0VyxGvp"
+          },
+          {
+            "key.kind" : "source.lang.swift.syntaxtype.comment.mark",
+            "key.length" : 32,
+            "key.name" : "MARK: Applying To Displayed View",
+            "key.namelength" : 0,
+            "key.nameoffset" : 0,
+            "key.offset" : 2406
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "func apply(to views: ItemContentViews<\/Type><Self<\/Type>>, for reason: ApplyReason<\/Type>, with info: ApplyItemContentInfo<\/Type>)<\/Declaration>",
+            "key.doc.column" : 10,
+            "key.doc.comment" : "Called when rendering the content. This is where you should push data from your\ncontent into the passed in views.\n\nDo not retain a reference to the passed in views – they are reused by the list.",
+            "key.doc.declaration" : "func apply(to views: ItemContentViews, for reason: ApplyReason, with info: ApplyItemContentInfo)",
+            "key.doc.discussion" : [
+              {
+                "Para" : "Do not retain a reference to the passed in views – they are reused by the list."
+              }
+            ],
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.doc.full_as_xml" : "apply(to:for:with:)<\/Name>s:10ListableUI11ItemContentP5apply2to3for4withyAA0cD5ViewsVyxG_AA11ApplyReasonOAA0jcD4InfoVtF<\/USR>func apply(to views: ItemContentViews<Self>, for reason: ApplyReason, with info: ApplyItemContentInfo)<\/Declaration>Called when rendering the content. This is where you should push data from your content into the passed in views.<\/Para><\/Abstract>Do not retain a reference to the passed in views – they are reused by the list.<\/Para><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.line" : 74,
+            "key.doc.name" : "apply(to:for:with:)",
+            "key.doc.type" : "Function",
+            "key.doclength" : 228,
+            "key.docoffset" : 2459,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> apply<\/decl.name>(to<\/decl.var.parameter.argument_label> views<\/decl.var.parameter.name>: ItemContentViews<\/ref.struct><Self<\/ref.generic_type_param>><\/decl.var.parameter.type><\/decl.var.parameter>, for<\/decl.var.parameter.argument_label> reason<\/decl.var.parameter.name>: ApplyReason<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>, with<\/decl.var.parameter.argument_label> info<\/decl.var.parameter.name>: ApplyItemContentInfo<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
+            "key.kind" : "source.lang.swift.decl.function.method.instance",
+            "key.length" : 134,
+            "key.name" : "apply(to:for:with:)",
+            "key.namelength" : 129,
+            "key.nameoffset" : 2697,
+            "key.offset" : 2692,
+            "key.parsed_declaration" : "func apply(\n    to views : ItemContentViews,\n    for reason: ApplyReason,\n    with info : ApplyItemContentInfo\n)",
+            "key.parsed_scope.end" : 74,
+            "key.parsed_scope.start" : 74,
+            "key.substructure" : [
+
+            ],
+            "key.typename" : " (Self) -> (ItemContentViews, ApplyReason, ApplyItemContentInfo) -> ()",
+            "key.typeusr" : "$s2to3for4withy10ListableUI16ItemContentViewsVyxG_AD11ApplyReasonOAD0ifG4InfoVtcD",
+            "key.usr" : "s:10ListableUI11ItemContentP5apply2to3for4withyAA0cD5ViewsVyxG_AA11ApplyReasonOAA0jcD4InfoVtF"
+          },
+          {
+            "key.kind" : "source.lang.swift.syntaxtype.comment.mark",
+            "key.length" : 22,
+            "key.name" : "MARK: Tracking Changes",
+            "key.namelength" : 0,
+            "key.nameoffset" : 0,
+            "key.offset" : 2846
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "func wasMoved(comparedTo other: Self<\/Type>) -> Bool<\/Type><\/Declaration>",
+            "key.doc.column" : 10,
+            "key.doc.comment" : "Return true if the content's sort changed based on the old value passed into the function.\n\nThe list view uses the value of this method to be more intelligent about what has moved within the list.\n\nNote\n----\nThere is a default implementation of this method which simply calls `isEquivalent`.",
+            "key.doc.declaration" : "func wasMoved(comparedTo other: Self) -> Bool",
+            "key.doc.discussion" : [
+              {
+                "Para" : "The list view uses the value of this method to be more intelligent about what has moved within the list."
+              },
+              {
+                "Para" : "There is a default implementation of this method which simply calls `isEquivalent`."
+              }
+            ],
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.doc.full_as_xml" : "wasMoved(comparedTo:)<\/Name>s:10ListableUI11ItemContentP8wasMoved10comparedToSbx_tF<\/USR>func wasMoved(comparedTo other: Self) -> Bool<\/Declaration>Return true if the content’s sort changed based on the old value passed into the function.<\/Para><\/Abstract>The list view uses the value of this method to be more intelligent about what has moved within the list.<\/Para>]]><\/rawHTML>Note]]><\/rawHTML>There is a default implementation of this method which simply calls isEquivalent<\/codeVoice>.<\/Para><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.line" : 93,
+            "key.doc.name" : "wasMoved(comparedTo:)",
+            "key.doc.type" : "Function",
+            "key.doclength" : 338,
+            "key.docoffset" : 2885,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> wasMoved<\/decl.name>(comparedTo<\/decl.var.parameter.argument_label> other<\/decl.var.parameter.name>: Self<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
+            "key.kind" : "source.lang.swift.decl.function.method.instance",
+            "key.length" : 46,
+            "key.name" : "wasMoved(comparedTo:)",
+            "key.namelength" : 33,
+            "key.nameoffset" : 3233,
+            "key.offset" : 3228,
+            "key.parsed_declaration" : "func wasMoved(comparedTo other : Self) -> Bool",
+            "key.parsed_scope.end" : 93,
+            "key.parsed_scope.start" : 93,
+            "key.related_decls" : [
+              {
+                "key.annotated_decl" : "wasMoved(comparedTo: Self) -> Bool<\/RelatedName>"
+              }
+            ],
+            "key.substructure" : [
+
+            ],
+            "key.typename" : " (Self) -> (Self) -> Bool",
+            "key.typeusr" : "$s10comparedToSbx_tcD",
+            "key.usr" : "s:10ListableUI11ItemContentP8wasMoved10comparedToSbx_tF"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "func isEquivalent(to other: Self<\/Type>) -> Bool<\/Type><\/Declaration>",
+            "key.doc.column" : 10,
+            "key.doc.comment" : "Return false if the content' changed based on the old value passed into the function.\n\nIf this method returns false, the row representing the content is reloaded.\n\nNote\n----\nThere is a default implementation of this method when `ItemContent ` conforms to `Equatable`\nwhich returns `self == other`.",
+            "key.doc.declaration" : "func isEquivalent(to other: Self) -> Bool",
+            "key.doc.discussion" : [
+              {
+                "Para" : "If this method returns false, the row representing the content is reloaded."
+              },
+              {
+                "Para" : "There is a default implementation of this method when `ItemContent ` conforms to `Equatable` which returns `self == other`."
+              }
+            ],
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.doc.full_as_xml" : "isEquivalent(to:)<\/Name>s:10ListableUI11ItemContentP12isEquivalent2toSbx_tF<\/USR>func isEquivalent(to other: Self) -> Bool<\/Declaration>Return false if the content’ changed based on the old value passed into the function.<\/Para><\/Abstract>If this method returns false, the row representing the content is reloaded.<\/Para>]]><\/rawHTML>Note]]><\/rawHTML>There is a default implementation of this method when ItemContent <\/codeVoice> conforms to Equatable<\/codeVoice> which returns self == other<\/codeVoice>.<\/Para><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.line" : 105,
+            "key.doc.name" : "isEquivalent(to:)",
+            "key.doc.type" : "Function",
+            "key.doclength" : 349,
+            "key.docoffset" : 3284,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> isEquivalent<\/decl.name>(to<\/decl.var.parameter.argument_label> other<\/decl.var.parameter.name>: Self<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
+            "key.kind" : "source.lang.swift.decl.function.method.instance",
+            "key.length" : 42,
+            "key.name" : "isEquivalent(to:)",
+            "key.namelength" : 29,
+            "key.nameoffset" : 3643,
+            "key.offset" : 3638,
+            "key.parsed_declaration" : "func isEquivalent(to other : Self) -> Bool",
+            "key.parsed_scope.end" : 105,
+            "key.parsed_scope.start" : 105,
+            "key.related_decls" : [
+              {
+                "key.annotated_decl" : "isEquivalent(to: Self) -> Bool<\/RelatedName>"
+              }
+            ],
+            "key.substructure" : [
+
+            ],
+            "key.typename" : " (Self) -> (Self) -> Bool",
+            "key.typeusr" : "$s2toSbx_tcD",
+            "key.usr" : "s:10ListableUI11ItemContentP12isEquivalent2toSbx_tF"
+          },
+          {
+            "key.kind" : "source.lang.swift.syntaxtype.comment.mark",
+            "key.length" : 45,
+            "key.name" : "MARK: Creating & Providing Swipe Action Views",
+            "key.namelength" : 0,
+            "key.nameoffset" : 0,
+            "key.offset" : 3700
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "associatedtype SwipeActionsView : ItemContentSwipeActionsView<\/Type> = DefaultSwipeActionsView<\/Type><\/Declaration>",
+            "key.doc.column" : 20,
+            "key.doc.comment" : "The view type to use to render swipe actions (delete, etc) for this content.\nA default implementation, which matches `UITableView`, is provided.",
+            "key.doc.declaration" : "associatedtype SwipeActionsView : ListableUI.ItemContentSwipeActionsView = ListableUI.DefaultSwipeActionsView",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.doc.full_as_xml" : "SwipeActionsView<\/Name>s:10ListableUI11ItemContentP16SwipeActionsViewQa<\/USR>associatedtype SwipeActionsView : ListableUI.ItemContentSwipeActionsView = ListableUI.DefaultSwipeActionsView<\/Declaration>The view type to use to render swipe actions (delete, etc) for this content. A default implementation, which matches UITableView<\/codeVoice>, is provided.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.line" : 113,
+            "key.doc.name" : "SwipeActionsView",
+            "key.doc.type" : "Other",
             "key.doclength" : 157,
             "key.docoffset" : 3762,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
             "key.fully_annotated_decl" : "associatedtype<\/syntaxtype.keyword> SwipeActionsView<\/decl.name> : ItemContentSwipeActionsView<\/ref.protocol> = DefaultSwipeActionsView<\/ref.class><\/decl.associatedtype>",
             "key.kind" : "source.lang.swift.decl.associatedtype",
             "key.length" : 86,
@@ -31054,14 +31353,14 @@
             "key.doc.column" : 20,
             "key.doc.comment" : "The content view used to draw the content.\nThe content view is drawn at the top of the view hierarchy, above the background views.",
             "key.doc.declaration" : "associatedtype ContentView : UIView",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-            "key.doc.full_as_xml" : "ContentView<\/Name>s:10ListableUI11ItemContentP0D4ViewQa<\/USR>associatedtype ContentView : UIView<\/Declaration>The content view used to draw the content. The content view is drawn at the top of the view hierarchy, above the background views.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.doc.full_as_xml" : "ContentView<\/Name>s:10ListableUI11ItemContentP0D4ViewQa<\/USR>associatedtype ContentView : UIView<\/Declaration>The content view used to draw the content. The content view is drawn at the top of the view hierarchy, above the background views.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 121,
             "key.doc.name" : "ContentView",
             "key.doc.type" : "Other",
             "key.doclength" : 143,
             "key.docoffset" : 4086,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
             "key.fully_annotated_decl" : "associatedtype<\/syntaxtype.keyword> ContentView<\/decl.name> : UIView<\/ref.class><\/decl.associatedtype>",
             "key.kind" : "source.lang.swift.decl.associatedtype",
             "key.length" : 33,
@@ -31087,14 +31386,14 @@
                 "Para" : "Do not do configuration in this method that will be changed by your view’s theme or appearance – instead do that work in `apply(to:)`, so the appearance will be updated if the appearance of content changes."
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-            "key.doc.full_as_xml" : "createReusableContentView(frame:)<\/Name>s:10ListableUI11ItemContentP014createReusableD4View5frame0dG0QzSo6CGRectV_tFZ<\/USR>static func createReusableContentView(frame: CGRect) -> ContentView<\/Declaration>Create and return a new content view used to render the content.<\/Para><\/Abstract>]]><\/rawHTML>Note]]><\/rawHTML>Do not do configuration in this method that will be changed by your view’s theme or appearance – instead do that work in apply(to:)<\/codeVoice>, so the appearance will be updated if the appearance of content changes.<\/Para><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.doc.full_as_xml" : "createReusableContentView(frame:)<\/Name>s:10ListableUI11ItemContentP014createReusableD4View5frame0dG0QzSo6CGRectV_tFZ<\/USR>static func createReusableContentView(frame: CGRect) -> ContentView<\/Declaration>Create and return a new content view used to render the content.<\/Para><\/Abstract>]]><\/rawHTML>Note]]><\/rawHTML>Do not do configuration in this method that will be changed by your view’s theme or appearance – instead do that work in apply(to:)<\/codeVoice>, so the appearance will be updated if the appearance of content changes.<\/Para><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 130,
             "key.doc.name" : "createReusableContentView(frame:)",
             "key.doc.type" : "Function",
             "key.doclength" : 328,
             "key.docoffset" : 4277,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
             "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> createReusableContentView<\/decl.name>(frame<\/decl.var.parameter.argument_label>: CGRect<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ContentView<\/ref.associatedtype><\/decl.function.returntype><\/decl.function.method.static>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
             "key.length" : 68,
@@ -31126,14 +31425,14 @@
             "key.doc.column" : 20,
             "key.doc.comment" : "The coordinator type to use to manage the live state of the `Item` and `ItemContent`,\nif you need to update content based on signals such as notifications, view state, appearance state,\netc.",
             "key.doc.declaration" : "associatedtype Coordinator : ListableUI.ItemContentCoordinator = ListableUI.DefaultItemContentCoordinator where Self == Self.Coordinator.ItemContentType",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-            "key.doc.full_as_xml" : "Coordinator<\/Name>s:10ListableUI11ItemContentP11CoordinatorQa<\/USR>associatedtype Coordinator : ListableUI.ItemContentCoordinator = ListableUI.DefaultItemContentCoordinator<Self> where Self == Self.Coordinator.ItemContentType<\/Declaration>The coordinator type to use to manage the live state of the Item<\/codeVoice> and ItemContent<\/codeVoice>, if you need to update content based on signals such as notifications, view state, appearance state, etc.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.doc.full_as_xml" : "Coordinator<\/Name>s:10ListableUI11ItemContentP11CoordinatorQa<\/USR>associatedtype Coordinator : ListableUI.ItemContentCoordinator = ListableUI.DefaultItemContentCoordinator<Self> where Self == Self.Coordinator.ItemContentType<\/Declaration>The coordinator type to use to manage the live state of the Item<\/codeVoice> and ItemContent<\/codeVoice>, if you need to update content based on signals such as notifications, view state, appearance state, etc.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 139,
             "key.doc.name" : "Coordinator",
             "key.doc.type" : "Other",
             "key.doclength" : 211,
             "key.docoffset" : 4740,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
             "key.fully_annotated_decl" : "associatedtype<\/syntaxtype.keyword> Coordinator<\/decl.name> : ItemContentCoordinator<\/ref.protocol> = DefaultItemContentCoordinator<\/ref.class><Self<\/ref.generic_type_param>> where<\/syntaxtype.keyword> Self<\/ref.generic_type_param> == Self<\/ref.generic_type_param>.Coordinator.ItemContentType<\/decl.generic_type_requirement><\/decl.associatedtype>",
             "key.kind" : "source.lang.swift.decl.associatedtype",
             "key.length" : 89,
@@ -31154,14 +31453,14 @@
             "key.doc.column" : 15,
             "key.doc.comment" : "The actions passed to the coordinator.",
             "key.doc.declaration" : "typealias ListableUI.ItemContent.CoordinatorActions = ItemContentCoordinatorActions",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-            "key.doc.full_as_xml" : "CoordinatorActions<\/Name>s:10ListableUI11ItemContentP18CoordinatorActionsa<\/USR>typealias ListableUI.ItemContent.CoordinatorActions = ItemContentCoordinatorActions<Self><\/Declaration>The actions passed to the coordinator.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.doc.full_as_xml" : "CoordinatorActions<\/Name>s:10ListableUI11ItemContentP18CoordinatorActionsa<\/USR>typealias ListableUI.ItemContent.CoordinatorActions = ItemContentCoordinatorActions<Self><\/Declaration>The actions passed to the coordinator.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 142,
             "key.doc.name" : "CoordinatorActions",
             "key.doc.type" : "Other",
             "key.doclength" : 43,
             "key.docoffset" : 5054,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
             "key.fully_annotated_decl" : "typealias<\/syntaxtype.keyword> ItemContent<\/ref.protocol>.CoordinatorActions<\/decl.name> = ItemContentCoordinatorActions<\/ref.class><Self<\/ref.generic_type_param>><\/decl.typealias>",
             "key.kind" : "source.lang.swift.decl.typealias",
             "key.length" : 66,
@@ -31182,14 +31481,14 @@
             "key.doc.column" : 15,
             "key.doc.comment" : "The info passed to the coordinator.",
             "key.doc.declaration" : "typealias ListableUI.ItemContent.CoordinatorInfo = ItemContentCoordinatorInfo",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-            "key.doc.full_as_xml" : "CoordinatorInfo<\/Name>s:10ListableUI11ItemContentP15CoordinatorInfoa<\/USR>typealias ListableUI.ItemContent.CoordinatorInfo = ItemContentCoordinatorInfo<Self><\/Declaration>The info passed to the coordinator.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.doc.full_as_xml" : "CoordinatorInfo<\/Name>s:10ListableUI11ItemContentP15CoordinatorInfoa<\/USR>typealias ListableUI.ItemContent.CoordinatorInfo = ItemContentCoordinatorInfo<Self><\/Declaration>The info passed to the coordinator.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 144,
             "key.doc.name" : "CoordinatorInfo",
             "key.doc.type" : "Other",
             "key.doclength" : 40,
             "key.docoffset" : 5172,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
             "key.fully_annotated_decl" : "typealias<\/syntaxtype.keyword> ItemContent<\/ref.protocol>.CoordinatorInfo<\/decl.name> = ItemContentCoordinatorInfo<\/ref.class><Self<\/ref.generic_type_param>><\/decl.typealias>",
             "key.kind" : "source.lang.swift.decl.typealias",
             "key.length" : 60,
@@ -31210,14 +31509,14 @@
             "key.doc.column" : 10,
             "key.doc.comment" : "Creates a new coordinator with the provided actions and info.",
             "key.doc.declaration" : "func makeCoordinator(actions: CoordinatorActions, info: CoordinatorInfo) -> Coordinator",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-            "key.doc.full_as_xml" : "makeCoordinator(actions:info:)<\/Name>s:10ListableUI11ItemContentP15makeCoordinator7actions4info0F0QzAA0cdF7ActionsCyxG_AA0cdF4InfoCyxGtF<\/USR>func makeCoordinator(actions: CoordinatorActions, info: CoordinatorInfo) -> Coordinator<\/Declaration>Creates a new coordinator with the provided actions and info.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.doc.full_as_xml" : "makeCoordinator(actions:info:)<\/Name>s:10ListableUI11ItemContentP15makeCoordinator7actions4info0F0QzAA0cdF7ActionsCyxG_AA0cdF4InfoCyxGtF<\/USR>func makeCoordinator(actions: CoordinatorActions, info: CoordinatorInfo) -> Coordinator<\/Declaration>Creates a new coordinator with the provided actions and info.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 147,
             "key.doc.name" : "makeCoordinator(actions:info:)",
             "key.doc.type" : "Function",
             "key.doclength" : 66,
             "key.docoffset" : 5286,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> makeCoordinator<\/decl.name>(actions<\/decl.var.parameter.argument_label>: CoordinatorActions<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>, info<\/decl.var.parameter.argument_label>: CoordinatorInfo<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>) -> Coordinator<\/ref.associatedtype><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 89,
@@ -31259,14 +31558,14 @@
                 "Para" : "Defaults to a `UIView` with no drawn appearance or state. You do not need to provide this `typealias` unless you would like to draw a background view."
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-            "key.doc.full_as_xml" : "BackgroundView<\/Name>s:10ListableUI11ItemContentP14BackgroundViewQa<\/USR>associatedtype BackgroundView : UIView = UIView<\/Declaration>The background view used to draw the background of the content. The background view is drawn below the content view.<\/Para><\/Abstract>]]><\/rawHTML>Note]]><\/rawHTML>Defaults to a UIView<\/codeVoice> with no drawn appearance or state. You do not need to provide this typealias<\/codeVoice> unless you would like to draw a background view.<\/Para><\/Discussion><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.doc.full_as_xml" : "BackgroundView<\/Name>s:10ListableUI11ItemContentP14BackgroundViewQa<\/USR>associatedtype BackgroundView : UIView = UIView<\/Declaration>The background view used to draw the background of the content. The background view is drawn below the content view.<\/Para><\/Abstract>]]><\/rawHTML>Note]]><\/rawHTML>Defaults to a UIView<\/codeVoice> with no drawn appearance or state. You do not need to provide this typealias<\/codeVoice> unless you would like to draw a background view.<\/Para><\/Discussion><\/CommentParts><\/Other>",
             "key.doc.line" : 162,
             "key.doc.name" : "BackgroundView",
             "key.doc.type" : "Other",
             "key.doclength" : 346,
             "key.docoffset" : 5525,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
             "key.fully_annotated_decl" : "associatedtype<\/syntaxtype.keyword> BackgroundView<\/decl.name> : UIView<\/ref.class> = UIView<\/ref.class><\/decl.associatedtype>",
             "key.kind" : "source.lang.swift.decl.associatedtype",
             "key.length" : 45,
@@ -31292,14 +31591,14 @@
                 "Para" : "Do not do configuration in this method that will be changed by your view’s theme or appearance – instead do that work in `apply(to:)`, so the appearance will be updated if the appearance of content changes."
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-            "key.doc.full_as_xml" : "createReusableBackgroundView(frame:)<\/Name>s:10ListableUI11ItemContentP28createReusableBackgroundView5frame0gH0QzSo6CGRectV_tFZ<\/USR>static func createReusableBackgroundView(frame: CGRect) -> BackgroundView<\/Declaration>Create and return a new background view used to render the content’s background.<\/Para><\/Abstract>]]><\/rawHTML>Note]]><\/rawHTML>Do not do configuration in this method that will be changed by your view’s theme or appearance – instead do that work in apply(to:)<\/codeVoice>, so the appearance will be updated if the appearance of content changes.<\/Para><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.doc.full_as_xml" : "createReusableBackgroundView(frame:)<\/Name>s:10ListableUI11ItemContentP28createReusableBackgroundView5frame0gH0QzSo6CGRectV_tFZ<\/USR>static func createReusableBackgroundView(frame: CGRect) -> BackgroundView<\/Declaration>Create and return a new background view used to render the content’s background.<\/Para><\/Abstract>]]><\/rawHTML>Note]]><\/rawHTML>Do not do configuration in this method that will be changed by your view’s theme or appearance – instead do that work in apply(to:)<\/codeVoice>, so the appearance will be updated if the appearance of content changes.<\/Para><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 170,
             "key.doc.name" : "createReusableBackgroundView(frame:)",
             "key.doc.type" : "Function",
             "key.doclength" : 344,
             "key.docoffset" : 5930,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
             "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> createReusableBackgroundView<\/decl.name>(frame<\/decl.var.parameter.argument_label>: CGRect<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> BackgroundView<\/ref.associatedtype><\/decl.function.returntype><\/decl.function.method.static>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
             "key.length" : 74,
@@ -31333,14 +31632,14 @@
                 "Para" : "Defaults to a `UIView` with no drawn appearance or state. You do not need to provide this `typealias` unless you would like to draw a selected background view."
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-            "key.doc.full_as_xml" : "SelectedBackgroundView<\/Name>s:10ListableUI11ItemContentP22SelectedBackgroundViewQa<\/USR>associatedtype SelectedBackgroundView : UIView = UIView<\/Declaration>The selected background view used to draw the background of the content when it is selected or highlighted. The selected background view is drawn below the content view.<\/Para><\/Abstract>]]><\/rawHTML>Note]]><\/rawHTML>Defaults to a UIView<\/codeVoice> with no drawn appearance or state. You do not need to provide this typealias<\/codeVoice> unless you would like to draw a selected background view.<\/Para><\/Discussion><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.doc.full_as_xml" : "SelectedBackgroundView<\/Name>s:10ListableUI11ItemContentP22SelectedBackgroundViewQa<\/USR>associatedtype SelectedBackgroundView : UIView = UIView<\/Declaration>The selected background view used to draw the background of the content when it is selected or highlighted. The selected background view is drawn below the content view.<\/Para><\/Abstract>]]><\/rawHTML>Note]]><\/rawHTML>Defaults to a UIView<\/codeVoice> with no drawn appearance or state. You do not need to provide this typealias<\/codeVoice> unless you would like to draw a selected background view.<\/Para><\/Discussion><\/CommentParts><\/Other>",
             "key.doc.line" : 181,
             "key.doc.name" : "SelectedBackgroundView",
             "key.doc.type" : "Other",
             "key.doclength" : 408,
             "key.docoffset" : 6362,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
             "key.fully_annotated_decl" : "associatedtype<\/syntaxtype.keyword> SelectedBackgroundView<\/decl.name> : UIView<\/ref.class> = UIView<\/ref.class><\/decl.associatedtype>",
             "key.kind" : "source.lang.swift.decl.associatedtype",
             "key.length" : 53,
@@ -31372,14 +31671,14 @@
                 "Para" : "Do not do configuration in this method that will be changed by your view’s theme or appearance – instead do that work in `apply(to:)`, so the appearance will be updated if the appearance of content changes."
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-            "key.doc.full_as_xml" : "createReusableSelectedBackgroundView(frame:)<\/Name>s:10ListableUI11ItemContentP36createReusableSelectedBackgroundView5frame0ghI0QzSo6CGRectV_tFZ<\/USR>static func createReusableSelectedBackgroundView(frame: CGRect) -> SelectedBackgroundView<\/Declaration>Create and return a new background view used to render the content’s selected background.<\/Para><\/Abstract>This view is displayed when the content is highlighted or selected.<\/Para>If your BackgroundView<\/codeVoice> and SelectedBackgroundView<\/codeVoice> are the same type, this method is provided automatically by calling createReusableBackgroundView<\/codeVoice>.<\/Para>]]><\/rawHTML>Note]]><\/rawHTML>Do not do configuration in this method that will be changed by your view’s theme or appearance – instead do that work in apply(to:)<\/codeVoice>, so the appearance will be updated if the appearance of content changes.<\/Para><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.doc.full_as_xml" : "createReusableSelectedBackgroundView(frame:)<\/Name>s:10ListableUI11ItemContentP36createReusableSelectedBackgroundView5frame0ghI0QzSo6CGRectV_tFZ<\/USR>static func createReusableSelectedBackgroundView(frame: CGRect) -> SelectedBackgroundView<\/Declaration>Create and return a new background view used to render the content’s selected background.<\/Para><\/Abstract>This view is displayed when the content is highlighted or selected.<\/Para>If your BackgroundView<\/codeVoice> and SelectedBackgroundView<\/codeVoice> are the same type, this method is provided automatically by calling createReusableBackgroundView<\/codeVoice>.<\/Para>]]><\/rawHTML>Note]]><\/rawHTML>Do not do configuration in this method that will be changed by your view’s theme or appearance – instead do that work in apply(to:)<\/codeVoice>, so the appearance will be updated if the appearance of content changes.<\/Para><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 195,
             "key.doc.name" : "createReusableSelectedBackgroundView(frame:)",
             "key.doc.type" : "Function",
             "key.doclength" : 615,
             "key.docoffset" : 6842,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
             "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> createReusableSelectedBackgroundView<\/decl.name>(frame<\/decl.var.parameter.argument_label>: CGRect<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> SelectedBackgroundView<\/ref.associatedtype><\/decl.function.returntype><\/decl.function.method.static>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
             "key.length" : 90,
@@ -31422,14 +31721,14 @@
         "key.doc.column" : 15,
         "key.doc.comment" : "The views owned by the item content, passed to the `apply(to:) method to theme and provide content.`",
         "key.doc.declaration" : "public struct ItemContentViews where Content : ListableUI.ItemContent",
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-        "key.doc.full_as_xml" : "ItemContentViews<\/Name>s:10ListableUI16ItemContentViewsV<\/USR>public struct ItemContentViews<Content> where Content : ListableUI.ItemContent<\/Declaration>The views owned by the item content, passed to the apply(to:) method to theme and provide content.<\/codeVoice><\/Para><\/Abstract><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+        "key.doc.full_as_xml" : "ItemContentViews<\/Name>s:10ListableUI16ItemContentViewsV<\/USR>public struct ItemContentViews<Content> where Content : ListableUI.ItemContent<\/Declaration>The views owned by the item content, passed to the apply(to:) method to theme and provide content.<\/codeVoice><\/Para><\/Abstract><\/CommentParts><\/Class>",
         "key.doc.line" : 200,
         "key.doc.name" : "ItemContentViews",
         "key.doc.type" : "Class",
         "key.doclength" : 105,
         "key.docoffset" : 7556,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> ItemContentViews<\/decl.name><Content<\/decl.generic_type_param.name><\/decl.generic_type_param>> where<\/syntaxtype.keyword> Content : ItemContent<\/ref.protocol><\/decl.generic_type_requirement><\/decl.struct>",
         "key.kind" : "source.lang.swift.decl.struct",
         "key.length" : 422,
@@ -31450,7 +31749,7 @@
                 "key.offset" : 7700
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
             "key.fully_annotated_decl" : "Content<\/decl.generic_type_param.name> : ItemContent<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
             "key.inheritedtypes" : [
               {
@@ -31483,14 +31782,14 @@
             "key.doc.column" : 16,
             "key.doc.comment" : "The content view of the content.",
             "key.doc.declaration" : "public var content: Content.ContentView",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-            "key.doc.full_as_xml" : "content<\/Name>s:10ListableUI16ItemContentViewsV7content0D4ViewQzvp<\/USR>public var content: Content.ContentView<\/Declaration>The content view of the content.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.doc.full_as_xml" : "content<\/Name>s:10ListableUI16ItemContentViewsV7content0D4ViewQzvp<\/USR>public var content: Content.ContentView<\/Declaration>The content view of the content.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 203,
             "key.doc.name" : "content",
             "key.doc.type" : "Other",
             "key.doclength" : 37,
             "key.docoffset" : 7719,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> content<\/decl.name>: Content<\/ref.generic_type_param>.ContentView<\/ref.associatedtype><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 33,
@@ -31519,14 +31818,14 @@
             "key.doc.column" : 16,
             "key.doc.comment" : "The background view of the content.",
             "key.doc.declaration" : "public var background: Content.BackgroundView",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-            "key.doc.full_as_xml" : "background<\/Name>s:10ListableUI16ItemContentViewsV10background14BackgroundViewQzvp<\/USR>public var background: Content.BackgroundView<\/Declaration>The background view of the content.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.doc.full_as_xml" : "background<\/Name>s:10ListableUI16ItemContentViewsV10background14BackgroundViewQzvp<\/USR>public var background: Content.BackgroundView<\/Declaration>The background view of the content.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 206,
             "key.doc.name" : "background",
             "key.doc.type" : "Other",
             "key.doclength" : 40,
             "key.docoffset" : 7810,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> background<\/decl.name>: Content<\/ref.generic_type_param>.BackgroundView<\/ref.associatedtype><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 39,
@@ -31555,14 +31854,14 @@
             "key.doc.column" : 16,
             "key.doc.comment" : "The selected background view of the content.\nDisplayed when the content is highlighted or selected.",
             "key.doc.declaration" : "public var selectedBackground: Content.SelectedBackgroundView",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-            "key.doc.full_as_xml" : "selectedBackground<\/Name>s:10ListableUI16ItemContentViewsV18selectedBackground08SelectedG4ViewQzvp<\/USR>public var selectedBackground: Content.SelectedBackgroundView<\/Declaration>The selected background view of the content. Displayed when the content is highlighted or selected.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.doc.full_as_xml" : "selectedBackground<\/Name>s:10ListableUI16ItemContentViewsV18selectedBackground08SelectedG4ViewQzvp<\/USR>public var selectedBackground: Content.SelectedBackgroundView<\/Declaration>The selected background view of the content. Displayed when the content is highlighted or selected.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 210,
             "key.doc.name" : "selectedBackground",
             "key.doc.type" : "Other",
             "key.doclength" : 112,
             "key.docoffset" : 7910,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> selectedBackground<\/decl.name>: Content<\/ref.generic_type_param>.SelectedBackgroundView<\/ref.associatedtype><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 55,
@@ -31603,14 +31902,14 @@
             "Para" : "You can use this information to alter the display of your content, such as changing the background color for highlights and selections, providing different corner styles for different item positions, etc."
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-        "key.doc.full_as_xml" : "ApplyItemContentInfo<\/Name>s:10ListableUI20ApplyItemContentInfoV<\/USR>public struct ApplyItemContentInfo<\/Declaration>Information about the current state of the content, which is passed to apply(to:for:with:)<\/codeVoice> during configuration and preparation for display.<\/Para><\/Abstract>You can use this information to alter the display of your content, such as changing the background color for highlights and selections, providing different corner styles for different item positions, etc.<\/Para><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+        "key.doc.full_as_xml" : "ApplyItemContentInfo<\/Name>s:10ListableUI20ApplyItemContentInfoV<\/USR>public struct ApplyItemContentInfo<\/Declaration>Information about the current state of the content, which is passed to apply(to:for:with:)<\/codeVoice> during configuration and preparation for display.<\/Para><\/Abstract>You can use this information to alter the display of your content, such as changing the background color for highlights and selections, providing different corner styles for different item positions, etc.<\/Para><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 220,
         "key.doc.name" : "ApplyItemContentInfo",
         "key.doc.type" : "Class",
         "key.doclength" : 372,
         "key.docoffset" : 8093,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> ApplyItemContentInfo<\/decl.name><\/decl.struct>",
         "key.kind" : "source.lang.swift.decl.struct",
         "key.length" : 549,
@@ -31635,14 +31934,14 @@
             "key.doc.column" : 16,
             "key.doc.comment" : "The state of the `Item` currently displaying the content. Is it highlighted, selected, etc.",
             "key.doc.declaration" : "public var state: ItemState",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-            "key.doc.full_as_xml" : "state<\/Name>s:10ListableUI20ApplyItemContentInfoV5stateAA0D5StateVvp<\/USR>public var state: ItemState<\/Declaration>The state of the Item<\/codeVoice> currently displaying the content. Is it highlighted, selected, etc.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.doc.full_as_xml" : "state<\/Name>s:10ListableUI20ApplyItemContentInfoV5stateAA0D5StateVvp<\/USR>public var state: ItemState<\/Declaration>The state of the Item<\/codeVoice> currently displaying the content. Is it highlighted, selected, etc.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 223,
             "key.doc.name" : "state",
             "key.doc.type" : "Other",
             "key.doclength" : 96,
             "key.docoffset" : 8506,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> state<\/decl.name>: ItemState<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 21,
@@ -31671,14 +31970,14 @@
             "key.doc.column" : 16,
             "key.doc.comment" : "The position of the item within its section.",
             "key.doc.declaration" : "public var position: ItemPosition",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-            "key.doc.full_as_xml" : "position<\/Name>s:10ListableUI20ApplyItemContentInfoV8positionAA0D8PositionOvp<\/USR>public var position: ItemPosition<\/Declaration>The position of the item within its section.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.doc.full_as_xml" : "position<\/Name>s:10ListableUI20ApplyItemContentInfoV8positionAA0D8PositionOvp<\/USR>public var position: ItemPosition<\/Declaration>The position of the item within its section.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 226,
             "key.doc.name" : "position",
             "key.doc.type" : "Other",
             "key.doclength" : 49,
             "key.docoffset" : 8644,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> position<\/decl.name>: ItemPosition<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 27,
@@ -31707,14 +32006,14 @@
             "key.doc.column" : 16,
             "key.doc.comment" : "Provides access to actions to handle re-ordering the content within the list.",
             "key.doc.declaration" : "public var reordering: ReorderingActions",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-            "key.doc.full_as_xml" : "reordering<\/Name>s:10ListableUI20ApplyItemContentInfoV10reorderingAA17ReorderingActionsCvp<\/USR>public var reordering: ReorderingActions<\/Declaration>Provides access to actions to handle re-ordering the content within the list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.doc.full_as_xml" : "reordering<\/Name>s:10ListableUI20ApplyItemContentInfoV10reorderingAA17ReorderingActionsCvp<\/USR>public var reordering: ReorderingActions<\/Declaration>Provides access to actions to handle re-ordering the content within the list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 229,
             "key.doc.name" : "reordering",
             "key.doc.type" : "Other",
             "key.doclength" : 82,
             "key.docoffset" : 8741,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> reordering<\/decl.name>: ReorderingActions<\/ref.class><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 34,
@@ -31743,14 +32042,14 @@
             "key.doc.column" : 16,
             "key.doc.comment" : "The environment of the containing list.\nSee `ListEnvironment` for usage information.",
             "key.doc.declaration" : "public var environment: ListEnvironment",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-            "key.doc.full_as_xml" : "environment<\/Name>s:10ListableUI20ApplyItemContentInfoV11environmentAA15ListEnvironmentVvp<\/USR>public var environment: ListEnvironment<\/Declaration>The environment of the containing list. See ListEnvironment<\/codeVoice> for usage information.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.doc.full_as_xml" : "environment<\/Name>s:10ListableUI20ApplyItemContentInfoV11environmentAA15ListEnvironmentVvp<\/USR>public var environment: ListEnvironment<\/Declaration>The environment of the containing list. See ListEnvironment<\/codeVoice> for usage information.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 233,
             "key.doc.name" : "environment",
             "key.doc.type" : "Other",
             "key.doclength" : 97,
             "key.docoffset" : 8878,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> environment<\/decl.name>: ListEnvironment<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 33,
@@ -31800,14 +32099,14 @@
             "Para" : "The ordering of the elements by z-index is as follows: z-index 3) `ContentView` z-index 2) `SelectedBackgroundView` (Only if the item supports a `selectionStyle` and is selected or highlighted.) z-index 1) `BackgroundView`"
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-        "key.doc.full_as_xml" : "ItemContent<\/Name>s:10ListableUI11ItemContentP<\/USR>public protocol ItemContent<\/Declaration>An ItemContent<\/codeVoice> is a type used to provide the content of an Item<\/codeVoice> in a listable section.<\/Para><\/Abstract>A ItemContent<\/codeVoice> that displays text might look like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> MyContentView {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered>, for reason: ApplyReason, with info : ApplyItemContentInfo) {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>If you want to add support for rendering a background view and a selected or highlighted state, you should provide both createReusableBackgroundView<\/codeVoice> and createReusableSelectedBackgroundView<\/codeVoice> methods, and apply the desired content in your apply(to:)<\/codeVoice> method.<\/Para>The ordering of the elements by z-index is as follows: z-index 3) ContentView<\/codeVoice> z-index 2) SelectedBackgroundView<\/codeVoice> (Only if the item supports a selectionStyle<\/codeVoice> and is selected or highlighted.) z-index 1) BackgroundView<\/codeVoice><\/Para><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+        "key.doc.full_as_xml" : "ItemContent<\/Name>s:10ListableUI11ItemContentP<\/USR>public protocol ItemContent<\/Declaration>An ItemContent<\/codeVoice> is a type used to provide the content of an Item<\/codeVoice> in a listable section.<\/Para><\/Abstract>A ItemContent<\/codeVoice> that displays text might look like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> MyContentView {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered>, for reason: ApplyReason, with info : ApplyItemContentInfo) {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>If you want to add support for rendering a background view and a selected or highlighted state, you should provide both createReusableBackgroundView<\/codeVoice> and createReusableSelectedBackgroundView<\/codeVoice> methods, and apply the desired content in your apply(to:)<\/codeVoice> method.<\/Para>The ordering of the elements by z-index is as follows: z-index 3) ContentView<\/codeVoice> z-index 2) SelectedBackgroundView<\/codeVoice> (Only if the item supports a selectionStyle<\/codeVoice> and is selected or highlighted.) z-index 1) BackgroundView<\/codeVoice><\/Para><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 40,
         "key.doc.name" : "ItemContent",
         "key.doc.type" : "Class",
         "key.doclength" : 97,
         "key.docoffset" : 9024,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> ItemContent<\/decl.name><\/decl.protocol>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 134,
@@ -31837,12 +32136,12 @@
                 "Note" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-            "key.doc.full_as_xml" : "isEquivalent(to:)<\/Name>s:10ListableUI11ItemContentP12isEquivalent2toSbx_tF<\/USR>func isEquivalent(to other: Self) -> Bool<\/Declaration>Return false if the content’ changed based on the old value passed into the function.<\/Para><\/Abstract>If this method returns false, the row representing the content is reloaded.<\/Para>]]><\/rawHTML>Note]]><\/rawHTML>There is a default implementation of this method when ItemContent <\/codeVoice> conforms to Equatable<\/codeVoice> which returns self == other<\/codeVoice>.<\/Para>This documentation comment was inherited from ItemContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.doc.full_as_xml" : "isEquivalent(to:)<\/Name>s:10ListableUI11ItemContentP12isEquivalent2toSbx_tF<\/USR>func isEquivalent(to other: Self) -> Bool<\/Declaration>Return false if the content’ changed based on the old value passed into the function.<\/Para><\/Abstract>If this method returns false, the row representing the content is reloaded.<\/Para>]]><\/rawHTML>Note]]><\/rawHTML>There is a default implementation of this method when ItemContent <\/codeVoice> conforms to Equatable<\/codeVoice> which returns self == other<\/codeVoice>.<\/Para>This documentation comment was inherited from ItemContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 105,
             "key.doc.name" : "isEquivalent(to:)",
             "key.doc.type" : "Function",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> isEquivalent<\/decl.name>(to<\/decl.var.parameter.argument_label> other<\/decl.var.parameter.name>: Self<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 83,
@@ -31904,14 +32203,14 @@
             "Para" : "The ordering of the elements by z-index is as follows: z-index 3) `ContentView` z-index 2) `SelectedBackgroundView` (Only if the item supports a `selectionStyle` and is selected or highlighted.) z-index 1) `BackgroundView`"
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-        "key.doc.full_as_xml" : "ItemContent<\/Name>s:10ListableUI11ItemContentP<\/USR>public protocol ItemContent<\/Declaration>An ItemContent<\/codeVoice> is a type used to provide the content of an Item<\/codeVoice> in a listable section.<\/Para><\/Abstract>A ItemContent<\/codeVoice> that displays text might look like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> MyContentView {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered>, for reason: ApplyReason, with info : ApplyItemContentInfo) {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>If you want to add support for rendering a background view and a selected or highlighted state, you should provide both createReusableBackgroundView<\/codeVoice> and createReusableSelectedBackgroundView<\/codeVoice> methods, and apply the desired content in your apply(to:)<\/codeVoice> method.<\/Para>The ordering of the elements by z-index is as follows: z-index 3) ContentView<\/codeVoice> z-index 2) SelectedBackgroundView<\/codeVoice> (Only if the item supports a selectionStyle<\/codeVoice> and is selected or highlighted.) z-index 1) BackgroundView<\/codeVoice><\/Para><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+        "key.doc.full_as_xml" : "ItemContent<\/Name>s:10ListableUI11ItemContentP<\/USR>public protocol ItemContent<\/Declaration>An ItemContent<\/codeVoice> is a type used to provide the content of an Item<\/codeVoice> in a listable section.<\/Para><\/Abstract>A ItemContent<\/codeVoice> that displays text might look like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> MyContentView {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered>, for reason: ApplyReason, with info : ApplyItemContentInfo) {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>If you want to add support for rendering a background view and a selected or highlighted state, you should provide both createReusableBackgroundView<\/codeVoice> and createReusableSelectedBackgroundView<\/codeVoice> methods, and apply the desired content in your apply(to:)<\/codeVoice> method.<\/Para>The ordering of the elements by z-index is as follows: z-index 3) ContentView<\/codeVoice> z-index 2) SelectedBackgroundView<\/codeVoice> (Only if the item supports a selectionStyle<\/codeVoice> and is selected or highlighted.) z-index 1) BackgroundView<\/codeVoice><\/Para><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 40,
         "key.doc.name" : "ItemContent",
         "key.doc.type" : "Class",
         "key.doclength" : 109,
         "key.docoffset" : 9265,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> ItemContent<\/decl.name><\/decl.protocol>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 118,
@@ -31941,12 +32240,12 @@
                 "Note" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-            "key.doc.full_as_xml" : "identifier<\/Name>s:10ListableUI11ItemContentP10identifierAA10IdentifierCyxGvp<\/USR>var identifier: Identifier<Self> { get }<\/Declaration>Identifies the content across updates to the list. This value must remain the same, otherwise the content will be considered a new item, and the old one removed from the list.<\/Para><\/Abstract>Does not have to be globally unique – the list will make a “best guess” if there are multiple items with the same identifier. However, diffing of changes will be more correct with a unique identifier.<\/Para>If you’re backing your content with some sort of client or server-provided data, consider using its server or client UUID here, or some other unique identifier from the underlying data model.<\/Para>This documentation comment was inherited from ItemContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.doc.full_as_xml" : "identifier<\/Name>s:10ListableUI11ItemContentP10identifierAA10IdentifierCyxGvp<\/USR>var identifier: Identifier<Self> { get }<\/Declaration>Identifies the content across updates to the list. This value must remain the same, otherwise the content will be considered a new item, and the old one removed from the list.<\/Para><\/Abstract>Does not have to be globally unique – the list will make a “best guess” if there are multiple items with the same identifier. However, diffing of changes will be more correct with a unique identifier.<\/Para>If you’re backing your content with some sort of client or server-provided data, consider using its server or client UUID here, or some other unique identifier from the underlying data model.<\/Para>This documentation comment was inherited from ItemContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Other>",
             "key.doc.line" : 54,
             "key.doc.name" : "identifier",
             "key.doc.type" : "Other",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> identifier<\/decl.name>: Identifier<\/ref.class><Self<\/ref.generic_type_param>><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 64,
@@ -32000,14 +32299,14 @@
             "Para" : "The ordering of the elements by z-index is as follows: z-index 3) `ContentView` z-index 2) `SelectedBackgroundView` (Only if the item supports a `selectionStyle` and is selected or highlighted.) z-index 1) `BackgroundView`"
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-        "key.doc.full_as_xml" : "ItemContent<\/Name>s:10ListableUI11ItemContentP<\/USR>public protocol ItemContent<\/Declaration>An ItemContent<\/codeVoice> is a type used to provide the content of an Item<\/codeVoice> in a listable section.<\/Para><\/Abstract>A ItemContent<\/codeVoice> that displays text might look like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> MyContentView {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered>, for reason: ApplyReason, with info : ApplyItemContentInfo) {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>If you want to add support for rendering a background view and a selected or highlighted state, you should provide both createReusableBackgroundView<\/codeVoice> and createReusableSelectedBackgroundView<\/codeVoice> methods, and apply the desired content in your apply(to:)<\/codeVoice> method.<\/Para>The ordering of the elements by z-index is as follows: z-index 3) ContentView<\/codeVoice> z-index 2) SelectedBackgroundView<\/codeVoice> (Only if the item supports a selectionStyle<\/codeVoice> and is selected or highlighted.) z-index 1) BackgroundView<\/codeVoice><\/Para><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+        "key.doc.full_as_xml" : "ItemContent<\/Name>s:10ListableUI11ItemContentP<\/USR>public protocol ItemContent<\/Declaration>An ItemContent<\/codeVoice> is a type used to provide the content of an Item<\/codeVoice> in a listable section.<\/Para><\/Abstract>A ItemContent<\/codeVoice> that displays text might look like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> MyContentView {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered>, for reason: ApplyReason, with info : ApplyItemContentInfo) {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>If you want to add support for rendering a background view and a selected or highlighted state, you should provide both createReusableBackgroundView<\/codeVoice> and createReusableSelectedBackgroundView<\/codeVoice> methods, and apply the desired content in your apply(to:)<\/codeVoice> method.<\/Para>The ordering of the elements by z-index is as follows: z-index 3) ContentView<\/codeVoice> z-index 2) SelectedBackgroundView<\/codeVoice> (Only if the item supports a selectionStyle<\/codeVoice> and is selected or highlighted.) z-index 1) BackgroundView<\/codeVoice><\/Para><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 40,
         "key.doc.name" : "ItemContent",
         "key.doc.type" : "Class",
         "key.doclength" : 69,
         "key.docoffset" : 9526,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> ItemContent<\/decl.name><\/decl.protocol>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 141,
@@ -32037,12 +32336,12 @@
                 "Note" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-            "key.doc.full_as_xml" : "wasMoved(comparedTo:)<\/Name>s:10ListableUI11ItemContentP8wasMoved10comparedToSbx_tF<\/USR>func wasMoved(comparedTo other: Self) -> Bool<\/Declaration>Return true if the content’s sort changed based on the old value passed into the function.<\/Para><\/Abstract>The list view uses the value of this method to be more intelligent about what has moved within the list.<\/Para>]]><\/rawHTML>Note]]><\/rawHTML>There is a default implementation of this method which simply calls isEquivalent<\/codeVoice>.<\/Para>This documentation comment was inherited from ItemContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.doc.full_as_xml" : "wasMoved(comparedTo:)<\/Name>s:10ListableUI11ItemContentP8wasMoved10comparedToSbx_tF<\/USR>func wasMoved(comparedTo other: Self) -> Bool<\/Declaration>Return true if the content’s sort changed based on the old value passed into the function.<\/Para><\/Abstract>The list view uses the value of this method to be more intelligent about what has moved within the list.<\/Para>]]><\/rawHTML>Note]]><\/rawHTML>There is a default implementation of this method which simply calls isEquivalent<\/codeVoice>.<\/Para>This documentation comment was inherited from ItemContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 93,
             "key.doc.name" : "wasMoved(comparedTo:)",
             "key.doc.type" : "Function",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> wasMoved<\/decl.name>(comparedTo<\/decl.var.parameter.argument_label> other<\/decl.var.parameter.name>: Self<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 111,
@@ -32099,14 +32398,14 @@
             "Para" : "The ordering of the elements by z-index is as follows: z-index 3) `ContentView` z-index 2) `SelectedBackgroundView` (Only if the item supports a `selectionStyle` and is selected or highlighted.) z-index 1) `BackgroundView`"
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-        "key.doc.full_as_xml" : "ItemContent<\/Name>s:10ListableUI11ItemContentP<\/USR>public protocol ItemContent<\/Declaration>An ItemContent<\/codeVoice> is a type used to provide the content of an Item<\/codeVoice> in a listable section.<\/Para><\/Abstract>A ItemContent<\/codeVoice> that displays text might look like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> MyContentView {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered>, for reason: ApplyReason, with info : ApplyItemContentInfo) {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>If you want to add support for rendering a background view and a selected or highlighted state, you should provide both createReusableBackgroundView<\/codeVoice> and createReusableSelectedBackgroundView<\/codeVoice> methods, and apply the desired content in your apply(to:)<\/codeVoice> method.<\/Para>The ordering of the elements by z-index is as follows: z-index 3) ContentView<\/codeVoice> z-index 2) SelectedBackgroundView<\/codeVoice> (Only if the item supports a selectionStyle<\/codeVoice> and is selected or highlighted.) z-index 1) BackgroundView<\/codeVoice><\/Para><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+        "key.doc.full_as_xml" : "ItemContent<\/Name>s:10ListableUI11ItemContentP<\/USR>public protocol ItemContent<\/Declaration>An ItemContent<\/codeVoice> is a type used to provide the content of an Item<\/codeVoice> in a listable section.<\/Para><\/Abstract>A ItemContent<\/codeVoice> that displays text might look like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> MyContentView {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered>, for reason: ApplyReason, with info : ApplyItemContentInfo) {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>If you want to add support for rendering a background view and a selected or highlighted state, you should provide both createReusableBackgroundView<\/codeVoice> and createReusableSelectedBackgroundView<\/codeVoice> methods, and apply the desired content in your apply(to:)<\/codeVoice> method.<\/Para>The ordering of the elements by z-index is as follows: z-index 3) ContentView<\/codeVoice> z-index 2) SelectedBackgroundView<\/codeVoice> (Only if the item supports a selectionStyle<\/codeVoice> and is selected or highlighted.) z-index 1) BackgroundView<\/codeVoice><\/Para><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 40,
         "key.doc.name" : "ItemContent",
         "key.doc.type" : "Class",
         "key.doclength" : 136,
         "key.docoffset" : 9746,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> ItemContent<\/decl.name><\/decl.protocol>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 109,
@@ -32130,12 +32429,12 @@
                 "Note" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-            "key.doc.full_as_xml" : "defaultItemProperties<\/Name>s:10ListableUI11ItemContentP07defaultC10PropertiesAA07DefaultcF0VyxGvp<\/USR>var defaultItemProperties: DefaultItemProperties<Self> { get }<\/Declaration>Default values to assign to various properties on the Item<\/codeVoice> which wraps this ItemContent<\/codeVoice>, if those values are not passed to the Item<\/codeVoice> initializer.<\/Para><\/Abstract>This documentation comment was inherited from ItemContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.doc.full_as_xml" : "defaultItemProperties<\/Name>s:10ListableUI11ItemContentP07defaultC10PropertiesAA07DefaultcF0VyxGvp<\/USR>var defaultItemProperties: DefaultItemProperties<Self> { get }<\/Declaration>Default values to assign to various properties on the Item<\/codeVoice> which wraps this ItemContent<\/codeVoice>, if those values are not passed to the Item<\/codeVoice> initializer.<\/Para><\/Abstract>This documentation comment was inherited from ItemContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Other>",
             "key.doc.line" : 62,
             "key.doc.name" : "defaultItemProperties",
             "key.doc.type" : "Other",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> defaultItemProperties<\/decl.name>: DefaultItemProperties<\/ref.struct><Self<\/ref.generic_type_param>><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 79,
@@ -32189,14 +32488,14 @@
             "Para" : "The ordering of the elements by z-index is as follows: z-index 3) `ContentView` z-index 2) `SelectedBackgroundView` (Only if the item supports a `selectionStyle` and is selected or highlighted.) z-index 1) `BackgroundView`"
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-        "key.doc.full_as_xml" : "ItemContent<\/Name>s:10ListableUI11ItemContentP<\/USR>public protocol ItemContent<\/Declaration>An ItemContent<\/codeVoice> is a type used to provide the content of an Item<\/codeVoice> in a listable section.<\/Para><\/Abstract>A ItemContent<\/codeVoice> that displays text might look like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> MyContentView {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered>, for reason: ApplyReason, with info : ApplyItemContentInfo) {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>If you want to add support for rendering a background view and a selected or highlighted state, you should provide both createReusableBackgroundView<\/codeVoice> and createReusableSelectedBackgroundView<\/codeVoice> methods, and apply the desired content in your apply(to:)<\/codeVoice> method.<\/Para>The ordering of the elements by z-index is as follows: z-index 3) ContentView<\/codeVoice> z-index 2) SelectedBackgroundView<\/codeVoice> (Only if the item supports a selectionStyle<\/codeVoice> and is selected or highlighted.) z-index 1) BackgroundView<\/codeVoice><\/Para><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+        "key.doc.full_as_xml" : "ItemContent<\/Name>s:10ListableUI11ItemContentP<\/USR>public protocol ItemContent<\/Declaration>An ItemContent<\/codeVoice> is a type used to provide the content of an Item<\/codeVoice> in a listable section.<\/Para><\/Abstract>A ItemContent<\/codeVoice> that displays text might look like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> MyContentView {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered>, for reason: ApplyReason, with info : ApplyItemContentInfo) {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>If you want to add support for rendering a background view and a selected or highlighted state, you should provide both createReusableBackgroundView<\/codeVoice> and createReusableSelectedBackgroundView<\/codeVoice> methods, and apply the desired content in your apply(to:)<\/codeVoice> method.<\/Para>The ordering of the elements by z-index is as follows: z-index 3) ContentView<\/codeVoice> z-index 2) SelectedBackgroundView<\/codeVoice> (Only if the item supports a selectionStyle<\/codeVoice> and is selected or highlighted.) z-index 1) BackgroundView<\/codeVoice><\/Para><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 40,
         "key.doc.name" : "ItemContent",
         "key.doc.type" : "Class",
         "key.doclength" : 78,
         "key.docoffset" : 10001,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> ItemContent<\/decl.name><\/decl.protocol>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 301,
@@ -32220,12 +32519,12 @@
                 "Note" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-            "key.doc.full_as_xml" : "makeCoordinator(actions:info:)<\/Name>s:10ListableUI11ItemContentP15makeCoordinator7actions4info0F0QzAA0cdF7ActionsCyxG_AA0cdF4InfoCyxGtF<\/USR>func makeCoordinator(actions: CoordinatorActions, info: CoordinatorInfo) -> Coordinator<\/Declaration>Creates a new coordinator with the provided actions and info.<\/Para><\/Abstract>This documentation comment was inherited from ItemContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.doc.full_as_xml" : "makeCoordinator(actions:info:)<\/Name>s:10ListableUI11ItemContentP15makeCoordinator7actions4info0F0QzAA0cdF7ActionsCyxG_AA0cdF4InfoCyxGtF<\/USR>func makeCoordinator(actions: CoordinatorActions, info: CoordinatorInfo) -> Coordinator<\/Declaration>Creates a new coordinator with the provided actions and info.<\/Para><\/Abstract>This documentation comment was inherited from ItemContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 147,
             "key.doc.name" : "makeCoordinator(actions:info:)",
             "key.doc.type" : "Function",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> makeCoordinator<\/decl.name>(actions<\/decl.var.parameter.argument_label>: ItemContentCoordinatorActions<\/ref.class><Self<\/ref.generic_type_param>><\/decl.var.parameter.type><\/decl.var.parameter>, info<\/decl.var.parameter.argument_label>: ItemContentCoordinatorInfo<\/ref.class><Self<\/ref.generic_type_param>><\/decl.var.parameter.type><\/decl.var.parameter>) -> Coordinator<\/ref.associatedtype><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 214,
@@ -32282,14 +32581,14 @@
             "Para" : "The ordering of the elements by z-index is as follows: z-index 3) `ContentView` z-index 2) `SelectedBackgroundView` (Only if the item supports a `selectionStyle` and is selected or highlighted.) z-index 1) `BackgroundView`"
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-        "key.doc.full_as_xml" : "ItemContent<\/Name>s:10ListableUI11ItemContentP<\/USR>public protocol ItemContent<\/Declaration>An ItemContent<\/codeVoice> is a type used to provide the content of an Item<\/codeVoice> in a listable section.<\/Para><\/Abstract>A ItemContent<\/codeVoice> that displays text might look like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> MyContentView {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered>, for reason: ApplyReason, with info : ApplyItemContentInfo) {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>If you want to add support for rendering a background view and a selected or highlighted state, you should provide both createReusableBackgroundView<\/codeVoice> and createReusableSelectedBackgroundView<\/codeVoice> methods, and apply the desired content in your apply(to:)<\/codeVoice> method.<\/Para>The ordering of the elements by z-index is as follows: z-index 3) ContentView<\/codeVoice> z-index 2) SelectedBackgroundView<\/codeVoice> (Only if the item supports a selectionStyle<\/codeVoice> and is selected or highlighted.) z-index 1) BackgroundView<\/codeVoice><\/Para><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+        "key.doc.full_as_xml" : "ItemContent<\/Name>s:10ListableUI11ItemContentP<\/USR>public protocol ItemContent<\/Declaration>An ItemContent<\/codeVoice> is a type used to provide the content of an Item<\/codeVoice> in a listable section.<\/Para><\/Abstract>A ItemContent<\/codeVoice> that displays text might look like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> MyContentView {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered>, for reason: ApplyReason, with info : ApplyItemContentInfo) {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>If you want to add support for rendering a background view and a selected or highlighted state, you should provide both createReusableBackgroundView<\/codeVoice> and createReusableSelectedBackgroundView<\/codeVoice> methods, and apply the desired content in your apply(to:)<\/codeVoice> method.<\/Para>The ordering of the elements by z-index is as follows: z-index 3) ContentView<\/codeVoice> z-index 2) SelectedBackgroundView<\/codeVoice> (Only if the item supports a selectionStyle<\/codeVoice> and is selected or highlighted.) z-index 1) BackgroundView<\/codeVoice><\/Para><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 40,
         "key.doc.name" : "ItemContent",
         "key.doc.type" : "Class",
         "key.doclength" : 67,
         "key.docoffset" : 10390,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> ItemContent<\/decl.name><\/decl.protocol>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 184,
@@ -32316,12 +32615,12 @@
                 "Note" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-            "key.doc.full_as_xml" : "createReusableBackgroundView(frame:)<\/Name>s:10ListableUI11ItemContentP28createReusableBackgroundView5frame0gH0QzSo6CGRectV_tFZ<\/USR>static func createReusableBackgroundView(frame: CGRect) -> BackgroundView<\/Declaration>Create and return a new background view used to render the content’s background.<\/Para><\/Abstract>]]><\/rawHTML>Note]]><\/rawHTML>Do not do configuration in this method that will be changed by your view’s theme or appearance – instead do that work in apply(to:)<\/codeVoice>, so the appearance will be updated if the appearance of content changes.<\/Para>This documentation comment was inherited from ItemContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.doc.full_as_xml" : "createReusableBackgroundView(frame:)<\/Name>s:10ListableUI11ItemContentP28createReusableBackgroundView5frame0gH0QzSo6CGRectV_tFZ<\/USR>static func createReusableBackgroundView(frame: CGRect) -> BackgroundView<\/Declaration>Create and return a new background view used to render the content’s background.<\/Para><\/Abstract>]]><\/rawHTML>Note]]><\/rawHTML>Do not do configuration in this method that will be changed by your view’s theme or appearance – instead do that work in apply(to:)<\/codeVoice>, so the appearance will be updated if the appearance of content changes.<\/Para>This documentation comment was inherited from ItemContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 170,
             "key.doc.name" : "createReusableBackgroundView(frame:)",
             "key.doc.type" : "Function",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
             "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> createReusableBackgroundView<\/decl.name>(frame<\/decl.var.parameter.argument_label>: CGRect<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> BackgroundView<\/ref.associatedtype><\/decl.function.returntype><\/decl.function.method.static>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
             "key.length" : 123,
@@ -32378,14 +32677,14 @@
             "Para" : "The ordering of the elements by z-index is as follows: z-index 3) `ContentView` z-index 2) `SelectedBackgroundView` (Only if the item supports a `selectionStyle` and is selected or highlighted.) z-index 1) `BackgroundView`"
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-        "key.doc.full_as_xml" : "ItemContent<\/Name>s:10ListableUI11ItemContentP<\/USR>public protocol ItemContent<\/Declaration>An ItemContent<\/codeVoice> is a type used to provide the content of an Item<\/codeVoice> in a listable section.<\/Para><\/Abstract>A ItemContent<\/codeVoice> that displays text might look like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> MyContentView {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered>, for reason: ApplyReason, with info : ApplyItemContentInfo) {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>If you want to add support for rendering a background view and a selected or highlighted state, you should provide both createReusableBackgroundView<\/codeVoice> and createReusableSelectedBackgroundView<\/codeVoice> methods, and apply the desired content in your apply(to:)<\/codeVoice> method.<\/Para>The ordering of the elements by z-index is as follows: z-index 3) ContentView<\/codeVoice> z-index 2) SelectedBackgroundView<\/codeVoice> (Only if the item supports a selectionStyle<\/codeVoice> and is selected or highlighted.) z-index 1) BackgroundView<\/codeVoice><\/Para><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+        "key.doc.full_as_xml" : "ItemContent<\/Name>s:10ListableUI11ItemContentP<\/USR>public protocol ItemContent<\/Declaration>An ItemContent<\/codeVoice> is a type used to provide the content of an Item<\/codeVoice> in a listable section.<\/Para><\/Abstract>A ItemContent<\/codeVoice> that displays text might look like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> MyContentView {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered>, for reason: ApplyReason, with info : ApplyItemContentInfo) {]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>If you want to add support for rendering a background view and a selected or highlighted state, you should provide both createReusableBackgroundView<\/codeVoice> and createReusableSelectedBackgroundView<\/codeVoice> methods, and apply the desired content in your apply(to:)<\/codeVoice> method.<\/Para>The ordering of the elements by z-index is as follows: z-index 3) ContentView<\/codeVoice> z-index 2) SelectedBackgroundView<\/codeVoice> (Only if the item supports a selectionStyle<\/codeVoice> and is selected or highlighted.) z-index 1) BackgroundView<\/codeVoice><\/Para><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 40,
         "key.doc.name" : "ItemContent",
         "key.doc.type" : "Class",
         "key.doclength" : 76,
         "key.docoffset" : 10651,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> ItemContent<\/decl.name><\/decl.protocol>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 208,
@@ -32418,12 +32717,12 @@
                 "Note" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-            "key.doc.full_as_xml" : "createReusableSelectedBackgroundView(frame:)<\/Name>s:10ListableUI11ItemContentP36createReusableSelectedBackgroundView5frame0ghI0QzSo6CGRectV_tFZ<\/USR>static func createReusableSelectedBackgroundView(frame: CGRect) -> SelectedBackgroundView<\/Declaration>Create and return a new background view used to render the content’s selected background.<\/Para><\/Abstract>This view is displayed when the content is highlighted or selected.<\/Para>If your BackgroundView<\/codeVoice> and SelectedBackgroundView<\/codeVoice> are the same type, this method is provided automatically by calling createReusableBackgroundView<\/codeVoice>.<\/Para>]]><\/rawHTML>Note]]><\/rawHTML>Do not do configuration in this method that will be changed by your view’s theme or appearance – instead do that work in apply(to:)<\/codeVoice>, so the appearance will be updated if the appearance of content changes.<\/Para>This documentation comment was inherited from ItemContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.doc.full_as_xml" : "createReusableSelectedBackgroundView(frame:)<\/Name>s:10ListableUI11ItemContentP36createReusableSelectedBackgroundView5frame0ghI0QzSo6CGRectV_tFZ<\/USR>static func createReusableSelectedBackgroundView(frame: CGRect) -> SelectedBackgroundView<\/Declaration>Create and return a new background view used to render the content’s selected background.<\/Para><\/Abstract>This view is displayed when the content is highlighted or selected.<\/Para>If your BackgroundView<\/codeVoice> and SelectedBackgroundView<\/codeVoice> are the same type, this method is provided automatically by calling createReusableBackgroundView<\/codeVoice>.<\/Para>]]><\/rawHTML>Note]]><\/rawHTML>Do not do configuration in this method that will be changed by your view’s theme or appearance – instead do that work in apply(to:)<\/codeVoice>, so the appearance will be updated if the appearance of content changes.<\/Para>This documentation comment was inherited from ItemContent<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 195,
             "key.doc.name" : "createReusableSelectedBackgroundView(frame:)",
             "key.doc.type" : "Function",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
             "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> createReusableSelectedBackgroundView<\/decl.name>(frame<\/decl.var.parameter.argument_label>: CGRect<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> SelectedBackgroundView<\/ref.associatedtype><\/decl.function.returntype><\/decl.function.method.static>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
             "key.length" : 147,
@@ -32471,8 +32770,8 @@
             "Para" : "If you do so, you’re completely responsible for creating and laying out the actions, as well as updating the layout based on the swipe state."
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
-        "key.doc.full_as_xml" : "ItemContentSwipeActionsView<\/Name>s:10ListableUI27ItemContentSwipeActionsViewP<\/USR>public protocol ItemContentSwipeActionsView : UIView<\/Declaration>Conform to this protocol to implement a completely custom swipe action view.<\/Para><\/Abstract>If you do so, you’re completely responsible for creating and laying out the actions, as well as updating the layout based on the swipe state.<\/Para><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
+        "key.doc.full_as_xml" : "ItemContentSwipeActionsView<\/Name>s:10ListableUI27ItemContentSwipeActionsViewP<\/USR>public protocol ItemContentSwipeActionsView : UIView<\/Declaration>Conform to this protocol to implement a completely custom swipe action view.<\/Para><\/Abstract>If you do so, you’re completely responsible for creating and laying out the actions, as well as updating the layout based on the swipe state.<\/Para><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 311,
         "key.doc.name" : "ItemContentSwipeActionsView",
         "key.doc.type" : "Class",
@@ -32485,7 +32784,7 @@
             "key.offset" : 11225
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> ItemContentSwipeActionsView<\/decl.name> : UIView<\/ref.class><\/decl.protocol>",
         "key.inheritedtypes" : [
           {
@@ -32507,7 +32806,7 @@
             "key.annotated_decl" : "var swipeActionsWidth: CGFloat<\/Type> { get }<\/Declaration>",
             "key.bodylength" : 5,
             "key.bodyoffset" : 11271,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> swipeActionsWidth<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 38,
@@ -32525,7 +32824,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
             "key.annotated_decl" : "init(didPerformAction: @escaping SwipeAction<\/Type>.CompletionHandler<\/Type>)<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
             "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(didPerformAction<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> SwipeAction<\/ref.struct>.CompletionHandler<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 63,
@@ -32557,7 +32856,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
             "key.annotated_decl" : "func apply(actions: SwipeActionsConfiguration<\/Type>)<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> apply<\/decl.name>(actions<\/decl.var.parameter.argument_label>: SwipeActionsConfiguration<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 46,
@@ -32583,7 +32882,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
             "key.annotated_decl" : "func apply(state: SwipeActionState<\/Type>)<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContent.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> apply<\/decl.name>(state<\/decl.var.parameter.argument_label>: SwipeActionState<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 35,
@@ -32614,7 +32913,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 7040,
     "key.offset" : 0,
@@ -32651,8 +32950,8 @@
             "CodeListing" : ""
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
-        "key.doc.full_as_xml" : "ItemContentCoordinator<\/Name>s:10ListableUI22ItemContentCoordinatorP<\/USR>public protocol ItemContentCoordinator : AnyObject<\/Declaration>A type which lets you interactively manage the contents of an Item<\/codeVoice> or ItemContent<\/codeVoice> within a list.<\/Para><\/Abstract>Eg, you might create a ItemContentCoordinator<\/codeVoice> which listens to a notification, and then updates a field on the Item<\/codeVoice> or ItemContent<\/codeVoice> in response to this notification.<\/Para>ItemContentCoordinator<\/codeVoice> is created when an item is being prepared to be presented on screen for the first time, and lives for as long as the item is present in the list. If you need to pull in any changes to the item due to time passing, you can update the item within the wasCreated<\/codeVoice>callback.<\/Para>There are default implementations of all ItemContentCoordinator<\/codeVoice> methods. You only need to provide implementations for the methods relevant to you.<\/Para>]]><\/rawHTML>Example]]><\/rawHTML>A simple ItemContentCoordinator<\/codeVoice> might look like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+        "key.doc.full_as_xml" : "ItemContentCoordinator<\/Name>s:10ListableUI22ItemContentCoordinatorP<\/USR>public protocol ItemContentCoordinator : AnyObject<\/Declaration>A type which lets you interactively manage the contents of an Item<\/codeVoice> or ItemContent<\/codeVoice> within a list.<\/Para><\/Abstract>Eg, you might create a ItemContentCoordinator<\/codeVoice> which listens to a notification, and then updates a field on the Item<\/codeVoice> or ItemContent<\/codeVoice> in response to this notification.<\/Para>ItemContentCoordinator<\/codeVoice> is created when an item is being prepared to be presented on screen for the first time, and lives for as long as the item is present in the list. If you need to pull in any changes to the item due to time passing, you can update the item within the wasCreated<\/codeVoice>callback.<\/Para>There are default implementations of all ItemContentCoordinator<\/codeVoice> methods. You only need to provide implementations for the methods relevant to you.<\/Para>]]><\/rawHTML>Example]]><\/rawHTML>A simple ItemContentCoordinator<\/codeVoice> might look like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 55,
         "key.doc.name" : "ItemContentCoordinator",
         "key.doc.type" : "Class",
@@ -32665,7 +32964,7 @@
             "key.offset" : 1785
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> ItemContentCoordinator<\/decl.name> : AnyObject<\/decl.protocol>",
         "key.inheritedtypes" : [
           {
@@ -32688,14 +32987,14 @@
             "key.doc.column" : 20,
             "key.doc.comment" : "The type of `ItemContent` associated with this coordinator.",
             "key.doc.declaration" : "associatedtype ItemContentType : ListableUI.ItemContent",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
-            "key.doc.full_as_xml" : "ItemContentType<\/Name>s:10ListableUI22ItemContentCoordinatorP0cD4TypeQa<\/USR>associatedtype ItemContentType : ListableUI.ItemContent<\/Declaration>The type of ItemContent<\/codeVoice> associated with this coordinator.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.doc.full_as_xml" : "ItemContentType<\/Name>s:10ListableUI22ItemContentCoordinatorP0cD4TypeQa<\/USR>associatedtype ItemContentType : ListableUI.ItemContent<\/Declaration>The type of ItemContent<\/codeVoice> associated with this coordinator.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 58,
             "key.doc.name" : "ItemContentType",
             "key.doc.type" : "Other",
             "key.doclength" : 64,
             "key.docoffset" : 1801,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
             "key.fully_annotated_decl" : "associatedtype<\/syntaxtype.keyword> ItemContentType<\/decl.name> : ItemContent<\/ref.protocol><\/decl.associatedtype>",
             "key.kind" : "source.lang.swift.decl.associatedtype",
             "key.length" : 44,
@@ -32726,14 +33025,14 @@
             "key.doc.column" : 9,
             "key.doc.comment" : "The available actions you can perform on the coordinated `Item`. Eg, updating it to a new value.",
             "key.doc.declaration" : "var actions: ItemContentType.CoordinatorActions { get }",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
-            "key.doc.full_as_xml" : "actions<\/Name>s:10ListableUI22ItemContentCoordinatorP7actionsAA0cdE7ActionsCy0cD4TypeQzGvp<\/USR>var actions: ItemContentType.CoordinatorActions { get }<\/Declaration>The available actions you can perform on the coordinated Item<\/codeVoice>. Eg, updating it to a new value.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.doc.full_as_xml" : "actions<\/Name>s:10ListableUI22ItemContentCoordinatorP7actionsAA0cdE7ActionsCy0cD4TypeQzGvp<\/USR>var actions: ItemContentType.CoordinatorActions { get }<\/Declaration>The available actions you can perform on the coordinated Item<\/codeVoice>. Eg, updating it to a new value.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 63,
             "key.doc.name" : "actions",
             "key.doc.type" : "Other",
             "key.doclength" : 101,
             "key.docoffset" : 1956,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> actions<\/decl.name>: ItemContentType<\/ref.associatedtype>.CoordinatorActions<\/ref.typealias><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 56,
@@ -32756,14 +33055,14 @@
             "key.doc.column" : 9,
             "key.doc.comment" : "Info about the coordinated `Item`, such as its original and current value.",
             "key.doc.declaration" : "var info: ItemContentType.CoordinatorInfo { get }",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
-            "key.doc.full_as_xml" : "info<\/Name>s:10ListableUI22ItemContentCoordinatorP4infoAA0cdE4InfoCy0cD4TypeQzGvp<\/USR>var info: ItemContentType.CoordinatorInfo { get }<\/Declaration>Info about the coordinated Item<\/codeVoice>, such as its original and current value.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.doc.full_as_xml" : "info<\/Name>s:10ListableUI22ItemContentCoordinatorP4infoAA0cdE4InfoCy0cD4TypeQzGvp<\/USR>var info: ItemContentType.CoordinatorInfo { get }<\/Declaration>Info about the coordinated Item<\/codeVoice>, such as its original and current value.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 66,
             "key.doc.name" : "info",
             "key.doc.type" : "Other",
             "key.doclength" : 79,
             "key.docoffset" : 2127,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> info<\/decl.name>: ItemContentType<\/ref.associatedtype>.CoordinatorInfo<\/ref.typealias><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 50,
@@ -32792,14 +33091,14 @@
             "key.doc.column" : 10,
             "key.doc.comment" : "Invoked on the coordinator when it is first created and configured.",
             "key.doc.declaration" : "func wasInserted(_ info: Item.OnInsert)",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
-            "key.doc.full_as_xml" : "wasInserted(_:)<\/Name>s:10ListableUI22ItemContentCoordinatorP11wasInsertedyyAA0C0V8OnInsertVy0cD4TypeQz_GF<\/USR>func wasInserted(_ info: Item<ItemContentType>.OnInsert)<\/Declaration>Invoked on the coordinator when it is first created and configured.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.doc.full_as_xml" : "wasInserted(_:)<\/Name>s:10ListableUI22ItemContentCoordinatorP11wasInsertedyyAA0C0V8OnInsertVy0cD4TypeQz_GF<\/USR>func wasInserted(_ info: Item<ItemContentType>.OnInsert)<\/Declaration>Invoked on the coordinator when it is first created and configured.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 71,
             "key.doc.name" : "wasInserted(_:)",
             "key.doc.type" : "Function",
             "key.doclength" : 72,
             "key.docoffset" : 2307,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> wasInserted<\/decl.name>(_<\/decl.var.parameter.argument_label> info<\/decl.var.parameter.name>: Item<\/ref.struct><ItemContentType<\/ref.associatedtype>>.OnInsert<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 57,
@@ -32833,14 +33132,14 @@
                 "Para" : "Not invoked during deallocation of a list."
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
-            "key.doc.full_as_xml" : "wasRemoved(_:)<\/Name>s:10ListableUI22ItemContentCoordinatorP10wasRemovedyyAA0C0V8OnRemoveVy0cD4TypeQz_GF<\/USR>func wasRemoved(_ info: Item<ItemContentType>.OnRemove)<\/Declaration>Invoked on the coordinator when its owned item is removed from the list due to the item, or its entire section, being removed from the list.<\/Para><\/Abstract>Not invoked during deallocation of a list.<\/Para><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.doc.full_as_xml" : "wasRemoved(_:)<\/Name>s:10ListableUI22ItemContentCoordinatorP10wasRemovedyyAA0C0V8OnRemoveVy0cD4TypeQz_GF<\/USR>func wasRemoved(_ info: Item<ItemContentType>.OnRemove)<\/Declaration>Invoked on the coordinator when its owned item is removed from the list due to the item, or its entire section, being removed from the list.<\/Para><\/Abstract>Not invoked during deallocation of a list.<\/Para><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 77,
             "key.doc.name" : "wasRemoved(_:)",
             "key.doc.type" : "Function",
             "key.doclength" : 212,
             "key.docoffset" : 2450,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> wasRemoved<\/decl.name>(_<\/decl.var.parameter.argument_label> info<\/decl.var.parameter.name>: Item<\/ref.struct><ItemContentType<\/ref.associatedtype>>.OnRemove<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 56,
@@ -32874,14 +33173,14 @@
                 "Para" : "Not invoked when an item is manually re-ordered by a user."
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
-            "key.doc.full_as_xml" : "wasMoved(_:)<\/Name>s:10ListableUI22ItemContentCoordinatorP8wasMovedyyAA0C0V6OnMoveVy0cD4TypeQz_GF<\/USR>func wasMoved(_ info: Item<ItemContentType>.OnMove)<\/Declaration>Invoked on the coordinator when its owned item is moved inside a list due to its order changing.<\/Para><\/Abstract>Not invoked when an item is manually re-ordered by a user.<\/Para><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.doc.full_as_xml" : "wasMoved(_:)<\/Name>s:10ListableUI22ItemContentCoordinatorP8wasMovedyyAA0C0V6OnMoveVy0cD4TypeQz_GF<\/USR>func wasMoved(_ info: Item<ItemContentType>.OnMove)<\/Declaration>Invoked on the coordinator when its owned item is moved inside a list due to its order changing.<\/Para><\/Abstract>Not invoked when an item is manually re-ordered by a user.<\/Para><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 83,
             "key.doc.name" : "wasMoved(_:)",
             "key.doc.type" : "Function",
             "key.doclength" : 184,
             "key.docoffset" : 2732,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> wasMoved<\/decl.name>(_<\/decl.var.parameter.argument_label> info<\/decl.var.parameter.name>: Item<\/ref.struct><ItemContentType<\/ref.associatedtype>>.OnMove<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 52,
@@ -32910,14 +33209,14 @@
             "key.doc.column" : 10,
             "key.doc.comment" : "Invoked on the coordinator when an external update is pushed onto the owned `Item`.\nThis happens when the developer updates the content of the list, and the item is\nreported as changed via its `isEquivalent(to:)` method.",
             "key.doc.declaration" : "func wasUpdated(_ info: Item.OnUpdate)",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
-            "key.doc.full_as_xml" : "wasUpdated(_:)<\/Name>s:10ListableUI22ItemContentCoordinatorP10wasUpdatedyyAA0C0V8OnUpdateVy0cD4TypeQz_GF<\/USR>func wasUpdated(_ info: Item<ItemContentType>.OnUpdate)<\/Declaration>Invoked on the coordinator when an external update is pushed onto the owned Item<\/codeVoice>. This happens when the developer updates the content of the list, and the item is reported as changed via its isEquivalent(to:)<\/codeVoice> method.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.doc.full_as_xml" : "wasUpdated(_:)<\/Name>s:10ListableUI22ItemContentCoordinatorP10wasUpdatedyyAA0C0V8OnUpdateVy0cD4TypeQz_GF<\/USR>func wasUpdated(_ info: Item<ItemContentType>.OnUpdate)<\/Declaration>Invoked on the coordinator when an external update is pushed onto the owned Item<\/codeVoice>. This happens when the developer updates the content of the list, and the item is reported as changed via its isEquivalent(to:)<\/codeVoice> method.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 88,
             "key.doc.name" : "wasUpdated(_:)",
             "key.doc.type" : "Function",
             "key.doclength" : 241,
             "key.docoffset" : 2982,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> wasUpdated<\/decl.name>(_<\/decl.var.parameter.argument_label> info<\/decl.var.parameter.name>: Item<\/ref.struct><ItemContentType<\/ref.associatedtype>>.OnUpdate<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 56,
@@ -32954,14 +33253,14 @@
             "key.doc.column" : 15,
             "key.doc.comment" : "The view type associated with the item.",
             "key.doc.declaration" : "typealias ListableUI.ItemContentCoordinator.View = ItemContentType.ContentView",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
-            "key.doc.full_as_xml" : "View<\/Name>s:10ListableUI22ItemContentCoordinatorP4Viewa<\/USR>typealias ListableUI.ItemContentCoordinator.View = ItemContentType.ContentView<\/Declaration>The view type associated with the item.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.doc.full_as_xml" : "View<\/Name>s:10ListableUI22ItemContentCoordinatorP4Viewa<\/USR>typealias ListableUI.ItemContentCoordinator.View = ItemContentType.ContentView<\/Declaration>The view type associated with the item.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 93,
             "key.doc.name" : "View",
             "key.doc.type" : "Other",
             "key.doclength" : 44,
             "key.docoffset" : 3339,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
             "key.fully_annotated_decl" : "typealias<\/syntaxtype.keyword> ItemContentCoordinator<\/ref.protocol>.View<\/decl.name> = ItemContentType<\/ref.associatedtype>.ContentView<\/ref.associatedtype><\/decl.typealias>",
             "key.kind" : "source.lang.swift.decl.typealias",
             "key.length" : 44,
@@ -32984,14 +33283,14 @@
             "key.doc.column" : 9,
             "key.doc.comment" : "The view, if any, currently used to display the item.",
             "key.doc.declaration" : "var view: View? { get set }",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
-            "key.doc.full_as_xml" : "view<\/Name>s:10ListableUI22ItemContentCoordinatorP4view0cD4Type_0D4ViewQZSgvp<\/USR>var view: View? { get set }<\/Declaration>The view, if any, currently used to display the item.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.doc.full_as_xml" : "view<\/Name>s:10ListableUI22ItemContentCoordinatorP4view0cD4Type_0D4ViewQZSgvp<\/USR>var view: View? { get set }<\/Declaration>The view, if any, currently used to display the item.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 96,
             "key.doc.name" : "view",
             "key.doc.type" : "Other",
             "key.doclength" : 58,
             "key.docoffset" : 3441,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> view<\/decl.name>: View<\/ref.typealias>?<\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 28,
@@ -33013,14 +33312,14 @@
             "key.doc.column" : 10,
             "key.doc.comment" : "Invoked when the list is about to begin displaying the item with the given view.",
             "key.doc.declaration" : "func willDisplay(with view: View)",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
-            "key.doc.full_as_xml" : "willDisplay(with:)<\/Name>s:10ListableUI22ItemContentCoordinatorP11willDisplay4withy0cD4Type_0D4ViewQZ_tF<\/USR>func willDisplay(with view: View)<\/Declaration>Invoked when the list is about to begin displaying the item with the given view.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.doc.full_as_xml" : "willDisplay(with:)<\/Name>s:10ListableUI22ItemContentCoordinatorP11willDisplay4withy0cD4Type_0D4ViewQZ_tF<\/USR>func willDisplay(with view: View)<\/Declaration>Invoked when the list is about to begin displaying the item with the given view.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 99,
             "key.doc.name" : "willDisplay(with:)",
             "key.doc.type" : "Function",
             "key.doclength" : 85,
             "key.docoffset" : 3537,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> willDisplay<\/decl.name>(with<\/decl.var.parameter.argument_label> view<\/decl.var.parameter.name>: View<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 34,
@@ -33049,14 +33348,14 @@
             "key.doc.column" : 10,
             "key.doc.comment" : "Invoked when the list is about to complete displaying the item with the given view.",
             "key.doc.declaration" : "func didEndDisplay(with view: View)",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
-            "key.doc.full_as_xml" : "didEndDisplay(with:)<\/Name>s:10ListableUI22ItemContentCoordinatorP13didEndDisplay4withy0cD4Type_0D4ViewQZ_tF<\/USR>func didEndDisplay(with view: View)<\/Declaration>Invoked when the list is about to complete displaying the item with the given view.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.doc.full_as_xml" : "didEndDisplay(with:)<\/Name>s:10ListableUI22ItemContentCoordinatorP13didEndDisplay4withy0cD4Type_0D4ViewQZ_tF<\/USR>func didEndDisplay(with view: View)<\/Declaration>Invoked when the list is about to complete displaying the item with the given view.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 102,
             "key.doc.name" : "didEndDisplay(with:)",
             "key.doc.type" : "Function",
             "key.doclength" : 88,
             "key.docoffset" : 3666,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> didEndDisplay<\/decl.name>(with<\/decl.var.parameter.argument_label> view<\/decl.var.parameter.name>: View<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 36,
@@ -33093,14 +33392,14 @@
             "key.doc.column" : 10,
             "key.doc.comment" : "Invoked when the item is selected, via either user interaction or the `selectionStyle`.",
             "key.doc.declaration" : "func wasSelected()",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
-            "key.doc.full_as_xml" : "wasSelected()<\/Name>s:10ListableUI22ItemContentCoordinatorP11wasSelectedyyF<\/USR>func wasSelected()<\/Declaration>Invoked when the item is selected, via either user interaction or the selectionStyle<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.doc.full_as_xml" : "wasSelected()<\/Name>s:10ListableUI22ItemContentCoordinatorP11wasSelectedyyF<\/USR>func wasSelected()<\/Declaration>Invoked when the item is selected, via either user interaction or the selectionStyle<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 107,
             "key.doc.name" : "wasSelected()",
             "key.doc.type" : "Function",
             "key.doclength" : 92,
             "key.docoffset" : 3854,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> wasSelected<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 18,
@@ -33126,14 +33425,14 @@
             "key.doc.column" : 10,
             "key.doc.comment" : "Invoked when the item is deselected, via either user interaction or the `selectionStyle`.",
             "key.doc.declaration" : "func wasDeselected()",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
-            "key.doc.full_as_xml" : "wasDeselected()<\/Name>s:10ListableUI22ItemContentCoordinatorP13wasDeselectedyyF<\/USR>func wasDeselected()<\/Declaration>Invoked when the item is deselected, via either user interaction or the selectionStyle<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.doc.full_as_xml" : "wasDeselected()<\/Name>s:10ListableUI22ItemContentCoordinatorP13wasDeselectedyyF<\/USR>func wasDeselected()<\/Declaration>Invoked when the item is deselected, via either user interaction or the selectionStyle<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 110,
             "key.doc.name" : "wasDeselected()",
             "key.doc.type" : "Function",
             "key.doclength" : 94,
             "key.docoffset" : 3978,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> wasDeselected<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 20,
@@ -33189,12 +33488,12 @@
             "CodeListing" : ""
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
-        "key.doc.full_as_xml" : "ItemContentCoordinator<\/Name>s:10ListableUI22ItemContentCoordinatorP<\/USR>public protocol ItemContentCoordinator : AnyObject<\/Declaration>A type which lets you interactively manage the contents of an Item<\/codeVoice> or ItemContent<\/codeVoice> within a list.<\/Para><\/Abstract>Eg, you might create a ItemContentCoordinator<\/codeVoice> which listens to a notification, and then updates a field on the Item<\/codeVoice> or ItemContent<\/codeVoice> in response to this notification.<\/Para>ItemContentCoordinator<\/codeVoice> is created when an item is being prepared to be presented on screen for the first time, and lives for as long as the item is present in the list. If you need to pull in any changes to the item due to time passing, you can update the item within the wasCreated<\/codeVoice>callback.<\/Para>There are default implementations of all ItemContentCoordinator<\/codeVoice> methods. You only need to provide implementations for the methods relevant to you.<\/Para>]]><\/rawHTML>Example]]><\/rawHTML>A simple ItemContentCoordinator<\/codeVoice> might look like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+        "key.doc.full_as_xml" : "ItemContentCoordinator<\/Name>s:10ListableUI22ItemContentCoordinatorP<\/USR>public protocol ItemContentCoordinator : AnyObject<\/Declaration>A type which lets you interactively manage the contents of an Item<\/codeVoice> or ItemContent<\/codeVoice> within a list.<\/Para><\/Abstract>Eg, you might create a ItemContentCoordinator<\/codeVoice> which listens to a notification, and then updates a field on the Item<\/codeVoice> or ItemContent<\/codeVoice> in response to this notification.<\/Para>ItemContentCoordinator<\/codeVoice> is created when an item is being prepared to be presented on screen for the first time, and lives for as long as the item is present in the list. If you need to pull in any changes to the item due to time passing, you can update the item within the wasCreated<\/codeVoice>callback.<\/Para>There are default implementations of all ItemContentCoordinator<\/codeVoice> methods. You only need to provide implementations for the methods relevant to you.<\/Para>]]><\/rawHTML>Example]]><\/rawHTML>A simple ItemContentCoordinator<\/codeVoice> might look like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 55,
         "key.doc.name" : "ItemContentCoordinator",
         "key.doc.type" : "Class",
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> ItemContentCoordinator<\/decl.name> : AnyObject<\/decl.protocol>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 590,
@@ -33226,12 +33525,12 @@
                 "Note" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
-            "key.doc.full_as_xml" : "wasInserted(_:)<\/Name>s:10ListableUI22ItemContentCoordinatorP11wasInsertedyyAA0C0V8OnInsertVy0cD4TypeQz_GF<\/USR>func wasInserted(_ info: Item<ItemContentType>.OnInsert)<\/Declaration>Invoked on the coordinator when it is first created and configured.<\/Para><\/Abstract>This documentation comment was inherited from ItemContentCoordinator<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.doc.full_as_xml" : "wasInserted(_:)<\/Name>s:10ListableUI22ItemContentCoordinatorP11wasInsertedyyAA0C0V8OnInsertVy0cD4TypeQz_GF<\/USR>func wasInserted(_ info: Item<ItemContentType>.OnInsert)<\/Declaration>Invoked on the coordinator when it is first created and configured.<\/Para><\/Abstract>This documentation comment was inherited from ItemContentCoordinator<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 71,
             "key.doc.name" : "wasInserted(_:)",
             "key.doc.type" : "Function",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> wasInserted<\/decl.name>(_<\/decl.var.parameter.argument_label> info<\/decl.var.parameter.name>: Item<\/ref.struct><ItemContentType<\/ref.associatedtype>>.OnInsert<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 60,
@@ -33269,12 +33568,12 @@
                 "Note" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
-            "key.doc.full_as_xml" : "wasRemoved(_:)<\/Name>s:10ListableUI22ItemContentCoordinatorP10wasRemovedyyAA0C0V8OnRemoveVy0cD4TypeQz_GF<\/USR>func wasRemoved(_ info: Item<ItemContentType>.OnRemove)<\/Declaration>Invoked on the coordinator when its owned item is removed from the list due to the item, or its entire section, being removed from the list.<\/Para><\/Abstract>Not invoked during deallocation of a list.<\/Para>This documentation comment was inherited from ItemContentCoordinator<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.doc.full_as_xml" : "wasRemoved(_:)<\/Name>s:10ListableUI22ItemContentCoordinatorP10wasRemovedyyAA0C0V8OnRemoveVy0cD4TypeQz_GF<\/USR>func wasRemoved(_ info: Item<ItemContentType>.OnRemove)<\/Declaration>Invoked on the coordinator when its owned item is removed from the list due to the item, or its entire section, being removed from the list.<\/Para><\/Abstract>Not invoked during deallocation of a list.<\/Para>This documentation comment was inherited from ItemContentCoordinator<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 77,
             "key.doc.name" : "wasRemoved(_:)",
             "key.doc.type" : "Function",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> wasRemoved<\/decl.name>(_<\/decl.var.parameter.argument_label> info<\/decl.var.parameter.name>: Item<\/ref.struct><ItemContentType<\/ref.associatedtype>>.OnRemove<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 59,
@@ -33312,12 +33611,12 @@
                 "Note" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
-            "key.doc.full_as_xml" : "wasMoved(_:)<\/Name>s:10ListableUI22ItemContentCoordinatorP8wasMovedyyAA0C0V6OnMoveVy0cD4TypeQz_GF<\/USR>func wasMoved(_ info: Item<ItemContentType>.OnMove)<\/Declaration>Invoked on the coordinator when its owned item is moved inside a list due to its order changing.<\/Para><\/Abstract>Not invoked when an item is manually re-ordered by a user.<\/Para>This documentation comment was inherited from ItemContentCoordinator<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.doc.full_as_xml" : "wasMoved(_:)<\/Name>s:10ListableUI22ItemContentCoordinatorP8wasMovedyyAA0C0V6OnMoveVy0cD4TypeQz_GF<\/USR>func wasMoved(_ info: Item<ItemContentType>.OnMove)<\/Declaration>Invoked on the coordinator when its owned item is moved inside a list due to its order changing.<\/Para><\/Abstract>Not invoked when an item is manually re-ordered by a user.<\/Para>This documentation comment was inherited from ItemContentCoordinator<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 83,
             "key.doc.name" : "wasMoved(_:)",
             "key.doc.type" : "Function",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> wasMoved<\/decl.name>(_<\/decl.var.parameter.argument_label> info<\/decl.var.parameter.name>: Item<\/ref.struct><ItemContentType<\/ref.associatedtype>>.OnMove<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 55,
@@ -33352,12 +33651,12 @@
                 "Note" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
-            "key.doc.full_as_xml" : "wasUpdated(_:)<\/Name>s:10ListableUI22ItemContentCoordinatorP10wasUpdatedyyAA0C0V8OnUpdateVy0cD4TypeQz_GF<\/USR>func wasUpdated(_ info: Item<ItemContentType>.OnUpdate)<\/Declaration>Invoked on the coordinator when an external update is pushed onto the owned Item<\/codeVoice>. This happens when the developer updates the content of the list, and the item is reported as changed via its isEquivalent(to:)<\/codeVoice> method.<\/Para><\/Abstract>This documentation comment was inherited from ItemContentCoordinator<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.doc.full_as_xml" : "wasUpdated(_:)<\/Name>s:10ListableUI22ItemContentCoordinatorP10wasUpdatedyyAA0C0V8OnUpdateVy0cD4TypeQz_GF<\/USR>func wasUpdated(_ info: Item<ItemContentType>.OnUpdate)<\/Declaration>Invoked on the coordinator when an external update is pushed onto the owned Item<\/codeVoice>. This happens when the developer updates the content of the list, and the item is reported as changed via its isEquivalent(to:)<\/codeVoice> method.<\/Para><\/Abstract>This documentation comment was inherited from ItemContentCoordinator<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 88,
             "key.doc.name" : "wasUpdated(_:)",
             "key.doc.type" : "Function",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> wasUpdated<\/decl.name>(_<\/decl.var.parameter.argument_label> info<\/decl.var.parameter.name>: Item<\/ref.struct><ItemContentType<\/ref.associatedtype>>.OnUpdate<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 59,
@@ -33400,12 +33699,12 @@
                 "Note" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
-            "key.doc.full_as_xml" : "willDisplay(with:)<\/Name>s:10ListableUI22ItemContentCoordinatorP11willDisplay4withy0cD4Type_0D4ViewQZ_tF<\/USR>func willDisplay(with view: View)<\/Declaration>Invoked when the list is about to begin displaying the item with the given view.<\/Para><\/Abstract>This documentation comment was inherited from ItemContentCoordinator<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.doc.full_as_xml" : "willDisplay(with:)<\/Name>s:10ListableUI22ItemContentCoordinatorP11willDisplay4withy0cD4Type_0D4ViewQZ_tF<\/USR>func willDisplay(with view: View)<\/Declaration>Invoked when the list is about to begin displaying the item with the given view.<\/Para><\/Abstract>This documentation comment was inherited from ItemContentCoordinator<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 99,
             "key.doc.name" : "willDisplay(with:)",
             "key.doc.type" : "Function",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> willDisplay<\/decl.name>(with<\/decl.var.parameter.argument_label> view<\/decl.var.parameter.name>: View<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 37,
@@ -33440,12 +33739,12 @@
                 "Note" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
-            "key.doc.full_as_xml" : "didEndDisplay(with:)<\/Name>s:10ListableUI22ItemContentCoordinatorP13didEndDisplay4withy0cD4Type_0D4ViewQZ_tF<\/USR>func didEndDisplay(with view: View)<\/Declaration>Invoked when the list is about to complete displaying the item with the given view.<\/Para><\/Abstract>This documentation comment was inherited from ItemContentCoordinator<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.doc.full_as_xml" : "didEndDisplay(with:)<\/Name>s:10ListableUI22ItemContentCoordinatorP13didEndDisplay4withy0cD4Type_0D4ViewQZ_tF<\/USR>func didEndDisplay(with view: View)<\/Declaration>Invoked when the list is about to complete displaying the item with the given view.<\/Para><\/Abstract>This documentation comment was inherited from ItemContentCoordinator<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 102,
             "key.doc.name" : "didEndDisplay(with:)",
             "key.doc.type" : "Function",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> didEndDisplay<\/decl.name>(with<\/decl.var.parameter.argument_label> view<\/decl.var.parameter.name>: View<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 39,
@@ -33488,12 +33787,12 @@
                 "Note" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
-            "key.doc.full_as_xml" : "wasSelected()<\/Name>s:10ListableUI22ItemContentCoordinatorP11wasSelectedyyF<\/USR>func wasSelected()<\/Declaration>Invoked when the item is selected, via either user interaction or the selectionStyle<\/codeVoice>.<\/Para><\/Abstract>This documentation comment was inherited from ItemContentCoordinator<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.doc.full_as_xml" : "wasSelected()<\/Name>s:10ListableUI22ItemContentCoordinatorP11wasSelectedyyF<\/USR>func wasSelected()<\/Declaration>Invoked when the item is selected, via either user interaction or the selectionStyle<\/codeVoice>.<\/Para><\/Abstract>This documentation comment was inherited from ItemContentCoordinator<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 107,
             "key.doc.name" : "wasSelected()",
             "key.doc.type" : "Function",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> wasSelected<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 21,
@@ -33525,12 +33824,12 @@
                 "Note" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
-            "key.doc.full_as_xml" : "wasDeselected()<\/Name>s:10ListableUI22ItemContentCoordinatorP13wasDeselectedyyF<\/USR>func wasDeselected()<\/Declaration>Invoked when the item is deselected, via either user interaction or the selectionStyle<\/codeVoice>.<\/Para><\/Abstract>This documentation comment was inherited from ItemContentCoordinator<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.doc.full_as_xml" : "wasDeselected()<\/Name>s:10ListableUI22ItemContentCoordinatorP13wasDeselectedyyF<\/USR>func wasDeselected()<\/Declaration>Invoked when the item is deselected, via either user interaction or the selectionStyle<\/codeVoice>.<\/Para><\/Abstract>This documentation comment was inherited from ItemContentCoordinator<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 110,
             "key.doc.name" : "wasDeselected()",
             "key.doc.type" : "Function",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> wasDeselected<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 23,
@@ -33575,14 +33874,14 @@
         "key.doc.column" : 20,
         "key.doc.comment" : "The available actions you can perform as a coordinator, which are reported back to the list to manage the item.",
         "key.doc.declaration" : "public final class ItemContentCoordinatorActions where Content : ListableUI.ItemContent",
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
-        "key.doc.full_as_xml" : "ItemContentCoordinatorActions<\/Name>s:10ListableUI29ItemContentCoordinatorActionsC<\/USR>public final class ItemContentCoordinatorActions<Content> where Content : ListableUI.ItemContent<\/Declaration>The available actions you can perform as a coordinator, which are reported back to the list to manage the item.<\/Para><\/Abstract><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+        "key.doc.full_as_xml" : "ItemContentCoordinatorActions<\/Name>s:10ListableUI29ItemContentCoordinatorActionsC<\/USR>public final class ItemContentCoordinatorActions<Content> where Content : ListableUI.ItemContent<\/Declaration>The available actions you can perform as a coordinator, which are reported back to the list to manage the item.<\/Para><\/Abstract><\/CommentParts><\/Class>",
         "key.doc.line" : 141,
         "key.doc.name" : "ItemContentCoordinatorActions",
         "key.doc.type" : "Class",
         "key.doclength" : 116,
         "key.docoffset" : 4701,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> ItemContentCoordinatorActions<\/decl.name><Content<\/decl.generic_type_param.name><\/decl.generic_type_param>> where<\/syntaxtype.keyword> Content : ItemContent<\/ref.protocol><\/decl.generic_type_requirement><\/decl.class>",
         "key.kind" : "source.lang.swift.decl.class",
         "key.length" : 834,
@@ -33603,7 +33902,7 @@
                 "key.offset" : 4874
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
             "key.fully_annotated_decl" : "Content<\/decl.generic_type_param.name> : ItemContent<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
             "key.inheritedtypes" : [
               {
@@ -33633,7 +33932,7 @@
                 "key.offset" : 4893
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> let<\/syntaxtype.keyword> currentProvider<\/decl.name>: () -> Item<\/ref.struct><Content<\/ref.generic_type_param>><\/decl.function.returntype><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 41,
@@ -33651,7 +33950,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "var updateCallback: (Item<\/Type><Content<\/Type>>, Bool<\/Type>) -> ()<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> updateCallback<\/decl.name>: (Item<\/ref.struct><Content<\/ref.generic_type_param>><\/decl.var.parameter.type><\/decl.var.parameter>, Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 48,
@@ -33672,7 +33971,7 @@
             "key.annotated_decl" : "init(current: @escaping () -> Item<\/Type><Content<\/Type>>, update: @escaping (Item<\/Type><Content<\/Type>>, Bool<\/Type>) -> ())<\/Declaration>",
             "key.bodylength" : 81,
             "key.bodyoffset" : 5104,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
             "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(current<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> () -> Item<\/ref.struct><Content<\/ref.generic_type_param>><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>, update<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> (Item<\/ref.struct><Content<\/ref.generic_type_param>><\/decl.var.parameter.type><\/decl.var.parameter>, Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 181,
@@ -33705,14 +34004,14 @@
             "key.doc.column" : 17,
             "key.doc.comment" : "Updates the item to the provided item.",
             "key.doc.declaration" : "public func update(animated: Bool = false, _ new: Item)",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
-            "key.doc.full_as_xml" : "update(animated:_:)<\/Name>s:10ListableUI29ItemContentCoordinatorActionsC6update8animated_ySb_AA0C0VyxGtF<\/USR>public func update(animated: Bool = false, _ new: Item<Content>)<\/Declaration>Updates the item to the provided item.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.doc.full_as_xml" : "update(animated:_:)<\/Name>s:10ListableUI29ItemContentCoordinatorActionsC6update8animated_ySb_AA0C0VyxGtF<\/USR>public func update(animated: Bool = false, _ new: Item<Content>)<\/Declaration>Updates the item to the provided item.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 153,
             "key.doc.name" : "update(animated:_:)",
             "key.doc.type" : "Function",
             "key.doclength" : 43,
             "key.docoffset" : 5196,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> update<\/decl.name>(animated<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type> = false<\/decl.var.parameter>, _<\/decl.var.parameter.argument_label> new<\/decl.var.parameter.name>: Item<\/ref.struct><Content<\/ref.generic_type_param>><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 113,
@@ -33750,14 +34049,14 @@
             "key.doc.column" : 17,
             "key.doc.comment" : "Allows you to update the item passed into the update closure.",
             "key.doc.declaration" : "public func update(animated: Bool = false, _ update: (inout Item) -> ())",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
-            "key.doc.full_as_xml" : "update(animated:_:)<\/Name>s:10ListableUI29ItemContentCoordinatorActionsC6update8animated_ySb_yAA0C0VyxGzXEtF<\/USR>public func update(animated: Bool = false, _ update: (inout Item<Content>) -> ())<\/Declaration>Allows you to update the item passed into the update closure.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.doc.full_as_xml" : "update(animated:_:)<\/Name>s:10ListableUI29ItemContentCoordinatorActionsC6update8animated_ySb_yAA0C0VyxGzXEtF<\/USR>public func update(animated: Bool = false, _ update: (inout Item<Content>) -> ())<\/Declaration>Allows you to update the item passed into the update closure.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 159,
             "key.doc.name" : "update(animated:_:)",
             "key.doc.type" : "Function",
             "key.doclength" : 66,
             "key.docoffset" : 5373,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> update<\/decl.name>(animated<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type> = false<\/decl.var.parameter>, _<\/decl.var.parameter.argument_label> update<\/decl.var.parameter.name>: (inout<\/syntaxtype.keyword> Item<\/ref.struct><Content<\/ref.generic_type_param>><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 212,
@@ -33776,7 +34075,7 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "var new: Item<\/Type><Content><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> new<\/decl.name>: Item<\/ref.struct><Content><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 32,
@@ -33821,14 +34120,14 @@
         "key.doc.column" : 20,
         "key.doc.comment" : "Information about the current and original state of the item.",
         "key.doc.declaration" : "public final class ItemContentCoordinatorInfo where Content : ListableUI.ItemContent",
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
-        "key.doc.full_as_xml" : "ItemContentCoordinatorInfo<\/Name>s:10ListableUI26ItemContentCoordinatorInfoC<\/USR>public final class ItemContentCoordinatorInfo<Content> where Content : ListableUI.ItemContent<\/Declaration>Information about the current and original state of the item.<\/Para><\/Abstract><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+        "key.doc.full_as_xml" : "ItemContentCoordinatorInfo<\/Name>s:10ListableUI26ItemContentCoordinatorInfoC<\/USR>public final class ItemContentCoordinatorInfo<Content> where Content : ListableUI.ItemContent<\/Declaration>Information about the current and original state of the item.<\/Para><\/Abstract><\/CommentParts><\/Class>",
         "key.doc.line" : 171,
         "key.doc.name" : "ItemContentCoordinatorInfo",
         "key.doc.type" : "Class",
         "key.doclength" : 66,
         "key.docoffset" : 5667,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> ItemContentCoordinatorInfo<\/decl.name><Content<\/decl.generic_type_param.name><\/decl.generic_type_param>> where<\/syntaxtype.keyword> Content : ItemContent<\/ref.protocol><\/decl.generic_type_requirement><\/decl.class>",
         "key.kind" : "source.lang.swift.decl.class",
         "key.length" : 715,
@@ -33849,7 +34148,7 @@
                 "key.offset" : 5787
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
             "key.fully_annotated_decl" : "Content<\/decl.generic_type_param.name> : ItemContent<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
             "key.inheritedtypes" : [
               {
@@ -33887,14 +34186,14 @@
             "key.doc.column" : 30,
             "key.doc.comment" : "The original state of the item, as passed to the list.\nThis is property is updated when the list is updated, and the\n`isEquivalent(to:)` reports a change to the item.",
             "key.doc.declaration" : "public internal(set) var original: Item { get }",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
-            "key.doc.full_as_xml" : "original<\/Name>s:10ListableUI26ItemContentCoordinatorInfoC8originalAA0C0VyxGvp<\/USR>public internal(set) var original: Item<Content> { get }<\/Declaration>The original state of the item, as passed to the list. This is property is updated when the list is updated, and the isEquivalent(to:)<\/codeVoice> reports a change to the item.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.doc.full_as_xml" : "original<\/Name>s:10ListableUI26ItemContentCoordinatorInfoC8originalAA0C0VyxGvp<\/USR>public internal(set) var original: Item<Content> { get }<\/Declaration>The original state of the item, as passed to the list. This is property is updated when the list is updated, and the isEquivalent(to:)<\/codeVoice> reports a change to the item.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 176,
             "key.doc.name" : "original",
             "key.doc.type" : "Other",
             "key.doclength" : 187,
             "key.docoffset" : 5806,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> internal<\/syntaxtype.keyword>(set) var<\/syntaxtype.keyword> original<\/decl.name>: Item<\/ref.struct><Content<\/ref.generic_type_param>><\/decl.var.type> { get }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 28,
@@ -33925,14 +34224,14 @@
             "key.doc.column" : 16,
             "key.doc.comment" : "The current value of the item, including changes made\nby the coordinator itself.",
             "key.doc.declaration" : "public var current: Item { get }",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
-            "key.doc.full_as_xml" : "current<\/Name>s:10ListableUI26ItemContentCoordinatorInfoC7currentAA0C0VyxGvp<\/USR>public var current: Item<Content> { get }<\/Declaration>The current value of the item, including changes made by the coordinator itself.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.doc.full_as_xml" : "current<\/Name>s:10ListableUI26ItemContentCoordinatorInfoC7currentAA0C0VyxGvp<\/USR>public var current: Item<Content> { get }<\/Declaration>The current value of the item, including changes made by the coordinator itself.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 180,
             "key.doc.name" : "current",
             "key.doc.type" : "Other",
             "key.doclength" : 93,
             "key.docoffset" : 6056,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> current<\/decl.name>: Item<\/ref.struct><Content<\/ref.generic_type_param>><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 66,
@@ -33957,7 +34256,7 @@
                 "key.offset" : 6236
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> let<\/syntaxtype.keyword> currentProvider<\/decl.name>: () -> Item<\/ref.struct><Content<\/ref.generic_type_param>><\/decl.function.returntype><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 41,
@@ -33977,7 +34276,7 @@
             "key.annotated_decl" : "init(original: Item<\/Type><Content<\/Type>>, current: @escaping () -> Item<\/Type><Content<\/Type>>)<\/Declaration>",
             "key.bodylength" : 86,
             "key.bodyoffset" : 6372,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
             "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(original<\/decl.var.parameter.argument_label>: Item<\/ref.struct><Content<\/ref.generic_type_param>><\/decl.var.parameter.type><\/decl.var.parameter>, current<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> () -> Item<\/ref.struct><Content<\/ref.generic_type_param>><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 164,
@@ -34020,8 +34319,8 @@
         "key.doc.column" : 20,
         "key.doc.comment" : "The default `ItemContentCoordinator`, which performs no actions.",
         "key.doc.declaration" : "public final class DefaultItemContentCoordinator : ItemContentCoordinator where Content : ListableUI.ItemContent",
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
-        "key.doc.full_as_xml" : "DefaultItemContentCoordinator<\/Name>s:10ListableUI29DefaultItemContentCoordinatorC<\/USR>public final class DefaultItemContentCoordinator<Content> : ItemContentCoordinator where Content : ListableUI.ItemContent<\/Declaration>The default ItemContentCoordinator<\/codeVoice>, which performs no actions.<\/Para><\/Abstract><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+        "key.doc.full_as_xml" : "DefaultItemContentCoordinator<\/Name>s:10ListableUI29DefaultItemContentCoordinatorC<\/USR>public final class DefaultItemContentCoordinator<Content> : ItemContentCoordinator where Content : ListableUI.ItemContent<\/Declaration>The default ItemContentCoordinator<\/codeVoice>, which performs no actions.<\/Para><\/Abstract><\/CommentParts><\/Class>",
         "key.doc.line" : 196,
         "key.doc.name" : "DefaultItemContentCoordinator",
         "key.doc.type" : "Class",
@@ -34034,7 +34333,7 @@
             "key.offset" : 6605
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> DefaultItemContentCoordinator<\/decl.name><Content<\/decl.generic_type_param.name><\/decl.generic_type_param>> : ItemContentCoordinator<\/ref.protocol> where<\/syntaxtype.keyword> Content : ItemContent<\/ref.protocol><\/decl.generic_type_requirement><\/decl.class>",
         "key.inheritedtypes" : [
           {
@@ -34060,7 +34359,7 @@
                 "key.offset" : 6590
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
             "key.fully_annotated_decl" : "Content<\/decl.generic_type_param.name> : ItemContent<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
             "key.inheritedtypes" : [
               {
@@ -34097,12 +34396,12 @@
                 "Note" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
-            "key.doc.full_as_xml" : "actions<\/Name>s:10ListableUI22ItemContentCoordinatorP7actionsAA0cdE7ActionsCy0cD4TypeQzGvp<\/USR>var actions: ItemContentType.CoordinatorActions { get }<\/Declaration>The available actions you can perform on the coordinated Item<\/codeVoice>. Eg, updating it to a new value.<\/Para><\/Abstract>This documentation comment was inherited from ItemContentCoordinator<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.doc.full_as_xml" : "actions<\/Name>s:10ListableUI22ItemContentCoordinatorP7actionsAA0cdE7ActionsCy0cD4TypeQzGvp<\/USR>var actions: ItemContentType.CoordinatorActions { get }<\/Declaration>The available actions you can perform on the coordinated Item<\/codeVoice>. Eg, updating it to a new value.<\/Para><\/Abstract>This documentation comment was inherited from ItemContentCoordinator<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Other>",
             "key.doc.line" : 63,
             "key.doc.name" : "actions",
             "key.doc.type" : "Other",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> let<\/syntaxtype.keyword> actions<\/decl.name>: Content<\/ref.generic_type_param>.CoordinatorActions<\/ref.typealias><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 40,
@@ -34139,12 +34438,12 @@
                 "Note" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
-            "key.doc.full_as_xml" : "info<\/Name>s:10ListableUI22ItemContentCoordinatorP4infoAA0cdE4InfoCy0cD4TypeQzGvp<\/USR>var info: ItemContentType.CoordinatorInfo { get }<\/Declaration>Info about the coordinated Item<\/codeVoice>, such as its original and current value.<\/Para><\/Abstract>This documentation comment was inherited from ItemContentCoordinator<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.doc.full_as_xml" : "info<\/Name>s:10ListableUI22ItemContentCoordinatorP4infoAA0cdE4InfoCy0cD4TypeQzGvp<\/USR>var info: ItemContentType.CoordinatorInfo { get }<\/Declaration>Info about the coordinated Item<\/codeVoice>, such as its original and current value.<\/Para><\/Abstract>This documentation comment was inherited from ItemContentCoordinator<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Other>",
             "key.doc.line" : 66,
             "key.doc.name" : "info",
             "key.doc.type" : "Other",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> let<\/syntaxtype.keyword> info<\/decl.name>: Content<\/ref.generic_type_param>.CoordinatorInfo<\/ref.typealias><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 34,
@@ -34181,12 +34480,12 @@
                 "Note" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
-            "key.doc.full_as_xml" : "view<\/Name>s:10ListableUI22ItemContentCoordinatorP4view0cD4Type_0D4ViewQZSgvp<\/USR>var view: View? { get set }<\/Declaration>The view, if any, currently used to display the item.<\/Para><\/Abstract>This documentation comment was inherited from ItemContentCoordinator<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.doc.full_as_xml" : "view<\/Name>s:10ListableUI22ItemContentCoordinatorP4view0cD4Type_0D4ViewQZSgvp<\/USR>var view: View? { get set }<\/Declaration>The view, if any, currently used to display the item.<\/Para><\/Abstract>This documentation comment was inherited from ItemContentCoordinator<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Other>",
             "key.doc.line" : 96,
             "key.doc.name" : "view",
             "key.doc.type" : "Other",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> view<\/decl.name>: Content<\/ref.generic_type_param>.ContentView<\/ref.associatedtype>?<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 31,
@@ -34219,7 +34518,7 @@
             ],
             "key.bodylength" : 86,
             "key.bodyoffset" : 6950,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemContentCoordinator.swift",
             "key.fully_annotated_decl" : "internal<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(actions<\/decl.var.parameter.argument_label>: Content<\/ref.generic_type_param>.CoordinatorActions<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>, info<\/decl.var.parameter.argument_label>: Content<\/ref.generic_type_param>.CoordinatorInfo<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>, view<\/decl.var.parameter.argument_label>: DefaultItemContentCoordinator<\/ref.class><Content<\/ref.generic_type_param>>.View<\/ref.typealias>?<\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 243,
@@ -34245,7 +34544,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemInsertAndRemoveAnimations.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemInsertAndRemoveAnimations.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 4708,
     "key.offset" : 0,
@@ -34262,7 +34561,7 @@
         ],
         "key.bodylength" : 2293,
         "key.bodyoffset" : 167,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemInsertAndRemoveAnimations.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemInsertAndRemoveAnimations.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> ItemInsertAndRemoveAnimations<\/decl.name><\/decl.struct>",
         "key.kind" : "source.lang.swift.decl.struct",
         "key.length" : 2332,
@@ -34284,7 +34583,7 @@
                 "key.offset" : 172
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemInsertAndRemoveAnimations.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemInsertAndRemoveAnimations.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> typealias<\/syntaxtype.keyword> ItemInsertAndRemoveAnimations<\/ref.struct>.Prepare<\/decl.name> = (inout<\/syntaxtype.keyword> Attributes<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.typealias>",
             "key.kind" : "source.lang.swift.decl.typealias",
             "key.length" : 44,
@@ -34309,7 +34608,7 @@
                 "key.offset" : 233
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemInsertAndRemoveAnimations.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemInsertAndRemoveAnimations.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> onInsert<\/decl.name>: Prepare<\/ref.typealias><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 22,
@@ -34335,7 +34634,7 @@
                 "key.offset" : 267
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemInsertAndRemoveAnimations.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemInsertAndRemoveAnimations.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> onRemoval<\/decl.name>: Prepare<\/ref.typealias><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 23,
@@ -34363,7 +34662,7 @@
             ],
             "key.bodylength" : 73,
             "key.bodyoffset" : 403,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemInsertAndRemoveAnimations.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemInsertAndRemoveAnimations.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(onInsert<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> Prepare<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>, onRemoval<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> Prepare<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 163,
@@ -34398,7 +34697,7 @@
             ],
             "key.bodylength" : 76,
             "key.bodyoffset" : 536,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemInsertAndRemoveAnimations.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemInsertAndRemoveAnimations.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(attributes<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> Prepare<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 119,
@@ -34433,7 +34732,7 @@
             ],
             "key.bodylength" : 1805,
             "key.bodyoffset" : 653,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemInsertAndRemoveAnimations.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemInsertAndRemoveAnimations.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> ItemInsertAndRemoveAnimations<\/ref.struct>.Attributes<\/decl.name><\/decl.struct>",
             "key.kind" : "source.lang.swift.decl.struct",
             "key.length" : 1829,
@@ -34455,7 +34754,7 @@
                     "key.offset" : 662
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemInsertAndRemoveAnimations.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemInsertAndRemoveAnimations.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> bounds<\/decl.name>: CGRect<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 18,
@@ -34481,7 +34780,7 @@
                     "key.offset" : 696
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemInsertAndRemoveAnimations.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemInsertAndRemoveAnimations.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> center<\/decl.name>: CGPoint<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 19,
@@ -34507,7 +34806,7 @@
                     "key.offset" : 740
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemInsertAndRemoveAnimations.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemInsertAndRemoveAnimations.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> transform<\/decl.name>: CGAffineTransform<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 32,
@@ -34533,7 +34832,7 @@
                     "key.offset" : 788
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemInsertAndRemoveAnimations.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemInsertAndRemoveAnimations.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> transform3D<\/decl.name>: CATransform3D<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 30,
@@ -34559,7 +34858,7 @@
                     "key.offset" : 835
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemInsertAndRemoveAnimations.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemInsertAndRemoveAnimations.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> alpha<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 18,
@@ -34585,7 +34884,7 @@
                     "key.offset" : 870
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemInsertAndRemoveAnimations.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemInsertAndRemoveAnimations.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> zIndex<\/decl.name>: Int<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 15,
@@ -34613,7 +34912,7 @@
                 ],
                 "key.bodylength" : 693,
                 "key.bodyoffset" : 936,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemInsertAndRemoveAnimations.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemInsertAndRemoveAnimations.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> frame<\/decl.name>: CGRect<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 713,
@@ -34634,7 +34933,7 @@
                 "key.annotated_decl" : "init(_ attributes: UICollectionViewLayoutAttributes<\/Type>)<\/Declaration>",
                 "key.bodylength" : 326,
                 "key.bodyoffset" : 1711,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemInsertAndRemoveAnimations.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemInsertAndRemoveAnimations.swift",
                 "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(_<\/decl.var.parameter.argument_label> attributes<\/decl.var.parameter.name>: UICollectionViewLayoutAttributes<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 390,
@@ -34657,7 +34956,7 @@
                 "key.annotated_decl" : "func apply(to attributes: UICollectionViewLayoutAttributes<\/Type>)<\/Declaration>",
                 "key.bodylength" : 326,
                 "key.bodyoffset" : 2126,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemInsertAndRemoveAnimations.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemInsertAndRemoveAnimations.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> apply<\/decl.name>(to<\/decl.var.parameter.argument_label> attributes<\/decl.var.parameter.name>: UICollectionViewLayoutAttributes<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 397,
@@ -34697,7 +34996,7 @@
         ],
         "key.bodylength" : 2194,
         "key.bodyoffset" : 2512,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemInsertAndRemoveAnimations.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemInsertAndRemoveAnimations.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> ItemInsertAndRemoveAnimations<\/decl.name><\/decl.struct>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 2236,
@@ -34714,7 +35013,7 @@
             "key.annotated_decl" : "static var fade: `Self` { get }<\/Declaration>",
             "key.bodylength" : 177,
             "key.bodyoffset" : 2541,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemInsertAndRemoveAnimations.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemInsertAndRemoveAnimations.swift",
             "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> var<\/syntaxtype.keyword> fade<\/decl.name>: `Self`<\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.static>",
             "key.kind" : "source.lang.swift.decl.var.static",
             "key.length" : 202,
@@ -34734,7 +35033,7 @@
             "key.annotated_decl" : "static var right: `Self` { get }<\/Declaration>",
             "key.bodylength" : 273,
             "key.bodyoffset" : 2754,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemInsertAndRemoveAnimations.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemInsertAndRemoveAnimations.swift",
             "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> var<\/syntaxtype.keyword> right<\/decl.name>: `Self`<\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.static>",
             "key.kind" : "source.lang.swift.decl.var.static",
             "key.length" : 299,
@@ -34754,7 +35053,7 @@
             "key.annotated_decl" : "static var left: `Self` { get }<\/Declaration>",
             "key.bodylength" : 273,
             "key.bodyoffset" : 3062,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemInsertAndRemoveAnimations.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemInsertAndRemoveAnimations.swift",
             "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> var<\/syntaxtype.keyword> left<\/decl.name>: `Self`<\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.static>",
             "key.kind" : "source.lang.swift.decl.var.static",
             "key.length" : 298,
@@ -34774,7 +35073,7 @@
             "key.annotated_decl" : "static var top: `Self` { get }<\/Declaration>",
             "key.bodylength" : 275,
             "key.bodyoffset" : 3369,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemInsertAndRemoveAnimations.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemInsertAndRemoveAnimations.swift",
             "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> var<\/syntaxtype.keyword> top<\/decl.name>: `Self`<\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.static>",
             "key.kind" : "source.lang.swift.decl.var.static",
             "key.length" : 299,
@@ -34794,7 +35093,7 @@
             "key.annotated_decl" : "static var bottom: `Self` { get }<\/Declaration>",
             "key.bodylength" : 275,
             "key.bodyoffset" : 3681,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemInsertAndRemoveAnimations.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemInsertAndRemoveAnimations.swift",
             "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> var<\/syntaxtype.keyword> bottom<\/decl.name>: `Self`<\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.static>",
             "key.kind" : "source.lang.swift.decl.var.static",
             "key.length" : 302,
@@ -34814,7 +35113,7 @@
             "key.annotated_decl" : "static var scaleDown: `Self` { get }<\/Declaration>",
             "key.bodylength" : 335,
             "key.bodyoffset" : 3996,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemInsertAndRemoveAnimations.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemInsertAndRemoveAnimations.swift",
             "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> var<\/syntaxtype.keyword> scaleDown<\/decl.name>: `Self`<\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.static>",
             "key.kind" : "source.lang.swift.decl.var.static",
             "key.length" : 365,
@@ -34834,7 +35133,7 @@
             "key.annotated_decl" : "static var scaleUp: `Self` { get }<\/Declaration>",
             "key.bodylength" : 335,
             "key.bodyoffset" : 4369,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemInsertAndRemoveAnimations.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemInsertAndRemoveAnimations.swift",
             "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> var<\/syntaxtype.keyword> scaleUp<\/decl.name>: `Self`<\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.static>",
             "key.kind" : "source.lang.swift.decl.var.static",
             "key.length" : 363,
@@ -34857,164 +35156,294 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemLayout.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemLayouts.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
-    "key.length" : 565,
+    "key.length" : 3391,
     "key.offset" : 0,
     "key.substructure" : [
       {
         "key.accessibility" : "source.lang.swift.accessibility.public",
-        "key.annotated_decl" : "public struct ItemLayout : Equatable<\/Type><\/Declaration>",
+        "key.annotated_decl" : "public struct ItemLayouts<\/Declaration>",
         "key.attributes" : [
           {
             "key.attribute" : "source.decl.attribute.public",
             "key.length" : 6,
-            "key.offset" : 109
+            "key.offset" : 1433
           }
         ],
-        "key.bodylength" : 416,
-        "key.bodyoffset" : 147,
-        "key.elements" : [
+        "key.bodylength" : 1245,
+        "key.bodyoffset" : 1460,
+        "key.doc.column" : 15,
+        "key.doc.comment" : "\n`ItemLayouts` allows you to provide `ListLayout`-specific layout configuration for\nindividual items within a list. Eg, customize the layout for an item when it is in a table, a grid, etc.\n\nFor example, if you want to specify a custom layout for table layouts, you\nwould do the following on your item:\n\n```\nmyItem.layouts.table = .init(\n    width: .fill\n)\n```\n\nAnd then, when the `Item` is used within a `.table` style\nlist layout, the provided layout will be used.\n\nIf you plan on swapping between multiple `ListLayout` types on your list,\nyou can provide multiple layouts. The correct one will be used at the correct time:\n\n```\nmyItem.layouts.table = .init(\n    width: .fill\n)\n\nmyItem.layouts.otherLayout = .init(\n    width: 300,\n    alignment: .left\n)\n```\n\nNote\n----\nWhen implementing your own custom layout, you should add an extension to `ItemLayouts`,\nto provide easier access to your layout-specific `ItemLayoutsValue` type, like so:\n\n```\nextension ItemLayoutsValue {\n    public var table : TableAppearance.Item.Layout {\n        get { self[TableAppearance.Item.Layout.self] }\n        set { self[TableAppearance.Item.Layout.self] = newValue }\n    }\n}\n```",
+        "key.doc.declaration" : "public struct ItemLayouts",
+        "key.doc.discussion" : [
           {
-            "key.kind" : "source.lang.swift.structure.elem.typeref",
-            "key.length" : 9,
-            "key.offset" : 136
-          }
-        ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemLayout.swift",
-        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> ItemLayout<\/decl.name> : Equatable<\/ref.protocol><\/decl.struct>",
-        "key.inheritedtypes" : [
+            "Para" : "For example, if you want to specify a custom layout for table layouts, you would do the following on your item:"
+          },
           {
-            "key.name" : "Equatable"
+            "CodeListing" : ""
+          },
+          {
+            "Para" : "And then, when the `Item` is used within a `.table` style list layout, the provided layout will be used."
+          },
+          {
+            "Para" : "If you plan on swapping between multiple `ListLayout` types on your list, you can provide multiple layouts. The correct one will be used at the correct time:"
+          },
+          {
+            "CodeListing" : ""
+          },
+          {
+            "Para" : "When implementing your own custom layout, you should add an extension to `ItemLayouts`, to provide easier access to your layout-specific `ItemLayoutsValue` type, like so:"
+          },
+          {
+            "CodeListing" : ""
           }
         ],
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemLayouts.swift",
+        "key.doc.full_as_xml" : "ItemLayouts<\/Name>s:10ListableUI11ItemLayoutsV<\/USR>public struct ItemLayouts<\/Declaration>ItemLayouts<\/codeVoice> allows you to provide ListLayout<\/codeVoice>-specific layout configuration for individual items within a list. Eg, customize the layout for an item when it is in a table, a grid, etc.<\/Para><\/Abstract>For example, if you want to specify a custom layout for table layouts, you would do the following on your item:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>And then, when the Item<\/codeVoice> is used within a .table<\/codeVoice> style list layout, the provided layout will be used.<\/Para>If you plan on swapping between multiple ListLayout<\/codeVoice> types on your list, you can provide multiple layouts. The correct one will be used at the correct time:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>]]><\/rawHTML>Note]]><\/rawHTML>When implementing your own custom layout, you should add an extension to ItemLayouts<\/codeVoice>, to provide easier access to your layout-specific ItemLayoutsValue<\/codeVoice> type, like so:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.line" : 54,
+        "key.doc.name" : "ItemLayouts",
+        "key.doc.type" : "Class",
+        "key.doclength" : 1324,
+        "key.docoffset" : 109,
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemLayouts.swift",
+        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> ItemLayouts<\/decl.name><\/decl.struct>",
         "key.kind" : "source.lang.swift.decl.struct",
-        "key.length" : 448,
-        "key.name" : "ItemLayout",
-        "key.namelength" : 10,
-        "key.nameoffset" : 123,
-        "key.offset" : 116,
-        "key.parsed_declaration" : "public struct ItemLayout : Equatable",
-        "key.parsed_scope.end" : 28,
-        "key.parsed_scope.start" : 11,
+        "key.length" : 1266,
+        "key.name" : "ItemLayouts",
+        "key.namelength" : 11,
+        "key.nameoffset" : 1447,
+        "key.offset" : 1440,
+        "key.parsed_declaration" : "public struct ItemLayouts",
+        "key.parsed_scope.end" : 88,
+        "key.parsed_scope.start" : 54,
         "key.substructure" : [
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public var itemSpacing: CGFloat<\/Type>?<\/Declaration>",
+            "key.annotated_decl" : "public init(_ configure: (inout `Self`) -> () = { _ in })<\/Declaration>",
             "key.attributes" : [
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 152
+                "key.offset" : 1602
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemLayout.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> itemSpacing<\/decl.name>: CGFloat<\/ref.struct>?<\/decl.var.type><\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 26,
-            "key.name" : "itemSpacing",
-            "key.namelength" : 11,
-            "key.nameoffset" : 163,
-            "key.offset" : 159,
-            "key.parsed_declaration" : "public var itemSpacing : CGFloat?",
-            "key.parsed_scope.end" : 13,
-            "key.parsed_scope.start" : 13,
-            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-            "key.typename" : "CGFloat?",
-            "key.typeusr" : "$s12CoreGraphics7CGFloatVSgD",
-            "key.usr" : "s:10ListableUI10ItemLayoutV11itemSpacing12CoreGraphics7CGFloatVSgvp"
+            "key.bodylength" : 70,
+            "key.bodyoffset" : 1674,
+            "key.doc.column" : 12,
+            "key.doc.comment" : "Creates a new instance of the layouts, with an optional `configure`\nclosure, to allow you to set up styling inline.",
+            "key.doc.declaration" : "public init(_ configure: (inout `Self`) -> () = { _ in })",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemLayouts.swift",
+            "key.doc.full_as_xml" : "init(_:)<\/Name>s:10ListableUI11ItemLayoutsVyACyACzXEcfc<\/USR>public init(_ configure: (inout `Self`) -> () = { _ in })<\/Declaration>Creates a new instance of the layouts, with an optional configure<\/codeVoice> closure, to allow you to set up styling inline.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.line" : 58,
+            "key.doc.name" : "init(_:)",
+            "key.doc.type" : "Function",
+            "key.doclength" : 128,
+            "key.docoffset" : 1470,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemLayouts.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(_<\/decl.var.parameter.argument_label> configure<\/decl.var.parameter.name>: (inout<\/syntaxtype.keyword> `Self`<\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type> = { _ in }<\/decl.var.parameter>)<\/decl.function.constructor>",
+            "key.kind" : "source.lang.swift.decl.function.method.instance",
+            "key.length" : 136,
+            "key.name" : "init(_:)",
+            "key.namelength" : 63,
+            "key.nameoffset" : 1609,
+            "key.offset" : 1609,
+            "key.parsed_declaration" : "public init(\n    _ configure : (inout Self) -> () = { _ in }\n)",
+            "key.parsed_scope.end" : 64,
+            "key.parsed_scope.start" : 58,
+            "key.substructure" : [
+
+            ],
+            "key.typename" : "(ItemLayouts.Type) -> ((inout ItemLayouts) -> ()) -> ItemLayouts",
+            "key.typeusr" : "$sy10ListableUI11ItemLayoutsVyACzXEcD",
+            "key.usr" : "s:10ListableUI11ItemLayoutsVyACyACzXEcfc"
           },
           {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public var itemToSectionFooterSpacing: CGFloat<\/Type>?<\/Declaration>",
+            "key.accessibility" : "source.lang.swift.accessibility.private",
+            "key.annotated_decl" : "private var storage: ContentLayoutsStorage<\/Type><\/Declaration>",
             "key.attributes" : [
               {
-                "key.attribute" : "source.decl.attribute.public",
-                "key.length" : 6,
-                "key.offset" : 190
+                "key.attribute" : "source.decl.attribute.private",
+                "key.length" : 7,
+                "key.offset" : 1755
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemLayout.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> itemToSectionFooterSpacing<\/decl.name>: CGFloat<\/ref.struct>?<\/decl.var.type><\/decl.var.instance>",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemLayouts.swift",
+            "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> var<\/syntaxtype.keyword> storage<\/decl.name>: ContentLayoutsStorage<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 41,
-            "key.name" : "itemToSectionFooterSpacing",
-            "key.namelength" : 26,
-            "key.nameoffset" : 201,
-            "key.offset" : 197,
-            "key.parsed_declaration" : "public var itemToSectionFooterSpacing : CGFloat?",
-            "key.parsed_scope.end" : 14,
-            "key.parsed_scope.start" : 14,
-            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-            "key.typename" : "CGFloat?",
-            "key.typeusr" : "$s12CoreGraphics7CGFloatVSgD",
-            "key.usr" : "s:10ListableUI10ItemLayoutV26itemToSectionFooterSpacing12CoreGraphics7CGFloatVSgvp"
+            "key.length" : 35,
+            "key.name" : "storage",
+            "key.namelength" : 7,
+            "key.nameoffset" : 1767,
+            "key.offset" : 1763,
+            "key.parsed_declaration" : "private var storage : ContentLayoutsStorage",
+            "key.parsed_scope.end" : 66,
+            "key.parsed_scope.start" : 66,
+            "key.setter_accessibility" : "source.lang.swift.accessibility.private",
+            "key.typename" : "ContentLayoutsStorage",
+            "key.typeusr" : "$s10ListableUI21ContentLayoutsStorageVD",
+            "key.usr" : "s:10ListableUI11ItemLayoutsV7storage33_72313C9ECF60BD4A9EA46928C34A7FB6LLAA07ContentD7StorageVvp"
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public var width: CustomWidth<\/Type><\/Declaration>",
+            "key.annotated_decl" : "public subscript<ValueType>(valueType: ValueType<\/Type>.Type) -> ValueType<\/Type> where ValueType : ItemLayoutsValue<\/Type> { get set }<\/Declaration>",
             "key.attributes" : [
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 248
+                "key.offset" : 2473
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemLayout.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> width<\/decl.name>: CustomWidth<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 23,
-            "key.name" : "width",
-            "key.namelength" : 5,
-            "key.nameoffset" : 259,
-            "key.offset" : 255,
-            "key.parsed_declaration" : "public var width : CustomWidth",
-            "key.parsed_scope.end" : 16,
-            "key.parsed_scope.start" : 16,
-            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-            "key.typename" : "CustomWidth",
-            "key.typeusr" : "$s10ListableUI11CustomWidthOD",
-            "key.usr" : "s:10ListableUI10ItemLayoutV5widthAA11CustomWidthOvp"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public init(itemSpacing: CGFloat<\/Type>? = nil, itemToSectionFooterSpacing: CGFloat<\/Type>? = nil, width: CustomWidth<\/Type> = .default)<\/Declaration>",
-            "key.attributes" : [
+            "key.bodylength" : 141,
+            "key.bodyoffset" : 2562,
+            "key.doc.column" : 12,
+            "key.doc.comment" : "Allows accessing the various `ItemLayoutsValue`s stored within the object.\nThis method will return the `defaultValue` for a value if none is set.\n\nNote\n----\nWhen implementing your own custom layout, you should add an extension to `ItemLayouts`,\nto provide easier access to your layout-specific `ItemLayoutsValue` type.\n\n```\nextension ItemLayoutsValue {\n    public var table : TableAppearance.Item.Layout {\n        get { self[TableAppearance.Item.Layout.self] }\n        set { self[TableAppearance.Item.Layout.self] = newValue }\n    }\n}\n```",
+            "key.doc.declaration" : "public subscript(valueType: ValueType.Type) -> ValueType where ValueType : ListableUI.ItemLayoutsValue { get set }",
+            "key.doc.discussion" : [
               {
-                "key.attribute" : "source.decl.attribute.public",
-                "key.length" : 6,
-                "key.offset" : 292
+                "Para" : "When implementing your own custom layout, you should add an extension to `ItemLayouts`, to provide easier access to your layout-specific `ItemLayoutsValue` type."
+              },
+              {
+                "CodeListing" : ""
               }
             ],
-            "key.bodylength" : 119,
-            "key.bodyoffset" : 442,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemLayout.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(itemSpacing<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, itemToSectionFooterSpacing<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, width<\/decl.var.parameter.argument_label>: CustomWidth<\/ref.enum><\/decl.var.parameter.type> = .default<\/decl.var.parameter>)<\/decl.function.constructor>",
-            "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 263,
-            "key.name" : "init(itemSpacing:itemToSectionFooterSpacing:width:)",
-            "key.namelength" : 141,
-            "key.nameoffset" : 299,
-            "key.offset" : 299,
-            "key.parsed_declaration" : "public init(\n    itemSpacing : CGFloat? = nil,\n    itemToSectionFooterSpacing : CGFloat? = nil,\n    width : CustomWidth = .default\n)",
-            "key.parsed_scope.end" : 27,
-            "key.parsed_scope.start" : 18,
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemLayouts.swift",
+            "key.doc.full_as_xml" : "subscript(_:)<\/Name>s:10ListableUI11ItemLayoutsVyxxmcAA0cD5ValueRzluip<\/USR>public subscript<ValueType>(valueType: ValueType.Type) -> ValueType where ValueType : ListableUI.ItemLayoutsValue { get set }<\/Declaration>Allows accessing the various ItemLayoutsValue<\/codeVoice>s stored within the object. This method will return the defaultValue<\/codeVoice> for a value if none is set.<\/Para><\/Abstract>]]><\/rawHTML>Note]]><\/rawHTML>When implementing your own custom layout, you should add an extension to ItemLayouts<\/codeVoice>, to provide easier access to your layout-specific ItemLayoutsValue<\/codeVoice> type.<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Other>",
+            "key.doc.line" : 84,
+            "key.doc.name" : "subscript(_:)",
+            "key.doc.type" : "Other",
+            "key.doclength" : 661,
+            "key.docoffset" : 1808,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemLayouts.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> subscript<\/syntaxtype.keyword><ValueType<\/decl.generic_type_param.name><\/decl.generic_type_param>>(valueType<\/decl.var.parameter.name>: ValueType<\/ref.generic_type_param>.Type<\/decl.var.parameter.type><\/decl.var.parameter>) -> ValueType<\/ref.generic_type_param><\/decl.function.returntype> where<\/syntaxtype.keyword> ValueType : ItemLayoutsValue<\/ref.protocol><\/decl.generic_type_requirement> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.function.subscript>",
+            "key.kind" : "source.lang.swift.decl.function.subscript",
+            "key.length" : 224,
+            "key.name" : "subscript(_:)",
+            "key.namelength" : 67,
+            "key.nameoffset" : 2480,
+            "key.offset" : 2480,
+            "key.parsed_declaration" : "public subscript(_ valueType : ValueType.Type) -> ValueType",
+            "key.parsed_scope.end" : 87,
+            "key.parsed_scope.start" : 84,
+            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
             "key.substructure" : [
-
+              {
+                "key.annotated_decl" : "ValueType : ItemLayoutsValue<\/Type><\/Declaration>",
+                "key.elements" : [
+                  {
+                    "key.kind" : "source.lang.swift.structure.elem.typeref",
+                    "key.length" : 16,
+                    "key.offset" : 2500
+                  }
+                ],
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemLayouts.swift",
+                "key.fully_annotated_decl" : "ValueType<\/decl.generic_type_param.name> : ItemLayoutsValue<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
+                "key.inheritedtypes" : [
+                  {
+                    "key.name" : "ItemLayoutsValue"
+                  }
+                ],
+                "key.kind" : "source.lang.swift.decl.generic_type_param",
+                "key.length" : 26,
+                "key.name" : "ValueType",
+                "key.namelength" : 9,
+                "key.nameoffset" : 2490,
+                "key.offset" : 2490,
+                "key.parsed_declaration" : "public subscript (CGFloat?, CGFloat?, CustomWidth) -> ItemLayout",
-            "key.typeusr" : "$s11itemSpacing0a15ToSectionFooterB05width10ListableUI10ItemLayoutV12CoreGraphics7CGFloatVSg_AjD11CustomWidthOtcD",
-            "key.usr" : "s:10ListableUI10ItemLayoutV11itemSpacing0e15ToSectionFooterF05widthAC12CoreGraphics7CGFloatVSg_AjA11CustomWidthOtcfc"
+            "key.typename" : " (ValueType.Type) -> ValueType",
+            "key.typeusr" : "$syxxmc10ListableUI16ItemLayoutsValueRzluD",
+            "key.usr" : "s:10ListableUI11ItemLayoutsVyxxmcAA0cD5ValueRzluip"
+          }
+        ],
+        "key.typename" : "ItemLayouts.Type",
+        "key.typeusr" : "$s10ListableUI11ItemLayoutsVmD",
+        "key.usr" : "s:10ListableUI11ItemLayoutsV"
+      },
+      {
+        "key.accessibility" : "source.lang.swift.accessibility.public",
+        "key.annotated_decl" : "public protocol ItemLayoutsValue<\/Declaration>",
+        "key.attributes" : [
+          {
+            "key.attribute" : "source.decl.attribute.public",
+            "key.length" : 6,
+            "key.offset" : 3233
+          }
+        ],
+        "key.bodylength" : 122,
+        "key.bodyoffset" : 3267,
+        "key.doc.column" : 17,
+        "key.doc.comment" : "\nThe `ItemLayoutsValue` protocol provides a default value for the different layouts stored\nwithin `ItemLayouts`. Provide a `defaultValue` with reasonable defaults, as the\ndeveloper should not need to set these values at all times when using your layout.\n\n```\npublic struct Layout : Equatable, ItemLayoutsValue\n{\n    public var width : CGFloat\n    public var minHeight : CGFloat\n\n    ...\n\n    public static var defaultValue : Self {\n        ...\n    }\n}\n```",
+        "key.doc.declaration" : "public protocol ItemLayoutsValue",
+        "key.doc.discussion" : [
+          {
+            "CodeListing" : ""
+          }
+        ],
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemLayouts.swift",
+        "key.doc.full_as_xml" : "ItemLayoutsValue<\/Name>s:10ListableUI16ItemLayoutsValueP<\/USR>public protocol ItemLayoutsValue<\/Declaration>The ItemLayoutsValue<\/codeVoice> protocol provides a default value for the different layouts stored within ItemLayouts<\/codeVoice>. Provide a defaultValue<\/codeVoice> with reasonable defaults, as the developer should not need to set these values at all times when using your layout.<\/Para><\/Abstract><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.line" : 109,
+        "key.doc.name" : "ItemLayoutsValue",
+        "key.doc.type" : "Class",
+        "key.doclength" : 524,
+        "key.docoffset" : 2709,
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemLayouts.swift",
+        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> ItemLayoutsValue<\/decl.name><\/decl.protocol>",
+        "key.kind" : "source.lang.swift.decl.protocol",
+        "key.length" : 150,
+        "key.name" : "ItemLayoutsValue",
+        "key.namelength" : 16,
+        "key.nameoffset" : 3249,
+        "key.offset" : 3240,
+        "key.parsed_declaration" : "public protocol ItemLayoutsValue",
+        "key.parsed_scope.end" : 113,
+        "key.parsed_scope.start" : 109,
+        "key.substructure" : [
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "static var defaultValue: Self<\/Type> { get }<\/Declaration>",
+            "key.bodylength" : 5,
+            "key.bodyoffset" : 3382,
+            "key.doc.column" : 16,
+            "key.doc.comment" : "The default value used when accessing the value, if none is set.",
+            "key.doc.declaration" : "static var defaultValue: Self { get }",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemLayouts.swift",
+            "key.doc.full_as_xml" : "defaultValue<\/Name>s:10ListableUI16ItemLayoutsValueP07defaultE0xvpZ<\/USR>static var defaultValue: Self { get }<\/Declaration>The default value used when accessing the value, if none is set.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.line" : 112,
+            "key.doc.name" : "defaultValue",
+            "key.doc.type" : "Other",
+            "key.doclength" : 69,
+            "key.docoffset" : 3277,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemLayouts.swift",
+            "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> var<\/syntaxtype.keyword> defaultValue<\/decl.name>: Self<\/ref.generic_type_param><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.static>",
+            "key.kind" : "source.lang.swift.decl.var.static",
+            "key.length" : 38,
+            "key.name" : "defaultValue",
+            "key.namelength" : 12,
+            "key.nameoffset" : 3361,
+            "key.offset" : 3350,
+            "key.parsed_declaration" : "static var defaultValue : Self",
+            "key.parsed_scope.end" : 112,
+            "key.parsed_scope.start" : 112,
+            "key.typename" : "Self",
+            "key.typeusr" : "$sxD",
+            "key.usr" : "s:10ListableUI16ItemLayoutsValueP07defaultE0xvpZ"
           }
         ],
-        "key.typename" : "ItemLayout.Type",
-        "key.typeusr" : "$s10ListableUI10ItemLayoutVmD",
-        "key.usr" : "s:10ListableUI10ItemLayoutV"
+        "key.typename" : "ItemLayoutsValue.Protocol",
+        "key.typeusr" : "$s10ListableUI16ItemLayoutsValue_pmD",
+        "key.usr" : "s:10ListableUI16ItemLayoutsValueP"
       }
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemPosition.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemPosition.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 206,
     "key.offset" : 0,
@@ -35031,7 +35460,7 @@
         ],
         "key.bodylength" : 67,
         "key.bodyoffset" : 137,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemPosition.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemPosition.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> enum<\/syntaxtype.keyword> ItemPosition<\/decl.name><\/decl.enum>",
         "key.kind" : "source.lang.swift.decl.enum",
         "key.length" : 87,
@@ -35053,7 +35482,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.public",
                 "key.annotated_decl" : "case single<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemPosition.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemPosition.swift",
                 "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> single<\/decl.name><\/decl.enumelement>",
                 "key.kind" : "source.lang.swift.decl.enumelement",
                 "key.length" : 6,
@@ -35080,7 +35509,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.public",
                 "key.annotated_decl" : "case first<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemPosition.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemPosition.swift",
                 "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> first<\/decl.name><\/decl.enumelement>",
                 "key.kind" : "source.lang.swift.decl.enumelement",
                 "key.length" : 5,
@@ -35107,7 +35536,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.public",
                 "key.annotated_decl" : "case middle<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemPosition.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemPosition.swift",
                 "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> middle<\/decl.name><\/decl.enumelement>",
                 "key.kind" : "source.lang.swift.decl.enumelement",
                 "key.length" : 6,
@@ -35134,7 +35563,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.public",
                 "key.annotated_decl" : "case last<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemPosition.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemPosition.swift",
                 "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> last<\/decl.name><\/decl.enumelement>",
                 "key.kind" : "source.lang.swift.decl.enumelement",
                 "key.length" : 4,
@@ -35159,7 +35588,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemSelectionStyle.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemSelectionStyle.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 976,
     "key.offset" : 0,
@@ -35179,8 +35608,8 @@
         "key.doc.column" : 13,
         "key.doc.comment" : "Controls the selection style and behavior of an item in a list.",
         "key.doc.declaration" : "public enum ItemSelectionStyle : Equatable",
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemSelectionStyle.swift",
-        "key.doc.full_as_xml" : "ItemSelectionStyle<\/Name>s:10ListableUI18ItemSelectionStyleO<\/USR>public enum ItemSelectionStyle : Equatable<\/Declaration>Controls the selection style and behavior of an item in a list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemSelectionStyle.swift",
+        "key.doc.full_as_xml" : "ItemSelectionStyle<\/Name>s:10ListableUI18ItemSelectionStyleO<\/USR>public enum ItemSelectionStyle : Equatable<\/Declaration>Controls the selection style and behavior of an item in a list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
         "key.doc.line" : 12,
         "key.doc.name" : "ItemSelectionStyle",
         "key.doc.type" : "Other",
@@ -35193,7 +35622,7 @@
             "key.offset" : 218
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemSelectionStyle.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemSelectionStyle.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> enum<\/syntaxtype.keyword> ItemSelectionStyle<\/decl.name> : Equatable<\/ref.protocol><\/decl.enum>",
         "key.inheritedtypes" : [
           {
@@ -35223,14 +35652,14 @@
                 "key.doc.column" : 10,
                 "key.doc.comment" : "The item is not selectable at all.",
                 "key.doc.declaration" : "",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemSelectionStyle.swift",
-                "key.doc.full_as_xml" : "notSelectable<\/Name>s:10ListableUI18ItemSelectionStyleO13notSelectableyA2CmF<\/USR><\/Declaration>The item is not selectable at all.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemSelectionStyle.swift",
+                "key.doc.full_as_xml" : "notSelectable<\/Name>s:10ListableUI18ItemSelectionStyleO13notSelectableyA2CmF<\/USR><\/Declaration>The item is not selectable at all.<\/Para><\/Abstract><\/CommentParts><\/Other>",
                 "key.doc.line" : 15,
                 "key.doc.name" : "notSelectable",
                 "key.doc.type" : "Other",
                 "key.doclength" : 39,
                 "key.docoffset" : 234,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemSelectionStyle.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemSelectionStyle.swift",
                 "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> notSelectable<\/decl.name><\/decl.enumelement>",
                 "key.kind" : "source.lang.swift.decl.enumelement",
                 "key.length" : 13,
@@ -35260,14 +35689,14 @@
                 "key.doc.column" : 10,
                 "key.doc.comment" : "The item is temporarily selectable. Once the user lifts their finger, the item is deselected.",
                 "key.doc.declaration" : "",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemSelectionStyle.swift",
-                "key.doc.full_as_xml" : "tappable<\/Name>s:10ListableUI18ItemSelectionStyleO8tappableyA2CmF<\/USR><\/Declaration>The item is temporarily selectable. Once the user lifts their finger, the item is deselected.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemSelectionStyle.swift",
+                "key.doc.full_as_xml" : "tappable<\/Name>s:10ListableUI18ItemSelectionStyleO8tappableyA2CmF<\/USR><\/Declaration>The item is temporarily selectable. Once the user lifts their finger, the item is deselected.<\/Para><\/Abstract><\/CommentParts><\/Other>",
                 "key.doc.line" : 18,
                 "key.doc.name" : "tappable",
                 "key.doc.type" : "Other",
                 "key.doclength" : 98,
                 "key.docoffset" : 305,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemSelectionStyle.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemSelectionStyle.swift",
                 "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> tappable<\/decl.name><\/decl.enumelement>",
                 "key.kind" : "source.lang.swift.decl.enumelement",
                 "key.length" : 8,
@@ -35297,14 +35726,14 @@
                 "key.doc.column" : 10,
                 "key.doc.comment" : "The item is persistently selectable. Once the user lifts their finger, the item is maintained.",
                 "key.doc.declaration" : "",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemSelectionStyle.swift",
-                "key.doc.full_as_xml" : "selectable(isSelected:)<\/Name>s:10ListableUI18ItemSelectionStyleO10selectableyACSb_tcACmF<\/USR><\/Declaration>The item is persistently selectable. Once the user lifts their finger, the item is maintained.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemSelectionStyle.swift",
+                "key.doc.full_as_xml" : "selectable(isSelected:)<\/Name>s:10ListableUI18ItemSelectionStyleO10selectableyACSb_tcACmF<\/USR><\/Declaration>The item is persistently selectable. Once the user lifts their finger, the item is maintained.<\/Para><\/Abstract><\/CommentParts><\/Other>",
                 "key.doc.line" : 21,
                 "key.doc.name" : "selectable(isSelected:)",
                 "key.doc.type" : "Other",
                 "key.doclength" : 99,
                 "key.docoffset" : 430,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemSelectionStyle.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemSelectionStyle.swift",
                 "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> selectable<\/decl.name>(isSelected<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type> = false<\/decl.var.parameter>)<\/decl.enumelement>",
                 "key.kind" : "source.lang.swift.decl.enumelement",
                 "key.length" : 37,
@@ -35329,7 +35758,7 @@
             "key.annotated_decl" : "var isSelected: Bool<\/Type> { get }<\/Declaration>",
             "key.bodylength" : 172,
             "key.bodyoffset" : 608,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemSelectionStyle.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemSelectionStyle.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> isSelected<\/decl.name>: Bool<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 196,
@@ -35349,7 +35778,7 @@
             "key.annotated_decl" : "var isSelectable: Bool<\/Type> { get }<\/Declaration>",
             "key.bodylength" : 156,
             "key.bodyoffset" : 816,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemSelectionStyle.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemSelectionStyle.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> isSelectable<\/decl.name>: Bool<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 182,
@@ -35372,7 +35801,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemState.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemState.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 761,
     "key.offset" : 0,
@@ -35396,7 +35825,7 @@
             "key.offset" : 134
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemState.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemState.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> ItemState<\/decl.name> : Hashable<\/ref.protocol><\/decl.struct>",
         "key.inheritedtypes" : [
           {
@@ -35425,7 +35854,7 @@
             ],
             "key.bodylength" : 85,
             "key.bodyoffset" : 207,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemState.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(isSelected<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, isHighlighted<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 137,
@@ -35460,7 +35889,7 @@
             ],
             "key.bodylength" : 95,
             "key.bodyoffset" : 349,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemState.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(cell<\/decl.var.parameter.argument_label>: UICollectionViewCell<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 135,
@@ -35496,14 +35925,14 @@
             "key.doc.column" : 16,
             "key.doc.comment" : "If the item is currently selected.",
             "key.doc.declaration" : "public var isSelected: Bool",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemState.swift",
-            "key.doc.full_as_xml" : "isSelected<\/Name>s:10ListableUI9ItemStateV10isSelectedSbvp<\/USR>public var isSelected: Bool<\/Declaration>If the item is currently selected.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemState.swift",
+            "key.doc.full_as_xml" : "isSelected<\/Name>s:10ListableUI9ItemStateV10isSelectedSbvp<\/USR>public var isSelected: Bool<\/Declaration>If the item is currently selected.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 26,
             "key.doc.name" : "isSelected",
             "key.doc.type" : "Other",
             "key.doclength" : 39,
             "key.docoffset" : 455,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemState.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> isSelected<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 21,
@@ -35532,14 +35961,14 @@
             "key.doc.column" : 16,
             "key.doc.comment" : "If the item is currently highlighted.",
             "key.doc.declaration" : "public var isHighlighted: Bool",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemState.swift",
-            "key.doc.full_as_xml" : "isHighlighted<\/Name>s:10ListableUI9ItemStateV13isHighlightedSbvp<\/USR>public var isHighlighted: Bool<\/Declaration>If the item is currently highlighted.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemState.swift",
+            "key.doc.full_as_xml" : "isHighlighted<\/Name>s:10ListableUI9ItemStateV13isHighlightedSbvp<\/USR>public var isHighlighted: Bool<\/Declaration>If the item is currently highlighted.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 29,
             "key.doc.name" : "isHighlighted",
             "key.doc.type" : "Other",
             "key.doclength" : 42,
             "key.docoffset" : 536,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemState.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> isHighlighted<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 24,
@@ -35570,14 +35999,14 @@
             "key.doc.column" : 16,
             "key.doc.comment" : "If the item is either selected or highlighted.",
             "key.doc.declaration" : "public var isActive: Bool { get }",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemState.swift",
-            "key.doc.full_as_xml" : "isActive<\/Name>s:10ListableUI9ItemStateV8isActiveSbvp<\/USR>public var isActive: Bool { get }<\/Declaration>If the item is either selected or highlighted.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemState.swift",
+            "key.doc.full_as_xml" : "isActive<\/Name>s:10ListableUI9ItemStateV8isActiveSbvp<\/USR>public var isActive: Bool { get }<\/Declaration>If the item is either selected or highlighted.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 32,
             "key.doc.name" : "isActive",
             "key.doc.type" : "Other",
             "key.doclength" : 51,
             "key.docoffset" : 623,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/ItemState.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemState.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> isActive<\/decl.name>: Bool<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 73,
@@ -35600,7 +36029,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Reordering.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/Reordering.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 915,
     "key.offset" : 0,
@@ -35617,7 +36046,7 @@
         ],
         "key.bodylength" : 778,
         "key.bodyoffset" : 135,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Reordering.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/Reordering.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> Reordering<\/decl.name><\/decl.struct>",
         "key.kind" : "source.lang.swift.decl.struct",
         "key.length" : 798,
@@ -35639,7 +36068,7 @@
                 "key.offset" : 140
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Reordering.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/Reordering.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> sections<\/decl.name>: Sections<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 23,
@@ -35665,7 +36094,7 @@
                 "key.offset" : 180
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Reordering.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/Reordering.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> typealias<\/syntaxtype.keyword> Reordering<\/ref.struct>.CanReorder<\/decl.name> = (Result<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.typealias>",
             "key.kind" : "source.lang.swift.decl.typealias",
             "key.length" : 39,
@@ -35690,7 +36119,7 @@
                 "key.offset" : 231
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Reordering.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/Reordering.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> canReorder<\/decl.name>: CanReorder<\/ref.typealias>?<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 28,
@@ -35716,7 +36145,7 @@
                 "key.offset" : 276
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Reordering.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/Reordering.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> typealias<\/syntaxtype.keyword> Reordering<\/ref.struct>.DidReorder<\/decl.name> = (Result<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.typealias>",
             "key.kind" : "source.lang.swift.decl.typealias",
             "key.length" : 37,
@@ -35741,7 +36170,7 @@
                 "key.offset" : 325
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Reordering.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/Reordering.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> didReorder<\/decl.name>: DidReorder<\/ref.typealias><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 27,
@@ -35769,7 +36198,7 @@
             ],
             "key.bodylength" : 112,
             "key.bodyoffset" : 508,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Reordering.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/Reordering.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(sections<\/decl.var.parameter.argument_label>: Sections<\/ref.enum><\/decl.var.parameter.type> = .same<\/decl.var.parameter>, canReorder<\/decl.var.parameter.argument_label>: CanReorder<\/ref.typealias>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, didReorder<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> DidReorder<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 245,
@@ -35806,7 +36235,7 @@
                 "key.offset" : 654
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Reordering.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/Reordering.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> enum<\/syntaxtype.keyword> Reordering<\/ref.struct>.Sections<\/decl.name> : Equatable<\/ref.protocol><\/decl.enum>",
             "key.inheritedtypes" : [
               {
@@ -35833,7 +36262,7 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.public",
                     "key.annotated_decl" : "case same<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Reordering.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/Reordering.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> same<\/decl.name><\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 4,
@@ -35867,7 +36296,7 @@
             ],
             "key.bodylength" : 182,
             "key.bodyoffset" : 729,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Reordering.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/Reordering.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> Reordering<\/ref.struct>.Result<\/decl.name><\/decl.struct>",
             "key.kind" : "source.lang.swift.decl.struct",
             "key.length" : 202,
@@ -35889,7 +36318,7 @@
                     "key.offset" : 738
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Reordering.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/Reordering.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> fromSection<\/decl.name>: Section<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 25,
@@ -35915,7 +36344,7 @@
                     "key.offset" : 779
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Reordering.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/Reordering.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> fromIndexPath<\/decl.name>: IndexPath<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 29,
@@ -35941,7 +36370,7 @@
                     "key.offset" : 833
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Reordering.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/Reordering.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> toSection<\/decl.name>: Section<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 23,
@@ -35967,7 +36396,7 @@
                     "key.offset" : 872
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Reordering.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/Reordering.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> toIndexPath<\/decl.name>: IndexPath<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 27,
@@ -35996,7 +36425,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 17859,
     "key.offset" : 0,
@@ -36020,7 +36449,7 @@
             "key.offset" : 148
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
         "key.fully_annotated_decl" : "final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> CollectionViewLayout<\/decl.name> : UICollectionViewLayout<\/ref.class><\/decl.class>",
         "key.inheritedtypes" : [
           {
@@ -36055,7 +36484,7 @@
                 "key.offset" : 220
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "unowned<\/syntaxtype.keyword> let<\/syntaxtype.keyword> delegate<\/decl.name>: CollectionViewLayoutDelegate<\/ref.protocol><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 43,
@@ -36073,7 +36502,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "var layoutDescription: LayoutDescription<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> layoutDescription<\/decl.name>: LayoutDescription<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 41,
@@ -36094,7 +36523,7 @@
             "key.annotated_decl" : "var appearance: Appearance<\/Type> { get set }<\/Declaration>",
             "key.bodylength" : 170,
             "key.bodyoffset" : 361,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> appearance<\/decl.name>: Appearance<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 200,
@@ -36122,7 +36551,7 @@
             ],
             "key.bodylength" : 122,
             "key.bodyoffset" : 578,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> func<\/syntaxtype.keyword> applyAppearance<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 151,
@@ -36145,7 +36574,7 @@
             "key.annotated_decl" : "var behavior: Behavior<\/Type> { get set }<\/Declaration>",
             "key.bodylength" : 166,
             "key.bodyoffset" : 736,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> behavior<\/decl.name>: Behavior<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 192,
@@ -36173,7 +36602,7 @@
             ],
             "key.bodylength" : 122,
             "key.bodyoffset" : 947,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> func<\/syntaxtype.keyword> applyBehavior<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 149,
@@ -36204,7 +36633,7 @@
             "key.annotated_decl" : "init(delegate: CollectionViewLayoutDelegate<\/Type>, layoutDescription: LayoutDescription<\/Type>, appearance: Appearance<\/Type>, behavior: Behavior<\/Type>)<\/Declaration>",
             "key.bodylength" : 618,
             "key.bodyoffset" : 1297,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(delegate<\/decl.var.parameter.argument_label>: CollectionViewLayoutDelegate<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>, layoutDescription<\/decl.var.parameter.argument_label>: LayoutDescription<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, appearance<\/decl.var.parameter.argument_label>: Appearance<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, behavior<\/decl.var.parameter.argument_label>: Behavior<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 789,
@@ -36262,7 +36691,7 @@
             "key.annotated_decl" : "func frameForItem(at indexPath: IndexPath<\/Type>) -> CGRect<\/Type><\/Declaration>",
             "key.bodylength" : 59,
             "key.bodyoffset" : 2128,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> frameForItem<\/decl.name>(at<\/decl.var.parameter.argument_label> indexPath<\/decl.var.parameter.name>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGRect<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 119,
@@ -36285,7 +36714,7 @@
             "key.annotated_decl" : "func positionForItem(at indexPath: IndexPath<\/Type>) -> ItemPosition<\/Type><\/Declaration>",
             "key.bodylength" : 62,
             "key.bodyoffset" : 2266,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> positionForItem<\/decl.name>(at<\/decl.var.parameter.argument_label> indexPath<\/decl.var.parameter.name>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ItemPosition<\/ref.enum><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 131,
@@ -36314,7 +36743,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "var layout: AnyListLayout<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> layout<\/decl.name>: AnyListLayout<\/ref.protocol><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 26,
@@ -36340,7 +36769,7 @@
                 "key.offset" : 2426
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> var<\/syntaxtype.keyword> previousLayout<\/decl.name>: AnyListLayout<\/ref.protocol><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 34,
@@ -36366,7 +36795,7 @@
                 "key.offset" : 2473
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> var<\/syntaxtype.keyword> changesDuringCurrentUpdate<\/decl.name>: UpdateItems<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 44,
@@ -36392,7 +36821,7 @@
                 "key.offset" : 2530
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> var<\/syntaxtype.keyword> viewProperties<\/decl.name>: CollectionViewLayoutProperties<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 51,
@@ -36421,7 +36850,7 @@
             "key.annotated_decl" : "func setNeedsRelayout()<\/Declaration>",
             "key.bodylength" : 99,
             "key.bodyoffset" : 2697,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> setNeedsRelayout<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 129,
@@ -36444,7 +36873,7 @@
             "key.annotated_decl" : "func setNeedsRebuild()<\/Declaration>",
             "key.bodylength" : 98,
             "key.bodyoffset" : 2835,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> setNeedsRebuild<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 127,
@@ -36472,7 +36901,7 @@
                 "key.offset" : 2944
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword>(set) var<\/syntaxtype.keyword> shouldAskForItemSizesDuringLayoutInvalidation<\/decl.name>: Bool<\/ref.struct><\/decl.var.type> { get }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 64,
@@ -36493,7 +36922,7 @@
             "key.annotated_decl" : "func setShouldAskForItemSizesDuringLayoutInvalidation()<\/Declaration>",
             "key.bodylength" : 71,
             "key.bodyoffset" : 3092,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> setShouldAskForItemSizesDuringLayoutInvalidation<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 133,
@@ -36520,7 +36949,7 @@
             ],
             "key.bodylength" : 45,
             "key.bodyoffset" : 3229,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "override<\/syntaxtype.keyword> class<\/syntaxtype.keyword> var<\/syntaxtype.keyword> invalidationContextClass<\/decl.name>: AnyClass<\/ref.typealias><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.class>",
             "key.kind" : "source.lang.swift.decl.var.class",
             "key.length" : 92,
@@ -36552,7 +36981,7 @@
             ],
             "key.bodylength" : 237,
             "key.bodyoffset" : 3323,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "override<\/syntaxtype.keyword> func<\/syntaxtype.keyword> invalidateLayout<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 267,
@@ -36592,7 +37021,7 @@
             ],
             "key.bodylength" : 1084,
             "key.bodyoffset" : 3664,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "override<\/syntaxtype.keyword> func<\/syntaxtype.keyword> invalidateLayout<\/decl.name>(with<\/decl.var.parameter.argument_label> context<\/decl.var.parameter.name>: UICollectionViewLayoutInvalidationContext<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 1169,
@@ -36616,7 +37045,7 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let view: UICollectionView<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> view<\/decl.name>: UICollectionView<\/ref.class><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 31,
@@ -36633,7 +37062,7 @@
               },
               {
                 "key.annotated_decl" : "let context: CollectionViewLayout<\/Type>.InvalidationContext<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> context<\/decl.name>: CollectionViewLayout<\/ref.class>.InvalidationContext<\/ref.class><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 45,
@@ -36665,7 +37094,7 @@
             ],
             "key.bodylength" : 499,
             "key.bodyoffset" : 5009,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "override<\/syntaxtype.keyword> func<\/syntaxtype.keyword> invalidationContextForEndingInteractiveMovementOfItems<\/decl.name>(toFinalIndexPaths<\/decl.var.parameter.argument_label> indexPaths<\/decl.var.parameter.name>: [IndexPath<\/ref.struct>]<\/decl.var.parameter.type><\/decl.var.parameter>, previousIndexPaths<\/decl.var.parameter.argument_label>: [IndexPath<\/ref.struct>]<\/decl.var.parameter.type><\/decl.var.parameter>, movementCancelled<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> UICollectionViewLayoutInvalidationContext<\/ref.class><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 741,
@@ -36700,7 +37129,7 @@
             ],
             "key.bodylength" : 25,
             "key.bodyoffset" : 5604,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "override<\/syntaxtype.keyword> func<\/syntaxtype.keyword> shouldInvalidateLayout<\/decl.name>(forBoundsChange<\/decl.var.parameter.argument_label> newBounds<\/decl.var.parameter.name>: CGRect<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 102,
@@ -36752,7 +37181,7 @@
                 "key.offset" : 5682
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> CollectionViewLayout<\/ref.class>.InvalidationContext<\/decl.name> : UICollectionViewLayoutInvalidationContext<\/ref.class><\/decl.class>",
             "key.inheritedtypes" : [
               {
@@ -36772,7 +37201,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var viewPropertiesChanged: Bool<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> viewPropertiesChanged<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 40,
@@ -36791,7 +37220,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var performedInteractiveMove: Bool<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> performedInteractiveMove<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 43,
@@ -36832,7 +37261,7 @@
             ],
             "key.bodylength" : 1174,
             "key.bodyoffset" : 5940,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> enum<\/syntaxtype.keyword> CollectionViewLayout<\/ref.class>.NeededLayoutType<\/decl.name><\/decl.enum>",
             "key.kind" : "source.lang.swift.decl.enum",
             "key.length" : 1198,
@@ -36854,7 +37283,7 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "case none<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> none<\/decl.name><\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 4,
@@ -36881,7 +37310,7 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "case relayout<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> relayout<\/decl.name><\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 8,
@@ -36908,7 +37337,7 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "case rebuild<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> rebuild<\/decl.name><\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 7,
@@ -36937,7 +37366,7 @@
                 ],
                 "key.bodylength" : 480,
                 "key.bodyoffset" : 6106,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
                 "key.fully_annotated_decl" : "mutating<\/syntaxtype.keyword> func<\/syntaxtype.keyword> merge<\/decl.name>(with<\/decl.var.parameter.argument_label> context<\/decl.var.parameter.name>: UICollectionViewLayoutInvalidationContext<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 559,
@@ -36956,7 +37385,7 @@
                 "key.substructure" : [
                   {
                     "key.annotated_decl" : "let context: CollectionViewLayout<\/Type>.InvalidationContext<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> context<\/decl.name>: CollectionViewLayout<\/ref.class>.InvalidationContext<\/ref.class><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 45,
@@ -36973,7 +37402,7 @@
                   },
                   {
                     "key.annotated_decl" : "let requeryDataSourceCounts: Bool<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> requeryDataSourceCounts<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 96,
@@ -36990,7 +37419,7 @@
                   },
                   {
                     "key.annotated_decl" : "let needsRelayout: Bool<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> needsRelayout<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 85,
@@ -37022,7 +37451,7 @@
                 ],
                 "key.bodylength" : 96,
                 "key.bodyoffset" : 6663,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
                 "key.fully_annotated_decl" : "mutating<\/syntaxtype.keyword> func<\/syntaxtype.keyword> merge<\/decl.name>(with<\/decl.var.parameter.argument_label> new<\/decl.var.parameter.name>: NeededLayoutType<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 146,
@@ -37057,7 +37486,7 @@
                 ],
                 "key.bodylength" : 155,
                 "key.bodyoffset" : 6806,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
                 "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> var<\/syntaxtype.keyword> priority<\/decl.name>: Int<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 176,
@@ -37084,7 +37513,7 @@
                 ],
                 "key.bodylength" : 77,
                 "key.bodyoffset" : 7031,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
                 "key.fully_annotated_decl" : "mutating<\/syntaxtype.keyword> func<\/syntaxtype.keyword> update<\/decl.name>(with<\/decl.var.parameter.argument_label> success<\/decl.var.parameter.name>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 120,
@@ -37117,7 +37546,7 @@
                 "key.offset" : 7125
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> var<\/syntaxtype.keyword> neededLayoutType<\/decl.name>: NeededLayoutType<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 50,
@@ -37145,7 +37574,7 @@
             ],
             "key.bodylength" : 738,
             "key.bodyoffset" : 7226,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "override<\/syntaxtype.keyword> func<\/syntaxtype.keyword> prepare<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 759,
@@ -37172,7 +37601,7 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let size: CGSize<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> size<\/decl.name>: CGSize<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 52,
@@ -37204,7 +37633,7 @@
             ],
             "key.bodylength" : 148,
             "key.bodyoffset" : 8070,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "override<\/syntaxtype.keyword> func<\/syntaxtype.keyword> prepare<\/decl.name>(forCollectionViewUpdates<\/decl.var.parameter.argument_label> updateItems<\/decl.var.parameter.name>: [UICollectionViewUpdateItem<\/ref.class>]<\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 235,
@@ -37255,7 +37684,7 @@
             ],
             "key.bodylength" : 124,
             "key.bodyoffset" : 8330,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "override<\/syntaxtype.keyword> func<\/syntaxtype.keyword> finalizeCollectionViewUpdates<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 167,
@@ -37298,7 +37727,7 @@
             ],
             "key.bodylength" : 569,
             "key.bodyoffset" : 8551,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> func<\/syntaxtype.keyword> performRebuild<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 597,
@@ -37328,7 +37757,7 @@
             ],
             "key.bodylength" : 555,
             "key.bodyoffset" : 9165,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> func<\/syntaxtype.keyword> performLayout<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 582,
@@ -37342,7 +37771,7 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let view: UICollectionView<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> view<\/decl.name>: UICollectionView<\/ref.class><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 31,
@@ -37374,7 +37803,7 @@
             ],
             "key.bodylength" : 173,
             "key.bodyoffset" : 9771,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> func<\/syntaxtype.keyword> performLayoutUpdate<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 206,
@@ -37388,7 +37817,7 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let view: UICollectionView<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> view<\/decl.name>: UICollectionView<\/ref.class><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 31,
@@ -37428,7 +37857,7 @@
             ],
             "key.bodylength" : 52,
             "key.bodyoffset" : 10071,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "override<\/syntaxtype.keyword> var<\/syntaxtype.keyword> collectionViewContentSize<\/decl.name>: CGSize<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 97,
@@ -37460,7 +37889,7 @@
             ],
             "key.bodylength" : 98,
             "key.bodyoffset" : 10233,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "override<\/syntaxtype.keyword> func<\/syntaxtype.keyword> layoutAttributesForElements<\/decl.name>(in<\/decl.var.parameter.argument_label> rect<\/decl.var.parameter.name>: CGRect<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> [UICollectionViewLayoutAttributes<\/ref.class>]?<\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 193,
@@ -37488,7 +37917,7 @@
             "key.annotated_decl" : "func visibleLayoutAttributesForElements(in rect: CGRect<\/Type>) -> [UICollectionViewLayoutAttributes<\/Type>]?<\/Declaration>",
             "key.bodylength" : 99,
             "key.bodyoffset" : 10443,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> visibleLayoutAttributesForElements<\/decl.name>(in<\/decl.var.parameter.argument_label> rect<\/decl.var.parameter.name>: CGRect<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> [UICollectionViewLayoutAttributes<\/ref.class>]?<\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 201,
@@ -37518,7 +37947,7 @@
             ],
             "key.bodylength" : 72,
             "key.bodyoffset" : 10654,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "override<\/syntaxtype.keyword> func<\/syntaxtype.keyword> layoutAttributesForItem<\/decl.name>(at<\/decl.var.parameter.argument_label> indexPath<\/decl.var.parameter.name>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> UICollectionViewLayoutAttributes<\/ref.class>?<\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 169,
@@ -37558,7 +37987,7 @@
             ],
             "key.bodylength" : 102,
             "key.bodyoffset" : 10890,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> override<\/syntaxtype.keyword> func<\/syntaxtype.keyword> layoutAttributesForSupplementaryView<\/decl.name>(ofKind<\/decl.var.parameter.argument_label> elementKind<\/decl.var.parameter.name>: String<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, at<\/decl.var.parameter.argument_label> indexPath<\/decl.var.parameter.name>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> UICollectionViewLayoutAttributes<\/ref.class>?<\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 240,
@@ -37601,7 +38030,7 @@
             ],
             "key.bodylength" : 947,
             "key.bodyoffset" : 11210,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "override<\/syntaxtype.keyword> func<\/syntaxtype.keyword> initialLayoutAttributesForAppearingItem<\/decl.name>(at<\/decl.var.parameter.argument_label> itemIndexPath<\/decl.var.parameter.name>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> UICollectionViewLayoutAttributes<\/ref.class>?<\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 1064,
@@ -37620,7 +38049,7 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let wasInserted: Bool<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> wasInserted<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 108,
@@ -37652,7 +38081,7 @@
             ],
             "key.bodylength" : 967,
             "key.bodyoffset" : 12290,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "override<\/syntaxtype.keyword> func<\/syntaxtype.keyword> finalLayoutAttributesForDisappearingItem<\/decl.name>(at<\/decl.var.parameter.argument_label> itemIndexPath<\/decl.var.parameter.name>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> UICollectionViewLayoutAttributes<\/ref.class>?<\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 1085,
@@ -37671,7 +38100,7 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let wasItemDeleted: Bool<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> wasItemDeleted<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 110,
@@ -37703,7 +38132,7 @@
             ],
             "key.bodylength" : 386,
             "key.bodyoffset" : 13440,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "override<\/syntaxtype.keyword> func<\/syntaxtype.keyword> initialLayoutAttributesForAppearingSupplementaryElement<\/decl.name>(ofKind<\/decl.var.parameter.argument_label> elementKind<\/decl.var.parameter.name>: String<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, at<\/decl.var.parameter.argument_label> elementIndexPath<\/decl.var.parameter.name>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> UICollectionViewLayoutAttributes<\/ref.class>?<\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 550,
@@ -37722,7 +38151,7 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let wasInserted: Bool<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> wasInserted<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 118,
@@ -37739,7 +38168,7 @@
               },
               {
                 "key.annotated_decl" : "let attributes: UICollectionViewLayoutAttributes<\/Type>?<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> attributes<\/decl.name>: UICollectionViewLayoutAttributes<\/ref.class>?<\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 121,
@@ -37771,7 +38200,7 @@
             ],
             "key.bodylength" : 384,
             "key.bodyoffset" : 14010,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "override<\/syntaxtype.keyword> func<\/syntaxtype.keyword> finalLayoutAttributesForDisappearingSupplementaryElement<\/decl.name>(ofKind<\/decl.var.parameter.argument_label> elementKind<\/decl.var.parameter.name>: String<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, at<\/decl.var.parameter.argument_label> elementIndexPath<\/decl.var.parameter.name>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> UICollectionViewLayoutAttributes<\/ref.class>?<\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 549,
@@ -37790,7 +38219,7 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let wasDeleted: Bool<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> wasDeleted<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 116,
@@ -37807,7 +38236,7 @@
               },
               {
                 "key.annotated_decl" : "let attributes: UICollectionViewLayoutAttributes<\/Type>?<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> attributes<\/decl.name>: UICollectionViewLayoutAttributes<\/ref.class>?<\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 122,
@@ -37847,7 +38276,7 @@
             ],
             "key.bodylength" : 309,
             "key.bodyoffset" : 14643,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "override<\/syntaxtype.keyword> func<\/syntaxtype.keyword> layoutAttributesForInteractivelyMovingItem<\/decl.name>(at<\/decl.var.parameter.argument_label> indexPath<\/decl.var.parameter.name>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, withTargetPosition<\/decl.var.parameter.argument_label> position<\/decl.var.parameter.name>: CGPoint<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> UICollectionViewLayoutAttributes<\/ref.class><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 462,
@@ -37866,7 +38295,7 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let defaultAttributes: UICollectionViewLayoutAttributes<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> defaultAttributes<\/decl.name>: UICollectionViewLayoutAttributes<\/ref.class><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 75,
@@ -37883,7 +38312,7 @@
               },
               {
                 "key.annotated_decl" : "let attributes: UICollectionViewLayoutAttributes<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> attributes<\/decl.name>: UICollectionViewLayoutAttributes<\/ref.class><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 110,
@@ -37928,7 +38357,7 @@
             "key.offset" : 15036
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
         "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> CollectionViewLayoutProperties<\/decl.name> : Equatable<\/ref.protocol><\/decl.struct>",
         "key.inheritedtypes" : [
           {
@@ -37948,7 +38377,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "let size: CGSize<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> size<\/decl.name>: CGSize<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 17,
@@ -37966,7 +38395,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "let safeAreaInsets: UIEdgeInsets<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> safeAreaInsets<\/decl.name>: UIEdgeInsets<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 33,
@@ -37984,7 +38413,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "let contentInset: UIEdgeInsets<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> contentInset<\/decl.name>: UIEdgeInsets<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 31,
@@ -38004,7 +38433,7 @@
             "key.annotated_decl" : "init()<\/Declaration>",
             "key.bodylength" : 105,
             "key.bodyoffset" : 15167,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>()<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 119,
@@ -38029,7 +38458,7 @@
             "key.annotated_decl" : "init(collectionView: UICollectionView<\/Type>)<\/Declaration>",
             "key.bodylength" : 172,
             "key.bodyoffset" : 15326,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(collectionView<\/decl.var.parameter.argument_label>: UICollectionView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 219,
@@ -38084,7 +38513,7 @@
             "key.offset" : 15601
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> CollectionViewLayoutDelegate<\/decl.name> : AnyObject<\/decl.protocol>",
         "key.inheritedtypes" : [
           {
@@ -38104,7 +38533,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
             "key.annotated_decl" : "func listViewLayoutUpdatedItemPositions(_ collectionView: UICollectionView<\/Type>)<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> listViewLayoutUpdatedItemPositions<\/decl.name>(_<\/decl.var.parameter.argument_label> collectionView<\/decl.var.parameter.name>: UICollectionView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 76,
@@ -38125,7 +38554,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
             "key.annotated_decl" : "func listLayoutContent(defaults: ListLayoutDefaults<\/Type>) -> ListLayoutContent<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> listLayoutContent<\/decl.name>(defaults<\/decl.var.parameter.argument_label>: ListLayoutDefaults<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ListLayoutContent<\/ref.class><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 87,
@@ -38175,7 +38604,7 @@
             "key.offset" : 15891
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
         "key.fully_annotated_decl" : "fileprivate<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> UpdateItems<\/decl.name> : Equatable<\/ref.protocol><\/decl.struct>",
         "key.inheritedtypes" : [
           {
@@ -38195,7 +38624,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "let insertedSections: Set<\/Type><InsertSection<\/Type>><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> insertedSections<\/decl.name>: Set<\/ref.struct><InsertSection<\/ref.struct>><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 41,
@@ -38213,7 +38642,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "let deletedSections: Set<\/Type><DeleteSection<\/Type>><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> deletedSections<\/decl.name>: Set<\/ref.struct><DeleteSection<\/ref.struct>><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 40,
@@ -38231,7 +38660,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "let insertedItems: Set<\/Type><InsertItem<\/Type>><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> insertedItems<\/decl.name>: Set<\/ref.struct><InsertItem<\/ref.struct>><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 35,
@@ -38249,7 +38678,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "let deletedItems: Set<\/Type><DeleteItem<\/Type>><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> deletedItems<\/decl.name>: Set<\/ref.struct><DeleteItem<\/ref.struct>><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 34,
@@ -38269,7 +38698,7 @@
             "key.annotated_decl" : "init(with updateItems: [UICollectionViewUpdateItem<\/Type>])<\/Declaration>",
             "key.bodylength" : 1375,
             "key.bodyoffset" : 16146,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(with<\/decl.var.parameter.argument_label> updateItems<\/decl.var.parameter.name>: [UICollectionViewUpdateItem<\/ref.class>]<\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 1435,
@@ -38283,7 +38712,7 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "var insertedSections: Set<\/Type><UpdateItems<\/Type>.InsertSection<\/Type>><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> insertedSections<\/decl.name>: Set<\/ref.struct><UpdateItems<\/ref.struct>.InsertSection<\/ref.struct>><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 43,
@@ -38305,7 +38734,7 @@
               },
               {
                 "key.annotated_decl" : "var deletedSections: Set<\/Type><UpdateItems<\/Type>.DeleteSection<\/Type>><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> deletedSections<\/decl.name>: Set<\/ref.struct><UpdateItems<\/ref.struct>.DeleteSection<\/ref.struct>><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 42,
@@ -38327,7 +38756,7 @@
               },
               {
                 "key.annotated_decl" : "var insertedItems: Set<\/Type><UpdateItems<\/Type>.InsertItem<\/Type>><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> insertedItems<\/decl.name>: Set<\/ref.struct><UpdateItems<\/ref.struct>.InsertItem<\/ref.struct>><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 37,
@@ -38349,7 +38778,7 @@
               },
               {
                 "key.annotated_decl" : "var deletedItems: Set<\/Type><UpdateItems<\/Type>.DeleteItem<\/Type>><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> deletedItems<\/decl.name>: Set<\/ref.struct><UpdateItems<\/ref.struct>.DeleteItem<\/ref.struct>><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 36,
@@ -38386,7 +38815,7 @@
                 "key.offset" : 17555
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> UpdateItems<\/ref.struct>.InsertSection<\/decl.name> : Hashable<\/ref.protocol><\/decl.struct>",
             "key.inheritedtypes" : [
               {
@@ -38406,7 +38835,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var newIndex: Int<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> newIndex<\/decl.name>: Int<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 18,
@@ -38439,7 +38868,7 @@
                 "key.offset" : 17635
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> UpdateItems<\/ref.struct>.DeleteSection<\/decl.name> : Hashable<\/ref.protocol><\/decl.struct>",
             "key.inheritedtypes" : [
               {
@@ -38459,7 +38888,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var oldIndex: Int<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> oldIndex<\/decl.name>: Int<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 18,
@@ -38492,7 +38921,7 @@
                 "key.offset" : 17712
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> UpdateItems<\/ref.struct>.InsertItem<\/decl.name> : Hashable<\/ref.protocol><\/decl.struct>",
             "key.inheritedtypes" : [
               {
@@ -38512,7 +38941,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var newIndexPath: IndexPath<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> newIndexPath<\/decl.name>: IndexPath<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 28,
@@ -38545,7 +38974,7 @@
                 "key.offset" : 17799
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
             "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> UpdateItems<\/ref.struct>.DeleteItem<\/decl.name> : Hashable<\/ref.protocol><\/decl.struct>",
             "key.inheritedtypes" : [
               {
@@ -38565,7 +38994,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var oldIndexPath: IndexPath<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/CollectionViewLayout.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> oldIndexPath<\/decl.name>: IndexPath<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 28,
@@ -38594,23 +39023,15 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
-    "key.length" : 14618,
+    "key.length" : 16221,
     "key.offset" : 0,
     "key.substructure" : [
       {
-        "key.accessibility" : "source.lang.swift.accessibility.public",
         "key.annotated_decl" : "public struct LayoutDescription<\/Declaration>",
-        "key.attributes" : [
-          {
-            "key.attribute" : "source.decl.attribute.public",
-            "key.length" : 6,
-            "key.offset" : 110
-          }
-        ],
-        "key.bodylength" : 175,
-        "key.bodyoffset" : 146,
+        "key.bodylength" : 182,
+        "key.bodyoffset" : 139,
         "key.doc.column" : 15,
         "key.doc.declaration" : "public struct LayoutDescription",
         "key.doc.discussion" : [
@@ -38633,37 +39054,44 @@
             "Para" : "Under the hood, Listable is smart, and will only re-create the underlying layout object when needed (when the layout type or layout appearance changes)."
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
-        "key.doc.full_as_xml" : "LayoutDescription<\/Name>s:10ListableUI17LayoutDescriptionV<\/USR>public struct LayoutDescription<\/Declaration>A LayoutDescription<\/codeVoice>, well, describes the type of and properties of a layout to apply to a list view.<\/Para><\/Abstract>You use a LayoutDescription<\/codeVoice> by passing a closure to its initializer, which you use to customize the layoutAppearance<\/codeVoice> of the provided list type.<\/Para>For example, to use a standard list layout, and customize the layout, your code would look something like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>Or a layout for your own custom layout type would look somewhat like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>]]><\/rawHTML>Note]]><\/rawHTML>Under the hood, Listable is smart, and will only re-create the underlying layout object when needed (when the layout type or layout appearance changes).<\/Para><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
+        "key.doc.full_as_xml" : "LayoutDescription<\/Name>s:10ListableUI17LayoutDescriptionV<\/USR>public struct LayoutDescription<\/Declaration>A LayoutDescription<\/codeVoice>, well, describes the type of and properties of a layout to apply to a list view.<\/Para><\/Abstract>You use a LayoutDescription<\/codeVoice> by passing a closure to its initializer, which you use to customize the layoutAppearance<\/codeVoice> of the provided list type.<\/Para>For example, to use a standard list layout, and customize the layout, your code would look something like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>Or a layout for your own custom layout type would look somewhat like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>]]><\/rawHTML>Note]]><\/rawHTML>Under the hood, Listable is smart, and will only re-create the underlying layout object when needed (when the layout type or layout appearance changes).<\/Para><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 42,
         "key.doc.name" : "LayoutDescription",
         "key.doc.type" : "Class",
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> LayoutDescription<\/decl.name><\/decl.struct>",
         "key.kind" : "source.lang.swift.decl.extension",
-        "key.length" : 205,
+        "key.length" : 212,
         "key.name" : "LayoutDescription",
         "key.namelength" : 17,
-        "key.nameoffset" : 127,
-        "key.offset" : 117,
-        "key.parsed_declaration" : "public extension LayoutDescription",
+        "key.nameoffset" : 120,
+        "key.offset" : 110,
+        "key.parsed_declaration" : "extension LayoutDescription",
         "key.parsed_scope.end" : 16,
         "key.parsed_scope.start" : 10,
         "key.substructure" : [
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "static func grid_experimental(_ configure: @escaping (inout GridAppearance<\/Type>) -> () = { _ in }) -> LayoutDescription<\/Type><\/Declaration>",
+            "key.annotated_decl" : "public static func experimental_grid(_ configure: @escaping (inout GridAppearance<\/Type>) -> () = { _ in }) -> LayoutDescription<\/Type><\/Declaration>",
+            "key.attributes" : [
+              {
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 144
+              }
+            ],
             "key.bodylength" : 60,
             "key.bodyoffset" : 259,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
-            "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> grid_experimental<\/decl.name>(_<\/decl.var.parameter.argument_label> configure<\/decl.var.parameter.name>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> (inout<\/syntaxtype.keyword> GridAppearance<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type> = { _ in }<\/decl.var.parameter>) -> LayoutDescription<\/ref.struct><\/decl.function.returntype><\/decl.function.method.static>",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> experimental_grid<\/decl.name>(_<\/decl.var.parameter.argument_label> configure<\/decl.var.parameter.name>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> (inout<\/syntaxtype.keyword> GridAppearance<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type> = { _ in }<\/decl.var.parameter>) -> LayoutDescription<\/ref.struct><\/decl.function.returntype><\/decl.function.method.static>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
             "key.length" : 169,
-            "key.name" : "grid_experimental(_:)",
+            "key.name" : "experimental_grid(_:)",
             "key.namelength" : 82,
             "key.nameoffset" : 163,
             "key.offset" : 151,
-            "key.parsed_declaration" : "static func grid_experimental(_ configure : @escaping (inout GridAppearance) -> () = { _ in }) -> Self",
+            "key.parsed_declaration" : "public static func experimental_grid(_ configure : @escaping (inout GridAppearance) -> () = { _ in }) -> Self",
             "key.parsed_scope.end" : 15,
             "key.parsed_scope.start" : 12,
             "key.substructure" : [
@@ -38671,7 +39099,7 @@
             ],
             "key.typename" : "(LayoutDescription.Type) -> (@escaping (inout GridAppearance) -> ()) -> LayoutDescription",
             "key.typeusr" : "$sy10ListableUI17LayoutDescriptionVyAA14GridAppearanceVzccD",
-            "key.usr" : "s:10ListableUI17LayoutDescriptionV17grid_experimentalyACyAA14GridAppearanceVzcFZ"
+            "key.usr" : "s:10ListableUI17LayoutDescriptionV17experimental_gridyACyAA14GridAppearanceVzcFZ"
           }
         ],
         "key.typename" : "LayoutDescription.Type",
@@ -38697,7 +39125,7 @@
             "key.offset" : 356
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> GridAppearance<\/decl.name> : ListLayoutAppearance<\/ref.protocol><\/decl.struct>",
         "key.inheritedtypes" : [
           {
@@ -38724,7 +39152,7 @@
                 "key.offset" : 383
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> sizing<\/decl.name>: Sizing<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 19,
@@ -38750,7 +39178,7 @@
                 "key.offset" : 414
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> layout<\/decl.name>: Layout<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 19,
@@ -38778,7 +39206,7 @@
             ],
             "key.bodylength" : 23,
             "key.bodyoffset" : 489,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> direction<\/decl.name>: LayoutDirection<\/ref.enum><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 56,
@@ -38808,7 +39236,7 @@
                 "key.offset" : 523
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> stickySectionHeaders<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 31,
@@ -38841,7 +39269,7 @@
             ],
             "key.bodylength" : 32,
             "key.bodyoffset" : 616,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> static<\/syntaxtype.keyword> var<\/syntaxtype.keyword> `default`<\/decl.name>: GridAppearance<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.static>",
             "key.kind" : "source.lang.swift.decl.var.static",
             "key.length" : 71,
@@ -38873,7 +39301,7 @@
             ],
             "key.bodylength" : 120,
             "key.bodyoffset" : 794,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(stickySectionHeaders<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type> = true<\/decl.var.parameter>, sizing<\/decl.var.parameter.argument_label>: Sizing<\/ref.struct><\/decl.var.parameter.type> = Sizing()<\/decl.var.parameter>, layout<\/decl.var.parameter.argument_label>: Layout<\/ref.struct><\/decl.var.parameter.type> = Layout()<\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 249,
@@ -38910,7 +39338,7 @@
                 "key.offset" : 948
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> GridAppearance<\/ref.struct>.Sizing<\/decl.name> : Equatable<\/ref.protocol><\/decl.struct>",
             "key.inheritedtypes" : [
               {
@@ -38937,7 +39365,7 @@
                     "key.offset" : 972
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> itemSize<\/decl.name>: ItemSize<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 23,
@@ -38972,7 +39400,7 @@
                     "key.offset" : 1043
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> enum<\/syntaxtype.keyword> GridAppearance<\/ref.struct>.Sizing<\/ref.struct>.ItemSize<\/decl.name> : Equatable<\/ref.protocol><\/decl.enum>",
                 "key.inheritedtypes" : [
                   {
@@ -38999,7 +39427,7 @@
                       {
                         "key.accessibility" : "source.lang.swift.accessibility.public",
                         "key.annotated_decl" : "case fixed(CGSize<\/Type>)<\/Declaration>",
-                        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+                        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
                         "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> fixed<\/decl.name>(CGSize<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.enumelement>",
                         "key.kind" : "source.lang.swift.decl.enumelement",
                         "key.length" : 13,
@@ -39034,7 +39462,7 @@
                     "key.offset" : 1113
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> sectionHeaderHeight<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 33,
@@ -39060,7 +39488,7 @@
                     "key.offset" : 1162
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> sectionFooterHeight<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 33,
@@ -39086,7 +39514,7 @@
                     "key.offset" : 1220
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> listHeaderHeight<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 30,
@@ -39112,7 +39540,7 @@
                     "key.offset" : 1266
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> listFooterHeight<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 30,
@@ -39138,7 +39566,7 @@
                     "key.offset" : 1312
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> overscrollFooterHeight<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 36,
@@ -39166,7 +39594,7 @@
                 ],
                 "key.bodylength" : 335,
                 "key.bodyoffset" : 1734,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(itemSize<\/decl.var.parameter.argument_label>: ItemSize<\/ref.enum><\/decl.var.parameter.type> = .fixed(CGSize(width: 100.0, height: 100.0))<\/decl.var.parameter>, sectionHeaderHeight<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = 60.0<\/decl.var.parameter>, sectionFooterHeight<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = 40.0<\/decl.var.parameter>, listHeaderHeight<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = 60.0<\/decl.var.parameter>, listFooterHeight<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = 60.0<\/decl.var.parameter>, overscrollFooterHeight<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = 60.0<\/decl.var.parameter>)<\/decl.function.constructor>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 686,
@@ -39201,7 +39629,7 @@
                 ],
                 "key.bodylength" : 92,
                 "key.bodyoffset" : 2156,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> mutating<\/syntaxtype.keyword> func<\/syntaxtype.keyword> set<\/decl.name>(with<\/decl.var.parameter.argument_label> block<\/decl.var.parameter.name>: (inout<\/syntaxtype.keyword> Sizing<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 145,
@@ -39215,7 +39643,7 @@
                 "key.substructure" : [
                   {
                     "key.annotated_decl" : "var edited: GridAppearance<\/Type>.Sizing<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
                     "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> edited<\/decl.name>: GridAppearance<\/ref.struct>.Sizing<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 17,
@@ -39259,7 +39687,7 @@
                 "key.offset" : 2289
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> GridAppearance<\/ref.struct>.Layout<\/decl.name> : Equatable<\/ref.protocol><\/decl.struct>",
             "key.inheritedtypes" : [
               {
@@ -39286,7 +39714,7 @@
                     "key.offset" : 2313
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> padding<\/decl.name>: UIEdgeInsets<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 26,
@@ -39312,7 +39740,7 @@
                     "key.offset" : 2355
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> width<\/decl.name>: WidthConstraint<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 27,
@@ -39343,7 +39771,7 @@
                     "key.offset" : 2399
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> interSectionSpacingWithNoFooter<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 45,
@@ -39369,7 +39797,7 @@
                     "key.offset" : 2460
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> interSectionSpacingWithFooter<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 43,
@@ -39395,7 +39823,7 @@
                     "key.offset" : 2528
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> sectionHeaderBottomSpacing<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 40,
@@ -39421,7 +39849,7 @@
                     "key.offset" : 2584
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> itemToSectionFooterSpacing<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 40,
@@ -39449,7 +39877,7 @@
                 ],
                 "key.bodylength" : 409,
                 "key.bodyoffset" : 3017,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(padding<\/decl.var.parameter.argument_label>: UIEdgeInsets<\/ref.struct><\/decl.var.parameter.type> = .zero<\/decl.var.parameter>, width<\/decl.var.parameter.argument_label>: WidthConstraint<\/ref.enum><\/decl.var.parameter.type> = .noConstraint<\/decl.var.parameter>, interSectionSpacingWithNoFooter<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = 0.0<\/decl.var.parameter>, interSectionSpacingWithFooter<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = 0.0<\/decl.var.parameter>, sectionHeaderBottomSpacing<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = 0.0<\/decl.var.parameter>, itemToSectionFooterSpacing<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = 0.0<\/decl.var.parameter>)<\/decl.function.constructor>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 763,
@@ -39484,7 +39912,7 @@
                 ],
                 "key.bodylength" : 92,
                 "key.bodyoffset" : 3506,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> mutating<\/syntaxtype.keyword> func<\/syntaxtype.keyword> set<\/decl.name>(with<\/decl.var.parameter.argument_label> block<\/decl.var.parameter.name>: (inout<\/syntaxtype.keyword> Layout<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 146,
@@ -39498,7 +39926,7 @@
                 "key.substructure" : [
                   {
                     "key.annotated_decl" : "var edited: GridAppearance<\/Type>.Layout<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
                     "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> edited<\/decl.name>: GridAppearance<\/ref.struct>.Layout<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 17,
@@ -39530,7 +39958,7 @@
                 ],
                 "key.bodylength" : 138,
                 "key.bodyoffset" : 3791,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
                 "key.fully_annotated_decl" : "internal<\/syntaxtype.keyword> static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> width<\/decl.name>(with<\/decl.var.parameter.argument_label> width<\/decl.var.parameter.name>: CGFloat<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, padding<\/decl.var.parameter.argument_label>: HorizontalPadding<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, constraint<\/decl.var.parameter.argument_label>: WidthConstraint<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGFloat<\/ref.struct><\/decl.function.returntype><\/decl.function.method.static>",
                 "key.kind" : "source.lang.swift.decl.function.method.static",
                 "key.length" : 304,
@@ -39549,7 +39977,7 @@
                 "key.substructure" : [
                   {
                     "key.annotated_decl" : "let paddedWidth: CGFloat<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> paddedWidth<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 54,
@@ -39580,280 +40008,932 @@
         "key.usr" : "s:10ListableUI14GridAppearanceV"
       },
       {
-        "key.accessibility" : "source.lang.swift.accessibility.internal",
-        "key.annotated_decl" : "final class GridListLayout : ListLayout<\/Type><\/Declaration>",
-        "key.attributes" : [
-          {
-            "key.attribute" : "source.decl.attribute.final",
-            "key.length" : 5,
-            "key.offset" : 3941
-          }
-        ],
-        "key.bodylength" : 9177,
-        "key.bodyoffset" : 3982,
-        "key.elements" : [
-          {
-            "key.kind" : "source.lang.swift.structure.elem.typeref",
-            "key.length" : 10,
-            "key.offset" : 3970
-          }
-        ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
-        "key.fully_annotated_decl" : "final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> GridListLayout<\/decl.name> : ListLayout<\/ref.protocol><\/decl.class>",
-        "key.inheritedtypes" : [
-          {
-            "key.name" : "ListLayout"
-          }
-        ],
-        "key.kind" : "source.lang.swift.decl.class",
-        "key.length" : 9213,
-        "key.name" : "GridListLayout",
+        "key.annotated_decl" : "public struct GridAppearance : ListLayoutAppearance<\/Type><\/Declaration>",
+        "key.bodylength" : 878,
+        "key.bodyoffset" : 3967,
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> GridAppearance<\/decl.name> : ListLayoutAppearance<\/ref.protocol><\/decl.struct>",
+        "key.kind" : "source.lang.swift.decl.extension",
+        "key.length" : 905,
+        "key.name" : "GridAppearance",
         "key.namelength" : 14,
-        "key.nameoffset" : 3953,
-        "key.offset" : 3947,
-        "key.parsed_declaration" : "final class GridListLayout : ListLayout",
-        "key.parsed_scope.end" : 406,
+        "key.nameoffset" : 3951,
+        "key.offset" : 3941,
+        "key.parsed_declaration" : "extension GridAppearance",
+        "key.parsed_scope.end" : 180,
         "key.parsed_scope.start" : 136,
         "key.substructure" : [
           {
-            "key.accessibility" : "source.lang.swift.accessibility.internal",
-            "key.annotated_decl" : "typealias GridListLayout<\/Type>.LayoutAppearance = GridAppearance<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
-            "key.fully_annotated_decl" : "typealias<\/syntaxtype.keyword> GridListLayout<\/ref.class>.LayoutAppearance<\/decl.name> = GridAppearance<\/ref.struct><\/decl.typealias>",
-            "key.kind" : "source.lang.swift.decl.typealias",
-            "key.length" : 43,
-            "key.name" : "LayoutAppearance",
-            "key.namelength" : 16,
-            "key.nameoffset" : 3997,
-            "key.offset" : 3987,
-            "key.overrides" : [
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "public struct ItemLayout : ItemLayoutsValue<\/Type><\/Declaration>",
+            "key.attributes" : [
               {
-                "key.usr" : "s:10ListableUI10ListLayoutP0D10AppearanceQa"
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 3977
               }
             ],
-            "key.parsed_declaration" : "typealias LayoutAppearance = GridAppearance",
-            "key.parsed_scope.end" : 138,
-            "key.parsed_scope.start" : 138,
-            "key.typename" : "GridAppearance.Type",
-            "key.typeusr" : "$s10ListableUI14GridAppearanceVmD",
-            "key.usr" : "s:10ListableUI14GridListLayoutC0E10Appearancea"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.internal",
-            "key.annotated_decl" : "static var defaults: ListLayoutDefaults<\/Type> { get }<\/Declaration>",
-            "key.bodylength" : 62,
-            "key.bodyoffset" : 4081,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
-            "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> var<\/syntaxtype.keyword> defaults<\/decl.name>: ListLayoutDefaults<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.static>",
-            "key.kind" : "source.lang.swift.decl.var.static",
-            "key.length" : 104,
-            "key.name" : "defaults",
-            "key.namelength" : 8,
-            "key.nameoffset" : 4051,
-            "key.offset" : 4040,
-            "key.overrides" : [
+            "key.bodylength" : 147,
+            "key.bodyoffset" : 4022,
+            "key.elements" : [
               {
-                "key.usr" : "s:10ListableUI10ListLayoutP8defaultsAA0cD8DefaultsVvpZ"
+                "key.kind" : "source.lang.swift.structure.elem.typeref",
+                "key.length" : 16,
+                "key.offset" : 4004
               }
             ],
-            "key.parsed_declaration" : "static var defaults: ListLayoutDefaults",
-            "key.parsed_scope.end" : 142,
-            "key.parsed_scope.start" : 140,
-            "key.typename" : "ListLayoutDefaults",
-            "key.typeusr" : "$s10ListableUI18ListLayoutDefaultsVD",
-            "key.usr" : "s:10ListableUI14GridListLayoutC8defaultsAA0dE8DefaultsVvpZ"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.internal",
-            "key.annotated_decl" : "var layoutAppearance: GridAppearance<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
-            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> layoutAppearance<\/decl.name>: GridAppearance<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 36,
-            "key.name" : "layoutAppearance",
-            "key.namelength" : 16,
-            "key.nameoffset" : 4158,
-            "key.offset" : 4154,
-            "key.overrides" : [
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> ItemLayout<\/decl.name> : ItemLayoutsValue<\/ref.protocol><\/decl.struct>",
+            "key.inheritedtypes" : [
               {
-                "key.usr" : "s:10ListableUI10ListLayoutP16layoutAppearance0dF0Qzvp"
+                "key.name" : "ItemLayoutsValue"
               }
             ],
-            "key.parsed_declaration" : "var layoutAppearance: GridAppearance",
-            "key.parsed_scope.end" : 144,
-            "key.parsed_scope.start" : 144,
-            "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
-            "key.typename" : "GridAppearance",
-            "key.typeusr" : "$s10ListableUI14GridAppearanceVD",
-            "key.usr" : "s:10ListableUI14GridListLayoutC16layoutAppearanceAA0cG0Vvp"
-          },
-          {
-            "key.kind" : "source.lang.swift.syntaxtype.comment.mark",
-            "key.length" : 23,
-            "key.name" : "MARK: Public Properties",
-            "key.namelength" : 0,
-            "key.nameoffset" : 0,
-            "key.offset" : 4210
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.internal",
-            "key.annotated_decl" : "let appearance: Appearance<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
-            "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> appearance<\/decl.name>: Appearance<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 27,
-            "key.name" : "appearance",
+            "key.kind" : "source.lang.swift.decl.struct",
+            "key.length" : 186,
+            "key.name" : "ItemLayout",
             "key.namelength" : 10,
-            "key.nameoffset" : 4258,
-            "key.offset" : 4254,
-            "key.overrides" : [
+            "key.nameoffset" : 3991,
+            "key.offset" : 3984,
+            "key.parsed_declaration" : "public struct ItemLayout : ItemLayoutsValue",
+            "key.parsed_scope.end" : 147,
+            "key.parsed_scope.start" : 138,
+            "key.substructure" : [
               {
-                "key.usr" : "s:10ListableUI13AnyListLayoutP10appearanceAA10AppearanceVvp"
-              }
-            ],
-            "key.parsed_declaration" : "let appearance : Appearance",
-            "key.parsed_scope.end" : 150,
-            "key.parsed_scope.start" : 150,
-            "key.typename" : "Appearance",
-            "key.typeusr" : "$s10ListableUI10AppearanceVD",
-            "key.usr" : "s:10ListableUI14GridListLayoutC10appearanceAA10AppearanceVvp"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.internal",
-            "key.annotated_decl" : "let behavior: Behavior<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
-            "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> behavior<\/decl.name>: Behavior<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 23,
-            "key.name" : "behavior",
-            "key.namelength" : 8,
-            "key.nameoffset" : 4290,
-            "key.offset" : 4286,
-            "key.overrides" : [
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public static var defaultValue: `Self` { get }<\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 4040
+                  }
+                ],
+                "key.bodylength" : 29,
+                "key.bodyoffset" : 4078,
+                "key.doc.column" : 16,
+                "key.doc.declaration" : "static var defaultValue: Self { get }",
+                "key.doc.discussion" : [
+                  {
+                    "Note" : ""
+                  }
+                ],
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemLayouts.swift",
+                "key.doc.full_as_xml" : "defaultValue<\/Name>s:10ListableUI16ItemLayoutsValueP07defaultE0xvpZ<\/USR>static var defaultValue: Self { get }<\/Declaration>The default value used when accessing the value, if none is set.<\/Para><\/Abstract>This documentation comment was inherited from ItemLayoutsValue<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Other>",
+                "key.doc.line" : 112,
+                "key.doc.name" : "defaultValue",
+                "key.doc.type" : "Other",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> static<\/syntaxtype.keyword> var<\/syntaxtype.keyword> defaultValue<\/decl.name>: `Self`<\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.static>",
+                "key.kind" : "source.lang.swift.decl.var.static",
+                "key.length" : 61,
+                "key.name" : "defaultValue",
+                "key.namelength" : 12,
+                "key.nameoffset" : 4058,
+                "key.offset" : 4047,
+                "key.overrides" : [
+                  {
+                    "key.usr" : "s:10ListableUI16ItemLayoutsValueP07defaultE0xvpZ"
+                  }
+                ],
+                "key.parsed_declaration" : "public static var defaultValue: Self",
+                "key.parsed_scope.end" : 142,
+                "key.parsed_scope.start" : 140,
+                "key.typename" : "GridAppearance.ItemLayout",
+                "key.typeusr" : "$s10ListableUI14GridAppearanceV10ItemLayoutVD",
+                "key.usr" : "s:10ListableUI16ItemLayoutsValueP07defaultE0xvpZ"
+              },
               {
-                "key.usr" : "s:10ListableUI13AnyListLayoutP8behaviorAA8BehaviorVvp"
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public init()<\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 4126
+                  }
+                ],
+                "key.bodylength" : 22,
+                "key.bodyoffset" : 4141,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>()<\/decl.function.constructor>",
+                "key.kind" : "source.lang.swift.decl.function.method.instance",
+                "key.length" : 31,
+                "key.name" : "init()",
+                "key.namelength" : 6,
+                "key.nameoffset" : 4133,
+                "key.offset" : 4133,
+                "key.parsed_declaration" : "public init()",
+                "key.parsed_scope.end" : 146,
+                "key.parsed_scope.start" : 144,
+                "key.typename" : "(GridAppearance.ItemLayout.Type) -> () -> GridAppearance.ItemLayout",
+                "key.typeusr" : "$s10ListableUI14GridAppearanceV10ItemLayoutVycD",
+                "key.usr" : "s:10ListableUI14GridAppearanceV10ItemLayoutVAEycfc"
               }
             ],
-            "key.parsed_declaration" : "let behavior : Behavior",
-            "key.parsed_scope.end" : 151,
-            "key.parsed_scope.start" : 151,
-            "key.typename" : "Behavior",
-            "key.typeusr" : "$s10ListableUI8BehaviorVD",
-            "key.usr" : "s:10ListableUI14GridListLayoutC8behaviorAA8BehaviorVvp"
+            "key.typename" : "GridAppearance.ItemLayout.Type",
+            "key.typeusr" : "$s10ListableUI14GridAppearanceV10ItemLayoutVmD",
+            "key.usr" : "s:10ListableUI14GridAppearanceV10ItemLayoutV"
           },
           {
-            "key.accessibility" : "source.lang.swift.accessibility.internal",
-            "key.annotated_decl" : "let content: ListLayoutContent<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
-            "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> content<\/decl.name>: ListLayoutContent<\/ref.class><\/decl.var.type><\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 31,
-            "key.name" : "content",
-            "key.namelength" : 7,
-            "key.nameoffset" : 4323,
-            "key.offset" : 4319,
-            "key.overrides" : [
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "public struct HeaderFooterLayout : HeaderFooterLayoutsValue<\/Type><\/Declaration>",
+            "key.attributes" : [
               {
-                "key.usr" : "s:10ListableUI13AnyListLayoutP7contentAA0dE7ContentCvp"
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 4185
               }
             ],
-            "key.parsed_declaration" : "let content : ListLayoutContent",
-            "key.parsed_scope.end" : 153,
-            "key.parsed_scope.start" : 153,
-            "key.typename" : "ListLayoutContent",
-            "key.typeusr" : "$s10ListableUI17ListLayoutContentCD",
-            "key.usr" : "s:10ListableUI14GridListLayoutC7contentAA0dE7ContentCvp"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.internal",
-            "key.annotated_decl" : "var scrollViewProperties: ListLayoutScrollViewProperties<\/Type> { get }<\/Declaration>",
-            "key.bodylength" : 303,
-            "key.bodyoffset" : 4426,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
-            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> scrollViewProperties<\/decl.name>: ListLayoutScrollViewProperties<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 362,
-            "key.name" : "scrollViewProperties",
-            "key.namelength" : 20,
-            "key.nameoffset" : 4372,
-            "key.offset" : 4368,
-            "key.overrides" : [
+            "key.bodylength" : 265,
+            "key.bodyoffset" : 4246,
+            "key.elements" : [
               {
-                "key.usr" : "s:10ListableUI13AnyListLayoutP20scrollViewPropertiesAA0de6ScrollgH0Vvp"
+                "key.kind" : "source.lang.swift.structure.elem.typeref",
+                "key.length" : 24,
+                "key.offset" : 4220
               }
             ],
-            "key.parsed_declaration" : "var scrollViewProperties: ListLayoutScrollViewProperties",
-            "key.parsed_scope.end" : 164,
-            "key.parsed_scope.start" : 155,
-            "key.typename" : "ListLayoutScrollViewProperties",
-            "key.typeusr" : "$s10ListableUI30ListLayoutScrollViewPropertiesVD",
-            "key.usr" : "s:10ListableUI14GridListLayoutC20scrollViewPropertiesAA0de6ScrollgH0Vvp"
-          },
-          {
-            "key.kind" : "source.lang.swift.syntaxtype.comment.mark",
-            "key.length" : 20,
-            "key.name" : "MARK: Initialization",
-            "key.namelength" : 0,
-            "key.nameoffset" : 0,
-            "key.offset" : 4750
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.internal",
-            "key.annotated_decl" : "init(layoutAppearance: GridAppearance<\/Type>, appearance: Appearance<\/Type>, behavior: Behavior<\/Type>, content: ListLayoutContent<\/Type>)<\/Declaration>",
-            "key.bodylength" : 164,
-            "key.bodyoffset" : 4937,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
-            "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(layoutAppearance<\/decl.var.parameter.argument_label>: GridAppearance<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, appearance<\/decl.var.parameter.argument_label>: Appearance<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, behavior<\/decl.var.parameter.argument_label>: Behavior<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, content<\/decl.var.parameter.argument_label>: ListLayoutContent<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
-            "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 315,
-            "key.name" : "init(layoutAppearance:appearance:behavior:content:)",
-            "key.namelength" : 148,
-            "key.nameoffset" : 4787,
-            "key.offset" : 4787,
-            "key.overrides" : [
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> HeaderFooterLayout<\/decl.name> : HeaderFooterLayoutsValue<\/ref.protocol><\/decl.struct>",
+            "key.inheritedtypes" : [
               {
-                "key.usr" : "s:10ListableUI10ListLayoutP16layoutAppearance10appearance8behavior7contentx0dF0Qz_AA0F0VAA8BehaviorVAA0cD7ContentCtcfc"
+                "key.name" : "HeaderFooterLayoutsValue"
               }
             ],
-            "key.parsed_declaration" : "init(\n    layoutAppearance: GridAppearance,\n    appearance: Appearance,\n    behavior: Behavior,\n    content: ListLayoutContent\n)",
-            "key.parsed_scope.end" : 181,
-            "key.parsed_scope.start" : 170,
+            "key.kind" : "source.lang.swift.decl.struct",
+            "key.length" : 320,
+            "key.name" : "HeaderFooterLayout",
+            "key.namelength" : 18,
+            "key.nameoffset" : 4199,
+            "key.offset" : 4192,
+            "key.parsed_declaration" : "public struct HeaderFooterLayout : HeaderFooterLayoutsValue",
+            "key.parsed_scope.end" : 163,
+            "key.parsed_scope.start" : 150,
             "key.substructure" : [
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public var width: CustomWidth<\/Type><\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 4264
+                  }
+                ],
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> width<\/decl.name>: CustomWidth<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 23,
+                "key.name" : "width",
+                "key.namelength" : 5,
+                "key.nameoffset" : 4275,
+                "key.offset" : 4271,
+                "key.parsed_declaration" : "public var width : CustomWidth",
+                "key.parsed_scope.end" : 152,
+                "key.parsed_scope.start" : 152,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+                "key.typename" : "CustomWidth",
+                "key.typeusr" : "$s10ListableUI11CustomWidthOD",
+                "key.usr" : "s:10ListableUI14GridAppearanceV18HeaderFooterLayoutV5widthAA11CustomWidthOvp"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public static var defaultValue: `Self` { get }<\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 4312
+                  }
+                ],
+                "key.bodylength" : 29,
+                "key.bodyoffset" : 4350,
+                "key.doc.column" : 16,
+                "key.doc.declaration" : "static var defaultValue: Self { get }",
+                "key.doc.discussion" : [
+                  {
+                    "Note" : ""
+                  }
+                ],
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterLayouts.swift",
+                "key.doc.full_as_xml" : "defaultValue<\/Name>s:10ListableUI24HeaderFooterLayoutsValueP07defaultF0xvpZ<\/USR>static var defaultValue: Self { get }<\/Declaration>The default value used when accessing the value, if none is set.<\/Para><\/Abstract>This documentation comment was inherited from HeaderFooterLayoutsValue<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Other>",
+                "key.doc.line" : 113,
+                "key.doc.name" : "defaultValue",
+                "key.doc.type" : "Other",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> static<\/syntaxtype.keyword> var<\/syntaxtype.keyword> defaultValue<\/decl.name>: `Self`<\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.static>",
+                "key.kind" : "source.lang.swift.decl.var.static",
+                "key.length" : 61,
+                "key.name" : "defaultValue",
+                "key.namelength" : 12,
+                "key.nameoffset" : 4330,
+                "key.offset" : 4319,
+                "key.overrides" : [
+                  {
+                    "key.usr" : "s:10ListableUI24HeaderFooterLayoutsValueP07defaultF0xvpZ"
+                  }
+                ],
+                "key.parsed_declaration" : "public static var defaultValue: Self",
+                "key.parsed_scope.end" : 156,
+                "key.parsed_scope.start" : 154,
+                "key.typename" : "GridAppearance.HeaderFooterLayout",
+                "key.typeusr" : "$s10ListableUI14GridAppearanceV18HeaderFooterLayoutVD",
+                "key.usr" : "s:10ListableUI24HeaderFooterLayoutsValueP07defaultF0xvpZ"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public init(width: CustomWidth<\/Type> = .default)<\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 4398
+                  }
+                ],
+                "key.bodylength" : 40,
+                "key.bodyoffset" : 4465,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(width<\/decl.var.parameter.argument_label>: CustomWidth<\/ref.enum><\/decl.var.parameter.type> = .default<\/decl.var.parameter>)<\/decl.function.constructor>",
+                "key.kind" : "source.lang.swift.decl.function.method.instance",
+                "key.length" : 101,
+                "key.name" : "init(width:)",
+                "key.namelength" : 58,
+                "key.nameoffset" : 4405,
+                "key.offset" : 4405,
+                "key.parsed_declaration" : "public init(\n    width : CustomWidth = .default\n)",
+                "key.parsed_scope.end" : 162,
+                "key.parsed_scope.start" : 158,
+                "key.substructure" : [
 
+                ],
+                "key.typename" : "(GridAppearance.HeaderFooterLayout.Type) -> (CustomWidth) -> GridAppearance.HeaderFooterLayout",
+                "key.typeusr" : "$s5width10ListableUI14GridAppearanceV18HeaderFooterLayoutVAB11CustomWidthO_tcD",
+                "key.usr" : "s:10ListableUI14GridAppearanceV18HeaderFooterLayoutV5widthAeA11CustomWidthO_tcfc"
+              }
             ],
-            "key.typename" : "(GridListLayout.Type) -> (GridAppearance, Appearance, Behavior, ListLayoutContent) -> GridListLayout",
-            "key.typeusr" : "$s16layoutAppearance10appearance8behavior7content10ListableUI14GridListLayoutCAE0hB0V_AE0B0VAE8BehaviorVAE0iJ7ContentCtcD",
-            "key.usr" : "s:10ListableUI14GridListLayoutC16layoutAppearance10appearance8behavior7contentAcA0cG0V_AA0G0VAA8BehaviorVAA0dE7ContentCtcfc"
-          },
-          {
-            "key.kind" : "source.lang.swift.syntaxtype.comment.mark",
-            "key.length" : 24,
-            "key.name" : "MARK: Performing Layouts",
-            "key.namelength" : 0,
-            "key.nameoffset" : 0,
-            "key.offset" : 5118
+            "key.typename" : "GridAppearance.HeaderFooterLayout.Type",
+            "key.typeusr" : "$s10ListableUI14GridAppearanceV18HeaderFooterLayoutVmD",
+            "key.usr" : "s:10ListableUI14GridAppearanceV18HeaderFooterLayoutV"
           },
           {
-            "key.accessibility" : "source.lang.swift.accessibility.internal",
-            "key.annotated_decl" : "func updateLayout(in collectionView: UICollectionView<\/Type>)<\/Declaration>",
-            "key.bodylength" : 14,
-            "key.bodyoffset" : 5219,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
-            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> updateLayout<\/decl.name>(in<\/decl.var.parameter.argument_label> collectionView<\/decl.var.parameter.name>: UICollectionView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "public struct SectionLayout : SectionLayoutsValue<\/Type><\/Declaration>",
+            "key.attributes" : [
+              {
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 4527
+              }
+            ],
+            "key.bodylength" : 265,
+            "key.bodyoffset" : 4578,
+            "key.elements" : [
+              {
+                "key.kind" : "source.lang.swift.structure.elem.typeref",
+                "key.length" : 19,
+                "key.offset" : 4557
+              }
+            ],
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> SectionLayout<\/decl.name> : SectionLayoutsValue<\/ref.protocol><\/decl.struct>",
+            "key.inheritedtypes" : [
+              {
+                "key.name" : "SectionLayoutsValue"
+              }
+            ],
+            "key.kind" : "source.lang.swift.decl.struct",
+            "key.length" : 310,
+            "key.name" : "SectionLayout",
+            "key.namelength" : 13,
+            "key.nameoffset" : 4541,
+            "key.offset" : 4534,
+            "key.parsed_declaration" : "public struct SectionLayout : SectionLayoutsValue",
+            "key.parsed_scope.end" : 179,
+            "key.parsed_scope.start" : 166,
+            "key.substructure" : [
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public var width: CustomWidth<\/Type><\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 4596
+                  }
+                ],
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> width<\/decl.name>: CustomWidth<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 23,
+                "key.name" : "width",
+                "key.namelength" : 5,
+                "key.nameoffset" : 4607,
+                "key.offset" : 4603,
+                "key.parsed_declaration" : "public var width : CustomWidth",
+                "key.parsed_scope.end" : 168,
+                "key.parsed_scope.start" : 168,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+                "key.typename" : "CustomWidth",
+                "key.typeusr" : "$s10ListableUI11CustomWidthOD",
+                "key.usr" : "s:10ListableUI14GridAppearanceV13SectionLayoutV5widthAA11CustomWidthOvp"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public static var defaultValue: `Self` { get }<\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 4644
+                  }
+                ],
+                "key.bodylength" : 29,
+                "key.bodyoffset" : 4682,
+                "key.doc.column" : 16,
+                "key.doc.declaration" : "static var defaultValue: Self { get }",
+                "key.doc.discussion" : [
+                  {
+                    "Note" : ""
+                  }
+                ],
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/SectionLayouts.swift",
+                "key.doc.full_as_xml" : "defaultValue<\/Name>s:10ListableUI19SectionLayoutsValueP07defaultE0xvpZ<\/USR>static var defaultValue: Self { get }<\/Declaration>The default value used when accessing the value, if none is set.<\/Para><\/Abstract>This documentation comment was inherited from SectionLayoutsValue<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Other>",
+                "key.doc.line" : 112,
+                "key.doc.name" : "defaultValue",
+                "key.doc.type" : "Other",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> static<\/syntaxtype.keyword> var<\/syntaxtype.keyword> defaultValue<\/decl.name>: `Self`<\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.static>",
+                "key.kind" : "source.lang.swift.decl.var.static",
+                "key.length" : 61,
+                "key.name" : "defaultValue",
+                "key.namelength" : 12,
+                "key.nameoffset" : 4662,
+                "key.offset" : 4651,
+                "key.overrides" : [
+                  {
+                    "key.usr" : "s:10ListableUI19SectionLayoutsValueP07defaultE0xvpZ"
+                  }
+                ],
+                "key.parsed_declaration" : "public static var defaultValue: Self",
+                "key.parsed_scope.end" : 172,
+                "key.parsed_scope.start" : 170,
+                "key.typename" : "GridAppearance.SectionLayout",
+                "key.typeusr" : "$s10ListableUI14GridAppearanceV13SectionLayoutVD",
+                "key.usr" : "s:10ListableUI19SectionLayoutsValueP07defaultE0xvpZ"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public init(width: CustomWidth<\/Type> = .default)<\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 4730
+                  }
+                ],
+                "key.bodylength" : 40,
+                "key.bodyoffset" : 4797,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(width<\/decl.var.parameter.argument_label>: CustomWidth<\/ref.enum><\/decl.var.parameter.type> = .default<\/decl.var.parameter>)<\/decl.function.constructor>",
+                "key.kind" : "source.lang.swift.decl.function.method.instance",
+                "key.length" : 101,
+                "key.name" : "init(width:)",
+                "key.namelength" : 58,
+                "key.nameoffset" : 4737,
+                "key.offset" : 4737,
+                "key.parsed_declaration" : "public init(\n    width : CustomWidth = .default\n)",
+                "key.parsed_scope.end" : 178,
+                "key.parsed_scope.start" : 174,
+                "key.substructure" : [
+
+                ],
+                "key.typename" : "(GridAppearance.SectionLayout.Type) -> (CustomWidth) -> GridAppearance.SectionLayout",
+                "key.typeusr" : "$s5width10ListableUI14GridAppearanceV13SectionLayoutVAB11CustomWidthO_tcD",
+                "key.usr" : "s:10ListableUI14GridAppearanceV13SectionLayoutV5widthAeA11CustomWidthO_tcfc"
+              }
+            ],
+            "key.typename" : "GridAppearance.SectionLayout.Type",
+            "key.typeusr" : "$s10ListableUI14GridAppearanceV13SectionLayoutVmD",
+            "key.usr" : "s:10ListableUI14GridAppearanceV13SectionLayoutV"
+          }
+        ],
+        "key.typename" : "GridAppearance.Type",
+        "key.typeusr" : "$s10ListableUI14GridAppearanceVmD",
+        "key.usr" : "s:10ListableUI14GridAppearanceV"
+      },
+      {
+        "key.annotated_decl" : "public struct ItemLayouts<\/Declaration>",
+        "key.bodylength" : 174,
+        "key.bodyoffset" : 4872,
+        "key.doc.column" : 15,
+        "key.doc.declaration" : "public struct ItemLayouts",
+        "key.doc.discussion" : [
+          {
+            "Para" : "For example, if you want to specify a custom layout for table layouts, you would do the following on your item:"
+          },
+          {
+            "CodeListing" : ""
+          },
+          {
+            "Para" : "And then, when the `Item` is used within a `.table` style list layout, the provided layout will be used."
+          },
+          {
+            "Para" : "If you plan on swapping between multiple `ListLayout` types on your list, you can provide multiple layouts. The correct one will be used at the correct time:"
+          },
+          {
+            "CodeListing" : ""
+          },
+          {
+            "Para" : "When implementing your own custom layout, you should add an extension to `ItemLayouts`, to provide easier access to your layout-specific `ItemLayoutsValue` type, like so:"
+          },
+          {
+            "CodeListing" : ""
+          }
+        ],
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemLayouts.swift",
+        "key.doc.full_as_xml" : "ItemLayouts<\/Name>s:10ListableUI11ItemLayoutsV<\/USR>public struct ItemLayouts<\/Declaration>ItemLayouts<\/codeVoice> allows you to provide ListLayout<\/codeVoice>-specific layout configuration for individual items within a list. Eg, customize the layout for an item when it is in a table, a grid, etc.<\/Para><\/Abstract>For example, if you want to specify a custom layout for table layouts, you would do the following on your item:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>And then, when the Item<\/codeVoice> is used within a .table<\/codeVoice> style list layout, the provided layout will be used.<\/Para>If you plan on swapping between multiple ListLayout<\/codeVoice> types on your list, you can provide multiple layouts. The correct one will be used at the correct time:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>]]><\/rawHTML>Note]]><\/rawHTML>When implementing your own custom layout, you should add an extension to ItemLayouts<\/codeVoice>, to provide easier access to your layout-specific ItemLayoutsValue<\/codeVoice> type, like so:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.line" : 54,
+        "key.doc.name" : "ItemLayouts",
+        "key.doc.type" : "Class",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemLayouts.swift",
+        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> ItemLayouts<\/decl.name><\/decl.struct>",
+        "key.kind" : "source.lang.swift.decl.extension",
+        "key.length" : 198,
+        "key.name" : "ItemLayouts",
+        "key.namelength" : 11,
+        "key.nameoffset" : 4859,
+        "key.offset" : 4849,
+        "key.parsed_declaration" : "extension ItemLayouts",
+        "key.parsed_scope.end" : 188,
+        "key.parsed_scope.start" : 183,
+        "key.substructure" : [
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "public var grid: GridAppearance<\/Type>.ItemLayout<\/Type> { get set }<\/Declaration>",
+            "key.attributes" : [
+              {
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 4877
+              }
+            ],
+            "key.bodylength" : 122,
+            "key.bodyoffset" : 4922,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> grid<\/decl.name>: GridAppearance<\/ref.struct>.ItemLayout<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 161,
+            "key.name" : "grid",
+            "key.namelength" : 4,
+            "key.nameoffset" : 4888,
+            "key.offset" : 4884,
+            "key.parsed_declaration" : "public var grid : GridAppearance.ItemLayout",
+            "key.parsed_scope.end" : 187,
+            "key.parsed_scope.start" : 184,
+            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+            "key.typename" : "GridAppearance.ItemLayout",
+            "key.typeusr" : "$s10ListableUI14GridAppearanceV10ItemLayoutVD",
+            "key.usr" : "s:10ListableUI11ItemLayoutsV4gridAA14GridAppearanceV0C6LayoutVvp"
+          }
+        ],
+        "key.typename" : "ItemLayouts.Type",
+        "key.typeusr" : "$s10ListableUI11ItemLayoutsVmD",
+        "key.usr" : "s:10ListableUI11ItemLayoutsV"
+      },
+      {
+        "key.annotated_decl" : "public struct HeaderFooterLayouts<\/Declaration>",
+        "key.bodylength" : 198,
+        "key.bodyoffset" : 5081,
+        "key.doc.column" : 15,
+        "key.doc.declaration" : "public struct HeaderFooterLayouts",
+        "key.doc.discussion" : [
+          {
+            "Para" : "For example, if you want to specify a custom layout for table layouts, you would do the following on your header:"
+          },
+          {
+            "CodeListing" : ""
+          },
+          {
+            "Para" : "And then, when the `HeaderFooter` is used within a `.table` style list layout, the provided layout will be used."
+          },
+          {
+            "Para" : "If you plan on swapping between multiple `ListLayout` types on your list, you can provide multiple layouts. The correct one will be used at the correct time:"
+          },
+          {
+            "CodeListing" : ""
+          },
+          {
+            "Para" : "When implementing your own custom layout, you should add an extension to `HeaderFooterLayouts`, to provide easier access to your layout-specific `HeaderFooterLayoutsValue` type, like so:"
+          },
+          {
+            "CodeListing" : ""
+          }
+        ],
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterLayouts.swift",
+        "key.doc.full_as_xml" : "HeaderFooterLayouts<\/Name>s:10ListableUI19HeaderFooterLayoutsV<\/USR>public struct HeaderFooterLayouts<\/Declaration>HeaderFooterLayouts<\/codeVoice> allows you to provide ListLayout<\/codeVoice>-specific layout configuration for individual headers and footers within a list. Eg, customize the layout for a header when it is in a table, a grid, etc.<\/Para><\/Abstract>For example, if you want to specify a custom layout for table layouts, you would do the following on your header:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>And then, when the HeaderFooter<\/codeVoice> is used within a .table<\/codeVoice> style list layout, the provided layout will be used.<\/Para>If you plan on swapping between multiple ListLayout<\/codeVoice> types on your list, you can provide multiple layouts. The correct one will be used at the correct time:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>]]><\/rawHTML>Note]]><\/rawHTML>When implementing your own custom layout, you should add an extension to HeaderFooterLayouts<\/codeVoice>, to provide easier access to your layout-specific HeaderFooterLayoutsValue<\/codeVoice> type, like so:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.line" : 55,
+        "key.doc.name" : "HeaderFooterLayouts",
+        "key.doc.type" : "Class",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterLayouts.swift",
+        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> HeaderFooterLayouts<\/decl.name><\/decl.struct>",
+        "key.kind" : "source.lang.swift.decl.extension",
+        "key.length" : 230,
+        "key.name" : "HeaderFooterLayouts",
+        "key.namelength" : 19,
+        "key.nameoffset" : 5060,
+        "key.offset" : 5050,
+        "key.parsed_declaration" : "extension HeaderFooterLayouts",
+        "key.parsed_scope.end" : 196,
+        "key.parsed_scope.start" : 191,
+        "key.substructure" : [
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "public var grid: GridAppearance<\/Type>.HeaderFooterLayout<\/Type> { get set }<\/Declaration>",
+            "key.attributes" : [
+              {
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 5086
+              }
+            ],
+            "key.bodylength" : 138,
+            "key.bodyoffset" : 5139,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> grid<\/decl.name>: GridAppearance<\/ref.struct>.HeaderFooterLayout<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 185,
+            "key.name" : "grid",
+            "key.namelength" : 4,
+            "key.nameoffset" : 5097,
+            "key.offset" : 5093,
+            "key.parsed_declaration" : "public var grid : GridAppearance.HeaderFooterLayout",
+            "key.parsed_scope.end" : 195,
+            "key.parsed_scope.start" : 192,
+            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+            "key.typename" : "GridAppearance.HeaderFooterLayout",
+            "key.typeusr" : "$s10ListableUI14GridAppearanceV18HeaderFooterLayoutVD",
+            "key.usr" : "s:10ListableUI19HeaderFooterLayoutsV4gridAA14GridAppearanceV0cD6LayoutVvp"
+          }
+        ],
+        "key.typename" : "HeaderFooterLayouts.Type",
+        "key.typeusr" : "$s10ListableUI19HeaderFooterLayoutsVmD",
+        "key.usr" : "s:10ListableUI19HeaderFooterLayoutsV"
+      },
+      {
+        "key.annotated_decl" : "public struct SectionLayouts<\/Declaration>",
+        "key.bodylength" : 183,
+        "key.bodyoffset" : 5308,
+        "key.doc.column" : 15,
+        "key.doc.declaration" : "public struct SectionLayouts",
+        "key.doc.discussion" : [
+          {
+            "Para" : "For example, if you want to specify a custom layout for table layouts, you would do the following on your section:"
+          },
+          {
+            "CodeListing" : ""
+          },
+          {
+            "Para" : "And then, when the `Section` is used within a `.table` style list layout, the provided layout will be used."
+          },
+          {
+            "Para" : "If you plan on swapping between multiple `ListLayout` types on your list, you can provide multiple layouts. The correct one will be used at the correct time:"
+          },
+          {
+            "CodeListing" : ""
+          },
+          {
+            "Para" : "When implementing your own custom layout, you should add an extension to `SectionLayouts`, to provide easier access to your layout-specific `SectionLayoutsValue` type, like so:"
+          },
+          {
+            "CodeListing" : ""
+          }
+        ],
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/SectionLayouts.swift",
+        "key.doc.full_as_xml" : "SectionLayouts<\/Name>s:10ListableUI14SectionLayoutsV<\/USR>public struct SectionLayouts<\/Declaration>SectionLayouts<\/codeVoice> allows you to provide ListLayout<\/codeVoice>-specific layout configuration for individual sections within a list. Eg, customize the layout for a section when it is in a table, a grid, etc.<\/Para><\/Abstract>For example, if you want to specify a custom layout for table layouts, you would do the following on your section:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>And then, when the Section<\/codeVoice> is used within a .table<\/codeVoice> style list layout, the provided layout will be used.<\/Para>If you plan on swapping between multiple ListLayout<\/codeVoice> types on your list, you can provide multiple layouts. The correct one will be used at the correct time:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>]]><\/rawHTML>Note]]><\/rawHTML>When implementing your own custom layout, you should add an extension to SectionLayouts<\/codeVoice>, to provide easier access to your layout-specific SectionLayoutsValue<\/codeVoice> type, like so:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.line" : 54,
+        "key.doc.name" : "SectionLayouts",
+        "key.doc.type" : "Class",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/SectionLayouts.swift",
+        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> SectionLayouts<\/decl.name><\/decl.struct>",
+        "key.kind" : "source.lang.swift.decl.extension",
+        "key.length" : 210,
+        "key.name" : "SectionLayouts",
+        "key.namelength" : 14,
+        "key.nameoffset" : 5292,
+        "key.offset" : 5282,
+        "key.parsed_declaration" : "extension SectionLayouts",
+        "key.parsed_scope.end" : 203,
+        "key.parsed_scope.start" : 198,
+        "key.substructure" : [
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "public var grid: GridAppearance<\/Type>.SectionLayout<\/Type> { get set }<\/Declaration>",
+            "key.attributes" : [
+              {
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 5313
+              }
+            ],
+            "key.bodylength" : 128,
+            "key.bodyoffset" : 5361,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> grid<\/decl.name>: GridAppearance<\/ref.struct>.SectionLayout<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 170,
+            "key.name" : "grid",
+            "key.namelength" : 4,
+            "key.nameoffset" : 5324,
+            "key.offset" : 5320,
+            "key.parsed_declaration" : "public var grid : GridAppearance.SectionLayout",
+            "key.parsed_scope.end" : 202,
+            "key.parsed_scope.start" : 199,
+            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+            "key.typename" : "GridAppearance.SectionLayout",
+            "key.typeusr" : "$s10ListableUI14GridAppearanceV13SectionLayoutVD",
+            "key.usr" : "s:10ListableUI14SectionLayoutsV4gridAA14GridAppearanceV0C6LayoutVvp"
+          }
+        ],
+        "key.typename" : "SectionLayouts.Type",
+        "key.typeusr" : "$s10ListableUI14SectionLayoutsVmD",
+        "key.usr" : "s:10ListableUI14SectionLayoutsV"
+      },
+      {
+        "key.accessibility" : "source.lang.swift.accessibility.internal",
+        "key.annotated_decl" : "final class GridListLayout : ListLayout<\/Type><\/Declaration>",
+        "key.attributes" : [
+          {
+            "key.attribute" : "source.decl.attribute.final",
+            "key.length" : 5,
+            "key.offset" : 5495
+          }
+        ],
+        "key.bodylength" : 9226,
+        "key.bodyoffset" : 5536,
+        "key.elements" : [
+          {
+            "key.kind" : "source.lang.swift.structure.elem.typeref",
+            "key.length" : 10,
+            "key.offset" : 5524
+          }
+        ],
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+        "key.fully_annotated_decl" : "final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> GridListLayout<\/decl.name> : ListLayout<\/ref.protocol><\/decl.class>",
+        "key.inheritedtypes" : [
+          {
+            "key.name" : "ListLayout"
+          }
+        ],
+        "key.kind" : "source.lang.swift.decl.class",
+        "key.length" : 9262,
+        "key.name" : "GridListLayout",
+        "key.namelength" : 14,
+        "key.nameoffset" : 5507,
+        "key.offset" : 5501,
+        "key.parsed_declaration" : "final class GridListLayout : ListLayout",
+        "key.parsed_scope.end" : 476,
+        "key.parsed_scope.start" : 206,
+        "key.substructure" : [
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.annotated_decl" : "typealias GridListLayout<\/Type>.LayoutAppearance = GridAppearance<\/Type><\/Declaration>",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+            "key.fully_annotated_decl" : "typealias<\/syntaxtype.keyword> GridListLayout<\/ref.class>.LayoutAppearance<\/decl.name> = GridAppearance<\/ref.struct><\/decl.typealias>",
+            "key.kind" : "source.lang.swift.decl.typealias",
+            "key.length" : 43,
+            "key.name" : "LayoutAppearance",
+            "key.namelength" : 16,
+            "key.nameoffset" : 5551,
+            "key.offset" : 5541,
+            "key.overrides" : [
+              {
+                "key.usr" : "s:10ListableUI10ListLayoutP0D10AppearanceQa"
+              }
+            ],
+            "key.parsed_declaration" : "typealias LayoutAppearance = GridAppearance",
+            "key.parsed_scope.end" : 208,
+            "key.parsed_scope.start" : 208,
+            "key.typename" : "GridAppearance.Type",
+            "key.typeusr" : "$s10ListableUI14GridAppearanceVmD",
+            "key.usr" : "s:10ListableUI14GridListLayoutC0E10Appearancea"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.annotated_decl" : "static var defaults: ListLayoutDefaults<\/Type> { get }<\/Declaration>",
+            "key.bodylength" : 62,
+            "key.bodyoffset" : 5635,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+            "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> var<\/syntaxtype.keyword> defaults<\/decl.name>: ListLayoutDefaults<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.static>",
+            "key.kind" : "source.lang.swift.decl.var.static",
+            "key.length" : 104,
+            "key.name" : "defaults",
+            "key.namelength" : 8,
+            "key.nameoffset" : 5605,
+            "key.offset" : 5594,
+            "key.overrides" : [
+              {
+                "key.usr" : "s:10ListableUI10ListLayoutP8defaultsAA0cD8DefaultsVvpZ"
+              }
+            ],
+            "key.parsed_declaration" : "static var defaults: ListLayoutDefaults",
+            "key.parsed_scope.end" : 212,
+            "key.parsed_scope.start" : 210,
+            "key.typename" : "ListLayoutDefaults",
+            "key.typeusr" : "$s10ListableUI18ListLayoutDefaultsVD",
+            "key.usr" : "s:10ListableUI14GridListLayoutC8defaultsAA0dE8DefaultsVvpZ"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.annotated_decl" : "var layoutAppearance: GridAppearance<\/Type><\/Declaration>",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> layoutAppearance<\/decl.name>: GridAppearance<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 36,
+            "key.name" : "layoutAppearance",
+            "key.namelength" : 16,
+            "key.nameoffset" : 5712,
+            "key.offset" : 5708,
+            "key.overrides" : [
+              {
+                "key.usr" : "s:10ListableUI10ListLayoutP16layoutAppearance0dF0Qzvp"
+              }
+            ],
+            "key.parsed_declaration" : "var layoutAppearance: GridAppearance",
+            "key.parsed_scope.end" : 214,
+            "key.parsed_scope.start" : 214,
+            "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
+            "key.typename" : "GridAppearance",
+            "key.typeusr" : "$s10ListableUI14GridAppearanceVD",
+            "key.usr" : "s:10ListableUI14GridListLayoutC16layoutAppearanceAA0cG0Vvp"
+          },
+          {
+            "key.kind" : "source.lang.swift.syntaxtype.comment.mark",
+            "key.length" : 23,
+            "key.name" : "MARK: Public Properties",
+            "key.namelength" : 0,
+            "key.nameoffset" : 0,
+            "key.offset" : 5764
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.annotated_decl" : "let appearance: Appearance<\/Type><\/Declaration>",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+            "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> appearance<\/decl.name>: Appearance<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 27,
+            "key.name" : "appearance",
+            "key.namelength" : 10,
+            "key.nameoffset" : 5812,
+            "key.offset" : 5808,
+            "key.overrides" : [
+              {
+                "key.usr" : "s:10ListableUI13AnyListLayoutP10appearanceAA10AppearanceVvp"
+              }
+            ],
+            "key.parsed_declaration" : "let appearance : Appearance",
+            "key.parsed_scope.end" : 220,
+            "key.parsed_scope.start" : 220,
+            "key.typename" : "Appearance",
+            "key.typeusr" : "$s10ListableUI10AppearanceVD",
+            "key.usr" : "s:10ListableUI14GridListLayoutC10appearanceAA10AppearanceVvp"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.annotated_decl" : "let behavior: Behavior<\/Type><\/Declaration>",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+            "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> behavior<\/decl.name>: Behavior<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 23,
+            "key.name" : "behavior",
+            "key.namelength" : 8,
+            "key.nameoffset" : 5844,
+            "key.offset" : 5840,
+            "key.overrides" : [
+              {
+                "key.usr" : "s:10ListableUI13AnyListLayoutP8behaviorAA8BehaviorVvp"
+              }
+            ],
+            "key.parsed_declaration" : "let behavior : Behavior",
+            "key.parsed_scope.end" : 221,
+            "key.parsed_scope.start" : 221,
+            "key.typename" : "Behavior",
+            "key.typeusr" : "$s10ListableUI8BehaviorVD",
+            "key.usr" : "s:10ListableUI14GridListLayoutC8behaviorAA8BehaviorVvp"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.annotated_decl" : "let content: ListLayoutContent<\/Type><\/Declaration>",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+            "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> content<\/decl.name>: ListLayoutContent<\/ref.class><\/decl.var.type><\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 31,
+            "key.name" : "content",
+            "key.namelength" : 7,
+            "key.nameoffset" : 5877,
+            "key.offset" : 5873,
+            "key.overrides" : [
+              {
+                "key.usr" : "s:10ListableUI13AnyListLayoutP7contentAA0dE7ContentCvp"
+              }
+            ],
+            "key.parsed_declaration" : "let content : ListLayoutContent",
+            "key.parsed_scope.end" : 223,
+            "key.parsed_scope.start" : 223,
+            "key.typename" : "ListLayoutContent",
+            "key.typeusr" : "$s10ListableUI17ListLayoutContentCD",
+            "key.usr" : "s:10ListableUI14GridListLayoutC7contentAA0dE7ContentCvp"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.annotated_decl" : "var scrollViewProperties: ListLayoutScrollViewProperties<\/Type> { get }<\/Declaration>",
+            "key.bodylength" : 303,
+            "key.bodyoffset" : 5980,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> scrollViewProperties<\/decl.name>: ListLayoutScrollViewProperties<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 362,
+            "key.name" : "scrollViewProperties",
+            "key.namelength" : 20,
+            "key.nameoffset" : 5926,
+            "key.offset" : 5922,
+            "key.overrides" : [
+              {
+                "key.usr" : "s:10ListableUI13AnyListLayoutP20scrollViewPropertiesAA0de6ScrollgH0Vvp"
+              }
+            ],
+            "key.parsed_declaration" : "var scrollViewProperties: ListLayoutScrollViewProperties",
+            "key.parsed_scope.end" : 234,
+            "key.parsed_scope.start" : 225,
+            "key.typename" : "ListLayoutScrollViewProperties",
+            "key.typeusr" : "$s10ListableUI30ListLayoutScrollViewPropertiesVD",
+            "key.usr" : "s:10ListableUI14GridListLayoutC20scrollViewPropertiesAA0de6ScrollgH0Vvp"
+          },
+          {
+            "key.kind" : "source.lang.swift.syntaxtype.comment.mark",
+            "key.length" : 20,
+            "key.name" : "MARK: Initialization",
+            "key.namelength" : 0,
+            "key.nameoffset" : 0,
+            "key.offset" : 6304
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.annotated_decl" : "init(layoutAppearance: GridAppearance<\/Type>, appearance: Appearance<\/Type>, behavior: Behavior<\/Type>, content: ListLayoutContent<\/Type>)<\/Declaration>",
+            "key.bodylength" : 164,
+            "key.bodyoffset" : 6491,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+            "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(layoutAppearance<\/decl.var.parameter.argument_label>: GridAppearance<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, appearance<\/decl.var.parameter.argument_label>: Appearance<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, behavior<\/decl.var.parameter.argument_label>: Behavior<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, content<\/decl.var.parameter.argument_label>: ListLayoutContent<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
+            "key.kind" : "source.lang.swift.decl.function.method.instance",
+            "key.length" : 315,
+            "key.name" : "init(layoutAppearance:appearance:behavior:content:)",
+            "key.namelength" : 148,
+            "key.nameoffset" : 6341,
+            "key.offset" : 6341,
+            "key.overrides" : [
+              {
+                "key.usr" : "s:10ListableUI10ListLayoutP16layoutAppearance10appearance8behavior7contentx0dF0Qz_AA0F0VAA8BehaviorVAA0cD7ContentCtcfc"
+              }
+            ],
+            "key.parsed_declaration" : "init(\n    layoutAppearance: GridAppearance,\n    appearance: Appearance,\n    behavior: Behavior,\n    content: ListLayoutContent\n)",
+            "key.parsed_scope.end" : 251,
+            "key.parsed_scope.start" : 240,
+            "key.substructure" : [
+
+            ],
+            "key.typename" : "(GridListLayout.Type) -> (GridAppearance, Appearance, Behavior, ListLayoutContent) -> GridListLayout",
+            "key.typeusr" : "$s16layoutAppearance10appearance8behavior7content10ListableUI14GridListLayoutCAE0hB0V_AE0B0VAE8BehaviorVAE0iJ7ContentCtcD",
+            "key.usr" : "s:10ListableUI14GridListLayoutC16layoutAppearance10appearance8behavior7contentAcA0cG0V_AA0G0VAA8BehaviorVAA0dE7ContentCtcfc"
+          },
+          {
+            "key.kind" : "source.lang.swift.syntaxtype.comment.mark",
+            "key.length" : 24,
+            "key.name" : "MARK: Performing Layouts",
+            "key.namelength" : 0,
+            "key.nameoffset" : 0,
+            "key.offset" : 6672
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.annotated_decl" : "func updateLayout(in collectionView: UICollectionView<\/Type>)<\/Declaration>",
+            "key.bodylength" : 14,
+            "key.bodyoffset" : 6773,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> updateLayout<\/decl.name>(in<\/decl.var.parameter.argument_label> collectionView<\/decl.var.parameter.name>: UICollectionView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 75,
             "key.name" : "updateLayout(in:)",
             "key.namelength" : 49,
-            "key.nameoffset" : 5164,
-            "key.offset" : 5159,
+            "key.nameoffset" : 6718,
+            "key.offset" : 6713,
             "key.overrides" : [
               {
                 "key.usr" : "s:10ListableUI13AnyListLayoutP06updateE02inySo16UICollectionViewC_tF"
               }
             ],
             "key.parsed_declaration" : "func updateLayout(in collectionView: UICollectionView)",
-            "key.parsed_scope.end" : 190,
-            "key.parsed_scope.start" : 187,
+            "key.parsed_scope.end" : 260,
+            "key.parsed_scope.start" : 257,
             "key.substructure" : [
 
             ],
@@ -39864,55 +40944,55 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "func layout(delegate: CollectionViewLayoutDelegate<\/Type>, in collectionView: UICollectionView<\/Type>)<\/Declaration>",
-            "key.bodylength" : 7791,
-            "key.bodyoffset" : 5366,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+            "key.bodylength" : 7840,
+            "key.bodyoffset" : 6920,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> layout<\/decl.name>(delegate<\/decl.var.parameter.argument_label>: CollectionViewLayoutDelegate<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>, in<\/decl.var.parameter.argument_label> collectionView<\/decl.var.parameter.name>: UICollectionView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 7914,
+            "key.length" : 7963,
             "key.name" : "layout(delegate:in:)",
             "key.namelength" : 111,
-            "key.nameoffset" : 5249,
-            "key.offset" : 5244,
+            "key.nameoffset" : 6803,
+            "key.offset" : 6798,
             "key.overrides" : [
               {
                 "key.usr" : "s:10ListableUI13AnyListLayoutP6layout8delegate2inyAA014CollectionViewE8Delegate_p_So012UICollectionJ0CtF"
               }
             ],
             "key.parsed_declaration" : "func layout(\n    delegate : CollectionViewLayoutDelegate,\n    in collectionView : UICollectionView\n    )",
-            "key.parsed_scope.end" : 405,
-            "key.parsed_scope.start" : 192,
+            "key.parsed_scope.end" : 475,
+            "key.parsed_scope.start" : 262,
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let direction: LayoutDirection<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> direction<\/decl.name>: LayoutDirection<\/ref.enum><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 47,
                 "key.name" : "direction",
                 "key.namelength" : 9,
-                "key.nameoffset" : 5379,
-                "key.offset" : 5375,
+                "key.nameoffset" : 6933,
+                "key.offset" : 6929,
                 "key.parsed_declaration" : "let direction = self.layoutAppearance.direction",
-                "key.parsed_scope.end" : 197,
-                "key.parsed_scope.start" : 197,
+                "key.parsed_scope.end" : 267,
+                "key.parsed_scope.start" : 267,
                 "key.typename" : "LayoutDirection",
                 "key.typeusr" : "$s10ListableUI15LayoutDirectionOD",
                 "key.usr" : "s:10ListableUI14GridListLayoutC6layout8delegate2inyAA014CollectionViewE8Delegate_p_So012UICollectionJ0CtF9directionL_AA0E9DirectionOvp"
               },
               {
                 "key.annotated_decl" : "let layout: GridAppearance<\/Type>.Layout<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> layout<\/decl.name>: GridAppearance<\/ref.struct>.Layout<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 41,
                 "key.name" : "layout",
                 "key.namelength" : 6,
-                "key.nameoffset" : 5435,
-                "key.offset" : 5431,
+                "key.nameoffset" : 6989,
+                "key.offset" : 6985,
                 "key.parsed_declaration" : "let layout = self.layoutAppearance.layout",
-                "key.parsed_scope.end" : 198,
-                "key.parsed_scope.start" : 198,
+                "key.parsed_scope.end" : 268,
+                "key.parsed_scope.start" : 268,
                 "key.related_decls" : [
                   {
                     "key.annotated_decl" : "layout(delegate:in:)<\/RelatedName>"
@@ -39924,102 +41004,102 @@
               },
               {
                 "key.annotated_decl" : "let sizing: GridAppearance<\/Type>.Sizing<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> sizing<\/decl.name>: GridAppearance<\/ref.struct>.Sizing<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 41,
                 "key.name" : "sizing",
                 "key.namelength" : 6,
-                "key.nameoffset" : 5485,
-                "key.offset" : 5481,
+                "key.nameoffset" : 7039,
+                "key.offset" : 7035,
                 "key.parsed_declaration" : "let sizing = self.layoutAppearance.sizing",
-                "key.parsed_scope.end" : 199,
-                "key.parsed_scope.start" : 199,
+                "key.parsed_scope.end" : 269,
+                "key.parsed_scope.start" : 269,
                 "key.typename" : "GridAppearance.Sizing",
                 "key.typeusr" : "$s10ListableUI14GridAppearanceV6SizingVD",
                 "key.usr" : "s:10ListableUI14GridListLayoutC6layout8delegate2inyAA014CollectionViewE8Delegate_p_So012UICollectionJ0CtF6sizingL_AA0C10AppearanceV6SizingVvp"
               },
               {
                 "key.annotated_decl" : "let viewSize: CGSize<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> viewSize<\/decl.name>: CGSize<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 41,
                 "key.name" : "viewSize",
                 "key.namelength" : 8,
-                "key.nameoffset" : 5544,
-                "key.offset" : 5540,
+                "key.nameoffset" : 7098,
+                "key.offset" : 7094,
                 "key.parsed_declaration" : "let viewSize = collectionView.bounds.size",
-                "key.parsed_scope.end" : 201,
-                "key.parsed_scope.start" : 201,
+                "key.parsed_scope.end" : 271,
+                "key.parsed_scope.start" : 271,
                 "key.typename" : "CGSize",
                 "key.typeusr" : "$sSo6CGSizeVD",
                 "key.usr" : "s:10ListableUI14GridListLayoutC6layout8delegate2inyAA014CollectionViewE8Delegate_p_So012UICollectionJ0CtF8viewSizeL_So6CGSizeVvp"
               },
               {
                 "key.annotated_decl" : "let viewWidth: CGFloat<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> viewWidth<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 30,
                 "key.name" : "viewWidth",
                 "key.namelength" : 9,
-                "key.nameoffset" : 5603,
-                "key.offset" : 5599,
+                "key.nameoffset" : 7157,
+                "key.offset" : 7153,
                 "key.parsed_declaration" : "let viewWidth = viewSize.width",
-                "key.parsed_scope.end" : 203,
-                "key.parsed_scope.start" : 203,
+                "key.parsed_scope.end" : 273,
+                "key.parsed_scope.start" : 273,
                 "key.typename" : "CGFloat",
                 "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
                 "key.usr" : "s:10ListableUI14GridListLayoutC6layout8delegate2inyAA014CollectionViewE8Delegate_p_So012UICollectionJ0CtF9viewWidthL_12CoreGraphics7CGFloatVvp"
               },
               {
                 "key.annotated_decl" : "let rootWidth: CGFloat<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> rootWidth<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
-                "key.length" : 216,
+                "key.length" : 217,
                 "key.name" : "rootWidth",
                 "key.namelength" : 9,
-                "key.nameoffset" : 5651,
-                "key.offset" : 5647,
-                "key.parsed_declaration" : "let rootWidth = ListAppearance.Layout.width(\n    with: viewWidth,\n    padding: HorizontalPadding(left: layout.padding.left, right: layout.padding.right),\n    constraint: layout.width\n)",
-                "key.parsed_scope.end" : 205,
-                "key.parsed_scope.start" : 205,
+                "key.nameoffset" : 7205,
+                "key.offset" : 7201,
+                "key.parsed_declaration" : "let rootWidth = TableAppearance.Layout.width(\n    with: viewWidth,\n    padding: HorizontalPadding(left: layout.padding.left, right: layout.padding.right),\n    constraint: layout.width\n)",
+                "key.parsed_scope.end" : 275,
+                "key.parsed_scope.start" : 275,
                 "key.typename" : "CGFloat",
                 "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
                 "key.usr" : "s:10ListableUI14GridListLayoutC6layout8delegate2inyAA014CollectionViewE8Delegate_p_So012UICollectionJ0CtF9rootWidthL_12CoreGraphics7CGFloatVvp"
               },
               {
                 "key.annotated_decl" : "var lastSectionMaxY: CGFloat<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> lastSectionMaxY<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 35,
                 "key.name" : "lastSectionMaxY",
                 "key.namelength" : 15,
-                "key.nameoffset" : 5945,
-                "key.offset" : 5941,
+                "key.nameoffset" : 7500,
+                "key.offset" : 7496,
                 "key.parsed_declaration" : "var lastSectionMaxY : CGFloat = 0.0",
-                "key.parsed_scope.end" : 215,
-                "key.parsed_scope.start" : 215,
+                "key.parsed_scope.end" : 285,
+                "key.parsed_scope.start" : 285,
                 "key.typename" : "CGFloat",
                 "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
                 "key.usr" : "s:10ListableUI14GridListLayoutC6layout8delegate2inyAA014CollectionViewE8Delegate_p_So012UICollectionJ0CtF15lastSectionMaxYL_12CoreGraphics7CGFloatVvp"
               },
               {
                 "key.annotated_decl" : "var lastContentMaxY: CGFloat<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> lastContentMaxY<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 35,
                 "key.name" : "lastContentMaxY",
                 "key.namelength" : 15,
-                "key.nameoffset" : 5989,
-                "key.offset" : 5985,
+                "key.nameoffset" : 7544,
+                "key.offset" : 7540,
                 "key.parsed_declaration" : "var lastContentMaxY : CGFloat = 0.0",
-                "key.parsed_scope.end" : 216,
-                "key.parsed_scope.start" : 216,
+                "key.parsed_scope.end" : 286,
+                "key.parsed_scope.start" : 286,
                 "key.typename" : "CGFloat",
                 "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
                 "key.usr" : "s:10ListableUI14GridListLayoutC6layout8delegate2inyAA014CollectionViewE8Delegate_p_So012UICollectionJ0CtF15lastContentMaxYL_12CoreGraphics7CGFloatVvp"
@@ -40041,53 +41121,53 @@
           {
             "key.attribute" : "source.decl.attribute.fileprivate",
             "key.length" : 11,
-            "key.offset" : 13163
+            "key.offset" : 14766
           }
         ],
         "key.bodylength" : 1011,
-        "key.bodyoffset" : 13217,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+        "key.bodyoffset" : 14820,
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> enum<\/syntaxtype.keyword> GridAppearance<\/ref.struct>.Sizing<\/ref.struct>.ItemSize<\/decl.name> : Equatable<\/ref.protocol><\/decl.enum>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 1054,
         "key.name" : "GridAppearance.Sizing.ItemSize",
         "key.namelength" : 30,
-        "key.nameoffset" : 13185,
-        "key.offset" : 13175,
+        "key.nameoffset" : 14788,
+        "key.offset" : 14778,
         "key.parsed_declaration" : "fileprivate extension GridAppearance.Sizing.ItemSize",
-        "key.parsed_scope.end" : 444,
-        "key.parsed_scope.start" : 409,
+        "key.parsed_scope.end" : 514,
+        "key.parsed_scope.start" : 479,
         "key.substructure" : [
           {
             "key.accessibility" : "source.lang.swift.accessibility.fileprivate",
             "key.annotated_decl" : "struct Grouped<Value><\/Declaration>",
             "key.bodylength" : 107,
-            "key.bodyoffset" : 13254,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+            "key.bodyoffset" : 14857,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
             "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> Grouped<\/decl.name><Value<\/decl.generic_type_param.name><\/decl.generic_type_param>><\/decl.struct>",
             "key.kind" : "source.lang.swift.decl.struct",
             "key.length" : 135,
             "key.name" : "Grouped",
             "key.namelength" : 7,
-            "key.nameoffset" : 13234,
-            "key.offset" : 13227,
+            "key.nameoffset" : 14837,
+            "key.offset" : 14830,
             "key.parsed_declaration" : "struct Grouped",
-            "key.parsed_scope.end" : 416,
-            "key.parsed_scope.start" : 411,
+            "key.parsed_scope.end" : 486,
+            "key.parsed_scope.start" : 481,
             "key.substructure" : [
               {
                 "key.annotated_decl" : "Value<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
                 "key.fully_annotated_decl" : "Value<\/decl.generic_type_param.name><\/decl.generic_type_param>",
                 "key.kind" : "source.lang.swift.decl.generic_type_param",
                 "key.length" : 5,
                 "key.name" : "Value",
                 "key.namelength" : 5,
-                "key.nameoffset" : 13242,
-                "key.offset" : 13242,
+                "key.nameoffset" : 14845,
+                "key.offset" : 14845,
                 "key.parsed_declaration" : "struct Groupedvar itemsInRowSpacing: CGFloat<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> itemsInRowSpacing<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 31,
                 "key.name" : "itemsInRowSpacing",
                 "key.namelength" : 17,
-                "key.nameoffset" : 13267,
-                "key.offset" : 13263,
+                "key.nameoffset" : 14870,
+                "key.offset" : 14866,
                 "key.parsed_declaration" : "var itemsInRowSpacing : CGFloat",
-                "key.parsed_scope.end" : 413,
-                "key.parsed_scope.start" : 413,
+                "key.parsed_scope.end" : 483,
+                "key.parsed_scope.start" : 483,
                 "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
                 "key.typename" : "CGFloat",
                 "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
@@ -40114,17 +41194,17 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var itemSize: CGSize<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> itemSize<\/decl.name>: CGSize<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 21,
                 "key.name" : "itemSize",
                 "key.namelength" : 8,
-                "key.nameoffset" : 13307,
-                "key.offset" : 13303,
+                "key.nameoffset" : 14910,
+                "key.offset" : 14906,
                 "key.parsed_declaration" : "var itemSize : CGSize",
-                "key.parsed_scope.end" : 414,
-                "key.parsed_scope.start" : 414,
+                "key.parsed_scope.end" : 484,
+                "key.parsed_scope.start" : 484,
                 "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
                 "key.typename" : "CGSize",
                 "key.typeusr" : "$sSo6CGSizeVD",
@@ -40133,17 +41213,17 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var grouped: [[Value<\/Type>]]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> grouped<\/decl.name>: [[Value<\/ref.generic_type_param>]]<\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 23,
                 "key.name" : "grouped",
                 "key.namelength" : 7,
-                "key.nameoffset" : 13337,
-                "key.offset" : 13333,
+                "key.nameoffset" : 14940,
+                "key.offset" : 14936,
                 "key.parsed_declaration" : "var grouped : [[Value]]",
-                "key.parsed_scope.end" : 415,
-                "key.parsed_scope.start" : 415,
+                "key.parsed_scope.end" : 485,
+                "key.parsed_scope.start" : 485,
                 "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
                 "key.typename" : "[[Value]]",
                 "key.typeusr" : "$sSaySayxGGD",
@@ -40158,32 +41238,32 @@
             "key.accessibility" : "source.lang.swift.accessibility.fileprivate",
             "key.annotated_decl" : "func grouped<Value>(within width: CGFloat<\/Type>, values: [Value<\/Type>]) -> Grouped<\/Type><Value<\/Type>><\/Declaration>",
             "key.bodylength" : 447,
-            "key.bodyoffset" : 13457,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+            "key.bodyoffset" : 15060,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> grouped<\/decl.name><Value<\/decl.generic_type_param.name><\/decl.generic_type_param>>(within<\/decl.var.parameter.argument_label> width<\/decl.var.parameter.name>: CGFloat<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, values<\/decl.var.parameter.argument_label>: [Value<\/ref.generic_type_param>]<\/decl.var.parameter.type><\/decl.var.parameter>) -> Grouped<\/ref.struct><Value<\/ref.generic_type_param>><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 533,
             "key.name" : "grouped(within:values:)",
             "key.namelength" : 56,
-            "key.nameoffset" : 13377,
-            "key.offset" : 13372,
+            "key.nameoffset" : 14980,
+            "key.offset" : 14975,
             "key.parsed_declaration" : "func grouped(within width : CGFloat, values : [Value]) -> Grouped",
-            "key.parsed_scope.end" : 430,
-            "key.parsed_scope.start" : 418,
+            "key.parsed_scope.end" : 500,
+            "key.parsed_scope.start" : 488,
             "key.substructure" : [
               {
                 "key.annotated_decl" : "Value<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
                 "key.fully_annotated_decl" : "Value<\/decl.generic_type_param.name><\/decl.generic_type_param>",
                 "key.kind" : "source.lang.swift.decl.generic_type_param",
                 "key.length" : 5,
                 "key.name" : "Value",
                 "key.namelength" : 5,
-                "key.nameoffset" : 13385,
-                "key.offset" : 13385,
+                "key.nameoffset" : 14988,
+                "key.offset" : 14988,
                 "key.parsed_declaration" : "func groupedprivate<\/syntaxtype.keyword> func<\/syntaxtype.keyword> group<\/decl.name><Value<\/decl.generic_type_param.name><\/decl.generic_type_param>>(values<\/decl.var.parameter.argument_label>: [Value<\/ref.generic_type_param>]<\/decl.var.parameter.type><\/decl.var.parameter>, into<\/decl.var.parameter.argument_label> itemsPerRow<\/decl.var.parameter.name>: Int<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> [[Value<\/ref.generic_type_param>]]<\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 304,
             "key.name" : "group(values:into:)",
             "key.namelength" : 54,
-            "key.nameoffset" : 13928,
-            "key.offset" : 13923,
+            "key.nameoffset" : 15531,
+            "key.offset" : 15526,
             "key.parsed_declaration" : "private func group(values : [Value], into itemsPerRow : Int) -> [[Value]]",
-            "key.parsed_scope.end" : 443,
-            "key.parsed_scope.start" : 432,
+            "key.parsed_scope.end" : 513,
+            "key.parsed_scope.start" : 502,
             "key.substructure" : [
               {
                 "key.annotated_decl" : "Value<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
                 "key.fully_annotated_decl" : "Value<\/decl.generic_type_param.name><\/decl.generic_type_param>",
                 "key.kind" : "source.lang.swift.decl.generic_type_param",
                 "key.length" : 5,
                 "key.name" : "Value",
                 "key.namelength" : 5,
-                "key.nameoffset" : 13934,
-                "key.offset" : 13934,
+                "key.nameoffset" : 15537,
+                "key.offset" : 15537,
                 "key.parsed_declaration" : "private func groupvar values: [Value]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> values<\/decl.name>: [Value]<\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 19,
                 "key.name" : "values",
                 "key.namelength" : 6,
-                "key.nameoffset" : 14014,
-                "key.offset" : 14010,
+                "key.nameoffset" : 15617,
+                "key.offset" : 15613,
                 "key.parsed_declaration" : "var values = values",
-                "key.parsed_scope.end" : 434,
-                "key.parsed_scope.start" : 434,
+                "key.parsed_scope.end" : 504,
+                "key.parsed_scope.start" : 504,
                 "key.typename" : "[Value]",
                 "key.typeusr" : "$sSayxGD",
                 "key.usr" : "s:10ListableUI14GridAppearanceV6SizingV8ItemSizeO5group33_51201F65DFF98DBE3D4D85DC498C38E0LL6values4intoSaySayxGGAL_SitlFAJL0_ALvp"
               },
               {
                 "key.annotated_decl" : "var grouped: [[Value<\/Type>]]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> grouped<\/decl.name>: [[Value<\/ref.generic_type_param>]]<\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 28,
                 "key.name" : "grouped",
                 "key.namelength" : 7,
-                "key.nameoffset" : 14051,
-                "key.offset" : 14047,
+                "key.nameoffset" : 15654,
+                "key.offset" : 15650,
                 "key.parsed_declaration" : "var grouped : [[Value]] = []",
-                "key.parsed_scope.end" : 436,
-                "key.parsed_scope.start" : 436,
+                "key.parsed_scope.end" : 506,
+                "key.parsed_scope.start" : 506,
                 "key.related_decls" : [
                   {
                     "key.annotated_decl" : "grouped(within:values:)<\/RelatedName>"
@@ -40290,11 +41370,11 @@
           {
             "key.attribute" : "source.decl.attribute.fileprivate",
             "key.length" : 11,
-            "key.offset" : 14232
+            "key.offset" : 15835
           }
         ],
         "key.bodylength" : 250,
-        "key.bodyoffset" : 14261,
+        "key.bodyoffset" : 15864,
         "key.doc.declaration" : "@frozen struct Array",
         "key.doc.discussion" : [
           {
@@ -40438,11 +41518,11 @@
         "key.modulename" : "Swift",
         "key.name" : "Array",
         "key.namelength" : 5,
-        "key.nameoffset" : 14254,
-        "key.offset" : 14244,
+        "key.nameoffset" : 15857,
+        "key.offset" : 15847,
         "key.parsed_declaration" : "fileprivate extension Array",
-        "key.parsed_scope.end" : 458,
-        "key.parsed_scope.start" : 447,
+        "key.parsed_scope.end" : 528,
+        "key.parsed_scope.start" : 517,
         "key.substructure" : [
           {
             "key.accessibility" : "source.lang.swift.accessibility.fileprivate",
@@ -40451,56 +41531,56 @@
               {
                 "key.attribute" : "source.decl.attribute.mutating",
                 "key.length" : 8,
-                "key.offset" : 14266
+                "key.offset" : 15869
               }
             ],
             "key.bodylength" : 182,
-            "key.bodyoffset" : 14327,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+            "key.bodyoffset" : 15930,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
             "key.fully_annotated_decl" : "mutating<\/syntaxtype.keyword> func<\/syntaxtype.keyword> safeDropFirst<\/decl.name>(_<\/decl.var.parameter.argument_label> count<\/decl.var.parameter.name>: Int<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> [Element<\/ref.generic_type_param>]<\/decl.function.returntype><\/decl.function.method.instance>",
             "key.groupname" : "Collection\/Array",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 235,
             "key.name" : "safeDropFirst(_:)",
             "key.namelength" : 28,
-            "key.nameoffset" : 14280,
-            "key.offset" : 14275,
+            "key.nameoffset" : 15883,
+            "key.offset" : 15878,
             "key.parsed_declaration" : "mutating func safeDropFirst(_ count : Int) -> [Element]",
-            "key.parsed_scope.end" : 457,
-            "key.parsed_scope.start" : 449,
+            "key.parsed_scope.end" : 527,
+            "key.parsed_scope.start" : 519,
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let safeCount: Int<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> safeCount<\/decl.name>: Int<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.groupname" : "Collection\/Array",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 44,
                 "key.name" : "safeCount",
                 "key.namelength" : 9,
-                "key.nameoffset" : 14340,
-                "key.offset" : 14336,
+                "key.nameoffset" : 15943,
+                "key.offset" : 15939,
                 "key.parsed_declaration" : "let safeCount = Swift.min(self.count, count)",
-                "key.parsed_scope.end" : 451,
-                "key.parsed_scope.start" : 451,
+                "key.parsed_scope.end" : 521,
+                "key.parsed_scope.start" : 521,
                 "key.typename" : "Int",
                 "key.typeusr" : "$sSiD",
                 "key.usr" : "s:Sa10ListableUIE13safeDropFirst33_51201F65DFF98DBE3D4D85DC498C38E0LLySayxGSiF0C5CountL_Sivp"
               },
               {
                 "key.annotated_decl" : "let values: ArraySlice<\/Type><Element><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> values<\/decl.name>: ArraySlice<\/ref.struct><Element><\/decl.var.type><\/decl.var.local>",
                 "key.groupname" : "Collection\/Array",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 32,
                 "key.name" : "values",
                 "key.namelength" : 6,
-                "key.nameoffset" : 14393,
-                "key.offset" : 14389,
+                "key.nameoffset" : 15996,
+                "key.offset" : 15992,
                 "key.parsed_declaration" : "let values = self[0..",
                 "key.typeusr" : "$ss10ArraySliceVyxGD",
                 "key.usr" : "s:Sa10ListableUIE13safeDropFirst33_51201F65DFF98DBE3D4D85DC498C38E0LLySayxGSiF6valuesL_s10ArraySliceVyxGvp"
@@ -40522,36 +41602,36 @@
           {
             "key.attribute" : "source.decl.attribute.fileprivate",
             "key.length" : 11,
-            "key.offset" : 14515
+            "key.offset" : 16118
           }
         ],
         "key.bodylength" : 18,
-        "key.bodyoffset" : 14598,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+        "key.bodyoffset" : 16201,
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
         "key.fully_annotated_decl" : "fileprivate<\/syntaxtype.keyword> func<\/syntaxtype.keyword> performLayout<\/decl.name><Input<\/decl.generic_type_param.name><\/decl.generic_type_param>>(for<\/decl.var.parameter.argument_label> input<\/decl.var.parameter.name>: Input<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, _<\/decl.var.parameter.argument_label> block<\/decl.var.parameter.name>: (Input<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.free>",
         "key.kind" : "source.lang.swift.decl.function.free",
         "key.length" : 90,
         "key.name" : "performLayout(for:_:)",
         "key.namelength" : 64,
-        "key.nameoffset" : 14532,
-        "key.offset" : 14527,
+        "key.nameoffset" : 16135,
+        "key.offset" : 16130,
         "key.parsed_declaration" : "fileprivate func performLayout(for input : Input, _ block : (Input) -> ())",
-        "key.parsed_scope.end" : 464,
-        "key.parsed_scope.start" : 461,
+        "key.parsed_scope.end" : 534,
+        "key.parsed_scope.start" : 531,
         "key.substructure" : [
           {
             "key.annotated_decl" : "Input<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Grid\/GridListLayout.swift",
             "key.fully_annotated_decl" : "Input<\/decl.generic_type_param.name><\/decl.generic_type_param>",
             "key.kind" : "source.lang.swift.decl.generic_type_param",
             "key.length" : 5,
             "key.name" : "Input",
             "key.namelength" : 5,
-            "key.nameoffset" : 14546,
-            "key.offset" : 14546,
+            "key.nameoffset" : 16149,
+            "key.offset" : 16149,
             "key.parsed_declaration" : "fileprivate func performLayoutLayoutDescription<\/Name>s:10ListableUI17LayoutDescriptionV<\/USR>public struct LayoutDescription<\/Declaration>A LayoutDescription<\/codeVoice>, well, describes the type of and properties of a layout to apply to a list view.<\/Para><\/Abstract>You use a LayoutDescription<\/codeVoice> by passing a closure to its initializer, which you use to customize the layoutAppearance<\/codeVoice> of the provided list type.<\/Para>For example, to use a standard list layout, and customize the layout, your code would look something like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>Or a layout for your own custom layout type would look somewhat like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>]]><\/rawHTML>Note]]><\/rawHTML>Under the hood, Listable is smart, and will only re-create the underlying layout object when needed (when the layout type or layout appearance changes).<\/Para><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
+        "key.doc.full_as_xml" : "LayoutDescription<\/Name>s:10ListableUI17LayoutDescriptionV<\/USR>public struct LayoutDescription<\/Declaration>A LayoutDescription<\/codeVoice>, well, describes the type of and properties of a layout to apply to a list view.<\/Para><\/Abstract>You use a LayoutDescription<\/codeVoice> by passing a closure to its initializer, which you use to customize the layoutAppearance<\/codeVoice> of the provided list type.<\/Para>For example, to use a standard list layout, and customize the layout, your code would look something like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>Or a layout for your own custom layout type would look somewhat like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>]]><\/rawHTML>Note]]><\/rawHTML>Under the hood, Listable is smart, and will only re-create the underlying layout object when needed (when the layout type or layout appearance changes).<\/Para><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 42,
         "key.doc.name" : "LayoutDescription",
         "key.doc.type" : "Class",
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
+        "key.doclength" : 1014,
+        "key.docoffset" : 115,
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> LayoutDescription<\/decl.name><\/decl.struct>",
-        "key.kind" : "source.lang.swift.decl.extension",
-        "key.length" : 195,
+        "key.kind" : "source.lang.swift.decl.struct",
+        "key.length" : 486,
         "key.name" : "LayoutDescription",
         "key.namelength" : 17,
-        "key.nameoffset" : 133,
-        "key.offset" : 123,
-        "key.parsed_declaration" : "public extension LayoutDescription",
-        "key.parsed_scope.end" : 17,
-        "key.parsed_scope.start" : 11,
-        "key.substructure" : [
+        "key.nameoffset" : 1143,
+        "key.offset" : 1136,
+        "key.parsed_declaration" : "public struct LayoutDescription",
+        "key.parsed_scope.end" : 53,
+        "key.parsed_scope.start" : 42,
+        "key.substructure" : [
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.annotated_decl" : "let configuration: AnyLayoutDescriptionConfiguration<\/Type><\/Declaration>",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
+            "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> configuration<\/decl.name>: AnyLayoutDescriptionConfiguration<\/ref.protocol><\/decl.var.type><\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 53,
+            "key.name" : "configuration",
+            "key.namelength" : 13,
+            "key.nameoffset" : 1171,
+            "key.offset" : 1167,
+            "key.parsed_declaration" : "let configuration : AnyLayoutDescriptionConfiguration",
+            "key.parsed_scope.end" : 44,
+            "key.parsed_scope.start" : 44,
+            "key.typename" : "AnyLayoutDescriptionConfiguration",
+            "key.typeusr" : "$s10ListableUI33AnyLayoutDescriptionConfiguration_pD",
+            "key.usr" : "s:10ListableUI17LayoutDescriptionV13configurationAA03AnycD13Configuration_pvp"
+          },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "static func list(_ configure: @escaping (inout ListAppearance<\/Type>) -> () = { _ in }) -> LayoutDescription<\/Type><\/Declaration>",
-            "key.bodylength" : 63,
-            "key.bodyoffset" : 252,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-            "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> list<\/decl.name>(_<\/decl.var.parameter.argument_label> configure<\/decl.var.parameter.name>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> (inout<\/syntaxtype.keyword> ListAppearance<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type> = { _ in }<\/decl.var.parameter>) -> LayoutDescription<\/ref.struct><\/decl.function.returntype><\/decl.function.method.static>",
-            "key.kind" : "source.lang.swift.decl.function.method.static",
-            "key.length" : 159,
-            "key.name" : "list(_:)",
-            "key.namelength" : 69,
-            "key.nameoffset" : 169,
-            "key.offset" : 157,
-            "key.parsed_declaration" : "static func list(_ configure : @escaping (inout ListAppearance) -> () = { _ in }) -> Self",
-            "key.parsed_scope.end" : 16,
-            "key.parsed_scope.start" : 13,
+            "key.annotated_decl" : "public init<LayoutType>(layoutType: LayoutType<\/Type>.Type, appearance configure: @escaping (inout LayoutType<\/Type>.LayoutAppearance<\/Type>) -> () = { _ in }) where LayoutType : ListLayout<\/Type><\/Declaration>",
+            "key.attributes" : [
+              {
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 1350
+              }
+            ],
+            "key.bodylength" : 94,
+            "key.bodyoffset" : 1525,
+            "key.doc.column" : 12,
+            "key.doc.comment" : "Creates a new layout description for the provided layout type, with the provided optional layout configuration.",
+            "key.doc.declaration" : "public init(layoutType: LayoutType.Type, appearance configure: @escaping (inout LayoutType.LayoutAppearance) -> () = { _ in }) where LayoutType : ListableUI.ListLayout",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
+            "key.doc.full_as_xml" : "init(layoutType:appearance:)<\/Name>s:10ListableUI17LayoutDescriptionV10layoutType10appearanceACxm_y0C10AppearanceQzzctcAA04ListC0Rzlufc<\/USR>public init<LayoutType>(layoutType: LayoutType.Type, appearance configure: @escaping (inout LayoutType.LayoutAppearance) -> () = { _ in }) where LayoutType : ListableUI.ListLayout<\/Declaration>Creates a new layout description for the provided layout type, with the provided optional layout configuration.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.line" : 47,
+            "key.doc.name" : "init(layoutType:appearance:)",
+            "key.doc.type" : "Function",
+            "key.doclength" : 116,
+            "key.docoffset" : 1230,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword><LayoutType<\/decl.generic_type_param.name><\/decl.generic_type_param>>(layoutType<\/decl.var.parameter.argument_label>: LayoutType<\/ref.generic_type_param>.Type<\/decl.var.parameter.type><\/decl.var.parameter>, appearance<\/decl.var.parameter.argument_label> configure<\/decl.var.parameter.name>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> (inout<\/syntaxtype.keyword> LayoutType<\/ref.generic_type_param>.LayoutAppearance<\/ref.associatedtype><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type> = { _ in }<\/decl.var.parameter>) where<\/syntaxtype.keyword> LayoutType : ListLayout<\/ref.protocol><\/decl.generic_type_requirement><\/decl.function.constructor>",
+            "key.kind" : "source.lang.swift.decl.function.method.instance",
+            "key.length" : 263,
+            "key.name" : "init(layoutType:appearance:)",
+            "key.namelength" : 166,
+            "key.nameoffset" : 1357,
+            "key.offset" : 1357,
+            "key.parsed_declaration" : "public init(\n    layoutType : LayoutType.Type,\n    appearance configure : @escaping (inout LayoutType.LayoutAppearance) -> () = { _ in }\n)",
+            "key.parsed_scope.end" : 52,
+            "key.parsed_scope.start" : 47,
             "key.substructure" : [
-
+              {
+                "key.annotated_decl" : "LayoutType : ListLayout<\/Type><\/Declaration>",
+                "key.elements" : [
+                  {
+                    "key.kind" : "source.lang.swift.structure.elem.typeref",
+                    "key.length" : 10,
+                    "key.offset" : 1373
+                  }
+                ],
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
+                "key.fully_annotated_decl" : "LayoutType<\/decl.generic_type_param.name> : ListLayout<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
+                "key.inheritedtypes" : [
+                  {
+                    "key.name" : "ListLayout"
+                  }
+                ],
+                "key.kind" : "source.lang.swift.decl.generic_type_param",
+                "key.length" : 21,
+                "key.name" : "LayoutType",
+                "key.namelength" : 10,
+                "key.nameoffset" : 1362,
+                "key.offset" : 1362,
+                "key.parsed_declaration" : "public init (@escaping (inout ListAppearance) -> ()) -> LayoutDescription",
-            "key.typeusr" : "$sy10ListableUI17LayoutDescriptionVyAA14ListAppearanceVzccD",
-            "key.usr" : "s:10ListableUI17LayoutDescriptionV4listyACyAA14ListAppearanceVzcFZ"
+            "key.typename" : " (LayoutDescription.Type) -> (LayoutType.Type, @escaping (inout LayoutType.LayoutAppearance) -> ()) -> LayoutDescription",
+            "key.typeusr" : "$s10layoutType10appearance10ListableUI17LayoutDescriptionVxm_y0F10AppearanceQzzctcAC04ListF0RzluD",
+            "key.usr" : "s:10ListableUI17LayoutDescriptionV10layoutType10appearanceACxm_y0C10AppearanceQzzctcAA04ListC0Rzlufc"
           }
         ],
         "key.typename" : "LayoutDescription.Type",
@@ -40650,1483 +41796,925 @@
       },
       {
         "key.accessibility" : "source.lang.swift.accessibility.public",
-        "key.annotated_decl" : "public struct ListAppearance : ListLayoutAppearance<\/Type><\/Declaration>",
+        "key.annotated_decl" : "public protocol ListLayout : AnyListLayout<\/Type><\/Declaration>",
         "key.attributes" : [
           {
             "key.attribute" : "source.decl.attribute.public",
             "key.length" : 6,
-            "key.offset" : 9876
-          }
-        ],
-        "key.bodylength" : 704,
-        "key.bodyoffset" : 9929,
-        "key.doc.column" : 15,
-        "key.doc.comment" : "\n`ListAppearance` defines the appearance and layout attribute for list layouts within a Listable list.\n\nThe below diagram shows where each of the properties on the `ListAppearance.Layout` values are\napplied when laying out the list.\n\nNote\n----\nDo not edit this ASCII diagram directly.\nEdit the `ListAppearance.monopic` file in this directory using Monodraw.\n```\n┌─────────────────────────────────────────────────────────────────┐\n│                          padding.top                            │\n│   ┌─────────────────────────────────────────────────────────┐   │\n│   │┌───────────────────────────────────────────────────────┐│   │\n│   ││                                                       ││   │\n│   ││                      List Header                      ││   │\n│   ││                                                       ││   │\n│   │└───────────────────────────────────────────────────────┘│   │\n│   │                                                         │   │\n│   │               headerToFirstSectionSpacing               │   │\n│   │                                                         │   │\n│   │┌───────────────────────────────────────────────────────┐│   │\n│   ││                                                       ││   │\n│   ││                    Section Header                     ││   │\n│   ││                                                       ││   │\n│   │└───────────────────────────────────────────────────────┘│   │\n│   │               sectionHeaderBottomSpacing                │   │\n│   │┌───────────────────────────────────────────────────────┐│   │\n│   ││                         Item                          ││   │\n│   │└───────────────────────────────────────────────────────┘│   │\n│   │                       itemSpacing                       │   │\n│   │┌───────────────────────────────────────────────────────┐│   │\n│   ││                         Item                          ││   │\n│   │└───────────────────────────────────────────────────────┘│   │\n│   │               itemToSectionFooterSpacing                │   │\n│   │┌───────────────────────────────────────────────────────┐│   │\n│   ││                                                       ││   │\n│ p ││                    Section Footer                     ││ p │\n│ a ││                                                       ││ a │\n│ d │└───────────────────────────────────────────────────────┘│ d │\n│ d │                                                         │ d │\n│ i │               interSectionSpacingWithFooter             │ i │\n│ n │                                                         │ n │\n│ g │┌───────────────────────────────────────────────────────┐│ g │\n│ . ││                                                       ││ . │\n│ l ││                    Section Header                     ││ r │\n│ e ││                                                       ││ i │\n│ f │└───────────────────────────────────────────────────────┘│ g │\n│ t │               sectionHeaderBottomSpacing                │ h │\n│   │┌───────────────────────────────────────────────────────┐│ t │\n│   ││                         Item                          ││   │\n│   │└───────────────────────────────────────────────────────┘│   │\n│   │                       itemSpacing                       │   │\n│   │┌───────────────────────────────────────────────────────┐│   │\n│   ││                         Item                          ││   │\n│   │└───────────────────────────────────────────────────────┘│   │\n│   │                                                         │   │\n│   │              interSectionSpacingWithNoFooter            │   │\n│   │                                                         │   │\n│   │┌───────────────────────────────────────────────────────┐│   │\n│   ││                                                       ││   │\n│   ││                    Section Header                     ││   │\n│   ││                                                       ││   │\n│   │└───────────────────────────────────────────────────────┘│   │\n│   │               sectionHeaderBottomSpacing                │   │\n│   │┌───────────────────────────────────────────────────────┐│   │\n│   ││                         Item                          ││   │\n│   │└───────────────────────────────────────────────────────┘│   │\n│   │                       itemSpacing                       │   │\n│   │┌───────────────────────────────────────────────────────┐│   │\n│   ││                         Item                          ││   │\n│   │└───────────────────────────────────────────────────────┘│   │\n│   │                                                         │   │\n│   │               lastSectionToFooterSpacing                │   │\n│   │                                                         │   │\n│   │┌───────────────────────────────────────────────────────┐│   │\n│   ││                                                       ││   │\n│   ││                      List Footer                      ││   │\n│   ││                                                       ││   │\n│   │└───────────────────────────────────────────────────────┘│   │\n│   └─────────────────────────────────────────────────────────┘   │\n│                         padding.bottom                          │\n└─────────────────────────────────────────────────────────────────┘\n```",
-        "key.doc.declaration" : "public struct ListAppearance : ListLayoutAppearance",
-        "key.doc.discussion" : [
-          {
-            "Para" : "The below diagram shows where each of the properties on the `ListAppearance.Layout` values are applied when laying out the list."
-          },
-          {
-            "Para" : "Do not edit this ASCII diagram directly. Edit the `ListAppearance.monopic` file in this directory using Monodraw."
-          },
-          {
-            "CodeListing" : ""
-          }
-        ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-        "key.doc.full_as_xml" : "ListAppearance<\/Name>s:10ListableUI14ListAppearanceV<\/USR>public struct ListAppearance : ListLayoutAppearance<\/Declaration>ListAppearance<\/codeVoice> defines the appearance and layout attribute for list layouts within a Listable list.<\/Para><\/Abstract>The below diagram shows where each of the properties on the ListAppearance.Layout<\/codeVoice> values are applied when laying out the list.<\/Para>]]><\/rawHTML>Note]]><\/rawHTML>Do not edit this ASCII diagram directly. Edit the ListAppearance.monopic<\/codeVoice> file in this directory using Monodraw.<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Class>",
-        "key.doc.line" : 105,
-        "key.doc.name" : "ListAppearance",
-        "key.doc.type" : "Class",
-        "key.doclength" : 9555,
-        "key.docoffset" : 321,
-        "key.elements" : [
-          {
-            "key.kind" : "source.lang.swift.structure.elem.typeref",
-            "key.length" : 20,
-            "key.offset" : 9907
-          }
-        ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> ListAppearance<\/decl.name> : ListLayoutAppearance<\/ref.protocol><\/decl.struct>",
-        "key.inheritedtypes" : [
-          {
-            "key.name" : "ListLayoutAppearance"
+            "key.offset" : 1625
           }
         ],
-        "key.kind" : "source.lang.swift.decl.struct",
-        "key.length" : 751,
-        "key.name" : "ListAppearance",
-        "key.namelength" : 14,
-        "key.nameoffset" : 9890,
-        "key.offset" : 9883,
-        "key.parsed_declaration" : "public struct ListAppearance : ListLayoutAppearance",
-        "key.parsed_scope.end" : 133,
-        "key.parsed_scope.start" : 105,
+        "key.bodylength" : 367,
+        "key.bodyoffset" : 1654,
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
+        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> ListLayout<\/decl.name> : AnyListLayout<\/ref.protocol><\/decl.protocol>",
+        "key.kind" : "source.lang.swift.decl.extension",
+        "key.length" : 390,
+        "key.name" : "ListLayout",
+        "key.namelength" : 10,
+        "key.nameoffset" : 1642,
+        "key.offset" : 1632,
+        "key.parsed_declaration" : "public extension ListLayout",
+        "key.parsed_scope.end" : 68,
+        "key.parsed_scope.start" : 56,
         "key.substructure" : [
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public var direction: LayoutDirection<\/Type> { get }<\/Declaration>",
-            "key.attributes" : [
-              {
-                "key.attribute" : "source.decl.attribute.public",
-                "key.length" : 6,
-                "key.offset" : 9934
-              }
-            ],
-            "key.bodylength" : 23,
-            "key.bodyoffset" : 9973,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> direction<\/decl.name>: LayoutDirection<\/ref.enum><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 56,
-            "key.name" : "direction",
-            "key.namelength" : 9,
-            "key.nameoffset" : 9945,
-            "key.offset" : 9941,
-            "key.overrides" : [
-              {
-                "key.usr" : "s:10ListableUI20ListLayoutAppearanceP9directionAA0D9DirectionOvp"
-              }
-            ],
-            "key.parsed_declaration" : "public var direction: LayoutDirection",
-            "key.parsed_scope.end" : 109,
-            "key.parsed_scope.start" : 107,
-            "key.typename" : "LayoutDirection",
-            "key.typeusr" : "$s10ListableUI15LayoutDirectionOD",
-            "key.usr" : "s:10ListableUI14ListAppearanceV9directionAA15LayoutDirectionOvp"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public var stickySectionHeaders: Bool<\/Type><\/Declaration>",
-            "key.attributes" : [
-              {
-                "key.attribute" : "source.decl.attribute.public",
-                "key.length" : 6,
-                "key.offset" : 10007
-              }
-            ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> stickySectionHeaders<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 31,
-            "key.name" : "stickySectionHeaders",
-            "key.namelength" : 20,
-            "key.nameoffset" : 10018,
-            "key.offset" : 10014,
-            "key.overrides" : [
-              {
-                "key.usr" : "s:10ListableUI20ListLayoutAppearanceP20stickySectionHeadersSbvp"
-              }
-            ],
-            "key.parsed_declaration" : "public var stickySectionHeaders : Bool",
-            "key.parsed_scope.end" : 111,
-            "key.parsed_scope.start" : 111,
-            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-            "key.typename" : "Bool",
-            "key.typeusr" : "$sSbD",
-            "key.usr" : "s:10ListableUI14ListAppearanceV20stickySectionHeadersSbvp"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public var sizing: Sizing<\/Type><\/Declaration>",
-            "key.attributes" : [
-              {
-                "key.attribute" : "source.decl.attribute.public",
-                "key.length" : 6,
-                "key.offset" : 10114
-              }
-            ],
-            "key.doc.column" : 16,
-            "key.doc.comment" : "Default sizing attributes for content in the list.",
-            "key.doc.declaration" : "public var sizing: Sizing",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-            "key.doc.full_as_xml" : "sizing<\/Name>s:10ListableUI14ListAppearanceV6sizingAC6SizingVvp<\/USR>public var sizing: Sizing<\/Declaration>Default sizing attributes for content in the list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
-            "key.doc.line" : 114,
-            "key.doc.name" : "sizing",
-            "key.doc.type" : "Other",
-            "key.doclength" : 55,
-            "key.docoffset" : 10055,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> sizing<\/decl.name>: Sizing<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 19,
-            "key.name" : "sizing",
-            "key.namelength" : 6,
-            "key.nameoffset" : 10125,
-            "key.offset" : 10121,
-            "key.parsed_declaration" : "public var sizing : Sizing",
-            "key.parsed_scope.end" : 114,
-            "key.parsed_scope.start" : 114,
-            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-            "key.typename" : "ListAppearance.Sizing",
-            "key.typeusr" : "$s10ListableUI14ListAppearanceV6SizingVD",
-            "key.usr" : "s:10ListableUI14ListAppearanceV6sizingAC6SizingVvp"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public var layout: Layout<\/Type><\/Declaration>",
-            "key.attributes" : [
-              {
-                "key.attribute" : "source.decl.attribute.public",
-                "key.length" : 6,
-                "key.offset" : 10201
-              }
-            ],
-            "key.doc.column" : 16,
-            "key.doc.comment" : "Layout attributes for content in the list.",
-            "key.doc.declaration" : "public var layout: Layout",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-            "key.doc.full_as_xml" : "layout<\/Name>s:10ListableUI14ListAppearanceV6layoutAC6LayoutVvp<\/USR>public var layout: Layout<\/Declaration>Layout attributes for content in the list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
-            "key.doc.line" : 117,
-            "key.doc.name" : "layout",
-            "key.doc.type" : "Other",
-            "key.doclength" : 47,
-            "key.docoffset" : 10150,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> layout<\/decl.name>: Layout<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 19,
-            "key.name" : "layout",
-            "key.namelength" : 6,
-            "key.nameoffset" : 10212,
-            "key.offset" : 10208,
-            "key.parsed_declaration" : "public var layout : Layout",
-            "key.parsed_scope.end" : 117,
-            "key.parsed_scope.start" : 117,
-            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-            "key.typename" : "ListAppearance.Layout",
-            "key.typeusr" : "$s10ListableUI14ListAppearanceV6LayoutVD",
-            "key.usr" : "s:10ListableUI14ListAppearanceV6layoutAC6LayoutVvp"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public static var `default`: ListAppearance<\/Type> { get }<\/Declaration>",
-            "key.attributes" : [
-              {
-                "key.attribute" : "source.decl.attribute.public",
-                "key.length" : 6,
-                "key.offset" : 10237
-              }
-            ],
-            "key.bodylength" : 32,
-            "key.bodyoffset" : 10282,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> static<\/syntaxtype.keyword> var<\/syntaxtype.keyword> `default`<\/decl.name>: ListAppearance<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.static>",
-            "key.kind" : "source.lang.swift.decl.var.static",
-            "key.length" : 71,
-            "key.name" : "default",
-            "key.namelength" : 7,
-            "key.nameoffset" : 10255,
-            "key.offset" : 10244,
-            "key.overrides" : [
-              {
-                "key.usr" : "s:10ListableUI20ListLayoutAppearanceP7defaultxvpZ"
-              }
-            ],
-            "key.parsed_declaration" : "public static var `default`: ListAppearance",
-            "key.parsed_scope.end" : 121,
-            "key.parsed_scope.start" : 119,
-            "key.typename" : "ListAppearance",
-            "key.typeusr" : "$s10ListableUI14ListAppearanceVD",
-            "key.usr" : "s:10ListableUI14ListAppearanceV7defaultACvpZ"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public init(stickySectionHeaders: Bool<\/Type> = true, sizing: Sizing<\/Type> = Sizing(), layout: Layout<\/Type> = Layout())<\/Declaration>",
-            "key.attributes" : [
-              {
-                "key.attribute" : "source.decl.attribute.public",
-                "key.length" : 6,
-                "key.offset" : 10376
-              }
-            ],
-            "key.bodylength" : 120,
-            "key.bodyoffset" : 10511,
-            "key.doc.column" : 12,
-            "key.doc.comment" : "Creates a new `ListAppearance` object.",
-            "key.doc.declaration" : "public init(stickySectionHeaders: Bool = true, sizing: Sizing = Sizing(), layout: Layout = Layout())",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-            "key.doc.full_as_xml" : "init(stickySectionHeaders:sizing:layout:)<\/Name>s:10ListableUI14ListAppearanceV20stickySectionHeaders6sizing6layoutACSb_AC6SizingVAC6LayoutVtcfc<\/USR>public init(stickySectionHeaders: Bool = true, sizing: Sizing = Sizing(), layout: Layout = Layout())<\/Declaration>Creates a new ListAppearance<\/codeVoice> object.<\/Para><\/Abstract><\/CommentParts><\/Function>",
-            "key.doc.line" : 124,
-            "key.doc.name" : "init(stickySectionHeaders:sizing:layout:)",
+            "key.annotated_decl" : "static func describe(appearance: @escaping (inout Self<\/Type>.LayoutAppearance<\/Type>) -> () = { _ in }) -> LayoutDescription<\/Type><\/Declaration>",
+            "key.bodylength" : 119,
+            "key.bodyoffset" : 1900,
+            "key.doc.column" : 17,
+            "key.doc.comment" : "Creates a new layout description for a list layout, with the provided optional layout configuration.",
+            "key.doc.declaration" : "static func describe(appearance: @escaping (inout Self.LayoutAppearance) -> () = { _ in }) -> LayoutDescription",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
+            "key.doc.full_as_xml" : "describe(appearance:)<\/Name>s:10ListableUI10ListLayoutPAAE8describe10appearanceAA0D11DescriptionVy0D10AppearanceQzzc_tFZ<\/USR>static func describe(appearance: @escaping (inout Self.LayoutAppearance) -> () = { _ in }) -> LayoutDescription<\/Declaration>Creates a new layout description for a list layout, with the provided optional layout configuration.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.line" : 59,
+            "key.doc.name" : "describe(appearance:)",
             "key.doc.type" : "Function",
-            "key.doclength" : 43,
-            "key.docoffset" : 10329,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(stickySectionHeaders<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type> = true<\/decl.var.parameter>, sizing<\/decl.var.parameter.argument_label>: Sizing<\/ref.struct><\/decl.var.parameter.type> = Sizing()<\/decl.var.parameter>, layout<\/decl.var.parameter.argument_label>: Layout<\/ref.struct><\/decl.var.parameter.type> = Layout()<\/decl.var.parameter>)<\/decl.function.constructor>",
-            "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 249,
-            "key.name" : "init(stickySectionHeaders:sizing:layout:)",
-            "key.namelength" : 126,
-            "key.nameoffset" : 10383,
-            "key.offset" : 10383,
-            "key.parsed_declaration" : "public init(\n    stickySectionHeaders : Bool = true,\n    sizing : Sizing = Sizing(),\n    layout : Layout = Layout()\n)",
-            "key.parsed_scope.end" : 132,
-            "key.parsed_scope.start" : 124,
+            "key.doclength" : 105,
+            "key.docoffset" : 1659,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
+            "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> describe<\/decl.name>(appearance<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> (inout<\/syntaxtype.keyword> Self<\/ref.generic_type_param>.LayoutAppearance<\/ref.associatedtype><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type> = { _ in }<\/decl.var.parameter>) -> LayoutDescription<\/ref.struct><\/decl.function.returntype><\/decl.function.method.static>",
+            "key.kind" : "source.lang.swift.decl.function.method.static",
+            "key.length" : 252,
+            "key.name" : "describe(appearance:)",
+            "key.namelength" : 93,
+            "key.nameoffset" : 1780,
+            "key.offset" : 1768,
+            "key.parsed_declaration" : "static func describe(\n    appearance : @escaping (inout Self.LayoutAppearance) -> () = { _ in }\n) -> LayoutDescription",
+            "key.parsed_scope.end" : 67,
+            "key.parsed_scope.start" : 59,
             "key.substructure" : [
 
             ],
-            "key.typename" : "(ListAppearance.Type) -> (Bool, ListAppearance.Sizing, ListAppearance.Layout) -> ListAppearance",
-            "key.typeusr" : "$s20stickySectionHeaders6sizing6layout10ListableUI14ListAppearanceVSb_AF6SizingVAF6LayoutVtcD",
-            "key.usr" : "s:10ListableUI14ListAppearanceV20stickySectionHeaders6sizing6layoutACSb_AC6SizingVAC6LayoutVtcfc"
+            "key.typename" : " (Self.Type) -> (@escaping (inout Self.LayoutAppearance) -> ()) -> LayoutDescription",
+            "key.typeusr" : "$s10appearance10ListableUI17LayoutDescriptionVy0D10AppearanceQzzc_tcD",
+            "key.usr" : "s:10ListableUI10ListLayoutPAAE8describe10appearanceAA0D11DescriptionVy0D10AppearanceQzzc_tFZ"
           }
         ],
-        "key.typename" : "ListAppearance.Type",
-        "key.typeusr" : "$s10ListableUI14ListAppearanceVmD",
-        "key.usr" : "s:10ListableUI14ListAppearanceV"
+        "key.typename" : "ListLayout.Protocol",
+        "key.typeusr" : "$s10ListableUI10ListLayout_pmD",
+        "key.usr" : "s:10ListableUI10ListLayoutP"
       },
       {
-        "key.annotated_decl" : "public struct ListAppearance : ListLayoutAppearance<\/Type><\/Declaration>",
-        "key.bodylength" : 5406,
-        "key.bodyoffset" : 10663,
+        "key.annotated_decl" : "public struct LayoutDescription<\/Declaration>",
+        "key.bodylength" : 2080,
+        "key.bodyoffset" : 2054,
         "key.doc.column" : 15,
-        "key.doc.declaration" : "public struct ListAppearance : ListLayoutAppearance",
+        "key.doc.declaration" : "public struct LayoutDescription",
         "key.doc.discussion" : [
           {
-            "Para" : "The below diagram shows where each of the properties on the `ListAppearance.Layout` values are applied when laying out the list."
+            "Para" : "You use a `LayoutDescription` by passing a closure to its initializer, which you use to customize the `layoutAppearance` of the provided list type."
+          },
+          {
+            "Para" : "For example, to use a standard list layout, and customize the layout, your code would look something like this:"
+          },
+          {
+            "CodeListing" : ""
           },
           {
-            "Para" : "Do not edit this ASCII diagram directly. Edit the `ListAppearance.monopic` file in this directory using Monodraw."
+            "Para" : "Or a layout for your own custom layout type would look somewhat like this:"
           },
           {
             "CodeListing" : ""
+          },
+          {
+            "Para" : "Under the hood, Listable is smart, and will only re-create the underlying layout object when needed (when the layout type or layout appearance changes)."
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-        "key.doc.full_as_xml" : "ListAppearance<\/Name>s:10ListableUI14ListAppearanceV<\/USR>public struct ListAppearance : ListLayoutAppearance<\/Declaration>ListAppearance<\/codeVoice> defines the appearance and layout attribute for list layouts within a Listable list.<\/Para><\/Abstract>The below diagram shows where each of the properties on the ListAppearance.Layout<\/codeVoice> values are applied when laying out the list.<\/Para>]]><\/rawHTML>Note]]><\/rawHTML>Do not edit this ASCII diagram directly. Edit the ListAppearance.monopic<\/codeVoice> file in this directory using Monodraw.<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Class>",
-        "key.doc.line" : 105,
-        "key.doc.name" : "ListAppearance",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
+        "key.doc.full_as_xml" : "LayoutDescription<\/Name>s:10ListableUI17LayoutDescriptionV<\/USR>public struct LayoutDescription<\/Declaration>A LayoutDescription<\/codeVoice>, well, describes the type of and properties of a layout to apply to a list view.<\/Para><\/Abstract>You use a LayoutDescription<\/codeVoice> by passing a closure to its initializer, which you use to customize the layoutAppearance<\/codeVoice> of the provided list type.<\/Para>For example, to use a standard list layout, and customize the layout, your code would look something like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>Or a layout for your own custom layout type would look somewhat like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>]]><\/rawHTML>Note]]><\/rawHTML>Under the hood, Listable is smart, and will only re-create the underlying layout object when needed (when the layout type or layout appearance changes).<\/Para><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.line" : 42,
+        "key.doc.name" : "LayoutDescription",
         "key.doc.type" : "Class",
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> ListAppearance<\/decl.name> : ListLayoutAppearance<\/ref.protocol><\/decl.struct>",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
+        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> LayoutDescription<\/decl.name><\/decl.struct>",
         "key.kind" : "source.lang.swift.decl.extension",
-        "key.length" : 5433,
-        "key.name" : "ListAppearance",
-        "key.namelength" : 14,
-        "key.nameoffset" : 10647,
-        "key.offset" : 10637,
-        "key.parsed_declaration" : "extension ListAppearance",
-        "key.parsed_scope.end" : 267,
-        "key.parsed_scope.start" : 136,
+        "key.length" : 2110,
+        "key.name" : "LayoutDescription",
+        "key.namelength" : 17,
+        "key.nameoffset" : 2035,
+        "key.offset" : 2025,
+        "key.parsed_declaration" : "extension LayoutDescription",
+        "key.parsed_scope.end" : 137,
+        "key.parsed_scope.start" : 71,
         "key.substructure" : [
           {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public struct Sizing : Equatable<\/Type><\/Declaration>",
-            "key.attributes" : [
-              {
-                "key.attribute" : "source.decl.attribute.public",
-                "key.length" : 6,
-                "key.offset" : 10705
-              }
-            ],
-            "key.bodylength" : 1970,
-            "key.bodyoffset" : 10743,
-            "key.doc.column" : 19,
-            "key.doc.comment" : "Sizing options for the list.",
-            "key.doc.declaration" : "public struct Sizing : Equatable",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-            "key.doc.full_as_xml" : "Sizing<\/Name>s:10ListableUI14ListAppearanceV6SizingV<\/USR>public struct Sizing : Equatable<\/Declaration>Sizing options for the list.<\/Para><\/Abstract><\/CommentParts><\/Class>",
-            "key.doc.line" : 139,
-            "key.doc.name" : "Sizing",
-            "key.doc.type" : "Class",
-            "key.doclength" : 33,
-            "key.docoffset" : 10668,
+            "key.annotated_decl" : "struct Configuration<LayoutType> : AnyLayoutDescriptionConfiguration<\/Type> where LayoutType : ListLayout<\/Type><\/Declaration>",
+            "key.bodylength" : 1988,
+            "key.bodyoffset" : 2144,
             "key.elements" : [
               {
                 "key.kind" : "source.lang.swift.structure.elem.typeref",
-                "key.length" : 9,
-                "key.offset" : 10728
+                "key.length" : 33,
+                "key.offset" : 2105
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> Sizing<\/decl.name> : Equatable<\/ref.protocol><\/decl.struct>",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
+            "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> Configuration<\/decl.name><LayoutType<\/decl.generic_type_param.name><\/decl.generic_type_param>> : AnyLayoutDescriptionConfiguration<\/ref.protocol> where<\/syntaxtype.keyword> LayoutType : ListLayout<\/ref.protocol><\/decl.generic_type_requirement><\/decl.struct>",
             "key.inheritedtypes" : [
               {
-                "key.name" : "Equatable"
+                "key.name" : "AnyLayoutDescriptionConfiguration"
               }
             ],
             "key.kind" : "source.lang.swift.decl.struct",
-            "key.length" : 2002,
-            "key.name" : "Sizing",
-            "key.namelength" : 6,
-            "key.nameoffset" : 10719,
-            "key.offset" : 10712,
-            "key.parsed_declaration" : "public struct Sizing : Equatable",
-            "key.parsed_scope.end" : 186,
-            "key.parsed_scope.start" : 139,
+            "key.length" : 2074,
+            "key.name" : "Configuration",
+            "key.namelength" : 13,
+            "key.nameoffset" : 2066,
+            "key.offset" : 2059,
+            "key.parsed_declaration" : "struct Configuration : AnyLayoutDescriptionConfiguration",
+            "key.parsed_scope.end" : 136,
+            "key.parsed_scope.start" : 73,
             "key.substructure" : [
               {
-                "key.accessibility" : "source.lang.swift.accessibility.public",
-                "key.annotated_decl" : "public var itemHeight: CGFloat<\/Type><\/Declaration>",
-                "key.attributes" : [
+                "key.annotated_decl" : "LayoutType : ListLayout<\/Type><\/Declaration>",
+                "key.elements" : [
                   {
-                    "key.attribute" : "source.decl.attribute.public",
-                    "key.length" : 6,
-                    "key.offset" : 10804
+                    "key.kind" : "source.lang.swift.structure.elem.typeref",
+                    "key.length" : 10,
+                    "key.offset" : 2091
                   }
                 ],
-                "key.doc.column" : 20,
-                "key.doc.comment" : "The default height for items in a list.",
-                "key.doc.declaration" : "public var itemHeight: CGFloat",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.doc.full_as_xml" : "itemHeight<\/Name>s:10ListableUI14ListAppearanceV6SizingV10itemHeight12CoreGraphics7CGFloatVvp<\/USR>public var itemHeight: CGFloat<\/Declaration>The default height for items in a list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
-                "key.doc.line" : 142,
-                "key.doc.name" : "itemHeight",
-                "key.doc.type" : "Other",
-                "key.doclength" : 44,
-                "key.docoffset" : 10752,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> itemHeight<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
+                "key.fully_annotated_decl" : "LayoutType<\/decl.generic_type_param.name> : ListLayout<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
+                "key.inheritedtypes" : [
+                  {
+                    "key.name" : "ListLayout"
+                  }
+                ],
+                "key.kind" : "source.lang.swift.decl.generic_type_param",
+                "key.length" : 21,
+                "key.name" : "LayoutType",
+                "key.namelength" : 10,
+                "key.nameoffset" : 2080,
+                "key.offset" : 2080,
+                "key.parsed_declaration" : "struct Configurationlet layoutType: LayoutType<\/Type>.Type<\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
+                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> layoutType<\/decl.name>: LayoutType<\/ref.generic_type_param>.Type<\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 24,
-                "key.name" : "itemHeight",
+                "key.length" : 32,
+                "key.name" : "layoutType",
                 "key.namelength" : 10,
-                "key.nameoffset" : 10815,
-                "key.offset" : 10811,
-                "key.parsed_declaration" : "public var itemHeight : CGFloat",
-                "key.parsed_scope.end" : 142,
-                "key.parsed_scope.start" : 142,
-                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-                "key.typename" : "CGFloat",
-                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
-                "key.usr" : "s:10ListableUI14ListAppearanceV6SizingV10itemHeight12CoreGraphics7CGFloatVvp"
+                "key.nameoffset" : 2157,
+                "key.offset" : 2153,
+                "key.parsed_declaration" : "let layoutType : LayoutType.Type",
+                "key.parsed_scope.end" : 75,
+                "key.parsed_scope.start" : 75,
+                "key.typename" : "LayoutType.Type",
+                "key.typeusr" : "$sxmD",
+                "key.usr" : "s:10ListableUI17LayoutDescriptionV13ConfigurationV10layoutTypexmvp"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.internal",
+                "key.annotated_decl" : "let configure: (inout LayoutType<\/Type>.LayoutAppearance<\/Type>) -> ()<\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
+                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> configure<\/decl.name>: (inout<\/syntaxtype.keyword> LayoutType<\/ref.generic_type_param>.LayoutAppearance<\/ref.associatedtype><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 57,
+                "key.name" : "configure",
+                "key.namelength" : 9,
+                "key.nameoffset" : 2207,
+                "key.offset" : 2203,
+                "key.parsed_declaration" : "let configure : (inout LayoutType.LayoutAppearance) -> ()",
+                "key.parsed_scope.end" : 77,
+                "key.parsed_scope.start" : 77,
+                "key.typename" : "(inout LayoutType.LayoutAppearance) -> ()",
+                "key.typeusr" : "$syy16LayoutAppearance10ListableUI04ListA0PQzzcD",
+                "key.usr" : "s:10ListableUI17LayoutDescriptionV13ConfigurationV9configureyy0C10AppearanceQzzcvp"
+              },
+              {
+                "key.kind" : "source.lang.swift.syntaxtype.comment.mark",
+                "key.length" : 39,
+                "key.name" : "MARK: AnyLayoutDescriptionConfiguration",
+                "key.namelength" : 0,
+                "key.nameoffset" : 0,
+                "key.offset" : 2281
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.internal",
+                "key.annotated_decl" : "func createEmptyLayout(appearance: Appearance<\/Type>, behavior: Behavior<\/Type>) -> AnyListLayout<\/Type><\/Declaration>",
+                "key.bodylength" : 345,
+                "key.bodyoffset" : 2466,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
+                "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> createEmptyLayout<\/decl.name>(appearance<\/decl.var.parameter.argument_label>: Appearance<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, behavior<\/decl.var.parameter.argument_label>: Behavior<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> AnyListLayout<\/ref.protocol><\/decl.function.returntype><\/decl.function.method.instance>",
+                "key.kind" : "source.lang.swift.decl.function.method.instance",
+                "key.length" : 474,
+                "key.name" : "createEmptyLayout(appearance:behavior:)",
+                "key.namelength" : 96,
+                "key.nameoffset" : 2343,
+                "key.offset" : 2338,
+                "key.overrides" : [
+                  {
+                    "key.usr" : "s:10ListableUI33AnyLayoutDescriptionConfigurationP011createEmptyD010appearance8behaviorAA0c4ListD0_pAA10AppearanceV_AA8BehaviorVtF"
+                  }
+                ],
+                "key.parsed_declaration" : "func createEmptyLayout(\n    appearance : Appearance,\n    behavior: Behavior\n) -> AnyListLayout",
+                "key.parsed_scope.end" : 95,
+                "key.parsed_scope.start" : 81,
+                "key.substructure" : [
+                  {
+                    "key.annotated_decl" : "var layoutAppearance: LayoutType.LayoutAppearance<\/Declaration>",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
+                    "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> layoutAppearance<\/decl.name>: LayoutType.LayoutAppearance<\/decl.var.type><\/decl.var.local>",
+                    "key.kind" : "source.lang.swift.decl.var.local",
+                    "key.length" : 58,
+                    "key.name" : "layoutAppearance",
+                    "key.namelength" : 16,
+                    "key.nameoffset" : 2483,
+                    "key.offset" : 2479,
+                    "key.parsed_declaration" : "var layoutAppearance = LayoutType.LayoutAppearance.default",
+                    "key.parsed_scope.end" : 86,
+                    "key.parsed_scope.start" : 86,
+                    "key.typename" : "LayoutType.LayoutAppearance",
+                    "key.typeusr" : "$s16LayoutAppearance10ListableUI04ListA0PQzD",
+                    "key.usr" : "s:10ListableUI17LayoutDescriptionV13ConfigurationV011createEmptyC010appearance8behaviorAA07AnyListC0_pAA10AppearanceV_AA8BehaviorVtF06layoutL0L_0cL0Qzvp"
+                  }
+                ],
+                "key.typename" : " (LayoutDescription.Configuration) -> (Appearance, Behavior) -> AnyListLayout",
+                "key.typeusr" : "$s10appearance8behavior10ListableUI13AnyListLayout_pAC10AppearanceV_AC8BehaviorVtcD",
+                "key.usr" : "s:10ListableUI17LayoutDescriptionV13ConfigurationV011createEmptyC010appearance8behaviorAA07AnyListC0_pAA10AppearanceV_AA8BehaviorVtF"
               },
               {
                 "key.accessibility" : "source.lang.swift.accessibility.public",
-                "key.annotated_decl" : "public var sectionHeaderHeight: CGFloat<\/Type><\/Declaration>",
+                "key.annotated_decl" : "public func createPopulatedLayout(appearance: Appearance<\/Type>, behavior: Behavior<\/Type>, delegate: CollectionViewLayoutDelegate<\/Type>) -> AnyListLayout<\/Type><\/Declaration>",
                 "key.attributes" : [
                   {
                     "key.attribute" : "source.decl.attribute.public",
                     "key.length" : 6,
-                    "key.offset" : 10915
+                    "key.offset" : 2830
                   }
                 ],
-                "key.doc.column" : 20,
-                "key.doc.comment" : "The default height for section headers in a list.",
-                "key.doc.declaration" : "public var sectionHeaderHeight: CGFloat",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.doc.full_as_xml" : "sectionHeaderHeight<\/Name>s:10ListableUI14ListAppearanceV6SizingV19sectionHeaderHeight12CoreGraphics7CGFloatVvp<\/USR>public var sectionHeaderHeight: CGFloat<\/Declaration>The default height for section headers in a list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
-                "key.doc.line" : 145,
-                "key.doc.name" : "sectionHeaderHeight",
-                "key.doc.type" : "Other",
-                "key.doclength" : 54,
-                "key.docoffset" : 10853,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> sectionHeaderHeight<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 33,
-                "key.name" : "sectionHeaderHeight",
-                "key.namelength" : 19,
-                "key.nameoffset" : 10926,
-                "key.offset" : 10922,
-                "key.parsed_declaration" : "public var sectionHeaderHeight : CGFloat",
-                "key.parsed_scope.end" : 145,
-                "key.parsed_scope.start" : 145,
-                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-                "key.typename" : "CGFloat",
-                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
-                "key.usr" : "s:10ListableUI14ListAppearanceV6SizingV19sectionHeaderHeight12CoreGraphics7CGFloatVvp"
+                "key.bodylength" : 395,
+                "key.bodyoffset" : 3022,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> createPopulatedLayout<\/decl.name>(appearance<\/decl.var.parameter.argument_label>: Appearance<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, behavior<\/decl.var.parameter.argument_label>: Behavior<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, delegate<\/decl.var.parameter.argument_label>: CollectionViewLayoutDelegate<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>) -> AnyListLayout<\/ref.protocol><\/decl.function.returntype><\/decl.function.method.instance>",
+                "key.kind" : "source.lang.swift.decl.function.method.instance",
+                "key.length" : 581,
+                "key.name" : "createPopulatedLayout(appearance:behavior:delegate:)",
+                "key.namelength" : 153,
+                "key.nameoffset" : 2842,
+                "key.offset" : 2837,
+                "key.overrides" : [
+                  {
+                    "key.usr" : "s:10ListableUI33AnyLayoutDescriptionConfigurationP015createPopulatedD010appearance8behavior8delegateAA0c4ListD0_pAA10AppearanceV_AA8BehaviorVAA014CollectionViewD8Delegate_ptF"
+                  }
+                ],
+                "key.parsed_declaration" : "public func createPopulatedLayout(\n    appearance : Appearance,\n    behavior: Behavior,\n    delegate : CollectionViewLayoutDelegate\n) -> AnyListLayout",
+                "key.parsed_scope.end" : 112,
+                "key.parsed_scope.start" : 97,
+                "key.substructure" : [
+                  {
+                    "key.annotated_decl" : "var layoutAppearance: LayoutType.LayoutAppearance<\/Declaration>",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
+                    "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> layoutAppearance<\/decl.name>: LayoutType.LayoutAppearance<\/decl.var.type><\/decl.var.local>",
+                    "key.kind" : "source.lang.swift.decl.var.local",
+                    "key.length" : 58,
+                    "key.name" : "layoutAppearance",
+                    "key.namelength" : 16,
+                    "key.nameoffset" : 3039,
+                    "key.offset" : 3035,
+                    "key.parsed_declaration" : "var layoutAppearance = LayoutType.LayoutAppearance.default",
+                    "key.parsed_scope.end" : 103,
+                    "key.parsed_scope.start" : 103,
+                    "key.typename" : "LayoutType.LayoutAppearance",
+                    "key.typeusr" : "$s16LayoutAppearance10ListableUI04ListA0PQzD",
+                    "key.usr" : "s:10ListableUI17LayoutDescriptionV13ConfigurationV015createPopulatedC010appearance8behavior8delegateAA07AnyListC0_pAA10AppearanceV_AA8BehaviorVAA014CollectionViewC8Delegate_ptF06layoutM0L_0cM0Qzvp"
+                  }
+                ],
+                "key.typename" : " (LayoutDescription.Configuration) -> (Appearance, Behavior, CollectionViewLayoutDelegate) -> AnyListLayout",
+                "key.typeusr" : "$s10appearance8behavior8delegate10ListableUI13AnyListLayout_pAD10AppearanceV_AD8BehaviorVAD014CollectionViewH8Delegate_ptcD",
+                "key.usr" : "s:10ListableUI17LayoutDescriptionV13ConfigurationV015createPopulatedC010appearance8behavior8delegateAA07AnyListC0_pAA10AppearanceV_AA8BehaviorVAA014CollectionViewC8Delegate_ptF"
               },
               {
                 "key.accessibility" : "source.lang.swift.accessibility.public",
-                "key.annotated_decl" : "public var sectionFooterHeight: CGFloat<\/Type><\/Declaration>",
+                "key.annotated_decl" : "public func shouldRebuild(layout anyLayout: AnyListLayout<\/Type>) -> Bool<\/Type><\/Declaration>",
                 "key.attributes" : [
                   {
                     "key.attribute" : "source.decl.attribute.public",
                     "key.length" : 6,
-                    "key.offset" : 11025
+                    "key.offset" : 3436
                   }
                 ],
-                "key.doc.column" : 20,
-                "key.doc.comment" : "The default height for section footer in a list.",
-                "key.doc.declaration" : "public var sectionFooterHeight: CGFloat",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.doc.full_as_xml" : "sectionFooterHeight<\/Name>s:10ListableUI14ListAppearanceV6SizingV19sectionFooterHeight12CoreGraphics7CGFloatVvp<\/USR>public var sectionFooterHeight: CGFloat<\/Declaration>The default height for section footer in a list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
-                "key.doc.line" : 147,
-                "key.doc.name" : "sectionFooterHeight",
-                "key.doc.type" : "Other",
-                "key.doclength" : 53,
-                "key.docoffset" : 10964,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> sectionFooterHeight<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 33,
-                "key.name" : "sectionFooterHeight",
-                "key.namelength" : 19,
-                "key.nameoffset" : 11036,
-                "key.offset" : 11032,
-                "key.parsed_declaration" : "public var sectionFooterHeight : CGFloat",
-                "key.parsed_scope.end" : 147,
-                "key.parsed_scope.start" : 147,
-                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-                "key.typename" : "CGFloat",
-                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
-                "key.usr" : "s:10ListableUI14ListAppearanceV6SizingV19sectionFooterHeight12CoreGraphics7CGFloatVvp"
-              },
-              {
-                "key.accessibility" : "source.lang.swift.accessibility.public",
-                "key.annotated_decl" : "public var listHeaderHeight: CGFloat<\/Type><\/Declaration>",
-                "key.attributes" : [
+                "key.bodylength" : 233,
+                "key.bodyoffset" : 3513,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> shouldRebuild<\/decl.name>(layout<\/decl.var.parameter.argument_label> anyLayout<\/decl.var.parameter.name>: AnyListLayout<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
+                "key.kind" : "source.lang.swift.decl.function.method.instance",
+                "key.length" : 304,
+                "key.name" : "shouldRebuild(layout:)",
+                "key.namelength" : 47,
+                "key.nameoffset" : 3448,
+                "key.offset" : 3443,
+                "key.overrides" : [
                   {
-                    "key.attribute" : "source.decl.attribute.public",
-                    "key.length" : 6,
-                    "key.offset" : 11137
+                    "key.usr" : "s:10ListableUI33AnyLayoutDescriptionConfigurationP13shouldRebuild6layoutSbAA0c4ListD0_p_tF"
                   }
                 ],
-                "key.doc.column" : 20,
-                "key.doc.comment" : "The default height for the list's header.",
-                "key.doc.declaration" : "public var listHeaderHeight: CGFloat",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.doc.full_as_xml" : "listHeaderHeight<\/Name>s:10ListableUI14ListAppearanceV6SizingV16listHeaderHeight12CoreGraphics7CGFloatVvp<\/USR>public var listHeaderHeight: CGFloat<\/Declaration>The default height for the list’s header.<\/Para><\/Abstract><\/CommentParts><\/Other>",
-                "key.doc.line" : 150,
-                "key.doc.name" : "listHeaderHeight",
-                "key.doc.type" : "Other",
-                "key.doclength" : 46,
-                "key.docoffset" : 11083,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> listHeaderHeight<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 30,
-                "key.name" : "listHeaderHeight",
-                "key.namelength" : 16,
-                "key.nameoffset" : 11148,
-                "key.offset" : 11144,
-                "key.parsed_declaration" : "public var listHeaderHeight : CGFloat",
-                "key.parsed_scope.end" : 150,
-                "key.parsed_scope.start" : 150,
-                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-                "key.typename" : "CGFloat",
-                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
-                "key.usr" : "s:10ListableUI14ListAppearanceV6SizingV16listHeaderHeight12CoreGraphics7CGFloatVvp"
-              },
-              {
-                "key.accessibility" : "source.lang.swift.accessibility.public",
-                "key.annotated_decl" : "public var listFooterHeight: CGFloat<\/Type><\/Declaration>",
-                "key.attributes" : [
+                "key.parsed_declaration" : "public func shouldRebuild(layout anyLayout : AnyListLayout) -> Bool",
+                "key.parsed_scope.end" : 124,
+                "key.parsed_scope.start" : 114,
+                "key.substructure" : [
                   {
-                    "key.attribute" : "source.decl.attribute.public",
-                    "key.length" : 6,
-                    "key.offset" : 11237
-                  }
-                ],
-                "key.doc.column" : 20,
-                "key.doc.comment" : "The default height for the list's footer.",
-                "key.doc.declaration" : "public var listFooterHeight: CGFloat",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.doc.full_as_xml" : "listFooterHeight<\/Name>s:10ListableUI14ListAppearanceV6SizingV16listFooterHeight12CoreGraphics7CGFloatVvp<\/USR>public var listFooterHeight: CGFloat<\/Declaration>The default height for the list’s footer.<\/Para><\/Abstract><\/CommentParts><\/Other>",
-                "key.doc.line" : 152,
-                "key.doc.name" : "listFooterHeight",
-                "key.doc.type" : "Other",
-                "key.doclength" : 46,
-                "key.docoffset" : 11183,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> listFooterHeight<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 30,
-                "key.name" : "listFooterHeight",
-                "key.namelength" : 16,
-                "key.nameoffset" : 11248,
-                "key.offset" : 11244,
-                "key.parsed_declaration" : "public var listFooterHeight : CGFloat",
-                "key.parsed_scope.end" : 152,
-                "key.parsed_scope.start" : 152,
-                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-                "key.typename" : "CGFloat",
-                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
-                "key.usr" : "s:10ListableUI14ListAppearanceV6SizingV16listFooterHeight12CoreGraphics7CGFloatVvp"
-              },
-              {
-                "key.accessibility" : "source.lang.swift.accessibility.public",
-                "key.annotated_decl" : "public var overscrollFooterHeight: CGFloat<\/Type><\/Declaration>",
-                "key.attributes" : [
+                    "key.annotated_decl" : "let layout: LayoutType<\/Declaration>",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
+                    "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> layout<\/decl.name>: LayoutType<\/decl.var.type><\/decl.var.local>",
+                    "key.kind" : "source.lang.swift.decl.var.local",
+                    "key.length" : 37,
+                    "key.name" : "layout",
+                    "key.namelength" : 6,
+                    "key.nameoffset" : 3530,
+                    "key.offset" : 3526,
+                    "key.parsed_declaration" : "let layout = anyLayout as! LayoutType",
+                    "key.parsed_scope.end" : 116,
+                    "key.parsed_scope.start" : 116,
+                    "key.typename" : "LayoutType",
+                    "key.typeusr" : "$sxD",
+                    "key.usr" : "s:10ListableUI17LayoutDescriptionV13ConfigurationV13shouldRebuild6layoutSbAA07AnyListC0_p_tFAGL_xvp"
+                  },
                   {
-                    "key.attribute" : "source.decl.attribute.public",
-                    "key.length" : 6,
-                    "key.offset" : 11348
-                  }
-                ],
-                "key.doc.column" : 20,
-                "key.doc.comment" : "The default height for the list's overscroll footer.",
-                "key.doc.declaration" : "public var overscrollFooterHeight: CGFloat",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.doc.full_as_xml" : "overscrollFooterHeight<\/Name>s:10ListableUI14ListAppearanceV6SizingV22overscrollFooterHeight12CoreGraphics7CGFloatVvp<\/USR>public var overscrollFooterHeight: CGFloat<\/Declaration>The default height for the list’s overscroll footer.<\/Para><\/Abstract><\/CommentParts><\/Other>",
-                "key.doc.line" : 154,
-                "key.doc.name" : "overscrollFooterHeight",
-                "key.doc.type" : "Other",
-                "key.doclength" : 57,
-                "key.docoffset" : 11283,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> overscrollFooterHeight<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 36,
-                "key.name" : "overscrollFooterHeight",
-                "key.namelength" : 22,
-                "key.nameoffset" : 11359,
-                "key.offset" : 11355,
-                "key.parsed_declaration" : "public var overscrollFooterHeight : CGFloat",
-                "key.parsed_scope.end" : 154,
-                "key.parsed_scope.start" : 154,
-                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-                "key.typename" : "CGFloat",
-                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
-                "key.usr" : "s:10ListableUI14ListAppearanceV6SizingV22overscrollFooterHeight12CoreGraphics7CGFloatVvp"
-              },
-              {
-                "key.accessibility" : "source.lang.swift.accessibility.public",
-                "key.annotated_decl" : "public var itemPositionGroupingHeight: CGFloat<\/Type><\/Declaration>",
-                "key.attributes" : [
+                    "key.annotated_decl" : "let old: LayoutType.LayoutAppearance<\/Declaration>",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
+                    "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> old<\/decl.name>: LayoutType.LayoutAppearance<\/decl.var.type><\/decl.var.local>",
+                    "key.kind" : "source.lang.swift.decl.var.local",
+                    "key.length" : 33,
+                    "key.name" : "old",
+                    "key.namelength" : 3,
+                    "key.nameoffset" : 3580,
+                    "key.offset" : 3576,
+                    "key.parsed_declaration" : "let old = layout.layoutAppearance",
+                    "key.parsed_scope.end" : 117,
+                    "key.parsed_scope.start" : 117,
+                    "key.typename" : "LayoutType.LayoutAppearance",
+                    "key.typeusr" : "$s16LayoutAppearance10ListableUI04ListA0PQzD",
+                    "key.usr" : "s:10ListableUI17LayoutDescriptionV13ConfigurationV13shouldRebuild6layoutSbAA07AnyListC0_p_tF3oldL_0C10AppearanceQzvp"
+                  },
                   {
-                    "key.attribute" : "source.decl.attribute.public",
-                    "key.length" : 6,
-                    "key.offset" : 11672
+                    "key.annotated_decl" : "var new: LayoutType.LayoutAppearance<\/Declaration>",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
+                    "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> new<\/decl.name>: LayoutType.LayoutAppearance<\/decl.var.type><\/decl.var.local>",
+                    "key.kind" : "source.lang.swift.decl.var.local",
+                    "key.length" : 13,
+                    "key.name" : "new",
+                    "key.namelength" : 3,
+                    "key.nameoffset" : 3639,
+                    "key.offset" : 3635,
+                    "key.parsed_declaration" : "var new = old",
+                    "key.parsed_scope.end" : 119,
+                    "key.parsed_scope.start" : 119,
+                    "key.typename" : "LayoutType.LayoutAppearance",
+                    "key.typeusr" : "$s16LayoutAppearance10ListableUI04ListA0PQzD",
+                    "key.usr" : "s:10ListableUI17LayoutDescriptionV13ConfigurationV13shouldRebuild6layoutSbAA07AnyListC0_p_tF3newL_0C10AppearanceQzvp"
                   }
                 ],
-                "key.doc.column" : 20,
-                "key.doc.comment" : "When providing the `ItemPosition` for items in a list, specifies the max spacing\nfor items to be considered in the same group. For example, if this value is 1, and\nitems are spaced 2pts apart, the items will be in a new group.",
-                "key.doc.declaration" : "public var itemPositionGroupingHeight: CGFloat",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.doc.full_as_xml" : "itemPositionGroupingHeight<\/Name>s:10ListableUI14ListAppearanceV6SizingV26itemPositionGroupingHeight12CoreGraphics7CGFloatVvp<\/USR>public var itemPositionGroupingHeight: CGFloat<\/Declaration>When providing the ItemPosition<\/codeVoice> for items in a list, specifies the max spacing for items to be considered in the same group. For example, if this value is 1, and items are spaced 2pts apart, the items will be in a new group.<\/Para><\/Abstract><\/CommentParts><\/Other>",
-                "key.doc.line" : 159,
-                "key.doc.name" : "itemPositionGroupingHeight",
-                "key.doc.type" : "Other",
-                "key.doclength" : 255,
-                "key.docoffset" : 11409,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> itemPositionGroupingHeight<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 40,
-                "key.name" : "itemPositionGroupingHeight",
-                "key.namelength" : 26,
-                "key.nameoffset" : 11683,
-                "key.offset" : 11679,
-                "key.parsed_declaration" : "public var itemPositionGroupingHeight : CGFloat",
-                "key.parsed_scope.end" : 159,
-                "key.parsed_scope.start" : 159,
-                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-                "key.typename" : "CGFloat",
-                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
-                "key.usr" : "s:10ListableUI14ListAppearanceV6SizingV26itemPositionGroupingHeight12CoreGraphics7CGFloatVvp"
+                "key.typename" : " (LayoutDescription.Configuration) -> (AnyListLayout) -> Bool",
+                "key.typeusr" : "$s6layoutSb10ListableUI13AnyListLayout_p_tcD",
+                "key.usr" : "s:10ListableUI17LayoutDescriptionV13ConfigurationV13shouldRebuild6layoutSbAA07AnyListC0_p_tF"
               },
               {
                 "key.accessibility" : "source.lang.swift.accessibility.public",
-                "key.annotated_decl" : "public init(itemHeight: CGFloat<\/Type> = 50.0, sectionHeaderHeight: CGFloat<\/Type> = 60.0, sectionFooterHeight: CGFloat<\/Type> = 40.0, listHeaderHeight: CGFloat<\/Type> = 60.0, listFooterHeight: CGFloat<\/Type> = 60.0, overscrollFooterHeight: CGFloat<\/Type> = 60.0, itemPositionGroupingHeight: CGFloat<\/Type> = 0.0)<\/Declaration>",
+                "key.annotated_decl" : "public func isSameLayoutType(as anyOther: AnyLayoutDescriptionConfiguration<\/Type>) -> Bool<\/Type><\/Declaration>",
                 "key.attributes" : [
                   {
                     "key.attribute" : "source.decl.attribute.public",
                     "key.length" : 6,
-                    "key.offset" : 11741
+                    "key.offset" : 3765
                   }
                 ],
-                "key.bodylength" : 412,
-                "key.bodyoffset" : 12116,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(itemHeight<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = 50.0<\/decl.var.parameter>, sectionHeaderHeight<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = 60.0<\/decl.var.parameter>, sectionFooterHeight<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = 40.0<\/decl.var.parameter>, listHeaderHeight<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = 60.0<\/decl.var.parameter>, listFooterHeight<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = 60.0<\/decl.var.parameter>, overscrollFooterHeight<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = 60.0<\/decl.var.parameter>, itemPositionGroupingHeight<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = 0.0<\/decl.var.parameter>)<\/decl.function.constructor>",
+                "key.bodylength" : 266,
+                "key.bodyoffset" : 3860,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> isSameLayoutType<\/decl.name>(as<\/decl.var.parameter.argument_label> anyOther<\/decl.var.parameter.name>: AnyLayoutDescriptionConfiguration<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
-                "key.length" : 781,
-                "key.name" : "init(itemHeight:sectionHeaderHeight:sectionFooterHeight:listHeaderHeight:listFooterHeight:overscrollFooterHeight:itemPositionGroupingHeight:)",
-                "key.namelength" : 358,
-                "key.nameoffset" : 11748,
-                "key.offset" : 11748,
-                "key.parsed_declaration" : "public init(\n    itemHeight : CGFloat = 50.0,\n    sectionHeaderHeight : CGFloat = 60.0,\n    sectionFooterHeight : CGFloat = 40.0,\n    listHeaderHeight : CGFloat = 60.0,\n    listFooterHeight : CGFloat = 60.0,\n    overscrollFooterHeight : CGFloat = 60.0,\n    itemPositionGroupingHeight : CGFloat = 0.0\n)",
-                "key.parsed_scope.end" : 178,
-                "key.parsed_scope.start" : 161,
-                "key.substructure" : [
-
-                ],
-                "key.typename" : "(ListAppearance.Sizing.Type) -> (CGFloat, CGFloat, CGFloat, CGFloat, CGFloat, CGFloat, CGFloat) -> ListAppearance.Sizing",
-                "key.typeusr" : "$s10itemHeight013sectionHeaderB00c6FooterB004listdB00feB0010overscrolleB00a16PositionGroupingB010ListableUI14ListAppearanceV6SizingV12CoreGraphics7CGFloatV_A6OtcD",
-                "key.usr" : "s:10ListableUI14ListAppearanceV6SizingV10itemHeight013sectionHeaderG00h6FooterG004listiG00kjG0010overscrolljG00f16PositionGroupingG0AE12CoreGraphics7CGFloatV_A6Otcfc"
-              },
-              {
-                "key.accessibility" : "source.lang.swift.accessibility.public",
-                "key.annotated_decl" : "public mutating func set(with block: (inout Sizing<\/Type>) -> ())<\/Declaration>",
-                "key.attributes" : [
-                  {
-                    "key.attribute" : "source.decl.attribute.mutating",
-                    "key.length" : 8,
-                    "key.offset" : 12554
-                  },
+                "key.length" : 355,
+                "key.name" : "isSameLayoutType(as:)",
+                "key.namelength" : 65,
+                "key.nameoffset" : 3777,
+                "key.offset" : 3772,
+                "key.overrides" : [
                   {
-                    "key.attribute" : "source.decl.attribute.public",
-                    "key.length" : 6,
-                    "key.offset" : 12547
+                    "key.usr" : "s:10ListableUI33AnyLayoutDescriptionConfigurationP06isSameD4Type2asSbAaB_p_tF"
                   }
                 ],
-                "key.bodylength" : 92,
-                "key.bodyoffset" : 12615,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> mutating<\/syntaxtype.keyword> func<\/syntaxtype.keyword> set<\/decl.name>(with<\/decl.var.parameter.argument_label> block<\/decl.var.parameter.name>: (inout<\/syntaxtype.keyword> Sizing<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
-                "key.kind" : "source.lang.swift.decl.function.method.instance",
-                "key.length" : 145,
-                "key.name" : "set(with:)",
-                "key.namelength" : 37,
-                "key.nameoffset" : 12568,
-                "key.offset" : 12563,
-                "key.parsed_declaration" : "public mutating func set(with block: (inout Sizing) -> ())",
-                "key.parsed_scope.end" : 185,
-                "key.parsed_scope.start" : 180,
+                "key.parsed_declaration" : "public func isSameLayoutType(as anyOther : AnyLayoutDescriptionConfiguration) -> Bool",
+                "key.parsed_scope.end" : 135,
+                "key.parsed_scope.start" : 126,
                 "key.substructure" : [
                   {
-                    "key.annotated_decl" : "var edited: ListAppearance<\/Type>.Sizing<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                    "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> edited<\/decl.name>: ListAppearance<\/ref.struct>.Sizing<\/ref.struct><\/decl.var.type><\/decl.var.local>",
-                    "key.kind" : "source.lang.swift.decl.var.local",
-                    "key.length" : 17,
-                    "key.name" : "edited",
-                    "key.namelength" : 6,
-                    "key.nameoffset" : 12632,
-                    "key.offset" : 12628,
-                    "key.parsed_declaration" : "var edited = self",
-                    "key.parsed_scope.end" : 182,
-                    "key.parsed_scope.start" : 182,
-                    "key.typename" : "ListAppearance.Sizing",
-                    "key.typeusr" : "$s10ListableUI14ListAppearanceV6SizingVD",
-                    "key.usr" : "s:10ListableUI14ListAppearanceV6SizingV3set4withyyAEzXE_tF6editedL_AEvp"
+                    "key.kind" : "source.lang.swift.syntaxtype.comment.mark",
+                    "key.length" : 62,
+                    "key.name" : "TODO: We don't need both of these checks, just the second one.",
+                    "key.namelength" : 0,
+                    "key.nameoffset" : 0,
+                    "key.offset" : 3876
                   }
                 ],
-                "key.typename" : "(inout ListAppearance.Sizing) -> ((inout ListAppearance.Sizing) -> ()) -> ()",
-                "key.typeusr" : "$s4withyy10ListableUI14ListAppearanceV6SizingVzXE_tcD",
-                "key.usr" : "s:10ListableUI14ListAppearanceV6SizingV3set4withyyAEzXE_tF"
+                "key.typename" : " (LayoutDescription.Configuration) -> (AnyLayoutDescriptionConfiguration) -> Bool",
+                "key.typeusr" : "$s2asSb10ListableUI33AnyLayoutDescriptionConfiguration_p_tcD",
+                "key.usr" : "s:10ListableUI17LayoutDescriptionV13ConfigurationV06isSameC4Type2asSbAA03AnycdE0_p_tF"
               }
             ],
-            "key.typename" : "ListAppearance.Sizing.Type",
-            "key.typeusr" : "$s10ListableUI14ListAppearanceV6SizingVmD",
-            "key.usr" : "s:10ListableUI14ListAppearanceV6SizingV"
+            "key.typename" : "LayoutDescription.Configuration.Type",
+            "key.typeusr" : "$s10ListableUI17LayoutDescriptionV13ConfigurationVy_xGmD",
+            "key.usr" : "s:10ListableUI17LayoutDescriptionV13ConfigurationV"
+          }
+        ],
+        "key.typename" : "LayoutDescription.Type",
+        "key.typeusr" : "$s10ListableUI17LayoutDescriptionVmD",
+        "key.usr" : "s:10ListableUI17LayoutDescriptionV"
+      },
+      {
+        "key.accessibility" : "source.lang.swift.accessibility.public",
+        "key.annotated_decl" : "public protocol AnyLayoutDescriptionConfiguration<\/Declaration>",
+        "key.attributes" : [
+          {
+            "key.attribute" : "source.decl.attribute.public",
+            "key.length" : 6,
+            "key.offset" : 4138
+          }
+        ],
+        "key.bodylength" : 432,
+        "key.bodyoffset" : 4189,
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
+        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> AnyLayoutDescriptionConfiguration<\/decl.name><\/decl.protocol>",
+        "key.kind" : "source.lang.swift.decl.protocol",
+        "key.length" : 477,
+        "key.name" : "AnyLayoutDescriptionConfiguration",
+        "key.namelength" : 33,
+        "key.nameoffset" : 4154,
+        "key.offset" : 4145,
+        "key.parsed_declaration" : "public protocol AnyLayoutDescriptionConfiguration",
+        "key.parsed_scope.end" : 156,
+        "key.parsed_scope.start" : 140,
+        "key.substructure" : [
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "func createEmptyLayout(appearance: Appearance<\/Type>, behavior: Behavior<\/Type>) -> AnyListLayout<\/Type><\/Declaration>",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
+            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> createEmptyLayout<\/decl.name>(appearance<\/decl.var.parameter.argument_label>: Appearance<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, behavior<\/decl.var.parameter.argument_label>: Behavior<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> AnyListLayout<\/ref.protocol><\/decl.function.returntype><\/decl.function.method.instance>",
+            "key.kind" : "source.lang.swift.decl.function.method.instance",
+            "key.length" : 106,
+            "key.name" : "createEmptyLayout(appearance:behavior:)",
+            "key.namelength" : 84,
+            "key.nameoffset" : 4199,
+            "key.offset" : 4194,
+            "key.parsed_declaration" : "func createEmptyLayout(\n    appearance : Appearance,\n    behavior: Behavior\n) -> AnyListLayout",
+            "key.parsed_scope.end" : 142,
+            "key.parsed_scope.start" : 142,
+            "key.substructure" : [
+
+            ],
+            "key.typename" : " (Self) -> (Appearance, Behavior) -> AnyListLayout",
+            "key.typeusr" : "$s10appearance8behavior10ListableUI13AnyListLayout_pAC10AppearanceV_AC8BehaviorVtcD",
+            "key.usr" : "s:10ListableUI33AnyLayoutDescriptionConfigurationP011createEmptyD010appearance8behaviorAA0c4ListD0_pAA10AppearanceV_AA8BehaviorVtF"
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public struct Layout : Equatable<\/Type><\/Declaration>",
-            "key.attributes" : [
-              {
-                "key.attribute" : "source.decl.attribute.public",
-                "key.length" : 6,
-                "key.offset" : 12766
-              }
+            "key.annotated_decl" : "func createPopulatedLayout(appearance: Appearance<\/Type>, behavior: Behavior<\/Type>, delegate: CollectionViewLayoutDelegate<\/Type>) -> AnyListLayout<\/Type><\/Declaration>",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
+            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> createPopulatedLayout<\/decl.name>(appearance<\/decl.var.parameter.argument_label>: Appearance<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, behavior<\/decl.var.parameter.argument_label>: Behavior<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, delegate<\/decl.var.parameter.argument_label>: CollectionViewLayoutDelegate<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>) -> AnyListLayout<\/ref.protocol><\/decl.function.returntype><\/decl.function.method.instance>",
+            "key.kind" : "source.lang.swift.decl.function.method.instance",
+            "key.length" : 159,
+            "key.name" : "createPopulatedLayout(appearance:behavior:delegate:)",
+            "key.namelength" : 137,
+            "key.nameoffset" : 4315,
+            "key.offset" : 4310,
+            "key.parsed_declaration" : "func createPopulatedLayout(\n    appearance : Appearance,\n    behavior: Behavior,\n    delegate : CollectionViewLayoutDelegate\n) -> AnyListLayout",
+            "key.parsed_scope.end" : 147,
+            "key.parsed_scope.start" : 147,
+            "key.substructure" : [
+
             ],
-            "key.bodylength" : 3263,
-            "key.bodyoffset" : 12804,
-            "key.doc.column" : 19,
-            "key.doc.comment" : "Layout options for the list.",
-            "key.doc.declaration" : "public struct Layout : Equatable",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-            "key.doc.full_as_xml" : "Layout<\/Name>s:10ListableUI14ListAppearanceV6LayoutV<\/USR>public struct Layout : Equatable<\/Declaration>Layout options for the list.<\/Para><\/Abstract><\/CommentParts><\/Class>",
-            "key.doc.line" : 190,
-            "key.doc.name" : "Layout",
-            "key.doc.type" : "Class",
-            "key.doclength" : 33,
-            "key.docoffset" : 12729,
-            "key.elements" : [
-              {
-                "key.kind" : "source.lang.swift.structure.elem.typeref",
-                "key.length" : 9,
-                "key.offset" : 12789
-              }
+            "key.typename" : " (Self) -> (Appearance, Behavior, CollectionViewLayoutDelegate) -> AnyListLayout",
+            "key.typeusr" : "$s10appearance8behavior8delegate10ListableUI13AnyListLayout_pAD10AppearanceV_AD8BehaviorVAD014CollectionViewH8Delegate_ptcD",
+            "key.usr" : "s:10ListableUI33AnyLayoutDescriptionConfigurationP015createPopulatedD010appearance8behavior8delegateAA0c4ListD0_pAA10AppearanceV_AA8BehaviorVAA014CollectionViewD8Delegate_ptF"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "func shouldRebuild(layout anyLayout: AnyListLayout<\/Type>) -> Bool<\/Type><\/Declaration>",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
+            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> shouldRebuild<\/decl.name>(layout<\/decl.var.parameter.argument_label> anyLayout<\/decl.var.parameter.name>: AnyListLayout<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
+            "key.kind" : "source.lang.swift.decl.function.method.instance",
+            "key.length" : 60,
+            "key.name" : "shouldRebuild(layout:)",
+            "key.namelength" : 47,
+            "key.nameoffset" : 4484,
+            "key.offset" : 4479,
+            "key.parsed_declaration" : "func shouldRebuild(layout anyLayout : AnyListLayout) -> Bool",
+            "key.parsed_scope.end" : 153,
+            "key.parsed_scope.start" : 153,
+            "key.substructure" : [
+
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> Layout<\/decl.name> : Equatable<\/ref.protocol><\/decl.struct>",
-            "key.inheritedtypes" : [
-              {
-                "key.name" : "Equatable"
-              }
+            "key.typename" : " (Self) -> (AnyListLayout) -> Bool",
+            "key.typeusr" : "$s6layoutSb10ListableUI13AnyListLayout_p_tcD",
+            "key.usr" : "s:10ListableUI33AnyLayoutDescriptionConfigurationP13shouldRebuild6layoutSbAA0c4ListD0_p_tF"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "func isSameLayoutType(as other: AnyLayoutDescriptionConfiguration<\/Type>) -> Bool<\/Type><\/Declaration>",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
+            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> isSameLayoutType<\/decl.name>(as<\/decl.var.parameter.argument_label> other<\/decl.var.parameter.name>: AnyLayoutDescriptionConfiguration<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
+            "key.kind" : "source.lang.swift.decl.function.method.instance",
+            "key.length" : 75,
+            "key.name" : "isSameLayoutType(as:)",
+            "key.namelength" : 62,
+            "key.nameoffset" : 4550,
+            "key.offset" : 4545,
+            "key.parsed_declaration" : "func isSameLayoutType(as other : AnyLayoutDescriptionConfiguration) -> Bool",
+            "key.parsed_scope.end" : 155,
+            "key.parsed_scope.start" : 155,
+            "key.substructure" : [
+
             ],
-            "key.kind" : "source.lang.swift.decl.struct",
-            "key.length" : 3295,
-            "key.name" : "Layout",
-            "key.namelength" : 6,
-            "key.nameoffset" : 12780,
-            "key.offset" : 12773,
-            "key.parsed_declaration" : "public struct Layout : Equatable",
-            "key.parsed_scope.end" : 266,
-            "key.parsed_scope.start" : 190,
+            "key.typename" : " (Self) -> (AnyLayoutDescriptionConfiguration) -> Bool",
+            "key.typeusr" : "$s2asSb10ListableUI33AnyLayoutDescriptionConfiguration_p_tcD",
+            "key.usr" : "s:10ListableUI33AnyLayoutDescriptionConfigurationP06isSameD4Type2asSbAaB_p_tF"
+          }
+        ],
+        "key.typename" : "AnyLayoutDescriptionConfiguration.Protocol",
+        "key.typeusr" : "$s10ListableUI33AnyLayoutDescriptionConfiguration_pmD",
+        "key.usr" : "s:10ListableUI33AnyLayoutDescriptionConfigurationP"
+      }
+    ]
+  }
+}, {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift" : {
+    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
+    "key.length" : 5733,
+    "key.offset" : 0,
+    "key.substructure" : [
+      {
+        "key.accessibility" : "source.lang.swift.accessibility.public",
+        "key.annotated_decl" : "public protocol ListLayout : AnyListLayout<\/Type><\/Declaration>",
+        "key.attributes" : [
+          {
+            "key.attribute" : "source.decl.attribute.public",
+            "key.length" : 6,
+            "key.offset" : 107
+          }
+        ],
+        "key.bodylength" : 345,
+        "key.bodyoffset" : 151,
+        "key.elements" : [
+          {
+            "key.kind" : "source.lang.swift.structure.elem.typeref",
+            "key.length" : 13,
+            "key.offset" : 136
+          }
+        ],
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
+        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> ListLayout<\/decl.name> : AnyListLayout<\/ref.protocol><\/decl.protocol>",
+        "key.inheritedtypes" : [
+          {
+            "key.name" : "AnyListLayout"
+          }
+        ],
+        "key.kind" : "source.lang.swift.decl.protocol",
+        "key.length" : 383,
+        "key.name" : "ListLayout",
+        "key.namelength" : 10,
+        "key.nameoffset" : 123,
+        "key.offset" : 114,
+        "key.parsed_declaration" : "public protocol ListLayout : AnyListLayout",
+        "key.parsed_scope.end" : 25,
+        "key.parsed_scope.start" : 11,
+        "key.substructure" : [
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "associatedtype LayoutAppearance : ListLayoutAppearance<\/Type><\/Declaration>",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
+            "key.fully_annotated_decl" : "associatedtype<\/syntaxtype.keyword> LayoutAppearance<\/decl.name> : ListLayoutAppearance<\/ref.protocol><\/decl.associatedtype>",
+            "key.kind" : "source.lang.swift.decl.associatedtype",
+            "key.length" : 52,
+            "key.name" : "LayoutAppearance",
+            "key.namelength" : 16,
+            "key.nameoffset" : 171,
+            "key.offset" : 156,
+            "key.parsed_declaration" : "associatedtype LayoutAppearance:ListLayoutAppearance",
+            "key.parsed_scope.end" : 13,
+            "key.parsed_scope.start" : 13,
+            "key.typename" : "Self.LayoutAppearance.Type",
+            "key.typeusr" : "$s16LayoutAppearance10ListableUI04ListA0PQzmD",
+            "key.usr" : "s:10ListableUI10ListLayoutP0D10AppearanceQa"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "static var defaults: ListLayoutDefaults<\/Type> { get }<\/Declaration>",
+            "key.bodylength" : 5,
+            "key.bodyoffset" : 260,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
+            "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> var<\/syntaxtype.keyword> defaults<\/decl.name>: ListLayoutDefaults<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.static>",
+            "key.kind" : "source.lang.swift.decl.var.static",
+            "key.length" : 48,
+            "key.name" : "defaults",
+            "key.namelength" : 8,
+            "key.nameoffset" : 229,
+            "key.offset" : 218,
+            "key.parsed_declaration" : "static var defaults : ListLayoutDefaults",
+            "key.parsed_scope.end" : 15,
+            "key.parsed_scope.start" : 15,
+            "key.typename" : "ListLayoutDefaults",
+            "key.typeusr" : "$s10ListableUI18ListLayoutDefaultsVD",
+            "key.usr" : "s:10ListableUI10ListLayoutP8defaultsAA0cD8DefaultsVvpZ"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "var layoutAppearance: LayoutAppearance<\/Type> { get }<\/Declaration>",
+            "key.bodylength" : 5,
+            "key.bodyoffset" : 317,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
+            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> layoutAppearance<\/decl.name>: LayoutAppearance<\/ref.associatedtype><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 47,
+            "key.name" : "layoutAppearance",
+            "key.namelength" : 16,
+            "key.nameoffset" : 280,
+            "key.offset" : 276,
+            "key.parsed_declaration" : "var layoutAppearance : LayoutAppearance",
+            "key.parsed_scope.end" : 17,
+            "key.parsed_scope.start" : 17,
+            "key.typename" : "Self.LayoutAppearance",
+            "key.typeusr" : "$s16LayoutAppearance10ListableUI04ListA0PQzD",
+            "key.usr" : "s:10ListableUI10ListLayoutP16layoutAppearance0dF0Qzvp"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "init(layoutAppearance: LayoutAppearance<\/Type>, appearance: Appearance<\/Type>, behavior: Behavior<\/Type>, content: ListLayoutContent<\/Type>)<\/Declaration>",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
+            "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(layoutAppearance<\/decl.var.parameter.argument_label>: LayoutAppearance<\/ref.associatedtype><\/decl.var.parameter.type><\/decl.var.parameter>, appearance<\/decl.var.parameter.argument_label>: Appearance<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, behavior<\/decl.var.parameter.argument_label>: Behavior<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, content<\/decl.var.parameter.argument_label>: ListLayoutContent<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
+            "key.kind" : "source.lang.swift.decl.function.method.instance",
+            "key.length" : 154,
+            "key.name" : "init(layoutAppearance:appearance:behavior:content:)",
+            "key.namelength" : 154,
+            "key.nameoffset" : 341,
+            "key.offset" : 341,
+            "key.parsed_declaration" : "init(\n    layoutAppearance : LayoutAppearance,\n    appearance : Appearance,\n    behavior : Behavior,\n    content : ListLayoutContent\n)",
+            "key.parsed_scope.end" : 19,
+            "key.parsed_scope.start" : 19,
             "key.substructure" : [
+
+            ],
+            "key.typename" : " (Self.Type) -> (Self.LayoutAppearance, Appearance, Behavior, ListLayoutContent) -> Self",
+            "key.typeusr" : "$s16layoutAppearance10appearance8behavior7contentx06LayoutB0Qz_10ListableUI0B0VAG8BehaviorVAG04ListF7ContentCtcD",
+            "key.usr" : "s:10ListableUI10ListLayoutP16layoutAppearance10appearance8behavior7contentx0dF0Qz_AA0F0VAA8BehaviorVAA0cD7ContentCtcfc"
+          }
+        ],
+        "key.typename" : "ListLayout.Protocol",
+        "key.typeusr" : "$s10ListableUI10ListLayout_pmD",
+        "key.usr" : "s:10ListableUI10ListLayoutP"
+      },
+      {
+        "key.accessibility" : "source.lang.swift.accessibility.public",
+        "key.annotated_decl" : "public protocol ListLayout : AnyListLayout<\/Type><\/Declaration>",
+        "key.attributes" : [
+          {
+            "key.attribute" : "source.decl.attribute.public",
+            "key.length" : 6,
+            "key.offset" : 500
+          }
+        ],
+        "key.bodylength" : 183,
+        "key.bodyoffset" : 529,
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
+        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> ListLayout<\/decl.name> : AnyListLayout<\/ref.protocol><\/decl.protocol>",
+        "key.kind" : "source.lang.swift.decl.extension",
+        "key.length" : 206,
+        "key.name" : "ListLayout",
+        "key.namelength" : 10,
+        "key.nameoffset" : 517,
+        "key.offset" : 507,
+        "key.parsed_declaration" : "public extension ListLayout",
+        "key.parsed_scope.end" : 37,
+        "key.parsed_scope.start" : 28,
+        "key.substructure" : [
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "var direction: LayoutDirection<\/Type> { get }<\/Declaration>",
+            "key.bodylength" : 45,
+            "key.bodyoffset" : 566,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
+            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> direction<\/decl.name>: LayoutDirection<\/ref.enum><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 78,
+            "key.name" : "direction",
+            "key.namelength" : 9,
+            "key.nameoffset" : 538,
+            "key.offset" : 534,
+            "key.parsed_declaration" : "var direction: LayoutDirection",
+            "key.parsed_scope.end" : 32,
+            "key.parsed_scope.start" : 30,
+            "key.related_decls" : [
               {
-                "key.accessibility" : "source.lang.swift.accessibility.public",
-                "key.annotated_decl" : "public var padding: UIEdgeInsets<\/Type><\/Declaration>",
-                "key.attributes" : [
-                  {
-                    "key.attribute" : "source.decl.attribute.public",
-                    "key.length" : 6,
-                    "key.offset" : 12893
-                  }
-                ],
-                "key.doc.column" : 20,
-                "key.doc.comment" : "The padding to place around the outside of the content of the list.",
-                "key.doc.declaration" : "public var padding: UIEdgeInsets",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.doc.full_as_xml" : "padding<\/Name>s:10ListableUI14ListAppearanceV6LayoutV7paddingSo12UIEdgeInsetsVvp<\/USR>public var padding: UIEdgeInsets<\/Declaration>The padding to place around the outside of the content of the list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
-                "key.doc.line" : 193,
-                "key.doc.name" : "padding",
-                "key.doc.type" : "Other",
-                "key.doclength" : 72,
-                "key.docoffset" : 12813,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> padding<\/decl.name>: UIEdgeInsets<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 26,
-                "key.name" : "padding",
-                "key.namelength" : 7,
-                "key.nameoffset" : 12904,
-                "key.offset" : 12900,
-                "key.parsed_declaration" : "public var padding : UIEdgeInsets",
-                "key.parsed_scope.end" : 193,
-                "key.parsed_scope.start" : 193,
-                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-                "key.typename" : "UIEdgeInsets",
-                "key.typeusr" : "$sSo12UIEdgeInsetsVD",
-                "key.usr" : "s:10ListableUI14ListAppearanceV6LayoutV7paddingSo12UIEdgeInsetsVvp"
-              },
-              {
-                "key.accessibility" : "source.lang.swift.accessibility.public",
-                "key.annotated_decl" : "public var width: WidthConstraint<\/Type><\/Declaration>",
-                "key.attributes" : [
-                  {
-                    "key.attribute" : "source.decl.attribute.public",
-                    "key.length" : 6,
-                    "key.offset" : 13022
-                  }
-                ],
-                "key.doc.column" : 20,
-                "key.doc.comment" : "The width of the content of the list, which can be optionally constrained.",
-                "key.doc.declaration" : "public var width: WidthConstraint",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.doc.full_as_xml" : "width<\/Name>s:10ListableUI14ListAppearanceV6LayoutV5widthAA15WidthConstraintOvp<\/USR>public var width: WidthConstraint<\/Declaration>The width of the content of the list, which can be optionally constrained.<\/Para><\/Abstract><\/CommentParts><\/Other>",
-                "key.doc.line" : 195,
-                "key.doc.name" : "width",
-                "key.doc.type" : "Other",
-                "key.doclength" : 79,
-                "key.docoffset" : 12935,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> width<\/decl.name>: WidthConstraint<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 27,
-                "key.name" : "width",
-                "key.namelength" : 5,
-                "key.nameoffset" : 13033,
-                "key.offset" : 13029,
-                "key.parsed_declaration" : "public var width : WidthConstraint",
-                "key.parsed_scope.end" : 195,
-                "key.parsed_scope.start" : 195,
-                "key.related_decls" : [
-                  {
-                    "key.annotated_decl" : "width(with:padding:constraint:)<\/RelatedName>"
-                  }
-                ],
-                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-                "key.typename" : "WidthConstraint",
-                "key.typeusr" : "$s10ListableUI15WidthConstraintOD",
-                "key.usr" : "s:10ListableUI14ListAppearanceV6LayoutV5widthAA15WidthConstraintOvp"
-              },
-              {
-                "key.accessibility" : "source.lang.swift.accessibility.public",
-                "key.annotated_decl" : "public var headerToFirstSectionSpacing: CGFloat<\/Type><\/Declaration>",
-                "key.attributes" : [
-                  {
-                    "key.attribute" : "source.decl.attribute.public",
-                    "key.length" : 6,
-                    "key.offset" : 13197
-                  }
-                ],
-                "key.doc.column" : 20,
-                "key.doc.comment" : "The spacing between the list header and the first section.\nNot applied if there is no list header.",
-                "key.doc.declaration" : "public var headerToFirstSectionSpacing: CGFloat",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.doc.full_as_xml" : "headerToFirstSectionSpacing<\/Name>s:10ListableUI14ListAppearanceV6LayoutV27headerToFirstSectionSpacing12CoreGraphics7CGFloatVvp<\/USR>public var headerToFirstSectionSpacing: CGFloat<\/Declaration>The spacing between the list header and the first section. Not applied if there is no list header.<\/Para><\/Abstract><\/CommentParts><\/Other>",
-                "key.doc.line" : 199,
-                "key.doc.name" : "headerToFirstSectionSpacing",
-                "key.doc.type" : "Other",
-                "key.doclength" : 115,
-                "key.docoffset" : 13074,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> headerToFirstSectionSpacing<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 41,
-                "key.name" : "headerToFirstSectionSpacing",
-                "key.namelength" : 27,
-                "key.nameoffset" : 13208,
-                "key.offset" : 13204,
-                "key.parsed_declaration" : "public var headerToFirstSectionSpacing : CGFloat",
-                "key.parsed_scope.end" : 199,
-                "key.parsed_scope.start" : 199,
-                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-                "key.typename" : "CGFloat",
-                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
-                "key.usr" : "s:10ListableUI14ListAppearanceV6LayoutV27headerToFirstSectionSpacing12CoreGraphics7CGFloatVvp"
-              },
-              {
-                "key.accessibility" : "source.lang.swift.accessibility.public",
-                "key.annotated_decl" : "public var interSectionSpacingWithNoFooter: CGFloat<\/Type><\/Declaration>",
-                "key.attributes" : [
-                  {
-                    "key.attribute" : "source.decl.attribute.public",
-                    "key.length" : 6,
-                    "key.offset" : 13345
-                  }
-                ],
-                "key.doc.column" : 20,
-                "key.doc.comment" : "The spacing to apply between sections, if the previous section has no footer.",
-                "key.doc.declaration" : "public var interSectionSpacingWithNoFooter: CGFloat",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.doc.full_as_xml" : "interSectionSpacingWithNoFooter<\/Name>s:10ListableUI14ListAppearanceV6LayoutV31interSectionSpacingWithNoFooter12CoreGraphics7CGFloatVvp<\/USR>public var interSectionSpacingWithNoFooter: CGFloat<\/Declaration>The spacing to apply between sections, if the previous section has no footer.<\/Para><\/Abstract><\/CommentParts><\/Other>",
-                "key.doc.line" : 202,
-                "key.doc.name" : "interSectionSpacingWithNoFooter",
-                "key.doc.type" : "Other",
-                "key.doclength" : 82,
-                "key.docoffset" : 13255,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> interSectionSpacingWithNoFooter<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 45,
-                "key.name" : "interSectionSpacingWithNoFooter",
-                "key.namelength" : 31,
-                "key.nameoffset" : 13356,
-                "key.offset" : 13352,
-                "key.parsed_declaration" : "public var interSectionSpacingWithNoFooter : CGFloat",
-                "key.parsed_scope.end" : 202,
-                "key.parsed_scope.start" : 202,
-                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-                "key.typename" : "CGFloat",
-                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
-                "key.usr" : "s:10ListableUI14ListAppearanceV6LayoutV31interSectionSpacingWithNoFooter12CoreGraphics7CGFloatVvp"
-              },
-              {
-                "key.accessibility" : "source.lang.swift.accessibility.public",
-                "key.annotated_decl" : "public var interSectionSpacingWithFooter: CGFloat<\/Type><\/Declaration>",
-                "key.attributes" : [
-                  {
-                    "key.attribute" : "source.decl.attribute.public",
-                    "key.length" : 6,
-                    "key.offset" : 13495
-                  }
-                ],
-                "key.doc.column" : 20,
-                "key.doc.comment" : "The spacing to apply between sections, if the previous section has a footer.",
-                "key.doc.declaration" : "public var interSectionSpacingWithFooter: CGFloat",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.doc.full_as_xml" : "interSectionSpacingWithFooter<\/Name>s:10ListableUI14ListAppearanceV6LayoutV29interSectionSpacingWithFooter12CoreGraphics7CGFloatVvp<\/USR>public var interSectionSpacingWithFooter: CGFloat<\/Declaration>The spacing to apply between sections, if the previous section has a footer.<\/Para><\/Abstract><\/CommentParts><\/Other>",
-                "key.doc.line" : 204,
-                "key.doc.name" : "interSectionSpacingWithFooter",
-                "key.doc.type" : "Other",
-                "key.doclength" : 81,
-                "key.docoffset" : 13406,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> interSectionSpacingWithFooter<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 43,
-                "key.name" : "interSectionSpacingWithFooter",
-                "key.namelength" : 29,
-                "key.nameoffset" : 13506,
-                "key.offset" : 13502,
-                "key.parsed_declaration" : "public var interSectionSpacingWithFooter : CGFloat",
-                "key.parsed_scope.end" : 204,
-                "key.parsed_scope.start" : 204,
-                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-                "key.typename" : "CGFloat",
-                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
-                "key.usr" : "s:10ListableUI14ListAppearanceV6LayoutV29interSectionSpacingWithFooter12CoreGraphics7CGFloatVvp"
-              },
-              {
-                "key.accessibility" : "source.lang.swift.accessibility.public",
-                "key.annotated_decl" : "public var sectionHeaderBottomSpacing: CGFloat<\/Type><\/Declaration>",
-                "key.attributes" : [
-                  {
-                    "key.attribute" : "source.decl.attribute.public",
-                    "key.length" : 6,
-                    "key.offset" : 13693
-                  }
-                ],
-                "key.doc.column" : 20,
-                "key.doc.comment" : "The spacing to apply below a section header, before its items.\nNot applied if there is no section header.",
-                "key.doc.declaration" : "public var sectionHeaderBottomSpacing: CGFloat",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.doc.full_as_xml" : "sectionHeaderBottomSpacing<\/Name>s:10ListableUI14ListAppearanceV6LayoutV26sectionHeaderBottomSpacing12CoreGraphics7CGFloatVvp<\/USR>public var sectionHeaderBottomSpacing: CGFloat<\/Declaration>The spacing to apply below a section header, before its items. Not applied if there is no section header.<\/Para><\/Abstract><\/CommentParts><\/Other>",
-                "key.doc.line" : 208,
-                "key.doc.name" : "sectionHeaderBottomSpacing",
-                "key.doc.type" : "Other",
-                "key.doclength" : 122,
-                "key.docoffset" : 13563,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> sectionHeaderBottomSpacing<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 40,
-                "key.name" : "sectionHeaderBottomSpacing",
-                "key.namelength" : 26,
-                "key.nameoffset" : 13704,
-                "key.offset" : 13700,
-                "key.parsed_declaration" : "public var sectionHeaderBottomSpacing : CGFloat",
-                "key.parsed_scope.end" : 208,
-                "key.parsed_scope.start" : 208,
-                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-                "key.typename" : "CGFloat",
-                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
-                "key.usr" : "s:10ListableUI14ListAppearanceV6LayoutV26sectionHeaderBottomSpacing12CoreGraphics7CGFloatVvp"
-              },
-              {
-                "key.accessibility" : "source.lang.swift.accessibility.public",
-                "key.annotated_decl" : "public var itemSpacing: CGFloat<\/Type><\/Declaration>",
-                "key.attributes" : [
-                  {
-                    "key.attribute" : "source.decl.attribute.public",
-                    "key.length" : 6,
-                    "key.offset" : 13826
-                  }
-                ],
-                "key.doc.column" : 20,
-                "key.doc.comment" : "The spacing between individual items within a section in a list.",
-                "key.doc.declaration" : "public var itemSpacing: CGFloat",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.doc.full_as_xml" : "itemSpacing<\/Name>s:10ListableUI14ListAppearanceV6LayoutV11itemSpacing12CoreGraphics7CGFloatVvp<\/USR>public var itemSpacing: CGFloat<\/Declaration>The spacing between individual items within a section in a list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
-                "key.doc.line" : 210,
-                "key.doc.name" : "itemSpacing",
-                "key.doc.type" : "Other",
-                "key.doclength" : 69,
-                "key.docoffset" : 13749,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> itemSpacing<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 25,
-                "key.name" : "itemSpacing",
-                "key.namelength" : 11,
-                "key.nameoffset" : 13837,
-                "key.offset" : 13833,
-                "key.parsed_declaration" : "public var itemSpacing : CGFloat",
-                "key.parsed_scope.end" : 210,
-                "key.parsed_scope.start" : 210,
-                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-                "key.typename" : "CGFloat",
-                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
-                "key.usr" : "s:10ListableUI14ListAppearanceV6LayoutV11itemSpacing12CoreGraphics7CGFloatVvp"
-              },
-              {
-                "key.accessibility" : "source.lang.swift.accessibility.public",
-                "key.annotated_decl" : "public var itemToSectionFooterSpacing: CGFloat<\/Type><\/Declaration>",
-                "key.attributes" : [
-                  {
-                    "key.attribute" : "source.decl.attribute.public",
-                    "key.length" : 6,
-                    "key.offset" : 13999
-                  }
-                ],
-                "key.doc.column" : 20,
-                "key.doc.comment" : "The spacing between the last item in the section and the footer.\nNot applied if there is no section footer.",
-                "key.doc.declaration" : "public var itemToSectionFooterSpacing: CGFloat",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.doc.full_as_xml" : "itemToSectionFooterSpacing<\/Name>s:10ListableUI14ListAppearanceV6LayoutV26itemToSectionFooterSpacing12CoreGraphics7CGFloatVvp<\/USR>public var itemToSectionFooterSpacing: CGFloat<\/Declaration>The spacing between the last item in the section and the footer. Not applied if there is no section footer.<\/Para><\/Abstract><\/CommentParts><\/Other>",
-                "key.doc.line" : 213,
-                "key.doc.name" : "itemToSectionFooterSpacing",
-                "key.doc.type" : "Other",
-                "key.doclength" : 124,
-                "key.docoffset" : 13867,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> itemToSectionFooterSpacing<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 40,
-                "key.name" : "itemToSectionFooterSpacing",
-                "key.namelength" : 26,
-                "key.nameoffset" : 14010,
-                "key.offset" : 14006,
-                "key.parsed_declaration" : "public var itemToSectionFooterSpacing : CGFloat",
-                "key.parsed_scope.end" : 213,
-                "key.parsed_scope.start" : 213,
-                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-                "key.typename" : "CGFloat",
-                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
-                "key.usr" : "s:10ListableUI14ListAppearanceV6LayoutV26itemToSectionFooterSpacing12CoreGraphics7CGFloatVvp"
-              },
-              {
-                "key.accessibility" : "source.lang.swift.accessibility.public",
-                "key.annotated_decl" : "public var lastSectionToFooterSpacing: CGFloat<\/Type><\/Declaration>",
-                "key.attributes" : [
-                  {
-                    "key.attribute" : "source.decl.attribute.public",
-                    "key.length" : 6,
-                    "key.offset" : 14193
-                  }
-                ],
-                "key.doc.column" : 20,
-                "key.doc.comment" : "The spacing between the last section and the footer of the list.\nNot applied if there is no list footer.",
-                "key.doc.declaration" : "public var lastSectionToFooterSpacing: CGFloat",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.doc.full_as_xml" : "lastSectionToFooterSpacing<\/Name>s:10ListableUI14ListAppearanceV6LayoutV26lastSectionToFooterSpacing12CoreGraphics7CGFloatVvp<\/USR>public var lastSectionToFooterSpacing: CGFloat<\/Declaration>The spacing between the last section and the footer of the list. Not applied if there is no list footer.<\/Para><\/Abstract><\/CommentParts><\/Other>",
-                "key.doc.line" : 217,
-                "key.doc.name" : "lastSectionToFooterSpacing",
-                "key.doc.type" : "Other",
-                "key.doclength" : 121,
-                "key.docoffset" : 14064,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> lastSectionToFooterSpacing<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 40,
-                "key.name" : "lastSectionToFooterSpacing",
-                "key.namelength" : 26,
-                "key.nameoffset" : 14204,
-                "key.offset" : 14200,
-                "key.parsed_declaration" : "public var lastSectionToFooterSpacing : CGFloat",
-                "key.parsed_scope.end" : 217,
-                "key.parsed_scope.start" : 217,
-                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-                "key.typename" : "CGFloat",
-                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
-                "key.usr" : "s:10ListableUI14ListAppearanceV6LayoutV26lastSectionToFooterSpacing12CoreGraphics7CGFloatVvp"
-              },
-              {
-                "key.accessibility" : "source.lang.swift.accessibility.public",
-                "key.annotated_decl" : "public init(padding: UIEdgeInsets<\/Type> = .zero, width: WidthConstraint<\/Type> = .noConstraint, headerToFirstSectionSpacing: CGFloat<\/Type> = 0.0, interSectionSpacingWithNoFooter: CGFloat<\/Type> = 0.0, interSectionSpacingWithFooter: CGFloat<\/Type> = 0.0, sectionHeaderBottomSpacing: CGFloat<\/Type> = 0.0, itemSpacing: CGFloat<\/Type> = 0.0, itemToSectionFooterSpacing: CGFloat<\/Type> = 0.0, lastSectionToFooterSpacing: CGFloat<\/Type> = 0.0)<\/Declaration>",
-                "key.attributes" : [
-                  {
-                    "key.attribute" : "source.decl.attribute.public",
-                    "key.length" : 6,
-                    "key.offset" : 14328
-                  }
-                ],
-                "key.bodylength" : 626,
-                "key.bodyoffset" : 14842,
-                "key.doc.column" : 16,
-                "key.doc.comment" : "Creates a new `Layout` with the provided options.",
-                "key.doc.declaration" : "public init(padding: UIEdgeInsets = .zero, width: WidthConstraint = .noConstraint, headerToFirstSectionSpacing: CGFloat = 0.0, interSectionSpacingWithNoFooter: CGFloat = 0.0, interSectionSpacingWithFooter: CGFloat = 0.0, sectionHeaderBottomSpacing: CGFloat = 0.0, itemSpacing: CGFloat = 0.0, itemToSectionFooterSpacing: CGFloat = 0.0, lastSectionToFooterSpacing: CGFloat = 0.0)",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.doc.full_as_xml" : "init(padding:width:headerToFirstSectionSpacing:interSectionSpacingWithNoFooter:interSectionSpacingWithFooter:sectionHeaderBottomSpacing:itemSpacing:itemToSectionFooterSpacing:lastSectionToFooterSpacing:)<\/Name>s:10ListableUI14ListAppearanceV6LayoutV7padding5width27headerToFirstSectionSpacing05interkL12WithNoFooter0mklnP0019sectionHeaderBottomL004itemL00tikpL004lastkipL0AESo12UIEdgeInsetsV_AA15WidthConstraintO12CoreGraphics7CGFloatVA6Utcfc<\/USR>public init(padding: UIEdgeInsets = .zero, width: WidthConstraint = .noConstraint, headerToFirstSectionSpacing: CGFloat = 0.0, interSectionSpacingWithNoFooter: CGFloat = 0.0, interSectionSpacingWithFooter: CGFloat = 0.0, sectionHeaderBottomSpacing: CGFloat = 0.0, itemSpacing: CGFloat = 0.0, itemToSectionFooterSpacing: CGFloat = 0.0, lastSectionToFooterSpacing: CGFloat = 0.0)<\/Declaration>Creates a new Layout<\/codeVoice> with the provided options.<\/Para><\/Abstract><\/CommentParts><\/Function>",
-                "key.doc.line" : 220,
-                "key.doc.name" : "init(padding:width:headerToFirstSectionSpacing:interSectionSpacingWithNoFooter:interSectionSpacingWithFooter:sectionHeaderBottomSpacing:itemSpacing:itemToSectionFooterSpacing:lastSectionToFooterSpacing:)",
-                "key.doc.type" : "Function",
-                "key.doclength" : 54,
-                "key.docoffset" : 14266,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(padding<\/decl.var.parameter.argument_label>: UIEdgeInsets<\/ref.struct><\/decl.var.parameter.type> = .zero<\/decl.var.parameter>, width<\/decl.var.parameter.argument_label>: WidthConstraint<\/ref.enum><\/decl.var.parameter.type> = .noConstraint<\/decl.var.parameter>, headerToFirstSectionSpacing<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = 0.0<\/decl.var.parameter>, interSectionSpacingWithNoFooter<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = 0.0<\/decl.var.parameter>, interSectionSpacingWithFooter<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = 0.0<\/decl.var.parameter>, sectionHeaderBottomSpacing<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = 0.0<\/decl.var.parameter>, itemSpacing<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = 0.0<\/decl.var.parameter>, itemToSectionFooterSpacing<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = 0.0<\/decl.var.parameter>, lastSectionToFooterSpacing<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = 0.0<\/decl.var.parameter>)<\/decl.function.constructor>",
-                "key.kind" : "source.lang.swift.decl.function.method.instance",
-                "key.length" : 1134,
-                "key.name" : "init(padding:width:headerToFirstSectionSpacing:interSectionSpacingWithNoFooter:interSectionSpacingWithFooter:sectionHeaderBottomSpacing:itemSpacing:itemToSectionFooterSpacing:lastSectionToFooterSpacing:)",
-                "key.namelength" : 497,
-                "key.nameoffset" : 14335,
-                "key.offset" : 14335,
-                "key.parsed_declaration" : "public init(\n    padding : UIEdgeInsets = .zero,\n    width : WidthConstraint = .noConstraint,\n    headerToFirstSectionSpacing : CGFloat = 0.0,\n    interSectionSpacingWithNoFooter : CGFloat = 0.0,\n    interSectionSpacingWithFooter : CGFloat = 0.0,\n    sectionHeaderBottomSpacing : CGFloat = 0.0,\n    itemSpacing : CGFloat = 0.0,\n    itemToSectionFooterSpacing : CGFloat = 0.0,\n    lastSectionToFooterSpacing : CGFloat = 0.0\n)",
-                "key.parsed_scope.end" : 245,
-                "key.parsed_scope.start" : 220,
-                "key.substructure" : [
-
-                ],
-                "key.typename" : "(ListAppearance.Layout.Type) -> (UIEdgeInsets, WidthConstraint, CGFloat, CGFloat, CGFloat, CGFloat, CGFloat, CGFloat, CGFloat) -> ListAppearance.Layout",
-                "key.typeusr" : "$s7padding5width27headerToFirstSectionSpacing05interfG12WithNoFooter0hfgiK0019sectionHeaderBottomG004itemG00odfkG004lastfdkG010ListableUI14ListAppearanceV6LayoutVSo12UIEdgeInsetsV_AJ15WidthConstraintO12CoreGraphics7CGFloatVA6UtcD",
-                "key.usr" : "s:10ListableUI14ListAppearanceV6LayoutV7padding5width27headerToFirstSectionSpacing05interkL12WithNoFooter0mklnP0019sectionHeaderBottomL004itemL00tikpL004lastkipL0AESo12UIEdgeInsetsV_AA15WidthConstraintO12CoreGraphics7CGFloatVA6Utcfc"
-              },
-              {
-                "key.accessibility" : "source.lang.swift.accessibility.public",
-                "key.annotated_decl" : "public mutating func set(with block: (inout Layout<\/Type>) -> ())<\/Declaration>",
-                "key.attributes" : [
-                  {
-                    "key.attribute" : "source.decl.attribute.mutating",
-                    "key.length" : 8,
-                    "key.offset" : 15535
-                  },
-                  {
-                    "key.attribute" : "source.decl.attribute.public",
-                    "key.length" : 6,
-                    "key.offset" : 15528
-                  }
-                ],
-                "key.bodylength" : 92,
-                "key.bodyoffset" : 15597,
-                "key.doc.column" : 30,
-                "key.doc.comment" : "Easily mutate the `Layout` in place.",
-                "key.doc.declaration" : "public mutating func set(with block: (inout Layout) -> ())",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.doc.full_as_xml" : "set(with:)<\/Name>s:10ListableUI14ListAppearanceV6LayoutV3set4withyyAEzXE_tF<\/USR>public mutating func set(with block: (inout Layout) -> ())<\/Declaration>Easily mutate the Layout<\/codeVoice> in place.<\/Para><\/Abstract><\/CommentParts><\/Function>",
-                "key.doc.line" : 248,
-                "key.doc.name" : "set(with:)",
-                "key.doc.type" : "Function",
-                "key.doclength" : 41,
-                "key.docoffset" : 15479,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> mutating<\/syntaxtype.keyword> func<\/syntaxtype.keyword> set<\/decl.name>(with<\/decl.var.parameter.argument_label> block<\/decl.var.parameter.name>: (inout<\/syntaxtype.keyword> Layout<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
-                "key.kind" : "source.lang.swift.decl.function.method.instance",
-                "key.length" : 146,
-                "key.name" : "set(with:)",
-                "key.namelength" : 38,
-                "key.nameoffset" : 15549,
-                "key.offset" : 15544,
-                "key.parsed_declaration" : "public mutating func set(with block : (inout Layout) -> ())",
-                "key.parsed_scope.end" : 253,
-                "key.parsed_scope.start" : 248,
-                "key.substructure" : [
-                  {
-                    "key.annotated_decl" : "var edited: ListAppearance<\/Type>.Layout<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                    "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> edited<\/decl.name>: ListAppearance<\/ref.struct>.Layout<\/ref.struct><\/decl.var.type><\/decl.var.local>",
-                    "key.kind" : "source.lang.swift.decl.var.local",
-                    "key.length" : 17,
-                    "key.name" : "edited",
-                    "key.namelength" : 6,
-                    "key.nameoffset" : 15614,
-                    "key.offset" : 15610,
-                    "key.parsed_declaration" : "var edited = self",
-                    "key.parsed_scope.end" : 250,
-                    "key.parsed_scope.start" : 250,
-                    "key.typename" : "ListAppearance.Layout",
-                    "key.typeusr" : "$s10ListableUI14ListAppearanceV6LayoutVD",
-                    "key.usr" : "s:10ListableUI14ListAppearanceV6LayoutV3set4withyyAEzXE_tF6editedL_AEvp"
-                  }
-                ],
-                "key.typename" : "(inout ListAppearance.Layout) -> ((inout ListAppearance.Layout) -> ()) -> ()",
-                "key.typeusr" : "$s4withyy10ListableUI14ListAppearanceV6LayoutVzXE_tcD",
-                "key.usr" : "s:10ListableUI14ListAppearanceV6LayoutV3set4withyyAEzXE_tF"
-              },
+                "key.annotated_decl" : "direction<\/RelatedName>"
+              }
+            ],
+            "key.typename" : "LayoutDirection",
+            "key.typeusr" : "$s10ListableUI15LayoutDirectionOD",
+            "key.usr" : "s:10ListableUI10ListLayoutPAAE9directionAA0D9DirectionOvp"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "var stickySectionHeaders: Bool<\/Type> { get }<\/Declaration>",
+            "key.bodylength" : 56,
+            "key.bodyoffset" : 654,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
+            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> stickySectionHeaders<\/decl.name>: Bool<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 89,
+            "key.name" : "stickySectionHeaders",
+            "key.namelength" : 20,
+            "key.nameoffset" : 626,
+            "key.offset" : 622,
+            "key.parsed_declaration" : "var stickySectionHeaders: Bool",
+            "key.parsed_scope.end" : 36,
+            "key.parsed_scope.start" : 34,
+            "key.related_decls" : [
               {
-                "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "internal static func width(with width: CGFloat<\/Type>, padding: HorizontalPadding<\/Type>, constraint: WidthConstraint<\/Type>) -> CGFloat<\/Type><\/Declaration>",
-                "key.attributes" : [
-                  {
-                    "key.attribute" : "source.decl.attribute.internal",
-                    "key.length" : 8,
-                    "key.offset" : 15749
-                  }
-                ],
-                "key.bodylength" : 138,
-                "key.bodyoffset" : 15923,
-                "key.doc.column" : 30,
-                "key.doc.comment" : "Provides a width for layout.",
-                "key.doc.declaration" : "internal static func width(with width: CGFloat, padding: HorizontalPadding, constraint: WidthConstraint) -> CGFloat",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.doc.full_as_xml" : "width(with:padding:constraint:)<\/Name>s:10ListableUI14ListAppearanceV6LayoutV5width4with7padding10constraint12CoreGraphics7CGFloatVAL_AA17HorizontalPaddingVAA15WidthConstraintOtFZ<\/USR>internal static func width(with width: CGFloat, padding: HorizontalPadding, constraint: WidthConstraint) -> CGFloat<\/Declaration>Provides a width for layout.<\/Para><\/Abstract><\/CommentParts><\/Function>",
-                "key.doc.line" : 256,
-                "key.doc.name" : "width(with:padding:constraint:)",
-                "key.doc.type" : "Function",
-                "key.doclength" : 33,
-                "key.docoffset" : 15708,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.fully_annotated_decl" : "internal<\/syntaxtype.keyword> static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> width<\/decl.name>(with<\/decl.var.parameter.argument_label> width<\/decl.var.parameter.name>: CGFloat<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, padding<\/decl.var.parameter.argument_label>: HorizontalPadding<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, constraint<\/decl.var.parameter.argument_label>: WidthConstraint<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGFloat<\/ref.struct><\/decl.function.returntype><\/decl.function.method.static>",
-                "key.kind" : "source.lang.swift.decl.function.method.static",
-                "key.length" : 304,
-                "key.name" : "width(with:padding:constraint:)",
-                "key.namelength" : 132,
-                "key.nameoffset" : 15770,
-                "key.offset" : 15758,
-                "key.parsed_declaration" : "internal static func width(\n    with width : CGFloat,\n    padding : HorizontalPadding,\n    constraint : WidthConstraint\n) -> CGFloat",
-                "key.parsed_scope.end" : 265,
-                "key.parsed_scope.start" : 256,
-                "key.related_decls" : [
-                  {
-                    "key.annotated_decl" : "width<\/RelatedName>"
-                  }
-                ],
-                "key.substructure" : [
-                  {
-                    "key.annotated_decl" : "let paddedWidth: CGFloat<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                    "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> paddedWidth<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.local>",
-                    "key.kind" : "source.lang.swift.decl.var.local",
-                    "key.length" : 54,
-                    "key.name" : "paddedWidth",
-                    "key.namelength" : 11,
-                    "key.nameoffset" : 15940,
-                    "key.offset" : 15936,
-                    "key.parsed_declaration" : "let paddedWidth = width - padding.left - padding.right",
-                    "key.parsed_scope.end" : 262,
-                    "key.parsed_scope.start" : 262,
-                    "key.typename" : "CGFloat",
-                    "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
-                    "key.usr" : "s:10ListableUI14ListAppearanceV6LayoutV5width4with7padding10constraint12CoreGraphics7CGFloatVAL_AA17HorizontalPaddingVAA15WidthConstraintOtFZ06paddedO0L_ALvp"
-                  }
-                ],
-                "key.typename" : "(ListAppearance.Layout.Type) -> (CGFloat, HorizontalPadding, WidthConstraint) -> CGFloat",
-                "key.typeusr" : "$s4with7padding10constraint12CoreGraphics7CGFloatVAF_10ListableUI17HorizontalPaddingVAG15WidthConstraintOtcD",
-                "key.usr" : "s:10ListableUI14ListAppearanceV6LayoutV5width4with7padding10constraint12CoreGraphics7CGFloatVAL_AA17HorizontalPaddingVAA15WidthConstraintOtFZ"
+                "key.annotated_decl" : "stickySectionHeaders<\/RelatedName>"
               }
             ],
-            "key.typename" : "ListAppearance.Layout.Type",
-            "key.typeusr" : "$s10ListableUI14ListAppearanceV6LayoutVmD",
-            "key.usr" : "s:10ListableUI14ListAppearanceV6LayoutV"
+            "key.typename" : "Bool",
+            "key.typeusr" : "$sSbD",
+            "key.usr" : "s:10ListableUI10ListLayoutPAAE20stickySectionHeadersSbvp"
           }
         ],
-        "key.typename" : "ListAppearance.Type",
-        "key.typeusr" : "$s10ListableUI14ListAppearanceVmD",
-        "key.usr" : "s:10ListableUI14ListAppearanceV"
+        "key.typename" : "ListLayout.Protocol",
+        "key.typeusr" : "$s10ListableUI10ListLayout_pmD",
+        "key.usr" : "s:10ListableUI10ListLayoutP"
       },
       {
-        "key.accessibility" : "source.lang.swift.accessibility.internal",
-        "key.annotated_decl" : "final class DefaultListLayout : ListLayout<\/Type><\/Declaration>",
+        "key.accessibility" : "source.lang.swift.accessibility.public",
+        "key.annotated_decl" : "public protocol AnyListLayout : AnyObject<\/Declaration>",
         "key.attributes" : [
           {
-            "key.attribute" : "source.decl.attribute.final",
-            "key.length" : 5,
-            "key.offset" : 16073
+            "key.attribute" : "source.decl.attribute.public",
+            "key.length" : 6,
+            "key.offset" : 716
           }
         ],
-        "key.bodylength" : 13289,
-        "key.bodyoffset" : 16117,
+        "key.bodylength" : 623,
+        "key.bodyoffset" : 759,
         "key.elements" : [
           {
             "key.kind" : "source.lang.swift.structure.elem.typeref",
-            "key.length" : 10,
-            "key.offset" : 16105
+            "key.length" : 9,
+            "key.offset" : 748
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-        "key.fully_annotated_decl" : "final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> DefaultListLayout<\/decl.name> : ListLayout<\/ref.protocol><\/decl.class>",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
+        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> AnyListLayout<\/decl.name> : AnyObject<\/decl.protocol>",
         "key.inheritedtypes" : [
           {
-            "key.name" : "ListLayout"
+            "key.name" : "AnyObject"
           }
         ],
-        "key.kind" : "source.lang.swift.decl.class",
-        "key.length" : 13328,
-        "key.name" : "DefaultListLayout",
-        "key.namelength" : 17,
-        "key.nameoffset" : 16085,
-        "key.offset" : 16079,
-        "key.parsed_declaration" : "final class DefaultListLayout : ListLayout",
-        "key.parsed_scope.end" : 625,
-        "key.parsed_scope.start" : 270,
+        "key.kind" : "source.lang.swift.decl.protocol",
+        "key.length" : 660,
+        "key.name" : "AnyListLayout",
+        "key.namelength" : 13,
+        "key.nameoffset" : 732,
+        "key.offset" : 723,
+        "key.parsed_declaration" : "public protocol AnyListLayout : AnyObject",
+        "key.parsed_scope.end" : 69,
+        "key.parsed_scope.start" : 40,
         "key.substructure" : [
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.internal",
-            "key.annotated_decl" : "typealias DefaultListLayout<\/Type>.LayoutAppearance = ListAppearance<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-            "key.fully_annotated_decl" : "typealias<\/syntaxtype.keyword> DefaultListLayout<\/ref.class>.LayoutAppearance<\/decl.name> = ListAppearance<\/ref.struct><\/decl.typealias>",
-            "key.kind" : "source.lang.swift.decl.typealias",
-            "key.length" : 43,
-            "key.name" : "LayoutAppearance",
-            "key.namelength" : 16,
-            "key.nameoffset" : 16132,
-            "key.offset" : 16122,
-            "key.overrides" : [
-              {
-                "key.usr" : "s:10ListableUI10ListLayoutP0D10AppearanceQa"
-              }
-            ],
-            "key.parsed_declaration" : "typealias LayoutAppearance = ListAppearance",
-            "key.parsed_scope.end" : 272,
-            "key.parsed_scope.start" : 272,
-            "key.typename" : "ListAppearance.Type",
-            "key.typeusr" : "$s10ListableUI14ListAppearanceVmD",
-            "key.usr" : "s:10ListableUI17DefaultListLayoutC0E10Appearancea"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.internal",
-            "key.annotated_decl" : "static var defaults: ListLayoutDefaults<\/Type> { get }<\/Declaration>",
-            "key.bodylength" : 56,
-            "key.bodyoffset" : 16216,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-            "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> var<\/syntaxtype.keyword> defaults<\/decl.name>: ListLayoutDefaults<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.static>",
-            "key.kind" : "source.lang.swift.decl.var.static",
-            "key.length" : 98,
-            "key.name" : "defaults",
-            "key.namelength" : 8,
-            "key.nameoffset" : 16186,
-            "key.offset" : 16175,
-            "key.overrides" : [
-              {
-                "key.usr" : "s:10ListableUI10ListLayoutP8defaultsAA0cD8DefaultsVvpZ"
-              }
-            ],
-            "key.parsed_declaration" : "static var defaults: ListLayoutDefaults",
-            "key.parsed_scope.end" : 276,
-            "key.parsed_scope.start" : 274,
-            "key.typename" : "ListLayoutDefaults",
-            "key.typeusr" : "$s10ListableUI18ListLayoutDefaultsVD",
-            "key.usr" : "s:10ListableUI17DefaultListLayoutC8defaultsAA0dE8DefaultsVvpZ"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.internal",
-            "key.annotated_decl" : "var layoutAppearance: ListAppearance<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> layoutAppearance<\/decl.name>: ListAppearance<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 36,
-            "key.name" : "layoutAppearance",
-            "key.namelength" : 16,
-            "key.nameoffset" : 16287,
-            "key.offset" : 16283,
-            "key.overrides" : [
-              {
-                "key.usr" : "s:10ListableUI10ListLayoutP16layoutAppearance0dF0Qzvp"
-              }
-            ],
-            "key.parsed_declaration" : "var layoutAppearance: ListAppearance",
-            "key.parsed_scope.end" : 278,
-            "key.parsed_scope.start" : 278,
-            "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
-            "key.typename" : "ListAppearance",
-            "key.typeusr" : "$s10ListableUI14ListAppearanceVD",
-            "key.usr" : "s:10ListableUI17DefaultListLayoutC16layoutAppearanceAA0dG0Vvp"
-          },
           {
             "key.kind" : "source.lang.swift.syntaxtype.comment.mark",
             "key.length" : 23,
             "key.name" : "MARK: Public Properties",
             "key.namelength" : 0,
             "key.nameoffset" : 0,
-            "key.offset" : 16339
+            "key.offset" : 774
           },
           {
-            "key.accessibility" : "source.lang.swift.accessibility.internal",
-            "key.annotated_decl" : "let appearance: Appearance<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-            "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> appearance<\/decl.name>: Appearance<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "var appearance: Appearance<\/Type> { get }<\/Declaration>",
+            "key.bodylength" : 5,
+            "key.bodyoffset" : 843,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
+            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> appearance<\/decl.name>: Appearance<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 27,
+            "key.length" : 35,
             "key.name" : "appearance",
             "key.namelength" : 10,
-            "key.nameoffset" : 16383,
-            "key.offset" : 16379,
-            "key.overrides" : [
-              {
-                "key.usr" : "s:10ListableUI13AnyListLayoutP10appearanceAA10AppearanceVvp"
-              }
-            ],
-            "key.parsed_declaration" : "let appearance : Appearance",
-            "key.parsed_scope.end" : 284,
-            "key.parsed_scope.start" : 284,
+            "key.nameoffset" : 818,
+            "key.offset" : 814,
+            "key.parsed_declaration" : "var appearance : Appearance",
+            "key.parsed_scope.end" : 46,
+            "key.parsed_scope.start" : 46,
             "key.typename" : "Appearance",
             "key.typeusr" : "$s10ListableUI10AppearanceVD",
-            "key.usr" : "s:10ListableUI17DefaultListLayoutC10appearanceAA10AppearanceVvp"
+            "key.usr" : "s:10ListableUI13AnyListLayoutP10appearanceAA10AppearanceVvp"
           },
           {
-            "key.accessibility" : "source.lang.swift.accessibility.internal",
-            "key.annotated_decl" : "let behavior: Behavior<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-            "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> behavior<\/decl.name>: Behavior<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "var behavior: Behavior<\/Type> { get }<\/Declaration>",
+            "key.bodylength" : 5,
+            "key.bodyoffset" : 879,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
+            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> behavior<\/decl.name>: Behavior<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 23,
+            "key.length" : 31,
             "key.name" : "behavior",
             "key.namelength" : 8,
-            "key.nameoffset" : 16415,
-            "key.offset" : 16411,
-            "key.overrides" : [
-              {
-                "key.usr" : "s:10ListableUI13AnyListLayoutP8behaviorAA8BehaviorVvp"
-              }
-            ],
-            "key.parsed_declaration" : "let behavior : Behavior",
-            "key.parsed_scope.end" : 285,
-            "key.parsed_scope.start" : 285,
+            "key.nameoffset" : 858,
+            "key.offset" : 854,
+            "key.parsed_declaration" : "var behavior : Behavior",
+            "key.parsed_scope.end" : 47,
+            "key.parsed_scope.start" : 47,
             "key.typename" : "Behavior",
             "key.typeusr" : "$s10ListableUI8BehaviorVD",
-            "key.usr" : "s:10ListableUI17DefaultListLayoutC8behaviorAA8BehaviorVvp"
+            "key.usr" : "s:10ListableUI13AnyListLayoutP8behaviorAA8BehaviorVvp"
           },
           {
-            "key.accessibility" : "source.lang.swift.accessibility.internal",
-            "key.annotated_decl" : "let content: ListLayoutContent<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-            "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> content<\/decl.name>: ListLayoutContent<\/ref.class><\/decl.var.type><\/decl.var.instance>",
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "var content: ListLayoutContent<\/Type> { get }<\/Declaration>",
+            "key.bodylength" : 5,
+            "key.bodyoffset" : 928,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
+            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> content<\/decl.name>: ListLayoutContent<\/ref.class><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 31,
+            "key.length" : 39,
             "key.name" : "content",
             "key.namelength" : 7,
-            "key.nameoffset" : 16448,
-            "key.offset" : 16444,
-            "key.overrides" : [
-              {
-                "key.usr" : "s:10ListableUI13AnyListLayoutP7contentAA0dE7ContentCvp"
-              }
-            ],
-            "key.parsed_declaration" : "let content : ListLayoutContent",
-            "key.parsed_scope.end" : 287,
-            "key.parsed_scope.start" : 287,
+            "key.nameoffset" : 899,
+            "key.offset" : 895,
+            "key.parsed_declaration" : "var content : ListLayoutContent",
+            "key.parsed_scope.end" : 49,
+            "key.parsed_scope.start" : 49,
             "key.typename" : "ListLayoutContent",
             "key.typeusr" : "$s10ListableUI17ListLayoutContentCD",
-            "key.usr" : "s:10ListableUI17DefaultListLayoutC7contentAA0dE7ContentCvp"
+            "key.usr" : "s:10ListableUI13AnyListLayoutP7contentAA0dE7ContentCvp"
           },
           {
-            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.accessibility" : "source.lang.swift.accessibility.public",
             "key.annotated_decl" : "var scrollViewProperties: ListLayoutScrollViewProperties<\/Type> { get }<\/Declaration>",
-            "key.bodylength" : 303,
-            "key.bodyoffset" : 16551,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
+            "key.bodylength" : 5,
+            "key.bodyoffset" : 1011,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> scrollViewProperties<\/decl.name>: ListLayoutScrollViewProperties<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 362,
+            "key.length" : 65,
             "key.name" : "scrollViewProperties",
             "key.namelength" : 20,
-            "key.nameoffset" : 16497,
-            "key.offset" : 16493,
-            "key.overrides" : [
-              {
-                "key.usr" : "s:10ListableUI13AnyListLayoutP20scrollViewPropertiesAA0de6ScrollgH0Vvp"
-              }
-            ],
-            "key.parsed_declaration" : "var scrollViewProperties: ListLayoutScrollViewProperties",
-            "key.parsed_scope.end" : 298,
-            "key.parsed_scope.start" : 289,
+            "key.nameoffset" : 956,
+            "key.offset" : 952,
+            "key.parsed_declaration" : "var scrollViewProperties : ListLayoutScrollViewProperties",
+            "key.parsed_scope.end" : 51,
+            "key.parsed_scope.start" : 51,
             "key.typename" : "ListLayoutScrollViewProperties",
             "key.typeusr" : "$s10ListableUI30ListLayoutScrollViewPropertiesVD",
-            "key.usr" : "s:10ListableUI17DefaultListLayoutC20scrollViewPropertiesAA0de6ScrollgH0Vvp"
+            "key.usr" : "s:10ListableUI13AnyListLayoutP20scrollViewPropertiesAA0de6ScrollgH0Vvp"
           },
           {
-            "key.kind" : "source.lang.swift.syntaxtype.comment.mark",
-            "key.length" : 20,
-            "key.name" : "MARK: Initialization",
-            "key.namelength" : 0,
-            "key.nameoffset" : 0,
-            "key.offset" : 16879
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "var direction: LayoutDirection<\/Type> { get }<\/Declaration>",
+            "key.bodylength" : 5,
+            "key.bodyoffset" : 1060,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
+            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> direction<\/decl.name>: LayoutDirection<\/ref.enum><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 39,
+            "key.name" : "direction",
+            "key.namelength" : 9,
+            "key.nameoffset" : 1031,
+            "key.offset" : 1027,
+            "key.parsed_declaration" : "var direction : LayoutDirection",
+            "key.parsed_scope.end" : 53,
+            "key.parsed_scope.start" : 53,
+            "key.typename" : "LayoutDirection",
+            "key.typeusr" : "$s10ListableUI15LayoutDirectionOD",
+            "key.usr" : "s:10ListableUI13AnyListLayoutP9directionAA0E9DirectionOvp"
           },
           {
-            "key.accessibility" : "source.lang.swift.accessibility.internal",
-            "key.annotated_decl" : "init(layoutAppearance: LayoutAppearance<\/Type>, appearance: Appearance<\/Type>, behavior: Behavior<\/Type>, content: ListLayoutContent<\/Type>)<\/Declaration>",
-            "key.bodylength" : 164,
-            "key.bodyoffset" : 17072,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-            "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(layoutAppearance<\/decl.var.parameter.argument_label>: LayoutAppearance<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>, appearance<\/decl.var.parameter.argument_label>: Appearance<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, behavior<\/decl.var.parameter.argument_label>: Behavior<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, content<\/decl.var.parameter.argument_label>: ListLayoutContent<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
-            "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 321,
-            "key.name" : "init(layoutAppearance:appearance:behavior:content:)",
-            "key.namelength" : 154,
-            "key.nameoffset" : 16916,
-            "key.offset" : 16916,
-            "key.overrides" : [
-              {
-                "key.usr" : "s:10ListableUI10ListLayoutP16layoutAppearance10appearance8behavior7contentx0dF0Qz_AA0F0VAA8BehaviorVAA0cD7ContentCtcfc"
-              }
-            ],
-            "key.parsed_declaration" : "init(\n    layoutAppearance : LayoutAppearance,\n    appearance : Appearance,\n    behavior : Behavior,\n    content : ListLayoutContent\n)",
-            "key.parsed_scope.end" : 315,
-            "key.parsed_scope.start" : 304,
-            "key.substructure" : [
-
-            ],
-            "key.typename" : "(DefaultListLayout.Type) -> (ListAppearance, Appearance, Behavior, ListLayoutContent) -> DefaultListLayout",
-            "key.typeusr" : "$s16layoutAppearance10appearance8behavior7content10ListableUI17DefaultListLayoutCAE0iB0V_AE0B0VAE8BehaviorVAE0iJ7ContentCtcD",
-            "key.usr" : "s:10ListableUI17DefaultListLayoutC16layoutAppearance10appearance8behavior7contentAcA0dG0V_AA0G0VAA8BehaviorVAA0dE7ContentCtcfc"
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "var stickySectionHeaders: Bool<\/Type> { get }<\/Declaration>",
+            "key.bodylength" : 5,
+            "key.bodyoffset" : 1109,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
+            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> stickySectionHeaders<\/decl.name>: Bool<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 39,
+            "key.name" : "stickySectionHeaders",
+            "key.namelength" : 20,
+            "key.nameoffset" : 1080,
+            "key.offset" : 1076,
+            "key.parsed_declaration" : "var stickySectionHeaders : Bool",
+            "key.parsed_scope.end" : 55,
+            "key.parsed_scope.start" : 55,
+            "key.typename" : "Bool",
+            "key.typeusr" : "$sSbD",
+            "key.usr" : "s:10ListableUI13AnyListLayoutP20stickySectionHeadersSbvp"
           },
           {
             "key.kind" : "source.lang.swift.syntaxtype.comment.mark",
@@ -42134,1797 +42722,1365 @@
             "key.name" : "MARK: Performing Layouts",
             "key.namelength" : 0,
             "key.nameoffset" : 0,
-            "key.offset" : 17257
+            "key.offset" : 1135
           },
           {
-            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.accessibility" : "source.lang.swift.accessibility.public",
             "key.annotated_decl" : "func updateLayout(in collectionView: UICollectionView<\/Type>)<\/Declaration>",
-            "key.bodylength" : 14,
-            "key.bodyoffset" : 17359,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> updateLayout<\/decl.name>(in<\/decl.var.parameter.argument_label> collectionView<\/decl.var.parameter.name>: UICollectionView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 76,
+            "key.length" : 55,
             "key.name" : "updateLayout(in:)",
             "key.namelength" : 50,
-            "key.nameoffset" : 17303,
-            "key.offset" : 17298,
-            "key.overrides" : [
-              {
-                "key.usr" : "s:10ListableUI13AnyListLayoutP06updateE02inySo16UICollectionViewC_tF"
-              }
-            ],
+            "key.nameoffset" : 1181,
+            "key.offset" : 1176,
             "key.parsed_declaration" : "func updateLayout(in collectionView : UICollectionView)",
-            "key.parsed_scope.end" : 324,
-            "key.parsed_scope.start" : 321,
+            "key.parsed_scope.end" : 61,
+            "key.parsed_scope.start" : 61,
             "key.substructure" : [
 
             ],
-            "key.typename" : "(DefaultListLayout) -> (UICollectionView) -> ()",
+            "key.typename" : " (Self) -> (UICollectionView) -> ()",
             "key.typeusr" : "$s2inySo16UICollectionViewC_tcD",
-            "key.usr" : "s:10ListableUI17DefaultListLayoutC06updateE02inySo16UICollectionViewC_tF"
+            "key.usr" : "s:10ListableUI13AnyListLayoutP06updateE02inySo16UICollectionViewC_tF"
           },
           {
-            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.accessibility" : "source.lang.swift.accessibility.public",
             "key.annotated_decl" : "func layout(delegate: CollectionViewLayoutDelegate<\/Type>, in collectionView: UICollectionView<\/Type>)<\/Declaration>",
-            "key.bodylength" : 11726,
-            "key.bodyoffset" : 17498,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> layout<\/decl.name>(delegate<\/decl.var.parameter.argument_label>: CollectionViewLayoutDelegate<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>, in<\/decl.var.parameter.argument_label> collectionView<\/decl.var.parameter.name>: UICollectionView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 11841,
+            "key.length" : 112,
             "key.name" : "layout(delegate:in:)",
             "key.namelength" : 107,
-            "key.nameoffset" : 17389,
-            "key.offset" : 17384,
-            "key.overrides" : [
-              {
-                "key.usr" : "s:10ListableUI13AnyListLayoutP6layout8delegate2inyAA014CollectionViewE8Delegate_p_So012UICollectionJ0CtF"
-              }
-            ],
+            "key.nameoffset" : 1246,
+            "key.offset" : 1241,
             "key.parsed_declaration" : "func layout(\n    delegate : CollectionViewLayoutDelegate,\n    in collectionView : UICollectionView\n)",
-            "key.parsed_scope.end" : 617,
-            "key.parsed_scope.start" : 326,
+            "key.parsed_scope.end" : 63,
+            "key.parsed_scope.start" : 63,
             "key.substructure" : [
-              {
-                "key.annotated_decl" : "let layout: ListAppearance<\/Type>.Layout<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> layout<\/decl.name>: ListAppearance<\/ref.struct>.Layout<\/ref.struct><\/decl.var.type><\/decl.var.local>",
-                "key.kind" : "source.lang.swift.decl.var.local",
-                "key.length" : 41,
-                "key.name" : "layout",
-                "key.namelength" : 6,
-                "key.nameoffset" : 17511,
-                "key.offset" : 17507,
-                "key.parsed_declaration" : "let layout = self.layoutAppearance.layout",
-                "key.parsed_scope.end" : 330,
-                "key.parsed_scope.start" : 330,
-                "key.related_decls" : [
-                  {
-                    "key.annotated_decl" : "layout(delegate:in:)<\/RelatedName>"
-                  }
-                ],
-                "key.typename" : "ListAppearance.Layout",
-                "key.typeusr" : "$s10ListableUI14ListAppearanceV6LayoutVD",
-                "key.usr" : "s:10ListableUI17DefaultListLayoutC6layout8delegate2inyAA014CollectionViewE8Delegate_p_So012UICollectionJ0CtFADL_AA0D10AppearanceV0E0Vvp"
-              },
-              {
-                "key.annotated_decl" : "let sizing: ListAppearance<\/Type>.Sizing<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> sizing<\/decl.name>: ListAppearance<\/ref.struct>.Sizing<\/ref.struct><\/decl.var.type><\/decl.var.local>",
-                "key.kind" : "source.lang.swift.decl.var.local",
-                "key.length" : 41,
-                "key.name" : "sizing",
-                "key.namelength" : 6,
-                "key.nameoffset" : 17561,
-                "key.offset" : 17557,
-                "key.parsed_declaration" : "let sizing = self.layoutAppearance.sizing",
-                "key.parsed_scope.end" : 331,
-                "key.parsed_scope.start" : 331,
-                "key.typename" : "ListAppearance.Sizing",
-                "key.typeusr" : "$s10ListableUI14ListAppearanceV6SizingVD",
-                "key.usr" : "s:10ListableUI17DefaultListLayoutC6layout8delegate2inyAA014CollectionViewE8Delegate_p_So012UICollectionJ0CtF6sizingL_AA0D10AppearanceV6SizingVvp"
-              },
-              {
-                "key.annotated_decl" : "let viewSize: CGSize<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> viewSize<\/decl.name>: CGSize<\/ref.struct><\/decl.var.type><\/decl.var.local>",
-                "key.kind" : "source.lang.swift.decl.var.local",
-                "key.length" : 41,
-                "key.name" : "viewSize",
-                "key.namelength" : 8,
-                "key.nameoffset" : 17620,
-                "key.offset" : 17616,
-                "key.parsed_declaration" : "let viewSize = collectionView.bounds.size",
-                "key.parsed_scope.end" : 333,
-                "key.parsed_scope.start" : 333,
-                "key.typename" : "CGSize",
-                "key.typeusr" : "$sSo6CGSizeVD",
-                "key.usr" : "s:10ListableUI17DefaultListLayoutC6layout8delegate2inyAA014CollectionViewE8Delegate_p_So012UICollectionJ0CtF8viewSizeL_So6CGSizeVvp"
-              },
-              {
-                "key.annotated_decl" : "let viewWidth: CGFloat<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> viewWidth<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.local>",
-                "key.kind" : "source.lang.swift.decl.var.local",
-                "key.length" : 43,
-                "key.name" : "viewWidth",
-                "key.namelength" : 9,
-                "key.nameoffset" : 17679,
-                "key.offset" : 17675,
-                "key.parsed_declaration" : "let viewWidth = collectionView.bounds.width",
-                "key.parsed_scope.end" : 335,
-                "key.parsed_scope.start" : 335,
-                "key.typename" : "CGFloat",
-                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
-                "key.usr" : "s:10ListableUI17DefaultListLayoutC6layout8delegate2inyAA014CollectionViewE8Delegate_p_So012UICollectionJ0CtF9viewWidthL_12CoreGraphics7CGFloatVvp"
-              },
-              {
-                "key.annotated_decl" : "let rootWidth: CGFloat<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> rootWidth<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.local>",
-                "key.kind" : "source.lang.swift.decl.var.local",
-                "key.length" : 221,
-                "key.name" : "rootWidth",
-                "key.namelength" : 9,
-                "key.nameoffset" : 17740,
-                "key.offset" : 17736,
-                "key.parsed_declaration" : "let rootWidth = ListAppearance.Layout.width(\n    with: viewSize.width,\n    padding: HorizontalPadding(left: layout.padding.left, right: layout.padding.right),\n    constraint: layout.width\n)",
-                "key.parsed_scope.end" : 337,
-                "key.parsed_scope.start" : 337,
-                "key.typename" : "CGFloat",
-                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
-                "key.usr" : "s:10ListableUI17DefaultListLayoutC6layout8delegate2inyAA014CollectionViewE8Delegate_p_So012UICollectionJ0CtF9rootWidthL_12CoreGraphics7CGFloatVvp"
-              },
-              {
-                "key.annotated_decl" : "var lastContentMaxY: CGFloat<\/Type><\/Declaration>",
-                "key.doc.comment" : "Item positions are set and sent to the delegate first,\nin case the position affects the height calculation later in the layout pass.",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> lastContentMaxY<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.local>",
-                "key.kind" : "source.lang.swift.decl.var.local",
-                "key.length" : 35,
-                "key.name" : "lastContentMaxY",
-                "key.namelength" : 15,
-                "key.nameoffset" : 18407,
-                "key.offset" : 18403,
-                "key.parsed_declaration" : "var lastContentMaxY : CGFloat = 0.0",
-                "key.parsed_scope.end" : 359,
-                "key.parsed_scope.start" : 359,
-                "key.typename" : "CGFloat",
-                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
-                "key.usr" : "s:10ListableUI17DefaultListLayoutC6layout8delegate2inyAA014CollectionViewE8Delegate_p_So012UICollectionJ0CtF15lastContentMaxYL_12CoreGraphics7CGFloatVvp"
-              }
+
             ],
-            "key.typename" : "(DefaultListLayout) -> (CollectionViewLayoutDelegate, UICollectionView) -> ()",
+            "key.typename" : " (Self) -> (CollectionViewLayoutDelegate, UICollectionView) -> ()",
             "key.typeusr" : "$s8delegate2iny10ListableUI28CollectionViewLayoutDelegate_p_So012UICollectionF0CtcD",
-            "key.usr" : "s:10ListableUI17DefaultListLayoutC6layout8delegate2inyAA014CollectionViewE8Delegate_p_So012UICollectionJ0CtF"
+            "key.usr" : "s:10ListableUI13AnyListLayoutP6layout8delegate2inyAA014CollectionViewE8Delegate_p_So012UICollectionJ0CtF"
           },
           {
-            "key.accessibility" : "source.lang.swift.accessibility.private",
-            "key.annotated_decl" : "private func setItemPositions()<\/Declaration>",
-            "key.attributes" : [
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "func setZIndexes()<\/Declaration>",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
+            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> setZIndexes<\/decl.name>()<\/decl.function.method.instance>",
+            "key.kind" : "source.lang.swift.decl.function.method.instance",
+            "key.length" : 18,
+            "key.name" : "setZIndexes()",
+            "key.namelength" : 13,
+            "key.nameoffset" : 1368,
+            "key.offset" : 1363,
+            "key.parsed_declaration" : "func setZIndexes()",
+            "key.parsed_scope.end" : 68,
+            "key.parsed_scope.start" : 68,
+            "key.related_decls" : [
               {
-                "key.attribute" : "source.decl.attribute.private",
-                "key.length" : 7,
-                "key.offset" : 29235
+                "key.annotated_decl" : "setZIndexes()<\/RelatedName>"
               }
             ],
-            "key.bodylength" : 132,
-            "key.bodyoffset" : 29272,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-            "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> func<\/syntaxtype.keyword> setItemPositions<\/decl.name>()<\/decl.function.method.instance>",
-            "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 162,
-            "key.name" : "setItemPositions()",
-            "key.namelength" : 18,
-            "key.nameoffset" : 29248,
-            "key.offset" : 29243,
-            "key.parsed_declaration" : "private func setItemPositions()",
-            "key.parsed_scope.end" : 624,
-            "key.parsed_scope.start" : 619,
-            "key.substructure" : [
-
-            ],
-            "key.typename" : "(DefaultListLayout) -> () -> ()",
+            "key.typename" : " (Self) -> () -> ()",
             "key.typeusr" : "$syycD",
-            "key.usr" : "s:10ListableUI17DefaultListLayoutC16setItemPositions33_F0CBB6890B9708D0D6E4B5A9172AF35FLLyyF"
+            "key.usr" : "s:10ListableUI13AnyListLayoutP11setZIndexesyyF"
           }
         ],
-        "key.typename" : "DefaultListLayout.Type",
-        "key.typeusr" : "$s10ListableUI17DefaultListLayoutCmD",
-        "key.usr" : "s:10ListableUI17DefaultListLayoutC"
+        "key.typename" : "AnyListLayout.Protocol",
+        "key.typeusr" : "$s10ListableUI13AnyListLayout_pmD",
+        "key.usr" : "s:10ListableUI13AnyListLayoutP"
       },
       {
-        "key.accessibility" : "source.lang.swift.accessibility.fileprivate",
-        "key.annotated_decl" : "final class SectionInfo<\/Declaration>",
+        "key.accessibility" : "source.lang.swift.accessibility.public",
+        "key.annotated_decl" : "public protocol AnyListLayout : AnyObject<\/Declaration>",
         "key.attributes" : [
           {
-            "key.attribute" : "source.decl.attribute.fileprivate",
-            "key.length" : 11,
-            "key.offset" : 29410
+            "key.attribute" : "source.decl.attribute.public",
+            "key.length" : 6,
+            "key.offset" : 1386
           }
         ],
-        "key.bodylength" : 2142,
-        "key.bodyoffset" : 29463,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-        "key.fully_annotated_decl" : "final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> SectionInfo<\/decl.name><\/decl.class>",
+        "key.bodylength" : 460,
+        "key.bodyoffset" : 1418,
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
+        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> AnyListLayout<\/decl.name> : AnyObject<\/decl.protocol>",
         "key.kind" : "source.lang.swift.decl.extension",
-        "key.length" : 2184,
-        "key.name" : "ListLayoutContent.SectionInfo",
-        "key.namelength" : 29,
-        "key.nameoffset" : 29432,
-        "key.offset" : 29422,
-        "key.parsed_declaration" : "fileprivate extension ListLayoutContent.SectionInfo",
-        "key.parsed_scope.end" : 692,
-        "key.parsed_scope.start" : 628,
+        "key.length" : 486,
+        "key.name" : "AnyListLayout",
+        "key.namelength" : 13,
+        "key.nameoffset" : 1403,
+        "key.offset" : 1393,
+        "key.parsed_declaration" : "public extension AnyListLayout",
+        "key.parsed_scope.end" : 91,
+        "key.parsed_scope.start" : 72,
         "key.substructure" : [
           {
-            "key.accessibility" : "source.lang.swift.accessibility.fileprivate",
-            "key.annotated_decl" : "func setItemPositions(with appearance: ListAppearance<\/Type>)<\/Declaration>",
-            "key.bodylength" : 1188,
-            "key.bodyoffset" : 29529,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> setItemPositions<\/decl.name>(with<\/decl.var.parameter.argument_label> appearance<\/decl.var.parameter.name>: ListAppearance<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "func setZIndexes()<\/Declaration>",
+            "key.bodylength" : 429,
+            "key.bodyoffset" : 1447,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
+            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> setZIndexes<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 1250,
-            "key.name" : "setItemPositions(with:)",
-            "key.namelength" : 50,
-            "key.nameoffset" : 29473,
-            "key.offset" : 29468,
-            "key.parsed_declaration" : "func setItemPositions(with appearance : ListAppearance)",
-            "key.parsed_scope.end" : 663,
-            "key.parsed_scope.start" : 630,
-            "key.substructure" : [
-
-            ],
-            "key.typename" : "(ListLayoutContent.SectionInfo) -> (ListAppearance) -> ()",
-            "key.typeusr" : "$s4withy10ListableUI14ListAppearanceV_tcD",
-            "key.usr" : "s:10ListableUI17ListLayoutContentC11SectionInfoC16setItemPositions33_F0CBB6890B9708D0D6E4B5A9172AF35FLL4withyAA0C10AppearanceV_tF"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.private",
-            "key.annotated_decl" : "private static func grouped(items: [ListLayoutContent<\/Type>.ItemInfo<\/Type>], groupingHeight: CGFloat<\/Type>, appearance: ListAppearance<\/Type>) -> [[ListLayoutContent<\/Type>.ItemInfo<\/Type>]]<\/Declaration>",
-            "key.attributes" : [
+            "key.length" : 454,
+            "key.name" : "setZIndexes()",
+            "key.namelength" : 13,
+            "key.nameoffset" : 1428,
+            "key.offset" : 1423,
+            "key.parsed_declaration" : "func setZIndexes()",
+            "key.parsed_scope.end" : 90,
+            "key.parsed_scope.start" : 74,
+            "key.related_decls" : [
               {
-                "key.attribute" : "source.decl.attribute.private",
-                "key.length" : 7,
-                "key.offset" : 30728
+                "key.annotated_decl" : "setZIndexes()<\/RelatedName>"
               }
             ],
-            "key.bodylength" : 714,
-            "key.bodyoffset" : 30888,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-            "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> grouped<\/decl.name>(items<\/decl.var.parameter.argument_label>: [ListLayoutContent<\/ref.class>.ItemInfo<\/ref.class>]<\/decl.var.parameter.type><\/decl.var.parameter>, groupingHeight<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, appearance<\/decl.var.parameter.argument_label>: ListAppearance<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> [[ListLayoutContent<\/ref.class>.ItemInfo<\/ref.class>]]<\/decl.function.returntype><\/decl.function.method.static>",
-            "key.kind" : "source.lang.swift.decl.function.method.static",
-            "key.length" : 867,
-            "key.name" : "grouped(items:groupingHeight:appearance:)",
-            "key.namelength" : 100,
-            "key.nameoffset" : 30748,
-            "key.offset" : 30736,
-            "key.parsed_declaration" : "private static func grouped(items : [ListLayoutContent.ItemInfo], groupingHeight : CGFloat, appearance : ListAppearance) -> [[ListLayoutContent.ItemInfo]]",
-            "key.parsed_scope.end" : 690,
-            "key.parsed_scope.start" : 665,
             "key.substructure" : [
-              {
-                "key.annotated_decl" : "var all: [[ListLayoutContent<\/Type>.ItemInfo<\/Type>]]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> all<\/decl.name>: [[ListLayoutContent<\/ref.class>.ItemInfo<\/ref.class>]]<\/decl.var.type><\/decl.var.local>",
-                "key.kind" : "source.lang.swift.decl.var.local",
-                "key.length" : 42,
-                "key.name" : "all",
-                "key.namelength" : 3,
-                "key.nameoffset" : 30901,
-                "key.offset" : 30897,
-                "key.parsed_declaration" : "var all = [[ListLayoutContent.ItemInfo]]()",
-                "key.parsed_scope.end" : 667,
-                "key.parsed_scope.start" : 667,
-                "key.related_decls" : [
-                  {
-                    "key.annotated_decl" : "all<\/RelatedName>"
-                  }
-                ],
-                "key.typename" : "[[ListLayoutContent.ItemInfo]]",
-                "key.typeusr" : "$sSaySay10ListableUI17ListLayoutContentC8ItemInfoCGGD",
-                "key.usr" : "s:10ListableUI17ListLayoutContentC11SectionInfoC7grouped33_F0CBB6890B9708D0D6E4B5A9172AF35FLL5items14groupingHeight10appearanceSaySayAC04ItemG0CGGAM_12CoreGraphics7CGFloatVAA0C10AppearanceVtFZ3allL_ANvp"
-              },
-              {
-                "key.annotated_decl" : "var current: [ListLayoutContent<\/Type>.ItemInfo<\/Type>]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> current<\/decl.name>: [ListLayoutContent<\/ref.class>.ItemInfo<\/ref.class>]<\/decl.var.type><\/decl.var.local>",
-                "key.kind" : "source.lang.swift.decl.var.local",
-                "key.length" : 44,
-                "key.name" : "current",
-                "key.namelength" : 7,
-                "key.nameoffset" : 30952,
-                "key.offset" : 30948,
-                "key.parsed_declaration" : "var current = [ListLayoutContent.ItemInfo]()",
-                "key.parsed_scope.end" : 668,
-                "key.parsed_scope.start" : 668,
-                "key.typename" : "[ListLayoutContent.ItemInfo]",
-                "key.typeusr" : "$sSay10ListableUI17ListLayoutContentC8ItemInfoCGD",
-                "key.usr" : "s:10ListableUI17ListLayoutContentC11SectionInfoC7grouped33_F0CBB6890B9708D0D6E4B5A9172AF35FLL5items14groupingHeight10appearanceSaySayAC04ItemG0CGGAM_12CoreGraphics7CGFloatVAA0C10AppearanceVtFZ7currentL_AMvp"
-              },
-              {
-                "key.annotated_decl" : "var lastSpacing: CGFloat<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> lastSpacing<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.local>",
-                "key.kind" : "source.lang.swift.decl.var.local",
-                "key.length" : 31,
-                "key.name" : "lastSpacing",
-                "key.namelength" : 11,
-                "key.nameoffset" : 31014,
-                "key.offset" : 31010,
-                "key.parsed_declaration" : "var lastSpacing : CGFloat = 0.0",
-                "key.parsed_scope.end" : 670,
-                "key.parsed_scope.start" : 670,
-                "key.typename" : "CGFloat",
-                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
-                "key.usr" : "s:10ListableUI17ListLayoutContentC11SectionInfoC7grouped33_F0CBB6890B9708D0D6E4B5A9172AF35FLL5items14groupingHeight10appearanceSaySayAC04ItemG0CGGAM_12CoreGraphics7CGFloatVAA0C10AppearanceVtFZ11lastSpacingL_AQvp"
-              }
+
             ],
-            "key.typename" : "(ListLayoutContent.SectionInfo.Type) -> ([ListLayoutContent.ItemInfo], CGFloat, ListAppearance) -> [[ListLayoutContent.ItemInfo]]",
-            "key.typeusr" : "$s5items14groupingHeight10appearanceSaySay10ListableUI17ListLayoutContentC8ItemInfoCGGAI_12CoreGraphics7CGFloatVAD0G10AppearanceVtcD",
-            "key.usr" : "s:10ListableUI17ListLayoutContentC11SectionInfoC7grouped33_F0CBB6890B9708D0D6E4B5A9172AF35FLL5items14groupingHeight10appearanceSaySayAC04ItemG0CGGAM_12CoreGraphics7CGFloatVAA0C10AppearanceVtFZ"
+            "key.typename" : " (Self) -> () -> ()",
+            "key.typeusr" : "$syycD",
+            "key.usr" : "s:10ListableUI13AnyListLayoutPAAE11setZIndexesyyF"
           }
         ],
-        "key.typename" : "ListLayoutContent.SectionInfo.Type",
-        "key.typeusr" : "$s10ListableUI17ListLayoutContentC11SectionInfoCmD",
-        "key.usr" : "s:10ListableUI17ListLayoutContentC11SectionInfoC"
+        "key.typename" : "AnyListLayout.Protocol",
+        "key.typeusr" : "$s10ListableUI13AnyListLayout_pmD",
+        "key.usr" : "s:10ListableUI13AnyListLayoutP"
       },
       {
-        "key.accessibility" : "source.lang.swift.accessibility.fileprivate",
-        "key.annotated_decl" : "public struct Columns<\/Declaration>",
+        "key.accessibility" : "source.lang.swift.accessibility.public",
+        "key.annotated_decl" : "public protocol AnyListLayout : AnyObject<\/Declaration>",
         "key.attributes" : [
           {
-            "key.attribute" : "source.decl.attribute.fileprivate",
-            "key.length" : 11,
-            "key.offset" : 31609
+            "key.attribute" : "source.decl.attribute.public",
+            "key.length" : 6,
+            "key.offset" : 1882
           }
         ],
-        "key.bodylength" : 285,
-        "key.bodyoffset" : 31648,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
-        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> Columns<\/decl.name><\/decl.struct>",
+        "key.bodylength" : 391,
+        "key.bodyoffset" : 1914,
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
+        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> AnyListLayout<\/decl.name> : AnyObject<\/decl.protocol>",
         "key.kind" : "source.lang.swift.decl.extension",
-        "key.length" : 313,
-        "key.name" : "Section.Columns",
-        "key.namelength" : 15,
-        "key.nameoffset" : 31631,
-        "key.offset" : 31621,
-        "key.parsed_declaration" : "fileprivate extension Section.Columns",
-        "key.parsed_scope.end" : 709,
-        "key.parsed_scope.start" : 695,
+        "key.length" : 417,
+        "key.name" : "AnyListLayout",
+        "key.namelength" : 13,
+        "key.nameoffset" : 1899,
+        "key.offset" : 1889,
+        "key.parsed_declaration" : "public extension AnyListLayout",
+        "key.parsed_scope.end" : 105,
+        "key.parsed_scope.start" : 94,
         "key.substructure" : [
           {
-            "key.accessibility" : "source.lang.swift.accessibility.fileprivate",
-            "key.annotated_decl" : "func group<Value>(values: [Value<\/Type>]) -> [[Value<\/Type>]]<\/Declaration>",
-            "key.bodylength" : 224,
-            "key.bodyoffset" : 31707,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> group<\/decl.name><Value<\/decl.generic_type_param.name><\/decl.generic_type_param>>(values<\/decl.var.parameter.argument_label>: [Value<\/ref.generic_type_param>]<\/decl.var.parameter.type><\/decl.var.parameter>) -> [[Value<\/ref.generic_type_param>]]<\/decl.function.returntype><\/decl.function.method.instance>",
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "func visibleContentFrame(for collectionView: UICollectionView<\/Type>) -> CGRect<\/Type><\/Declaration>",
+            "key.bodylength" : 305,
+            "key.bodyoffset" : 1998,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
+            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> visibleContentFrame<\/decl.name>(for<\/decl.var.parameter.argument_label> collectionView<\/decl.var.parameter.name>: UICollectionView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGRect<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 279,
-            "key.name" : "group(values:)",
-            "key.namelength" : 30,
-            "key.nameoffset" : 31658,
-            "key.offset" : 31653,
-            "key.parsed_declaration" : "func group(values : [Value]) -> [[Value]]",
-            "key.parsed_scope.end" : 708,
-            "key.parsed_scope.start" : 697,
+            "key.length" : 385,
+            "key.name" : "visibleContentFrame(for:)",
+            "key.namelength" : 58,
+            "key.nameoffset" : 1924,
+            "key.offset" : 1919,
+            "key.parsed_declaration" : "func visibleContentFrame(for collectionView : UICollectionView) -> CGRect",
+            "key.parsed_scope.end" : 104,
+            "key.parsed_scope.start" : 96,
             "key.substructure" : [
-              {
-                "key.annotated_decl" : "Value<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.fully_annotated_decl" : "Value<\/decl.generic_type_param.name><\/decl.generic_type_param>",
-                "key.kind" : "source.lang.swift.decl.generic_type_param",
-                "key.length" : 5,
-                "key.name" : "Value",
-                "key.namelength" : 5,
-                "key.nameoffset" : 31664,
-                "key.offset" : 31664,
-                "key.parsed_declaration" : "func groupvar values: [Value]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> values<\/decl.name>: [Value]<\/decl.var.type><\/decl.var.local>",
-                "key.kind" : "source.lang.swift.decl.var.local",
-                "key.length" : 19,
-                "key.name" : "values",
-                "key.namelength" : 6,
-                "key.nameoffset" : 31720,
-                "key.offset" : 31716,
-                "key.parsed_declaration" : "var values = values",
-                "key.parsed_scope.end" : 699,
-                "key.parsed_scope.start" : 699,
-                "key.typename" : "[Value]",
-                "key.typeusr" : "$sSayxGD",
-                "key.usr" : "s:10ListableUI7SectionV7ColumnsV5group33_F0CBB6890B9708D0D6E4B5A9172AF35FLL6valuesSaySayxGGAI_tlFAHL0_AIvp"
-              },
-              {
-                "key.annotated_decl" : "var grouped: [[Value<\/Type>]]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> grouped<\/decl.name>: [[Value<\/ref.generic_type_param>]]<\/decl.var.type><\/decl.var.local>",
-                "key.kind" : "source.lang.swift.decl.var.local",
-                "key.length" : 28,
-                "key.name" : "grouped",
-                "key.namelength" : 7,
-                "key.nameoffset" : 31757,
-                "key.offset" : 31753,
-                "key.parsed_declaration" : "var grouped : [[Value]] = []",
-                "key.parsed_scope.end" : 701,
-                "key.parsed_scope.start" : 701,
-                "key.typename" : "[[Value]]",
-                "key.typeusr" : "$sSaySayxGGD",
-                "key.usr" : "s:10ListableUI7SectionV7ColumnsV5group33_F0CBB6890B9708D0D6E4B5A9172AF35FLL6valuesSaySayxGGAI_tlF7groupedL_AJvp"
-              }
+
             ],
-            "key.typename" : " (Section.Columns) -> ([Value]) -> [[Value]]",
-            "key.typeusr" : "$s6valuesSaySayxGGAB_tcluD",
-            "key.usr" : "s:10ListableUI7SectionV7ColumnsV5group33_F0CBB6890B9708D0D6E4B5A9172AF35FLL6valuesSaySayxGGAI_tlF"
+            "key.typename" : " (Self) -> (UICollectionView) -> CGRect",
+            "key.typeusr" : "$s3forSo6CGRectVSo16UICollectionViewC_tcD",
+            "key.usr" : "s:10ListableUI13AnyListLayoutPAAE19visibleContentFrame3forSo6CGRectVSo16UICollectionViewC_tF"
           }
         ],
-        "key.typename" : "Section.Columns.Type",
-        "key.typeusr" : "$s10ListableUI7SectionV7ColumnsVmD",
-        "key.usr" : "s:10ListableUI7SectionV7ColumnsV"
+        "key.typename" : "AnyListLayout.Protocol",
+        "key.typeusr" : "$s10ListableUI13AnyListLayout_pmD",
+        "key.usr" : "s:10ListableUI13AnyListLayoutP"
       },
       {
-        "key.accessibility" : "source.lang.swift.accessibility.fileprivate",
-        "key.annotated_decl" : "@frozen struct Array<Element> : _DestructorSafeContainer<\/Type><\/Declaration>",
+        "key.accessibility" : "source.lang.swift.accessibility.public",
+        "key.annotated_decl" : "public protocol AnyListLayout : AnyObject<\/Declaration>",
         "key.attributes" : [
           {
-            "key.attribute" : "source.decl.attribute.fileprivate",
-            "key.length" : 11,
-            "key.offset" : 31937
+            "key.attribute" : "source.decl.attribute.public",
+            "key.length" : 6,
+            "key.offset" : 2309
           }
         ],
-        "key.bodylength" : 250,
-        "key.bodyoffset" : 31966,
-        "key.doc.declaration" : "@frozen struct Array",
-        "key.doc.discussion" : [
-          {
-            "Para" : "Arrays are one of the most commonly used data types in an app. You use arrays to organize your app’s data. Specifically, you use the `Array` type to hold elements of a single type, the array’s `Element` type. An array can store any kind of elements—from integers to strings to classes."
-          },
-          {
-            "Para" : "Swift makes it easy to create arrays in your code using an array literal: simply surround a comma-separated list of values with square brackets. Without any other information, Swift creates an array that includes the specified values, automatically inferring the array’s `Element` type. For example:"
-          },
-          {
-            "CodeListing" : ""
-          },
-          {
-            "Para" : "You can create an empty array by specifying the `Element` type of your array in the declaration. For example:"
-          },
-          {
-            "CodeListing" : ""
-          },
-          {
-            "Para" : "If you need an array that is preinitialized with a fixed number of default values, use the `Array(repeating:count:)` initializer."
-          },
-          {
-            "CodeListing" : ""
-          },
-          {
-            "Para" : "When you need to perform an operation on all of an array’s elements, use a `for`-`in` loop to iterate through the array’s contents."
-          },
-          {
-            "CodeListing" : ""
-          },
-          {
-            "Para" : "Use the `isEmpty` property to check quickly whether an array has any elements, or use the `count` property to find the number of elements in the array."
-          },
-          {
-            "CodeListing" : ""
-          },
-          {
-            "Para" : "Use the `first` and `last` properties for safe access to the value of the array’s first and last elements. If the array is empty, these properties are `nil`."
-          },
-          {
-            "CodeListing" : ""
-          },
-          {
-            "Para" : "You can access individual array elements through a subscript. The first element of a nonempty array is always at index zero. You can subscript an array with any integer from zero up to, but not including, the count of the array. Using a negative number or an index equal to or greater than `count` triggers a runtime error. For example:"
-          },
-          {
-            "CodeListing" : ""
-          },
-          {
-            "Para" : "Suppose you need to store a list of the names of students that are signed up for a class you’re teaching. During the registration period, you need to add and remove names as students add and drop the class."
-          },
-          {
-            "CodeListing" : ""
-          },
+        "key.bodylength" : 3390,
+        "key.bodyoffset" : 2341,
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
+        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> AnyListLayout<\/decl.name> : AnyObject<\/decl.protocol>",
+        "key.kind" : "source.lang.swift.decl.extension",
+        "key.length" : 3416,
+        "key.name" : "AnyListLayout",
+        "key.namelength" : 13,
+        "key.nameoffset" : 2326,
+        "key.offset" : 2316,
+        "key.parsed_declaration" : "public extension AnyListLayout",
+        "key.parsed_scope.end" : 200,
+        "key.parsed_scope.start" : 108,
+        "key.substructure" : [
           {
-            "Para" : "To add single elements to the end of an array, use the `append(_:)` method. Add multiple elements at the same time by passing another array or a sequence of any kind to the `append(contentsOf:)` method."
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "func positionStickySectionHeadersIfNeeded(in collectionView: UICollectionView<\/Type>)<\/Declaration>",
+            "key.bodylength" : 817,
+            "key.bodyoffset" : 2431,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
+            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> positionStickySectionHeadersIfNeeded<\/decl.name>(in<\/decl.var.parameter.argument_label> collectionView<\/decl.var.parameter.name>: UICollectionView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
+            "key.kind" : "source.lang.swift.decl.function.method.instance",
+            "key.length" : 903,
+            "key.name" : "positionStickySectionHeadersIfNeeded(in:)",
+            "key.namelength" : 74,
+            "key.nameoffset" : 2351,
+            "key.offset" : 2346,
+            "key.parsed_declaration" : "func positionStickySectionHeadersIfNeeded(in collectionView : UICollectionView)",
+            "key.parsed_scope.end" : 135,
+            "key.parsed_scope.start" : 110,
+            "key.substructure" : [
+              {
+                "key.annotated_decl" : "let visibleContentFrame: CGRect<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
+                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> visibleContentFrame<\/decl.name>: CGRect<\/ref.struct><\/decl.var.type><\/decl.var.local>",
+                "key.kind" : "source.lang.swift.decl.var.local",
+                "key.length" : 71,
+                "key.name" : "visibleContentFrame",
+                "key.namelength" : 19,
+                "key.nameoffset" : 2529,
+                "key.offset" : 2525,
+                "key.parsed_declaration" : "let visibleContentFrame = self.visibleContentFrame(for: collectionView)",
+                "key.parsed_scope.end" : 116,
+                "key.parsed_scope.start" : 116,
+                "key.related_decls" : [
+                  {
+                    "key.annotated_decl" : "visibleContentFrame(for:)<\/RelatedName>"
+                  }
+                ],
+                "key.typename" : "CGRect",
+                "key.typeusr" : "$sSo6CGRectVD",
+                "key.usr" : "s:10ListableUI13AnyListLayoutPAAE36positionStickySectionHeadersIfNeeded2inySo16UICollectionViewC_tF19visibleContentFrameL_So6CGRectVvp"
+              }
+            ],
+            "key.typename" : " (Self) -> (UICollectionView) -> ()",
+            "key.typeusr" : "$s2inySo16UICollectionViewC_tcD",
+            "key.usr" : "s:10ListableUI13AnyListLayoutPAAE36positionStickySectionHeadersIfNeeded2inySo16UICollectionViewC_tF"
           },
           {
-            "CodeListing" : ""
-          },
-          {
-            "Para" : "You can add new elements in the middle of an array by using the `insert(_:at:)` method for single elements and by using `insert(contentsOf:at:)` to insert multiple elements from another collection or array literal. The elements at that index and later indices are shifted back to make room."
-          },
-          {
-            "CodeListing" : ""
-          },
-          {
-            "Para" : "To remove elements from an array, use the `remove(at:)`, `removeSubrange(_:)`, and `removeLast()` methods."
-          },
-          {
-            "CodeListing" : ""
-          },
-          {
-            "Para" : "You can replace an existing element with a new value by assigning the new value to the subscript."
-          },
-          {
-            "CodeListing" : ""
-          },
-          {
-            "Para" : "Every array reserves a specific amount of memory to hold its contents. When you add elements to an array and that array begins to exceed its reserved capacity, the array allocates a larger region of memory and copies its elements into the new storage. The new storage is a multiple of the old storage’s size. This exponential growth strategy means that appending an element happens in constant time, averaging the performance of many append operations. Append operations that trigger reallocation have a performance cost, but they occur less and less often as the array grows larger."
-          },
-          {
-            "Para" : "If you know approximately how many elements you will need to store, use the `reserveCapacity(_:)` method before appending to the array to avoid intermediate reallocations. Use the `capacity` and `count` properties to determine how many more elements the array can store without allocating larger storage."
-          },
-          {
-            "Para" : "For arrays of most `Element` types, this storage is a contiguous block of memory. For arrays with an `Element` type that is a class or `@objc` protocol type, this storage can be a contiguous block of memory or an instance of `NSArray`. Because any arbitrary subclass of `NSArray` can become an `Array`, there are no guarantees about representation or efficiency in this case."
-          },
-          {
-            "Para" : "Each array has an independent value that includes the values of all of its elements. For simple types such as integers and other structures, this means that when you change a value in one array, the value of that element does not change in any copies of the array. For example:"
-          },
-          {
-            "CodeListing" : ""
-          },
-          {
-            "Para" : "If the elements in an array are instances of a class, the semantics are the same, though they might appear different at first. In this case, the values stored in the array are references to objects that live outside the array. If you change a reference to an object in one array, only that array has a reference to the new object. However, if two arrays contain references to the same object, you can observe changes to that object’s properties from both arrays. For example:"
-          },
-          {
-            "CodeListing" : ""
-          },
-          {
-            "Para" : "Arrays, like all variable-size collections in the standard library, use copy-on-write optimization. Multiple copies of an array share the same storage until you modify one of the copies. When that happens, the array being modified replaces its storage with a uniquely owned copy of itself, which is then modified in place. Optimizations are sometimes applied that can reduce the amount of copying."
-          },
-          {
-            "Para" : "This means that if an array is sharing storage with other copies, the first mutating operation on that array incurs the cost of copying the array. An array that is the sole owner of its storage can perform mutating operations in place."
-          },
-          {
-            "Para" : "In the example below, a `numbers` array is created along with two copies that share the same storage. When the original `numbers` array is modified, it makes a unique copy of its storage before making the modification. Further modifications to `numbers` are made in place, while the two copies continue to share the original storage."
-          },
-          {
-            "CodeListing" : ""
-          },
-          {
-            "Para" : "When you need to access APIs that require data in an `NSArray` instance instead of `Array`, use the type-cast operator (`as`) to bridge your instance. For bridging to be possible, the `Element` type of your array must be a class, an `@objc` protocol (a protocol imported from Objective-C or marked with the `@objc` attribute), or a type that bridges to a Foundation type."
-          },
-          {
-            "Para" : "The following example shows how you can bridge an `Array` instance to `NSArray` to use the `write(to:atomically:)` method. In this example, the `colors` array can be bridged to `NSArray` because the `colors` array’s `String` elements bridge to `NSString`. The compiler prevents bridging the `moreColors` array, on the other hand, because its `Element` type is `Optional`, which does  bridge to a Foundation type."
-          },
-          {
-            "CodeListing" : ""
-          },
-          {
-            "Para" : "Bridging from `Array` to `NSArray` takes O(1) time and O(1) space if the array’s elements are already instances of a class or an `@objc` protocol; otherwise, it takes O() time and space."
-          },
-          {
-            "Para" : "When the destination array’s element type is a class or an `@objc` protocol, bridging from `NSArray` to `Array` first calls the `copy(with:)` (`- copyWithZone:` in Objective-C) method on the array to get an immutable copy and then performs additional Swift bookkeeping work that takes O(1) time. For instances of `NSArray` that are already immutable, `copy(with:)` usually returns the same array in O(1) time; otherwise, the copying performance is unspecified. If `copy(with:)` returns the same array, the instances of `NSArray` and `Array` share storage using the same copy-on-write optimization that is used when two instances of `Array` share storage."
-          },
-          {
-            "Para" : "When the destination array’s element type is a nonclass type that bridges to a Foundation type, bridging from `NSArray` to `Array` performs a bridging copy of the elements to contiguous storage in O() time. For example, bridging from `NSArray` to `Array` performs such a copy. No further bridging is required when accessing elements of the `Array` instance."
-          },
-          {
-            "Note" : ""
-          }
-        ],
-        "key.doc.full_as_xml" : "Array<\/Name>s:Sa<\/USR>@frozen struct Array<Element><\/Declaration>An ordered, random-access collection.<\/Para><\/Abstract>Arrays are one of the most commonly used data types in an app. You use arrays to organize your app’s data. Specifically, you use the Array<\/codeVoice> type to hold elements of a single type, the array’s Element<\/codeVoice> type. An array can store any kind of elements—from integers to strings to classes.<\/Para>Swift makes it easy to create arrays in your code using an array literal: simply surround a comma-separated list of values with square brackets. Without any other information, Swift creates an array that includes the specified values, automatically inferring the array’s Element<\/codeVoice> type. For example:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>You can create an empty array by specifying the Element<\/codeVoice> type of your array in the declaration. For example:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> = Array()]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>If you need an array that is preinitialized with a fixed number of default values, use the Array(repeating:count:)<\/codeVoice> initializer.<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>]]><\/rawHTML>Accessing Array Values]]><\/rawHTML>When you need to perform an operation on all of an array’s elements, use a for<\/codeVoice>-in<\/codeVoice> loop to iterate through the array’s contents.<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>Use the isEmpty<\/codeVoice> property to check quickly whether an array has any elements, or use the count<\/codeVoice> property to find the number of elements in the array.<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>Use the first<\/codeVoice> and last<\/codeVoice> properties for safe access to the value of the array’s first and last elements. If the array is empty, these properties are nil<\/codeVoice>.<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>You can access individual array elements through a subscript. The first element of a nonempty array is always at index zero. You can subscript an array with any integer from zero up to, but not including, the count of the array. Using a negative number or an index equal to or greater than count<\/codeVoice> triggers a runtime error. For example:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>]]><\/rawHTML>Adding and Removing Elements]]><\/rawHTML>Suppose you need to store a list of the names of students that are signed up for a class you’re teaching. During the registration period, you need to add and remove names as students add and drop the class.<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>To add single elements to the end of an array, use the append(_:)<\/codeVoice> method. Add multiple elements at the same time by passing another array or a sequence of any kind to the append(contentsOf:)<\/codeVoice> method.<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>You can add new elements in the middle of an array by using the insert(_:at:)<\/codeVoice> method for single elements and by using insert(contentsOf:at:)<\/codeVoice> to insert multiple elements from another collection or array literal. The elements at that index and later indices are shifted back to make room.<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>To remove elements from an array, use the remove(at:)<\/codeVoice>, removeSubrange(_:)<\/codeVoice>, and removeLast()<\/codeVoice> methods.<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>You can replace an existing element with a new value by assigning the new value to the subscript.<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>]]><\/rawHTML>Growing the Size of an Array]]><\/rawHTML>Every array reserves a specific amount of memory to hold its contents. When you add elements to an array and that array begins to exceed its reserved capacity, the array allocates a larger region of memory and copies its elements into the new storage. The new storage is a multiple of the old storage’s size. This exponential growth strategy means that appending an element happens in constant time, averaging the performance of many append operations. Append operations that trigger reallocation have a performance cost, but they occur less and less often as the array grows larger.<\/Para>If you know approximately how many elements you will need to store, use the reserveCapacity(_:)<\/codeVoice> method before appending to the array to avoid intermediate reallocations. Use the capacity<\/codeVoice> and count<\/codeVoice> properties to determine how many more elements the array can store without allocating larger storage.<\/Para>For arrays of most Element<\/codeVoice> types, this storage is a contiguous block of memory. For arrays with an Element<\/codeVoice> type that is a class or @objc<\/codeVoice> protocol type, this storage can be a contiguous block of memory or an instance of NSArray<\/codeVoice>. Because any arbitrary subclass of NSArray<\/codeVoice> can become an Array<\/codeVoice>, there are no guarantees about representation or efficiency in this case.<\/Para>]]><\/rawHTML>Modifying Copies of Arrays]]><\/rawHTML>Each array has an independent value that includes the values of all of its elements. For simple types such as integers and other structures, this means that when you change a value in one array, the value of that element does not change in any copies of the array. For example:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>If the elements in an array are instances of a class, the semantics are the same, though they might appear different at first. In this case, the values stored in the array are references to objects that live outside the array. If you change a reference to an object in one array, only that array has a reference to the new object. However, if two arrays contain references to the same object, you can observe changes to that object’s properties from both arrays. For example:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>Arrays, like all variable-size collections in the standard library, use copy-on-write optimization. Multiple copies of an array share the same storage until you modify one of the copies. When that happens, the array being modified replaces its storage with a uniquely owned copy of itself, which is then modified in place. Optimizations are sometimes applied that can reduce the amount of copying.<\/Para>This means that if an array is sharing storage with other copies, the first mutating operation on that array incurs the cost of copying the array. An array that is the sole owner of its storage can perform mutating operations in place.<\/Para>In the example below, a numbers<\/codeVoice> array is created along with two copies that share the same storage. When the original numbers<\/codeVoice> array is modified, it makes a unique copy of its storage before making the modification. Further modifications to numbers<\/codeVoice> are made in place, while the two copies continue to share the original storage.<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>]]><\/rawHTML>Bridging Between Array and NSArray]]><\/rawHTML>When you need to access APIs that require data in an NSArray<\/codeVoice> instance instead of Array<\/codeVoice>, use the type-cast operator (as<\/codeVoice>) to bridge your instance. For bridging to be possible, the Element<\/codeVoice> type of your array must be a class, an @objc<\/codeVoice> protocol (a protocol imported from Objective-C or marked with the @objc<\/codeVoice> attribute), or a type that bridges to a Foundation type.<\/Para>The following example shows how you can bridge an Array<\/codeVoice> instance to NSArray<\/codeVoice> to use the write(to:atomically:)<\/codeVoice> method. In this example, the colors<\/codeVoice> array can be bridged to NSArray<\/codeVoice> because the colors<\/codeVoice> array’s String<\/codeVoice> elements bridge to NSString<\/codeVoice>. The compiler prevents bridging the moreColors<\/codeVoice> array, on the other hand, because its Element<\/codeVoice> type is Optional<String><\/codeVoice>, which does not<\/emphasis> bridge to a Foundation type.<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>Bridging from Array<\/codeVoice> to NSArray<\/codeVoice> takes O(1) time and O(1) space if the array’s elements are already instances of a class or an @objc<\/codeVoice> protocol; otherwise, it takes O(n<\/emphasis>) time and space.<\/Para>When the destination array’s element type is a class or an @objc<\/codeVoice> protocol, bridging from NSArray<\/codeVoice> to Array<\/codeVoice> first calls the copy(with:)<\/codeVoice> (- copyWithZone:<\/codeVoice> in Objective-C) method on the array to get an immutable copy and then performs additional Swift bookkeeping work that takes O(1) time. For instances of NSArray<\/codeVoice> that are already immutable, copy(with:)<\/codeVoice> usually returns the same array in O(1) time; otherwise, the copying performance is unspecified. If copy(with:)<\/codeVoice> returns the same array, the instances of NSArray<\/codeVoice> and Array<\/codeVoice> share storage using the same copy-on-write optimization that is used when two instances of Array<\/codeVoice> share storage.<\/Para>When the destination array’s element type is a nonclass type that bridges to a Foundation type, bridging from NSArray<\/codeVoice> to Array<\/codeVoice> performs a bridging copy of the elements to contiguous storage in O(n<\/emphasis>) time. For example, bridging from NSArray<\/codeVoice> to Array<Int><\/codeVoice> performs such a copy. No further bridging is required when accessing elements of the Array<\/codeVoice> instance.<\/Para>The ContiguousArray<\/codeVoice> and ArraySlice<\/codeVoice> types are not bridged; instances of those types always have a contiguous block of memory as their storage.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Class>",
-        "key.doc.name" : "Array",
-        "key.doc.type" : "Class",
-        "key.fully_annotated_decl" : "@frozen<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> struct<\/syntaxtype.keyword> Array<\/decl.name><Element<\/decl.generic_type_param.name><\/decl.generic_type_param>> : _DestructorSafeContainer<\/ref.protocol><\/decl.struct>",
-        "key.groupname" : "Collection\/Array",
-        "key.is_system" : true,
-        "key.kind" : "source.lang.swift.decl.extension",
-        "key.length" : 268,
-        "key.modulename" : "Swift",
-        "key.name" : "Array",
-        "key.namelength" : 5,
-        "key.nameoffset" : 31959,
-        "key.offset" : 31949,
-        "key.parsed_declaration" : "fileprivate extension Array",
-        "key.parsed_scope.end" : 723,
-        "key.parsed_scope.start" : 712,
-        "key.substructure" : [
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.fileprivate",
-            "key.annotated_decl" : "mutating func safeDropFirst(_ count: Int<\/Type>) -> [Element<\/Type>]<\/Declaration>",
-            "key.attributes" : [
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "func updateOverscrollFooterPosition(in collectionView: UICollectionView<\/Type>)<\/Declaration>",
+            "key.bodylength" : 903,
+            "key.bodyoffset" : 3338,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
+            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> updateOverscrollFooterPosition<\/decl.name>(in<\/decl.var.parameter.argument_label> collectionView<\/decl.var.parameter.name>: UICollectionView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
+            "key.kind" : "source.lang.swift.decl.function.method.instance",
+            "key.length" : 983,
+            "key.name" : "updateOverscrollFooterPosition(in:)",
+            "key.namelength" : 68,
+            "key.nameoffset" : 3264,
+            "key.offset" : 3259,
+            "key.parsed_declaration" : "func updateOverscrollFooterPosition(in collectionView : UICollectionView)",
+            "key.parsed_scope.end" : 157,
+            "key.parsed_scope.start" : 137,
+            "key.substructure" : [
               {
-                "key.attribute" : "source.decl.attribute.mutating",
-                "key.length" : 8,
-                "key.offset" : 31971
+                "key.annotated_decl" : "let footer: ListLayoutContent<\/Type>.SupplementaryItemInfo<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
+                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> footer<\/decl.name>: ListLayoutContent<\/ref.class>.SupplementaryItemInfo<\/ref.class><\/decl.var.type><\/decl.var.local>",
+                "key.kind" : "source.lang.swift.decl.var.local",
+                "key.length" : 42,
+                "key.name" : "footer",
+                "key.namelength" : 6,
+                "key.nameoffset" : 3500,
+                "key.offset" : 3496,
+                "key.parsed_declaration" : "let footer = self.content.overscrollFooter",
+                "key.parsed_scope.end" : 144,
+                "key.parsed_scope.start" : 144,
+                "key.typename" : "ListLayoutContent.SupplementaryItemInfo",
+                "key.typeusr" : "$s10ListableUI17ListLayoutContentC21SupplementaryItemInfoCD",
+                "key.usr" : "s:10ListableUI13AnyListLayoutPAAE30updateOverscrollFooterPosition2inySo16UICollectionViewC_tF6footerL_AA0dE7ContentC21SupplementaryItemInfoCvp"
+              },
+              {
+                "key.annotated_decl" : "let contentHeight: CGFloat<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
+                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> contentHeight<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.local>",
+                "key.kind" : "source.lang.swift.decl.var.local",
+                "key.length" : 51,
+                "key.name" : "contentHeight",
+                "key.namelength" : 13,
+                "key.nameoffset" : 3568,
+                "key.offset" : 3564,
+                "key.parsed_declaration" : "let contentHeight = self.content.contentSize.height",
+                "key.parsed_scope.end" : 146,
+                "key.parsed_scope.start" : 146,
+                "key.typename" : "CGFloat",
+                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
+                "key.usr" : "s:10ListableUI13AnyListLayoutPAAE30updateOverscrollFooterPosition2inySo16UICollectionViewC_tF13contentHeightL_12CoreGraphics7CGFloatVvp"
+              },
+              {
+                "key.annotated_decl" : "let viewHeight: CGFloat<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
+                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> viewHeight<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.local>",
+                "key.kind" : "source.lang.swift.decl.var.local",
+                "key.length" : 56,
+                "key.name" : "viewHeight",
+                "key.namelength" : 10,
+                "key.nameoffset" : 3628,
+                "key.offset" : 3624,
+                "key.parsed_declaration" : "let viewHeight = collectionView.contentFrame.size.height",
+                "key.parsed_scope.end" : 147,
+                "key.parsed_scope.start" : 147,
+                "key.typename" : "CGFloat",
+                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
+                "key.usr" : "s:10ListableUI13AnyListLayoutPAAE30updateOverscrollFooterPosition2inySo16UICollectionViewC_tF10viewHeightL_12CoreGraphics7CGFloatVvp"
               }
             ],
-            "key.bodylength" : 182,
-            "key.bodyoffset" : 32032,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-            "key.fully_annotated_decl" : "mutating<\/syntaxtype.keyword> func<\/syntaxtype.keyword> safeDropFirst<\/decl.name>(_<\/decl.var.parameter.argument_label> count<\/decl.var.parameter.name>: Int<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> [Element<\/ref.generic_type_param>]<\/decl.function.returntype><\/decl.function.method.instance>",
-            "key.groupname" : "Collection\/Array",
+            "key.typename" : " (Self) -> (UICollectionView) -> ()",
+            "key.typeusr" : "$s2inySo16UICollectionViewC_tcD",
+            "key.usr" : "s:10ListableUI13AnyListLayoutPAAE30updateOverscrollFooterPosition2inySo16UICollectionViewC_tF"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "func adjustPositionsForLayoutUnderflow(in collectionView: UICollectionView<\/Type>)<\/Declaration>",
+            "key.bodylength" : 1395,
+            "key.bodyoffset" : 4334,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
+            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> adjustPositionsForLayoutUnderflow<\/decl.name>(in<\/decl.var.parameter.argument_label> collectionView<\/decl.var.parameter.name>: UICollectionView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 235,
-            "key.name" : "safeDropFirst(_:)",
-            "key.namelength" : 28,
-            "key.nameoffset" : 31985,
-            "key.offset" : 31980,
-            "key.parsed_declaration" : "mutating func safeDropFirst(_ count : Int) -> [Element]",
-            "key.parsed_scope.end" : 722,
-            "key.parsed_scope.start" : 714,
+            "key.length" : 1478,
+            "key.name" : "adjustPositionsForLayoutUnderflow(in:)",
+            "key.namelength" : 71,
+            "key.nameoffset" : 4257,
+            "key.offset" : 4252,
+            "key.parsed_declaration" : "func adjustPositionsForLayoutUnderflow(in collectionView : UICollectionView)",
+            "key.parsed_scope.end" : 199,
+            "key.parsed_scope.start" : 159,
             "key.substructure" : [
               {
-                "key.annotated_decl" : "let safeCount: Int<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> safeCount<\/decl.name>: Int<\/ref.struct><\/decl.var.type><\/decl.var.local>",
-                "key.groupname" : "Collection\/Array",
+                "key.annotated_decl" : "let safeAreaInsets: CGFloat<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
+                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> safeAreaInsets<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
-                "key.length" : 44,
-                "key.name" : "safeCount",
-                "key.namelength" : 9,
-                "key.nameoffset" : 32045,
-                "key.offset" : 32041,
-                "key.parsed_declaration" : "let safeCount = Swift.min(self.count, count)",
-                "key.parsed_scope.end" : 716,
-                "key.parsed_scope.start" : 716,
-                "key.typename" : "Int",
-                "key.typeusr" : "$sSiD",
-                "key.usr" : "s:Sa10ListableUIE13safeDropFirst33_F0CBB6890B9708D0D6E4B5A9172AF35FLLySayxGSiF0C5CountL_Sivp"
+                "key.length" : 312,
+                "key.name" : "safeAreaInsets",
+                "key.namelength" : 14,
+                "key.nameoffset" : 4607,
+                "key.offset" : 4603,
+                "key.parsed_declaration" : "let safeAreaInsets : CGFloat = {\n    switch self.direction {\n    case .vertical: return collectionView.safeAreaInsets.top + collectionView.safeAreaInsets.bottom\n    case .horizontal: return collectionView.safeAreaInsets.left + collectionView.safeAreaInsets.right\n    }\n}()",
+                "key.parsed_scope.end" : 168,
+                "key.parsed_scope.start" : 168,
+                "key.typename" : "CGFloat",
+                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
+                "key.usr" : "s:10ListableUI13AnyListLayoutPAAE018adjustPositionsForE9Underflow2inySo16UICollectionViewC_tF14safeAreaInsetsL_12CoreGraphics7CGFloatVvp"
               },
               {
-                "key.annotated_decl" : "let values: ArraySlice<\/Type><Element><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> values<\/decl.name>: ArraySlice<\/ref.struct><Element><\/decl.var.type><\/decl.var.local>",
-                "key.groupname" : "Collection\/Array",
+                "key.annotated_decl" : "let contentHeight: CGFloat<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
+                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> contentHeight<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
-                "key.length" : 32,
-                "key.name" : "values",
-                "key.namelength" : 6,
-                "key.nameoffset" : 32098,
-                "key.offset" : 32094,
-                "key.parsed_declaration" : "let values = self[0..",
-                "key.typeusr" : "$ss10ArraySliceVyxGD",
-                "key.usr" : "s:Sa10ListableUIE13safeDropFirst33_F0CBB6890B9708D0D6E4B5A9172AF35FLLySayxGSiF6valuesL_s10ArraySliceVyxGvp"
+                "key.length" : 51,
+                "key.name" : "contentHeight",
+                "key.namelength" : 13,
+                "key.nameoffset" : 4937,
+                "key.offset" : 4933,
+                "key.parsed_declaration" : "let contentHeight = self.content.contentSize.height",
+                "key.parsed_scope.end" : 175,
+                "key.parsed_scope.start" : 175,
+                "key.typename" : "CGFloat",
+                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
+                "key.usr" : "s:10ListableUI13AnyListLayoutPAAE018adjustPositionsForE9Underflow2inySo16UICollectionViewC_tF13contentHeightL_12CoreGraphics7CGFloatVvp"
+              },
+              {
+                "key.annotated_decl" : "let viewHeight: CGFloat<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
+                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> viewHeight<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.local>",
+                "key.kind" : "source.lang.swift.decl.var.local",
+                "key.length" : 45,
+                "key.name" : "viewHeight",
+                "key.namelength" : 10,
+                "key.nameoffset" : 4997,
+                "key.offset" : 4993,
+                "key.parsed_declaration" : "let viewHeight = collectionView.bounds.height",
+                "key.parsed_scope.end" : 176,
+                "key.parsed_scope.start" : 176,
+                "key.typename" : "CGFloat",
+                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
+                "key.usr" : "s:10ListableUI13AnyListLayoutPAAE018adjustPositionsForE9Underflow2inySo16UICollectionViewC_tF10viewHeightL_12CoreGraphics7CGFloatVvp"
+              },
+              {
+                "key.annotated_decl" : "let additionalOffset: CGFloat<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
+                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> additionalOffset<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.local>",
+                "key.kind" : "source.lang.swift.decl.var.local",
+                "key.length" : 171,
+                "key.name" : "additionalOffset",
+                "key.namelength" : 16,
+                "key.nameoffset" : 5060,
+                "key.offset" : 5056,
+                "key.parsed_declaration" : "let additionalOffset = self.behavior.underflow.alignment.offsetFor(\n    contentHeight: contentHeight,\n    viewHeight: viewHeight - safeAreaInsets\n)",
+                "key.parsed_scope.end" : 178,
+                "key.parsed_scope.start" : 178,
+                "key.typename" : "CGFloat",
+                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
+                "key.usr" : "s:10ListableUI13AnyListLayoutPAAE018adjustPositionsForE9Underflow2inySo16UICollectionViewC_tF16additionalOffsetL_12CoreGraphics7CGFloatVvp"
               }
             ],
-            "key.typename" : " (inout Array) -> (Int) -> [Element]",
-            "key.typeusr" : "$sySayxGSicD",
-            "key.usr" : "s:Sa10ListableUIE13safeDropFirst33_F0CBB6890B9708D0D6E4B5A9172AF35FLLySayxGSiF"
+            "key.typename" : " (Self) -> (UICollectionView) -> ()",
+            "key.typeusr" : "$s2inySo16UICollectionViewC_tcD",
+            "key.usr" : "s:10ListableUI13AnyListLayoutPAAE018adjustPositionsForE9Underflow2inySo16UICollectionViewC_tF"
           }
         ],
-        "key.typename" : "Array.Type",
-        "key.typeusr" : "$sSayxGmD",
-        "key.usr" : "s:Sa"
-      },
+        "key.typename" : "AnyListLayout.Protocol",
+        "key.typeusr" : "$s10ListableUI13AnyListLayout_pmD",
+        "key.usr" : "s:10ListableUI13AnyListLayoutP"
+      }
+    ]
+  }
+}, {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutAppearance.swift" : {
+    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
+    "key.length" : 309,
+    "key.offset" : 0,
+    "key.substructure" : [
       {
-        "key.accessibility" : "source.lang.swift.accessibility.fileprivate",
-        "key.annotated_decl" : "fileprivate func performLayout<Input>(for input: Input<\/Type>, _ block: (Input<\/Type>) -> ())<\/Declaration>",
+        "key.accessibility" : "source.lang.swift.accessibility.public",
+        "key.annotated_decl" : "public protocol ListLayoutAppearance : Equatable<\/Type><\/Declaration>",
         "key.attributes" : [
           {
-            "key.attribute" : "source.decl.attribute.fileprivate",
-            "key.length" : 11,
-            "key.offset" : 32220
+            "key.attribute" : "source.decl.attribute.public",
+            "key.length" : 6,
+            "key.offset" : 118
           }
         ],
-        "key.bodylength" : 18,
-        "key.bodyoffset" : 32303,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-        "key.fully_annotated_decl" : "fileprivate<\/syntaxtype.keyword> func<\/syntaxtype.keyword> performLayout<\/decl.name><Input<\/decl.generic_type_param.name><\/decl.generic_type_param>>(for<\/decl.var.parameter.argument_label> input<\/decl.var.parameter.name>: Input<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, _<\/decl.var.parameter.argument_label> block<\/decl.var.parameter.name>: (Input<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.free>",
-        "key.kind" : "source.lang.swift.decl.function.free",
-        "key.length" : 90,
-        "key.name" : "performLayout(for:_:)",
-        "key.namelength" : 64,
-        "key.nameoffset" : 32237,
-        "key.offset" : 32232,
-        "key.parsed_declaration" : "fileprivate func performLayout(for input : Input, _ block : (Input) -> ())",
-        "key.parsed_scope.end" : 729,
-        "key.parsed_scope.start" : 726,
+        "key.bodylength" : 139,
+        "key.bodyoffset" : 168,
+        "key.elements" : [
+          {
+            "key.kind" : "source.lang.swift.structure.elem.typeref",
+            "key.length" : 9,
+            "key.offset" : 157
+          }
+        ],
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutAppearance.swift",
+        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> ListLayoutAppearance<\/decl.name> : Equatable<\/ref.protocol><\/decl.protocol>",
+        "key.inheritedtypes" : [
+          {
+            "key.name" : "Equatable"
+          }
+        ],
+        "key.kind" : "source.lang.swift.decl.protocol",
+        "key.length" : 183,
+        "key.name" : "ListLayoutAppearance",
+        "key.namelength" : 20,
+        "key.nameoffset" : 134,
+        "key.offset" : 125,
+        "key.parsed_declaration" : "public protocol ListLayoutAppearance : Equatable",
+        "key.parsed_scope.end" : 18,
+        "key.parsed_scope.start" : 11,
         "key.substructure" : [
           {
-            "key.annotated_decl" : "Input<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/List\/DefaultListLayout.swift",
-            "key.fully_annotated_decl" : "Input<\/decl.generic_type_param.name><\/decl.generic_type_param>",
-            "key.kind" : "source.lang.swift.decl.generic_type_param",
-            "key.length" : 5,
-            "key.name" : "Input",
-            "key.namelength" : 5,
-            "key.nameoffset" : 32251,
-            "key.offset" : 32251,
-            "key.parsed_declaration" : "fileprivate func performLayoutstatic var `default`: Self<\/Type> { get }<\/Declaration>",
+            "key.bodylength" : 5,
+            "key.bodyoffset" : 202,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutAppearance.swift",
+            "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> var<\/syntaxtype.keyword> `default`<\/decl.name>: Self<\/ref.generic_type_param><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.static>",
+            "key.kind" : "source.lang.swift.decl.var.static",
+            "key.length" : 35,
+            "key.name" : "default",
+            "key.namelength" : 7,
+            "key.nameoffset" : 184,
+            "key.offset" : 173,
+            "key.parsed_declaration" : "static var `default` : Self",
+            "key.parsed_scope.end" : 13,
+            "key.parsed_scope.start" : 13,
+            "key.typename" : "Self",
+            "key.typeusr" : "$sxD",
+            "key.usr" : "s:10ListableUI20ListLayoutAppearanceP7defaultxvpZ"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "var direction: LayoutDirection<\/Type> { get }<\/Declaration>",
+            "key.bodylength" : 5,
+            "key.bodyoffset" : 251,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutAppearance.swift",
+            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> direction<\/decl.name>: LayoutDirection<\/ref.enum><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 39,
+            "key.name" : "direction",
+            "key.namelength" : 9,
+            "key.nameoffset" : 222,
+            "key.offset" : 218,
+            "key.parsed_declaration" : "var direction : LayoutDirection",
+            "key.parsed_scope.end" : 15,
+            "key.parsed_scope.start" : 15,
+            "key.typename" : "LayoutDirection",
+            "key.typeusr" : "$s10ListableUI15LayoutDirectionOD",
+            "key.usr" : "s:10ListableUI20ListLayoutAppearanceP9directionAA0D9DirectionOvp"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "var stickySectionHeaders: Bool<\/Type> { get }<\/Declaration>",
+            "key.bodylength" : 5,
+            "key.bodyoffset" : 300,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutAppearance.swift",
+            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> stickySectionHeaders<\/decl.name>: Bool<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 39,
+            "key.name" : "stickySectionHeaders",
+            "key.namelength" : 20,
+            "key.nameoffset" : 271,
+            "key.offset" : 267,
+            "key.parsed_declaration" : "var stickySectionHeaders : Bool",
+            "key.parsed_scope.end" : 17,
+            "key.parsed_scope.start" : 17,
+            "key.typename" : "Bool",
+            "key.typeusr" : "$sSbD",
+            "key.usr" : "s:10ListableUI20ListLayoutAppearanceP20stickySectionHeadersSbvp"
           }
         ],
-        "key.typename" : " (for: Input, (Input) -> ()) -> ()",
-        "key.typeusr" : "$s3for_yx_yxXEtcluD",
-        "key.usr" : "s:10ListableUI13performLayout33_F0CBB6890B9708D0D6E4B5A9172AF35FLL3for_yx_yxXEtlF"
+        "key.typename" : "ListLayoutAppearance.Protocol",
+        "key.typeusr" : "$s10ListableUI20ListLayoutAppearance_pmD",
+        "key.usr" : "s:10ListableUI20ListLayoutAppearanceP"
       }
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutAttributes.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
-    "key.length" : 4622,
+    "key.length" : 862,
     "key.offset" : 0,
     "key.substructure" : [
       {
         "key.accessibility" : "source.lang.swift.accessibility.public",
-        "key.annotated_decl" : "public struct LayoutDescription<\/Declaration>",
+        "key.annotated_decl" : "public struct ListLayoutAttributes : Equatable<\/Type><\/Declaration>",
         "key.attributes" : [
           {
             "key.attribute" : "source.decl.attribute.public",
             "key.length" : 6,
-            "key.offset" : 1128
+            "key.offset" : 117
           }
         ],
-        "key.bodylength" : 459,
-        "key.bodyoffset" : 1161,
-        "key.doc.column" : 15,
-        "key.doc.comment" : "\nA `LayoutDescription`, well, describes the type of and properties of a layout to apply to a list view.\n\nYou use a `LayoutDescription` by passing a closure to its initializer, which you use to\ncustomize the `layoutAppearance` of the provided list type.\n\nFor example, to use a standard list layout, and customize the layout, your code would look something like this:\n\n```\nlistView.layout = .list {\n    $0.stickySectionHeaders = true\n\n    $0.layout.padding = UIEdgeInsets(top: 10, left: 10, bottom: 10, right: 10)\n    $0.layout.itemSpacing = 10.0\n}\n```\n\nOr a layout for your own custom layout type would look somewhat like this:\n\n```\nMyCustomLayout.describe {\n    $0.myLayoutOption = true\n    $0.anotherLayoutOption = .polkadots\n}\n```\n\nNote\n----\nUnder the hood, Listable is smart, and will only re-create the underlying\nlayout object when needed (when the layout type or layout appearance changes).",
-        "key.doc.declaration" : "public struct LayoutDescription",
-        "key.doc.discussion" : [
+        "key.bodylength" : 525,
+        "key.bodyoffset" : 165,
+        "key.elements" : [
           {
-            "Para" : "You use a `LayoutDescription` by passing a closure to its initializer, which you use to customize the `layoutAppearance` of the provided list type."
-          },
+            "key.kind" : "source.lang.swift.structure.elem.typeref",
+            "key.length" : 9,
+            "key.offset" : 154
+          }
+        ],
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutAttributes.swift",
+        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> ListLayoutAttributes<\/decl.name> : Equatable<\/ref.protocol><\/decl.struct>",
+        "key.inheritedtypes" : [
           {
-            "Para" : "For example, to use a standard list layout, and customize the layout, your code would look something like this:"
-          },
+            "key.name" : "Equatable"
+          }
+        ],
+        "key.kind" : "source.lang.swift.decl.struct",
+        "key.length" : 567,
+        "key.name" : "ListLayoutAttributes",
+        "key.namelength" : 20,
+        "key.nameoffset" : 131,
+        "key.offset" : 124,
+        "key.parsed_declaration" : "public struct ListLayoutAttributes : Equatable",
+        "key.parsed_scope.end" : 36,
+        "key.parsed_scope.start" : 11,
+        "key.substructure" : [
           {
-            "CodeListing" : ""
+            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.annotated_decl" : "var contentSize: CGSize<\/Type><\/Declaration>",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutAttributes.swift",
+            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> contentSize<\/decl.name>: CGSize<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 24,
+            "key.name" : "contentSize",
+            "key.namelength" : 11,
+            "key.nameoffset" : 179,
+            "key.offset" : 175,
+            "key.parsed_declaration" : "var contentSize : CGSize",
+            "key.parsed_scope.end" : 13,
+            "key.parsed_scope.start" : 13,
+            "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
+            "key.typename" : "CGSize",
+            "key.typeusr" : "$sSo6CGSizeVD",
+            "key.usr" : "s:10ListableUI20ListLayoutAttributesV11contentSizeSo6CGSizeVvp"
           },
           {
-            "Para" : "Or a layout for your own custom layout type would look somewhat like this:"
+            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.annotated_decl" : "var header: Supplementary<\/Type>?<\/Declaration>",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutAttributes.swift",
+            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> header<\/decl.name>: Supplementary<\/ref.struct>?<\/decl.var.type><\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 27,
+            "key.name" : "header",
+            "key.namelength" : 6,
+            "key.nameoffset" : 213,
+            "key.offset" : 209,
+            "key.parsed_declaration" : "var header : Supplementary?",
+            "key.parsed_scope.end" : 15,
+            "key.parsed_scope.start" : 15,
+            "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
+            "key.typename" : "ListLayoutAttributes.Supplementary?",
+            "key.typeusr" : "$s10ListableUI20ListLayoutAttributesV13SupplementaryVSgD",
+            "key.usr" : "s:10ListableUI20ListLayoutAttributesV6headerAC13SupplementaryVSgvp"
           },
           {
-            "CodeListing" : ""
+            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.annotated_decl" : "var footer: Supplementary<\/Type>?<\/Declaration>",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutAttributes.swift",
+            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> footer<\/decl.name>: Supplementary<\/ref.struct>?<\/decl.var.type><\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 27,
+            "key.name" : "footer",
+            "key.namelength" : 6,
+            "key.nameoffset" : 245,
+            "key.offset" : 241,
+            "key.parsed_declaration" : "var footer : Supplementary?",
+            "key.parsed_scope.end" : 16,
+            "key.parsed_scope.start" : 16,
+            "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
+            "key.typename" : "ListLayoutAttributes.Supplementary?",
+            "key.typeusr" : "$s10ListableUI20ListLayoutAttributesV13SupplementaryVSgD",
+            "key.usr" : "s:10ListableUI20ListLayoutAttributesV6footerAC13SupplementaryVSgvp"
           },
-          {
-            "Para" : "Under the hood, Listable is smart, and will only re-create the underlying layout object when needed (when the layout type or layout appearance changes)."
-          }
-        ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
-        "key.doc.full_as_xml" : "LayoutDescription<\/Name>s:10ListableUI17LayoutDescriptionV<\/USR>public struct LayoutDescription<\/Declaration>A LayoutDescription<\/codeVoice>, well, describes the type of and properties of a layout to apply to a list view.<\/Para><\/Abstract>You use a LayoutDescription<\/codeVoice> by passing a closure to its initializer, which you use to customize the layoutAppearance<\/codeVoice> of the provided list type.<\/Para>For example, to use a standard list layout, and customize the layout, your code would look something like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>Or a layout for your own custom layout type would look somewhat like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>]]><\/rawHTML>Note]]><\/rawHTML>Under the hood, Listable is smart, and will only re-create the underlying layout object when needed (when the layout type or layout appearance changes).<\/Para><\/Discussion><\/CommentParts><\/Class>",
-        "key.doc.line" : 42,
-        "key.doc.name" : "LayoutDescription",
-        "key.doc.type" : "Class",
-        "key.doclength" : 1013,
-        "key.docoffset" : 115,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
-        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> LayoutDescription<\/decl.name><\/decl.struct>",
-        "key.kind" : "source.lang.swift.decl.struct",
-        "key.length" : 486,
-        "key.name" : "LayoutDescription",
-        "key.namelength" : 17,
-        "key.nameoffset" : 1142,
-        "key.offset" : 1135,
-        "key.parsed_declaration" : "public struct LayoutDescription",
-        "key.parsed_scope.end" : 53,
-        "key.parsed_scope.start" : 42,
-        "key.substructure" : [
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
-            "key.annotated_decl" : "let configuration: AnyLayoutDescriptionConfiguration<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
-            "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> configuration<\/decl.name>: AnyLayoutDescriptionConfiguration<\/ref.protocol><\/decl.var.type><\/decl.var.instance>",
+            "key.annotated_decl" : "var overscrollFooter: Supplementary<\/Type>?<\/Declaration>",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutAttributes.swift",
+            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> overscrollFooter<\/decl.name>: Supplementary<\/ref.struct>?<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 53,
-            "key.name" : "configuration",
-            "key.namelength" : 13,
-            "key.nameoffset" : 1170,
-            "key.offset" : 1166,
-            "key.parsed_declaration" : "let configuration : AnyLayoutDescriptionConfiguration",
-            "key.parsed_scope.end" : 44,
-            "key.parsed_scope.start" : 44,
-            "key.typename" : "AnyLayoutDescriptionConfiguration",
-            "key.typeusr" : "$s10ListableUI33AnyLayoutDescriptionConfiguration_pD",
-            "key.usr" : "s:10ListableUI17LayoutDescriptionV13configurationAA03AnycD13Configuration_pvp"
+            "key.length" : 37,
+            "key.name" : "overscrollFooter",
+            "key.namelength" : 16,
+            "key.nameoffset" : 277,
+            "key.offset" : 273,
+            "key.parsed_declaration" : "var overscrollFooter : Supplementary?",
+            "key.parsed_scope.end" : 17,
+            "key.parsed_scope.start" : 17,
+            "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
+            "key.typename" : "ListLayoutAttributes.Supplementary?",
+            "key.typeusr" : "$s10ListableUI20ListLayoutAttributesV13SupplementaryVSgD",
+            "key.usr" : "s:10ListableUI20ListLayoutAttributesV16overscrollFooterAC13SupplementaryVSgvp"
           },
           {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public init<LayoutType>(layoutType: LayoutType<\/Type>.Type, appearance configure: @escaping (inout LayoutType<\/Type>.LayoutAppearance<\/Type>) -> () = { _ in }) where LayoutType : ListLayout<\/Type><\/Declaration>",
+            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.annotated_decl" : "var sections: [Section<\/Type>]<\/Declaration>",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutAttributes.swift",
+            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> sections<\/decl.name>: [Section<\/ref.struct>]<\/decl.var.type><\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 24,
+            "key.name" : "sections",
+            "key.namelength" : 8,
+            "key.nameoffset" : 324,
+            "key.offset" : 320,
+            "key.parsed_declaration" : "var sections : [Section]",
+            "key.parsed_scope.end" : 19,
+            "key.parsed_scope.start" : 19,
+            "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
+            "key.typename" : "[ListLayoutAttributes.Section]",
+            "key.typeusr" : "$sSay10ListableUI20ListLayoutAttributesV7SectionVGD",
+            "key.usr" : "s:10ListableUI20ListLayoutAttributesV8sectionsSayAC7SectionVGvp"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "public struct ListLayoutAttributes<\/Type>.Section : Equatable<\/Type><\/Declaration>",
             "key.attributes" : [
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 1349
-              }
-            ],
-            "key.bodylength" : 94,
-            "key.bodyoffset" : 1524,
-            "key.doc.column" : 12,
-            "key.doc.comment" : "Creates a new layout description for the provided layout type, with the provided optional layout configuration.",
-            "key.doc.declaration" : "public init(layoutType: LayoutType.Type, appearance configure: @escaping (inout LayoutType.LayoutAppearance) -> () = { _ in }) where LayoutType : ListableUI.ListLayout",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
-            "key.doc.full_as_xml" : "init(layoutType:appearance:)<\/Name>s:10ListableUI17LayoutDescriptionV10layoutType10appearanceACxm_y0C10AppearanceQzzctcAA04ListC0Rzlufc<\/USR>public init<LayoutType>(layoutType: LayoutType.Type, appearance configure: @escaping (inout LayoutType.LayoutAppearance) -> () = { _ in }) where LayoutType : ListableUI.ListLayout<\/Declaration>Creates a new layout description for the provided layout type, with the provided optional layout configuration.<\/Para><\/Abstract><\/CommentParts><\/Function>",
-            "key.doc.line" : 47,
-            "key.doc.name" : "init(layoutType:appearance:)",
-            "key.doc.type" : "Function",
-            "key.doclength" : 116,
-            "key.docoffset" : 1229,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword><LayoutType<\/decl.generic_type_param.name><\/decl.generic_type_param>>(layoutType<\/decl.var.parameter.argument_label>: LayoutType<\/ref.generic_type_param>.Type<\/decl.var.parameter.type><\/decl.var.parameter>, appearance<\/decl.var.parameter.argument_label> configure<\/decl.var.parameter.name>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> (inout<\/syntaxtype.keyword> LayoutType<\/ref.generic_type_param>.LayoutAppearance<\/ref.associatedtype><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type> = { _ in }<\/decl.var.parameter>) where<\/syntaxtype.keyword> LayoutType : ListLayout<\/ref.protocol><\/decl.generic_type_requirement><\/decl.function.constructor>",
-            "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 263,
-            "key.name" : "init(layoutType:appearance:)",
-            "key.namelength" : 166,
-            "key.nameoffset" : 1356,
-            "key.offset" : 1356,
-            "key.parsed_declaration" : "public init(\n    layoutType : LayoutType.Type,\n    appearance configure : @escaping (inout LayoutType.LayoutAppearance) -> () = { _ in }\n)",
-            "key.parsed_scope.end" : 52,
-            "key.parsed_scope.start" : 47,
-            "key.substructure" : [
-              {
-                "key.annotated_decl" : "LayoutType : ListLayout<\/Type><\/Declaration>",
-                "key.elements" : [
-                  {
-                    "key.kind" : "source.lang.swift.structure.elem.typeref",
-                    "key.length" : 10,
-                    "key.offset" : 1372
-                  }
-                ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
-                "key.fully_annotated_decl" : "LayoutType<\/decl.generic_type_param.name> : ListLayout<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
-                "key.inheritedtypes" : [
-                  {
-                    "key.name" : "ListLayout"
-                  }
-                ],
-                "key.kind" : "source.lang.swift.decl.generic_type_param",
-                "key.length" : 21,
-                "key.name" : "LayoutType",
-                "key.namelength" : 10,
-                "key.nameoffset" : 1361,
-                "key.offset" : 1361,
-                "key.parsed_declaration" : "public init (LayoutDescription.Type) -> (LayoutType.Type, @escaping (inout LayoutType.LayoutAppearance) -> ()) -> LayoutDescription",
-            "key.typeusr" : "$s10layoutType10appearance10ListableUI17LayoutDescriptionVxm_y0F10AppearanceQzzctcAC04ListF0RzluD",
-            "key.usr" : "s:10ListableUI17LayoutDescriptionV10layoutType10appearanceACxm_y0C10AppearanceQzzctcAA04ListC0Rzlufc"
-          }
-        ],
-        "key.typename" : "LayoutDescription.Type",
-        "key.typeusr" : "$s10ListableUI17LayoutDescriptionVmD",
-        "key.usr" : "s:10ListableUI17LayoutDescriptionV"
-      },
-      {
-        "key.accessibility" : "source.lang.swift.accessibility.public",
-        "key.annotated_decl" : "public protocol ListLayout : AnyListLayout<\/Type><\/Declaration>",
-        "key.attributes" : [
-          {
-            "key.attribute" : "source.decl.attribute.public",
-            "key.length" : 6,
-            "key.offset" : 1624
-          }
-        ],
-        "key.bodylength" : 367,
-        "key.bodyoffset" : 1653,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
-        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> ListLayout<\/decl.name> : AnyListLayout<\/ref.protocol><\/decl.protocol>",
-        "key.kind" : "source.lang.swift.decl.extension",
-        "key.length" : 390,
-        "key.name" : "ListLayout",
-        "key.namelength" : 10,
-        "key.nameoffset" : 1641,
-        "key.offset" : 1631,
-        "key.parsed_declaration" : "public extension ListLayout",
-        "key.parsed_scope.end" : 68,
-        "key.parsed_scope.start" : 56,
-        "key.substructure" : [
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "static func describe(appearance: @escaping (inout Self<\/Type>.LayoutAppearance<\/Type>) -> () = { _ in }) -> LayoutDescription<\/Type><\/Declaration>",
-            "key.bodylength" : 119,
-            "key.bodyoffset" : 1899,
-            "key.doc.column" : 17,
-            "key.doc.comment" : "Creates a new layout description for a list layout, with the provided optional layout configuration.",
-            "key.doc.declaration" : "static func describe(appearance: @escaping (inout Self.LayoutAppearance) -> () = { _ in }) -> LayoutDescription",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
-            "key.doc.full_as_xml" : "describe(appearance:)<\/Name>s:10ListableUI10ListLayoutPAAE8describe10appearanceAA0D11DescriptionVy0D10AppearanceQzzc_tFZ<\/USR>static func describe(appearance: @escaping (inout Self.LayoutAppearance) -> () = { _ in }) -> LayoutDescription<\/Declaration>Creates a new layout description for a list layout, with the provided optional layout configuration.<\/Para><\/Abstract><\/CommentParts><\/Function>",
-            "key.doc.line" : 59,
-            "key.doc.name" : "describe(appearance:)",
-            "key.doc.type" : "Function",
-            "key.doclength" : 105,
-            "key.docoffset" : 1658,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
-            "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> describe<\/decl.name>(appearance<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> (inout<\/syntaxtype.keyword> Self<\/ref.generic_type_param>.LayoutAppearance<\/ref.associatedtype><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type> = { _ in }<\/decl.var.parameter>) -> LayoutDescription<\/ref.struct><\/decl.function.returntype><\/decl.function.method.static>",
-            "key.kind" : "source.lang.swift.decl.function.method.static",
-            "key.length" : 252,
-            "key.name" : "describe(appearance:)",
-            "key.namelength" : 93,
-            "key.nameoffset" : 1779,
-            "key.offset" : 1767,
-            "key.parsed_declaration" : "static func describe(\n    appearance : @escaping (inout Self.LayoutAppearance) -> () = { _ in }\n) -> LayoutDescription",
-            "key.parsed_scope.end" : 67,
-            "key.parsed_scope.start" : 59,
-            "key.substructure" : [
-
-            ],
-            "key.typename" : " (Self.Type) -> (@escaping (inout Self.LayoutAppearance) -> ()) -> LayoutDescription",
-            "key.typeusr" : "$s10appearance10ListableUI17LayoutDescriptionVy0D10AppearanceQzzc_tcD",
-            "key.usr" : "s:10ListableUI10ListLayoutPAAE8describe10appearanceAA0D11DescriptionVy0D10AppearanceQzzc_tFZ"
-          }
-        ],
-        "key.typename" : "ListLayout.Protocol",
-        "key.typeusr" : "$s10ListableUI10ListLayout_pmD",
-        "key.usr" : "s:10ListableUI10ListLayoutP"
-      },
-      {
-        "key.annotated_decl" : "public struct LayoutDescription<\/Declaration>",
-        "key.bodylength" : 2080,
-        "key.bodyoffset" : 2053,
-        "key.doc.column" : 15,
-        "key.doc.declaration" : "public struct LayoutDescription",
-        "key.doc.discussion" : [
-          {
-            "Para" : "You use a `LayoutDescription` by passing a closure to its initializer, which you use to customize the `layoutAppearance` of the provided list type."
-          },
-          {
-            "Para" : "For example, to use a standard list layout, and customize the layout, your code would look something like this:"
-          },
-          {
-            "CodeListing" : ""
-          },
-          {
-            "Para" : "Or a layout for your own custom layout type would look somewhat like this:"
-          },
-          {
-            "CodeListing" : ""
-          },
-          {
-            "Para" : "Under the hood, Listable is smart, and will only re-create the underlying layout object when needed (when the layout type or layout appearance changes)."
-          }
-        ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
-        "key.doc.full_as_xml" : "LayoutDescription<\/Name>s:10ListableUI17LayoutDescriptionV<\/USR>public struct LayoutDescription<\/Declaration>A LayoutDescription<\/codeVoice>, well, describes the type of and properties of a layout to apply to a list view.<\/Para><\/Abstract>You use a LayoutDescription<\/codeVoice> by passing a closure to its initializer, which you use to customize the layoutAppearance<\/codeVoice> of the provided list type.<\/Para>For example, to use a standard list layout, and customize the layout, your code would look something like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>Or a layout for your own custom layout type would look somewhat like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>]]><\/rawHTML>Note]]><\/rawHTML>Under the hood, Listable is smart, and will only re-create the underlying layout object when needed (when the layout type or layout appearance changes).<\/Para><\/Discussion><\/CommentParts><\/Class>",
-        "key.doc.line" : 42,
-        "key.doc.name" : "LayoutDescription",
-        "key.doc.type" : "Class",
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
-        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> LayoutDescription<\/decl.name><\/decl.struct>",
-        "key.kind" : "source.lang.swift.decl.extension",
-        "key.length" : 2110,
-        "key.name" : "LayoutDescription",
-        "key.namelength" : 17,
-        "key.nameoffset" : 2034,
-        "key.offset" : 2024,
-        "key.parsed_declaration" : "extension LayoutDescription",
-        "key.parsed_scope.end" : 137,
-        "key.parsed_scope.start" : 71,
-        "key.substructure" : [
-          {
-            "key.annotated_decl" : "struct Configuration<LayoutType> : AnyLayoutDescriptionConfiguration<\/Type> where LayoutType : ListLayout<\/Type><\/Declaration>",
-            "key.bodylength" : 1988,
-            "key.bodyoffset" : 2143,
+            "key.bodylength" : 140,
+            "key.bodyoffset" : 389,
             "key.elements" : [
               {
                 "key.kind" : "source.lang.swift.structure.elem.typeref",
-                "key.length" : 33,
-                "key.offset" : 2104
+                "key.length" : 9,
+                "key.offset" : 378
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
-            "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> Configuration<\/decl.name><LayoutType<\/decl.generic_type_param.name><\/decl.generic_type_param>> : AnyLayoutDescriptionConfiguration<\/ref.protocol> where<\/syntaxtype.keyword> LayoutType : ListLayout<\/ref.protocol><\/decl.generic_type_requirement><\/decl.struct>",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutAttributes.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> ListLayoutAttributes<\/ref.struct>.Section<\/decl.name> : Equatable<\/ref.protocol><\/decl.struct>",
             "key.inheritedtypes" : [
               {
-                "key.name" : "AnyLayoutDescriptionConfiguration"
+                "key.name" : "Equatable"
               }
             ],
             "key.kind" : "source.lang.swift.decl.struct",
-            "key.length" : 2074,
-            "key.name" : "Configuration",
-            "key.namelength" : 13,
-            "key.nameoffset" : 2065,
-            "key.offset" : 2058,
-            "key.parsed_declaration" : "struct Configuration : AnyLayoutDescriptionConfiguration",
-            "key.parsed_scope.end" : 136,
-            "key.parsed_scope.start" : 73,
+            "key.length" : 169,
+            "key.name" : "Section",
+            "key.namelength" : 7,
+            "key.nameoffset" : 368,
+            "key.offset" : 361,
+            "key.parsed_declaration" : "public struct Section : Equatable",
+            "key.parsed_scope.end" : 27,
+            "key.parsed_scope.start" : 21,
             "key.substructure" : [
-              {
-                "key.annotated_decl" : "LayoutType : ListLayout<\/Type><\/Declaration>",
-                "key.elements" : [
-                  {
-                    "key.kind" : "source.lang.swift.structure.elem.typeref",
-                    "key.length" : 10,
-                    "key.offset" : 2090
-                  }
-                ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
-                "key.fully_annotated_decl" : "LayoutType<\/decl.generic_type_param.name> : ListLayout<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
-                "key.inheritedtypes" : [
-                  {
-                    "key.name" : "ListLayout"
-                  }
-                ],
-                "key.kind" : "source.lang.swift.decl.generic_type_param",
-                "key.length" : 21,
-                "key.name" : "LayoutType",
-                "key.namelength" : 10,
-                "key.nameoffset" : 2079,
-                "key.offset" : 2079,
-                "key.parsed_declaration" : "struct Configurationlet layoutType: LayoutType<\/Type>.Type<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
-                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> layoutType<\/decl.name>: LayoutType<\/ref.generic_type_param>.Type<\/decl.var.type><\/decl.var.instance>",
+                "key.annotated_decl" : "var frame: CGRect<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutAttributes.swift",
+                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> frame<\/decl.name>: CGRect<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 32,
-                "key.name" : "layoutType",
-                "key.namelength" : 10,
-                "key.nameoffset" : 2156,
-                "key.offset" : 2152,
-                "key.parsed_declaration" : "let layoutType : LayoutType.Type",
-                "key.parsed_scope.end" : 75,
-                "key.parsed_scope.start" : 75,
-                "key.typename" : "LayoutType.Type",
-                "key.typeusr" : "$sxmD",
-                "key.usr" : "s:10ListableUI17LayoutDescriptionV13ConfigurationV10layoutTypexmvp"
+                "key.length" : 18,
+                "key.name" : "frame",
+                "key.namelength" : 5,
+                "key.nameoffset" : 402,
+                "key.offset" : 398,
+                "key.parsed_declaration" : "var frame : CGRect",
+                "key.parsed_scope.end" : 22,
+                "key.parsed_scope.start" : 22,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
+                "key.typename" : "CGRect",
+                "key.typeusr" : "$sSo6CGRectVD",
+                "key.usr" : "s:10ListableUI20ListLayoutAttributesV7SectionV5frameSo6CGRectVvp"
               },
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "let configure: (inout LayoutType<\/Type>.LayoutAppearance<\/Type>) -> ()<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
-                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> configure<\/decl.name>: (inout<\/syntaxtype.keyword> LayoutType<\/ref.generic_type_param>.LayoutAppearance<\/ref.associatedtype><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.type><\/decl.var.instance>",
+                "key.annotated_decl" : "var header: Supplementary<\/Type>?<\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutAttributes.swift",
+                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> header<\/decl.name>: Supplementary<\/ref.struct>?<\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 57,
-                "key.name" : "configure",
-                "key.namelength" : 9,
-                "key.nameoffset" : 2206,
-                "key.offset" : 2202,
-                "key.parsed_declaration" : "let configure : (inout LayoutType.LayoutAppearance) -> ()",
-                "key.parsed_scope.end" : 77,
-                "key.parsed_scope.start" : 77,
-                "key.typename" : "(inout LayoutType.LayoutAppearance) -> ()",
-                "key.typeusr" : "$syy16LayoutAppearance10ListableUI04ListA0PQzzcD",
-                "key.usr" : "s:10ListableUI17LayoutDescriptionV13ConfigurationV9configureyy0C10AppearanceQzzcvp"
+                "key.length" : 27,
+                "key.name" : "header",
+                "key.namelength" : 6,
+                "key.nameoffset" : 438,
+                "key.offset" : 434,
+                "key.parsed_declaration" : "var header : Supplementary?",
+                "key.parsed_scope.end" : 24,
+                "key.parsed_scope.start" : 24,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
+                "key.typename" : "ListLayoutAttributes.Supplementary?",
+                "key.typeusr" : "$s10ListableUI20ListLayoutAttributesV13SupplementaryVSgD",
+                "key.usr" : "s:10ListableUI20ListLayoutAttributesV7SectionV6headerAC13SupplementaryVSgvp"
               },
               {
-                "key.kind" : "source.lang.swift.syntaxtype.comment.mark",
-                "key.length" : 39,
-                "key.name" : "MARK: AnyLayoutDescriptionConfiguration",
-                "key.namelength" : 0,
-                "key.nameoffset" : 0,
-                "key.offset" : 2280
+                "key.accessibility" : "source.lang.swift.accessibility.internal",
+                "key.annotated_decl" : "var footer: Supplementary<\/Type>?<\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutAttributes.swift",
+                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> footer<\/decl.name>: Supplementary<\/ref.struct>?<\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 27,
+                "key.name" : "footer",
+                "key.namelength" : 6,
+                "key.nameoffset" : 474,
+                "key.offset" : 470,
+                "key.parsed_declaration" : "var footer : Supplementary?",
+                "key.parsed_scope.end" : 25,
+                "key.parsed_scope.start" : 25,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
+                "key.typename" : "ListLayoutAttributes.Supplementary?",
+                "key.typeusr" : "$s10ListableUI20ListLayoutAttributesV13SupplementaryVSgD",
+                "key.usr" : "s:10ListableUI20ListLayoutAttributesV7SectionV6footerAC13SupplementaryVSgvp"
               },
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "func createEmptyLayout(appearance: Appearance<\/Type>, behavior: Behavior<\/Type>) -> AnyListLayout<\/Type><\/Declaration>",
-                "key.bodylength" : 345,
-                "key.bodyoffset" : 2465,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
-                "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> createEmptyLayout<\/decl.name>(appearance<\/decl.var.parameter.argument_label>: Appearance<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, behavior<\/decl.var.parameter.argument_label>: Behavior<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> AnyListLayout<\/ref.protocol><\/decl.function.returntype><\/decl.function.method.instance>",
-                "key.kind" : "source.lang.swift.decl.function.method.instance",
-                "key.length" : 474,
-                "key.name" : "createEmptyLayout(appearance:behavior:)",
-                "key.namelength" : 96,
-                "key.nameoffset" : 2342,
-                "key.offset" : 2337,
-                "key.overrides" : [
-                  {
-                    "key.usr" : "s:10ListableUI33AnyLayoutDescriptionConfigurationP011createEmptyD010appearance8behaviorAA0c4ListD0_pAA10AppearanceV_AA8BehaviorVtF"
-                  }
-                ],
-                "key.parsed_declaration" : "func createEmptyLayout(\n    appearance : Appearance,\n    behavior: Behavior\n) -> AnyListLayout",
-                "key.parsed_scope.end" : 95,
-                "key.parsed_scope.start" : 81,
-                "key.substructure" : [
-                  {
-                    "key.annotated_decl" : "var layoutAppearance: LayoutType.LayoutAppearance<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
-                    "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> layoutAppearance<\/decl.name>: LayoutType.LayoutAppearance<\/decl.var.type><\/decl.var.local>",
-                    "key.kind" : "source.lang.swift.decl.var.local",
-                    "key.length" : 58,
-                    "key.name" : "layoutAppearance",
-                    "key.namelength" : 16,
-                    "key.nameoffset" : 2482,
-                    "key.offset" : 2478,
-                    "key.parsed_declaration" : "var layoutAppearance = LayoutType.LayoutAppearance.default",
-                    "key.parsed_scope.end" : 86,
-                    "key.parsed_scope.start" : 86,
-                    "key.typename" : "LayoutType.LayoutAppearance",
-                    "key.typeusr" : "$s16LayoutAppearance10ListableUI04ListA0PQzD",
-                    "key.usr" : "s:10ListableUI17LayoutDescriptionV13ConfigurationV011createEmptyC010appearance8behaviorAA07AnyListC0_pAA10AppearanceV_AA8BehaviorVtF06layoutL0L_0cL0Qzvp"
-                  }
-                ],
-                "key.typename" : " (LayoutDescription.Configuration) -> (Appearance, Behavior) -> AnyListLayout",
-                "key.typeusr" : "$s10appearance8behavior10ListableUI13AnyListLayout_pAC10AppearanceV_AC8BehaviorVtcD",
-                "key.usr" : "s:10ListableUI17LayoutDescriptionV13ConfigurationV011createEmptyC010appearance8behaviorAA07AnyListC0_pAA10AppearanceV_AA8BehaviorVtF"
-              },
+                "key.annotated_decl" : "var items: [Item<\/Type>]<\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutAttributes.swift",
+                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> items<\/decl.name>: [Item<\/ref.struct>]<\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 18,
+                "key.name" : "items",
+                "key.namelength" : 5,
+                "key.nameoffset" : 510,
+                "key.offset" : 506,
+                "key.parsed_declaration" : "var items : [Item]",
+                "key.parsed_scope.end" : 26,
+                "key.parsed_scope.start" : 26,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
+                "key.typename" : "[ListLayoutAttributes.Item]",
+                "key.typeusr" : "$sSay10ListableUI20ListLayoutAttributesV4ItemVGD",
+                "key.usr" : "s:10ListableUI20ListLayoutAttributesV7SectionV5itemsSayAC4ItemVGvp"
+              }
+            ],
+            "key.typename" : "ListLayoutAttributes.Section.Type",
+            "key.typeusr" : "$s10ListableUI20ListLayoutAttributesV7SectionVmD",
+            "key.usr" : "s:10ListableUI20ListLayoutAttributesV7SectionV"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "public struct ListLayoutAttributes<\/Type>.Supplementary : Equatable<\/Type><\/Declaration>",
+            "key.attributes" : [
               {
-                "key.accessibility" : "source.lang.swift.accessibility.public",
-                "key.annotated_decl" : "public func createPopulatedLayout(appearance: Appearance<\/Type>, behavior: Behavior<\/Type>, delegate: CollectionViewLayoutDelegate<\/Type>) -> AnyListLayout<\/Type><\/Declaration>",
-                "key.attributes" : [
-                  {
-                    "key.attribute" : "source.decl.attribute.public",
-                    "key.length" : 6,
-                    "key.offset" : 2829
-                  }
-                ],
-                "key.bodylength" : 395,
-                "key.bodyoffset" : 3021,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
-                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> createPopulatedLayout<\/decl.name>(appearance<\/decl.var.parameter.argument_label>: Appearance<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, behavior<\/decl.var.parameter.argument_label>: Behavior<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, delegate<\/decl.var.parameter.argument_label>: CollectionViewLayoutDelegate<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>) -> AnyListLayout<\/ref.protocol><\/decl.function.returntype><\/decl.function.method.instance>",
-                "key.kind" : "source.lang.swift.decl.function.method.instance",
-                "key.length" : 581,
-                "key.name" : "createPopulatedLayout(appearance:behavior:delegate:)",
-                "key.namelength" : 153,
-                "key.nameoffset" : 2841,
-                "key.offset" : 2836,
-                "key.overrides" : [
-                  {
-                    "key.usr" : "s:10ListableUI33AnyLayoutDescriptionConfigurationP015createPopulatedD010appearance8behavior8delegateAA0c4ListD0_pAA10AppearanceV_AA8BehaviorVAA014CollectionViewD8Delegate_ptF"
-                  }
-                ],
-                "key.parsed_declaration" : "public func createPopulatedLayout(\n    appearance : Appearance,\n    behavior: Behavior,\n    delegate : CollectionViewLayoutDelegate\n) -> AnyListLayout",
-                "key.parsed_scope.end" : 112,
-                "key.parsed_scope.start" : 97,
-                "key.substructure" : [
-                  {
-                    "key.annotated_decl" : "var layoutAppearance: LayoutType.LayoutAppearance<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
-                    "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> layoutAppearance<\/decl.name>: LayoutType.LayoutAppearance<\/decl.var.type><\/decl.var.local>",
-                    "key.kind" : "source.lang.swift.decl.var.local",
-                    "key.length" : 58,
-                    "key.name" : "layoutAppearance",
-                    "key.namelength" : 16,
-                    "key.nameoffset" : 3038,
-                    "key.offset" : 3034,
-                    "key.parsed_declaration" : "var layoutAppearance = LayoutType.LayoutAppearance.default",
-                    "key.parsed_scope.end" : 103,
-                    "key.parsed_scope.start" : 103,
-                    "key.typename" : "LayoutType.LayoutAppearance",
-                    "key.typeusr" : "$s16LayoutAppearance10ListableUI04ListA0PQzD",
-                    "key.usr" : "s:10ListableUI17LayoutDescriptionV13ConfigurationV015createPopulatedC010appearance8behavior8delegateAA07AnyListC0_pAA10AppearanceV_AA8BehaviorVAA014CollectionViewC8Delegate_ptF06layoutM0L_0cM0Qzvp"
-                  }
-                ],
-                "key.typename" : " (LayoutDescription.Configuration) -> (Appearance, Behavior, CollectionViewLayoutDelegate) -> AnyListLayout",
-                "key.typeusr" : "$s10appearance8behavior8delegate10ListableUI13AnyListLayout_pAD10AppearanceV_AD8BehaviorVAD014CollectionViewH8Delegate_ptcD",
-                "key.usr" : "s:10ListableUI17LayoutDescriptionV13ConfigurationV015createPopulatedC010appearance8behavior8delegateAA07AnyListC0_pAA10AppearanceV_AA8BehaviorVAA014CollectionViewC8Delegate_ptF"
-              },
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 540
+              }
+            ],
+            "key.bodylength" : 32,
+            "key.bodyoffset" : 581,
+            "key.elements" : [
               {
-                "key.accessibility" : "source.lang.swift.accessibility.public",
-                "key.annotated_decl" : "public func shouldRebuild(layout anyLayout: AnyListLayout<\/Type>) -> Bool<\/Type><\/Declaration>",
-                "key.attributes" : [
-                  {
-                    "key.attribute" : "source.decl.attribute.public",
-                    "key.length" : 6,
-                    "key.offset" : 3435
-                  }
-                ],
-                "key.bodylength" : 233,
-                "key.bodyoffset" : 3512,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
-                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> shouldRebuild<\/decl.name>(layout<\/decl.var.parameter.argument_label> anyLayout<\/decl.var.parameter.name>: AnyListLayout<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
-                "key.kind" : "source.lang.swift.decl.function.method.instance",
-                "key.length" : 304,
-                "key.name" : "shouldRebuild(layout:)",
-                "key.namelength" : 47,
-                "key.nameoffset" : 3447,
-                "key.offset" : 3442,
-                "key.overrides" : [
-                  {
-                    "key.usr" : "s:10ListableUI33AnyLayoutDescriptionConfigurationP13shouldRebuild6layoutSbAA0c4ListD0_p_tF"
-                  }
-                ],
-                "key.parsed_declaration" : "public func shouldRebuild(layout anyLayout : AnyListLayout) -> Bool",
-                "key.parsed_scope.end" : 124,
-                "key.parsed_scope.start" : 114,
-                "key.substructure" : [
-                  {
-                    "key.annotated_decl" : "let layout: LayoutType<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
-                    "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> layout<\/decl.name>: LayoutType<\/decl.var.type><\/decl.var.local>",
-                    "key.kind" : "source.lang.swift.decl.var.local",
-                    "key.length" : 37,
-                    "key.name" : "layout",
-                    "key.namelength" : 6,
-                    "key.nameoffset" : 3529,
-                    "key.offset" : 3525,
-                    "key.parsed_declaration" : "let layout = anyLayout as! LayoutType",
-                    "key.parsed_scope.end" : 116,
-                    "key.parsed_scope.start" : 116,
-                    "key.typename" : "LayoutType",
-                    "key.typeusr" : "$sxD",
-                    "key.usr" : "s:10ListableUI17LayoutDescriptionV13ConfigurationV13shouldRebuild6layoutSbAA07AnyListC0_p_tFAGL_xvp"
-                  },
-                  {
-                    "key.annotated_decl" : "let old: LayoutType.LayoutAppearance<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
-                    "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> old<\/decl.name>: LayoutType.LayoutAppearance<\/decl.var.type><\/decl.var.local>",
-                    "key.kind" : "source.lang.swift.decl.var.local",
-                    "key.length" : 33,
-                    "key.name" : "old",
-                    "key.namelength" : 3,
-                    "key.nameoffset" : 3579,
-                    "key.offset" : 3575,
-                    "key.parsed_declaration" : "let old = layout.layoutAppearance",
-                    "key.parsed_scope.end" : 117,
-                    "key.parsed_scope.start" : 117,
-                    "key.typename" : "LayoutType.LayoutAppearance",
-                    "key.typeusr" : "$s16LayoutAppearance10ListableUI04ListA0PQzD",
-                    "key.usr" : "s:10ListableUI17LayoutDescriptionV13ConfigurationV13shouldRebuild6layoutSbAA07AnyListC0_p_tF3oldL_0C10AppearanceQzvp"
-                  },
-                  {
-                    "key.annotated_decl" : "var new: LayoutType.LayoutAppearance<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
-                    "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> new<\/decl.name>: LayoutType.LayoutAppearance<\/decl.var.type><\/decl.var.local>",
-                    "key.kind" : "source.lang.swift.decl.var.local",
-                    "key.length" : 13,
-                    "key.name" : "new",
-                    "key.namelength" : 3,
-                    "key.nameoffset" : 3638,
-                    "key.offset" : 3634,
-                    "key.parsed_declaration" : "var new = old",
-                    "key.parsed_scope.end" : 119,
-                    "key.parsed_scope.start" : 119,
-                    "key.typename" : "LayoutType.LayoutAppearance",
-                    "key.typeusr" : "$s16LayoutAppearance10ListableUI04ListA0PQzD",
-                    "key.usr" : "s:10ListableUI17LayoutDescriptionV13ConfigurationV13shouldRebuild6layoutSbAA07AnyListC0_p_tF3newL_0C10AppearanceQzvp"
-                  }
-                ],
-                "key.typename" : " (LayoutDescription.Configuration) -> (AnyListLayout) -> Bool",
-                "key.typeusr" : "$s6layoutSb10ListableUI13AnyListLayout_p_tcD",
-                "key.usr" : "s:10ListableUI17LayoutDescriptionV13ConfigurationV13shouldRebuild6layoutSbAA07AnyListC0_p_tF"
-              },
+                "key.kind" : "source.lang.swift.structure.elem.typeref",
+                "key.length" : 9,
+                "key.offset" : 570
+              }
+            ],
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutAttributes.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> ListLayoutAttributes<\/ref.struct>.Supplementary<\/decl.name> : Equatable<\/ref.protocol><\/decl.struct>",
+            "key.inheritedtypes" : [
               {
-                "key.accessibility" : "source.lang.swift.accessibility.public",
-                "key.annotated_decl" : "public func isSameLayoutType(as anyOther: AnyLayoutDescriptionConfiguration<\/Type>) -> Bool<\/Type><\/Declaration>",
-                "key.attributes" : [
-                  {
-                    "key.attribute" : "source.decl.attribute.public",
-                    "key.length" : 6,
-                    "key.offset" : 3764
-                  }
-                ],
-                "key.bodylength" : 266,
-                "key.bodyoffset" : 3859,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
-                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> isSameLayoutType<\/decl.name>(as<\/decl.var.parameter.argument_label> anyOther<\/decl.var.parameter.name>: AnyLayoutDescriptionConfiguration<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
-                "key.kind" : "source.lang.swift.decl.function.method.instance",
-                "key.length" : 355,
-                "key.name" : "isSameLayoutType(as:)",
-                "key.namelength" : 65,
-                "key.nameoffset" : 3776,
-                "key.offset" : 3771,
-                "key.overrides" : [
-                  {
-                    "key.usr" : "s:10ListableUI33AnyLayoutDescriptionConfigurationP06isSameD4Type2asSbAaB_p_tF"
-                  }
-                ],
-                "key.parsed_declaration" : "public func isSameLayoutType(as anyOther : AnyLayoutDescriptionConfiguration) -> Bool",
-                "key.parsed_scope.end" : 135,
-                "key.parsed_scope.start" : 126,
-                "key.substructure" : [
-                  {
-                    "key.kind" : "source.lang.swift.syntaxtype.comment.mark",
-                    "key.length" : 62,
-                    "key.name" : "TODO: We don't need both of these checks, just the second one.",
-                    "key.namelength" : 0,
-                    "key.nameoffset" : 0,
-                    "key.offset" : 3875
-                  }
-                ],
-                "key.typename" : " (LayoutDescription.Configuration) -> (AnyLayoutDescriptionConfiguration) -> Bool",
-                "key.typeusr" : "$s2asSb10ListableUI33AnyLayoutDescriptionConfiguration_p_tcD",
-                "key.usr" : "s:10ListableUI17LayoutDescriptionV13ConfigurationV06isSameC4Type2asSbAA03AnycdE0_p_tF"
+                "key.name" : "Equatable"
               }
             ],
-            "key.typename" : "LayoutDescription.Configuration.Type",
-            "key.typeusr" : "$s10ListableUI17LayoutDescriptionV13ConfigurationVy_xGmD",
-            "key.usr" : "s:10ListableUI17LayoutDescriptionV13ConfigurationV"
-          }
-        ],
-        "key.typename" : "LayoutDescription.Type",
-        "key.typeusr" : "$s10ListableUI17LayoutDescriptionVmD",
-        "key.usr" : "s:10ListableUI17LayoutDescriptionV"
-      },
-      {
-        "key.accessibility" : "source.lang.swift.accessibility.public",
-        "key.annotated_decl" : "public protocol AnyLayoutDescriptionConfiguration<\/Declaration>",
-        "key.attributes" : [
-          {
-            "key.attribute" : "source.decl.attribute.public",
-            "key.length" : 6,
-            "key.offset" : 4137
-          }
-        ],
-        "key.bodylength" : 432,
-        "key.bodyoffset" : 4188,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
-        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> AnyLayoutDescriptionConfiguration<\/decl.name><\/decl.protocol>",
-        "key.kind" : "source.lang.swift.decl.protocol",
-        "key.length" : 477,
-        "key.name" : "AnyLayoutDescriptionConfiguration",
-        "key.namelength" : 33,
-        "key.nameoffset" : 4153,
-        "key.offset" : 4144,
-        "key.parsed_declaration" : "public protocol AnyLayoutDescriptionConfiguration",
-        "key.parsed_scope.end" : 156,
-        "key.parsed_scope.start" : 140,
-        "key.substructure" : [
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "func createEmptyLayout(appearance: Appearance<\/Type>, behavior: Behavior<\/Type>) -> AnyListLayout<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
-            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> createEmptyLayout<\/decl.name>(appearance<\/decl.var.parameter.argument_label>: Appearance<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, behavior<\/decl.var.parameter.argument_label>: Behavior<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> AnyListLayout<\/ref.protocol><\/decl.function.returntype><\/decl.function.method.instance>",
-            "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 106,
-            "key.name" : "createEmptyLayout(appearance:behavior:)",
-            "key.namelength" : 84,
-            "key.nameoffset" : 4198,
-            "key.offset" : 4193,
-            "key.parsed_declaration" : "func createEmptyLayout(\n    appearance : Appearance,\n    behavior: Behavior\n) -> AnyListLayout",
-            "key.parsed_scope.end" : 142,
-            "key.parsed_scope.start" : 142,
+            "key.kind" : "source.lang.swift.decl.struct",
+            "key.length" : 67,
+            "key.name" : "Supplementary",
+            "key.namelength" : 13,
+            "key.nameoffset" : 554,
+            "key.offset" : 547,
+            "key.parsed_declaration" : "public struct Supplementary : Equatable",
+            "key.parsed_scope.end" : 31,
+            "key.parsed_scope.start" : 29,
             "key.substructure" : [
-
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.internal",
+                "key.annotated_decl" : "var frame: CGRect<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutAttributes.swift",
+                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> frame<\/decl.name>: CGRect<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 18,
+                "key.name" : "frame",
+                "key.namelength" : 5,
+                "key.nameoffset" : 594,
+                "key.offset" : 590,
+                "key.parsed_declaration" : "var frame : CGRect",
+                "key.parsed_scope.end" : 30,
+                "key.parsed_scope.start" : 30,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
+                "key.typename" : "CGRect",
+                "key.typeusr" : "$sSo6CGRectVD",
+                "key.usr" : "s:10ListableUI20ListLayoutAttributesV13SupplementaryV5frameSo6CGRectVvp"
+              }
             ],
-            "key.typename" : " (Self) -> (Appearance, Behavior) -> AnyListLayout",
-            "key.typeusr" : "$s10appearance8behavior10ListableUI13AnyListLayout_pAC10AppearanceV_AC8BehaviorVtcD",
-            "key.usr" : "s:10ListableUI33AnyLayoutDescriptionConfigurationP011createEmptyD010appearance8behaviorAA0c4ListD0_pAA10AppearanceV_AA8BehaviorVtF"
+            "key.typename" : "ListLayoutAttributes.Supplementary.Type",
+            "key.typeusr" : "$s10ListableUI20ListLayoutAttributesV13SupplementaryVmD",
+            "key.usr" : "s:10ListableUI20ListLayoutAttributesV13SupplementaryV"
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "func createPopulatedLayout(appearance: Appearance<\/Type>, behavior: Behavior<\/Type>, delegate: CollectionViewLayoutDelegate<\/Type>) -> AnyListLayout<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
-            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> createPopulatedLayout<\/decl.name>(appearance<\/decl.var.parameter.argument_label>: Appearance<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, behavior<\/decl.var.parameter.argument_label>: Behavior<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, delegate<\/decl.var.parameter.argument_label>: CollectionViewLayoutDelegate<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>) -> AnyListLayout<\/ref.protocol><\/decl.function.returntype><\/decl.function.method.instance>",
-            "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 159,
-            "key.name" : "createPopulatedLayout(appearance:behavior:delegate:)",
-            "key.namelength" : 137,
-            "key.nameoffset" : 4314,
-            "key.offset" : 4309,
-            "key.parsed_declaration" : "func createPopulatedLayout(\n    appearance : Appearance,\n    behavior: Behavior,\n    delegate : CollectionViewLayoutDelegate\n) -> AnyListLayout",
-            "key.parsed_scope.end" : 147,
-            "key.parsed_scope.start" : 147,
-            "key.substructure" : [
-
+            "key.annotated_decl" : "public struct ListLayoutAttributes<\/Type>.Item : Equatable<\/Type><\/Declaration>",
+            "key.attributes" : [
+              {
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 624
+              }
             ],
-            "key.typename" : " (Self) -> (Appearance, Behavior, CollectionViewLayoutDelegate) -> AnyListLayout",
-            "key.typeusr" : "$s10appearance8behavior8delegate10ListableUI13AnyListLayout_pAD10AppearanceV_AD8BehaviorVAD014CollectionViewH8Delegate_ptcD",
-            "key.usr" : "s:10ListableUI33AnyLayoutDescriptionConfigurationP015createPopulatedD010appearance8behavior8delegateAA0c4ListD0_pAA10AppearanceV_AA8BehaviorVAA014CollectionViewD8Delegate_ptF"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "func shouldRebuild(layout anyLayout: AnyListLayout<\/Type>) -> Bool<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
-            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> shouldRebuild<\/decl.name>(layout<\/decl.var.parameter.argument_label> anyLayout<\/decl.var.parameter.name>: AnyListLayout<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
-            "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 60,
-            "key.name" : "shouldRebuild(layout:)",
-            "key.namelength" : 47,
-            "key.nameoffset" : 4483,
-            "key.offset" : 4478,
-            "key.parsed_declaration" : "func shouldRebuild(layout anyLayout : AnyListLayout) -> Bool",
-            "key.parsed_scope.end" : 153,
-            "key.parsed_scope.start" : 153,
+            "key.bodylength" : 32,
+            "key.bodyoffset" : 656,
+            "key.elements" : [
+              {
+                "key.kind" : "source.lang.swift.structure.elem.typeref",
+                "key.length" : 9,
+                "key.offset" : 645
+              }
+            ],
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutAttributes.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> ListLayoutAttributes<\/ref.struct>.Item<\/decl.name> : Equatable<\/ref.protocol><\/decl.struct>",
+            "key.inheritedtypes" : [
+              {
+                "key.name" : "Equatable"
+              }
+            ],
+            "key.kind" : "source.lang.swift.decl.struct",
+            "key.length" : 58,
+            "key.name" : "Item",
+            "key.namelength" : 4,
+            "key.nameoffset" : 638,
+            "key.offset" : 631,
+            "key.parsed_declaration" : "public struct Item : Equatable",
+            "key.parsed_scope.end" : 35,
+            "key.parsed_scope.start" : 33,
             "key.substructure" : [
-
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.internal",
+                "key.annotated_decl" : "var frame: CGRect<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutAttributes.swift",
+                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> frame<\/decl.name>: CGRect<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 18,
+                "key.name" : "frame",
+                "key.namelength" : 5,
+                "key.nameoffset" : 669,
+                "key.offset" : 665,
+                "key.parsed_declaration" : "var frame : CGRect",
+                "key.parsed_scope.end" : 34,
+                "key.parsed_scope.start" : 34,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
+                "key.typename" : "CGRect",
+                "key.typeusr" : "$sSo6CGRectVD",
+                "key.usr" : "s:10ListableUI20ListLayoutAttributesV4ItemV5frameSo6CGRectVvp"
+              }
             ],
-            "key.typename" : " (Self) -> (AnyListLayout) -> Bool",
-            "key.typeusr" : "$s6layoutSb10ListableUI13AnyListLayout_p_tcD",
-            "key.usr" : "s:10ListableUI33AnyLayoutDescriptionConfigurationP13shouldRebuild6layoutSbAA0c4ListD0_p_tF"
+            "key.typename" : "ListLayoutAttributes.Item.Type",
+            "key.typeusr" : "$s10ListableUI20ListLayoutAttributesV4ItemVmD",
+            "key.usr" : "s:10ListableUI20ListLayoutAttributesV4ItemV"
+          }
+        ],
+        "key.typename" : "ListLayoutAttributes.Type",
+        "key.typeusr" : "$s10ListableUI20ListLayoutAttributesVmD",
+        "key.usr" : "s:10ListableUI20ListLayoutAttributesV"
+      },
+      {
+        "key.annotated_decl" : "public struct ListLayoutAttributes : Equatable<\/Type><\/Declaration>",
+        "key.bodylength" : 134,
+        "key.bodyoffset" : 726,
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutAttributes.swift",
+        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> ListLayoutAttributes<\/decl.name> : Equatable<\/ref.protocol><\/decl.struct>",
+        "key.kind" : "source.lang.swift.decl.extension",
+        "key.length" : 167,
+        "key.name" : "ListLayoutAttributes",
+        "key.namelength" : 20,
+        "key.nameoffset" : 704,
+        "key.offset" : 694,
+        "key.parsed_declaration" : "extension ListLayoutAttributes",
+        "key.parsed_scope.end" : 46,
+        "key.parsed_scope.start" : 39,
+        "key.substructure" : [
+          {
+            "key.annotated_decl" : "var stringRepresentation: String<\/Type> { get }<\/Declaration>",
+            "key.bodylength" : 92,
+            "key.bodyoffset" : 766,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutAttributes.swift",
+            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> stringRepresentation<\/decl.name>: String<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 128,
+            "key.name" : "stringRepresentation",
+            "key.namelength" : 20,
+            "key.nameoffset" : 735,
+            "key.offset" : 731,
+            "key.parsed_declaration" : "var stringRepresentation : String",
+            "key.parsed_scope.end" : 45,
+            "key.parsed_scope.start" : 40,
+            "key.typename" : "String",
+            "key.typeusr" : "$sSSD",
+            "key.usr" : "s:10ListableUI20ListLayoutAttributesV20stringRepresentationSSvp"
           },
           {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "func isSameLayoutType(as other: AnyLayoutDescriptionConfiguration<\/Type>) -> Bool<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
-            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> isSameLayoutType<\/decl.name>(as<\/decl.var.parameter.argument_label> other<\/decl.var.parameter.name>: AnyLayoutDescriptionConfiguration<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
-            "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 75,
-            "key.name" : "isSameLayoutType(as:)",
-            "key.namelength" : 62,
-            "key.nameoffset" : 4549,
-            "key.offset" : 4544,
-            "key.parsed_declaration" : "func isSameLayoutType(as other : AnyLayoutDescriptionConfiguration) -> Bool",
-            "key.parsed_scope.end" : 155,
-            "key.parsed_scope.start" : 155,
-            "key.substructure" : [
-
-            ],
-            "key.typename" : " (Self) -> (AnyLayoutDescriptionConfiguration) -> Bool",
-            "key.typeusr" : "$s2asSb10ListableUI33AnyLayoutDescriptionConfiguration_p_tcD",
-            "key.usr" : "s:10ListableUI33AnyLayoutDescriptionConfigurationP06isSameD4Type2asSbAaB_p_tF"
+            "key.annotated_decl" : "var output: String<\/Type><\/Declaration>",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutAttributes.swift",
+            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> output<\/decl.name>: String<\/ref.struct><\/decl.var.type><\/decl.var.local>",
+            "key.kind" : "source.lang.swift.decl.var.local",
+            "key.length" : 15,
+            "key.name" : "output",
+            "key.namelength" : 6,
+            "key.nameoffset" : 779,
+            "key.offset" : 775,
+            "key.parsed_declaration" : "var output = \"\"",
+            "key.parsed_scope.end" : 41,
+            "key.parsed_scope.start" : 41,
+            "key.typename" : "String",
+            "key.typeusr" : "$sSSD",
+            "key.usr" : "s:10ListableUI20ListLayoutAttributesV20stringRepresentationSSvg6outputL_SSvp"
           }
         ],
-        "key.typename" : "AnyLayoutDescriptionConfiguration.Protocol",
-        "key.typeusr" : "$s10ListableUI33AnyLayoutDescriptionConfiguration_pmD",
-        "key.usr" : "s:10ListableUI33AnyLayoutDescriptionConfigurationP"
+        "key.typename" : "ListLayoutAttributes.Type",
+        "key.typeusr" : "$s10ListableUI20ListLayoutAttributesVmD",
+        "key.usr" : "s:10ListableUI20ListLayoutAttributesV"
       }
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
-    "key.length" : 5733,
+    "key.length" : 13301,
     "key.offset" : 0,
     "key.substructure" : [
       {
         "key.accessibility" : "source.lang.swift.accessibility.public",
-        "key.annotated_decl" : "public protocol ListLayout : AnyListLayout<\/Type><\/Declaration>",
+        "key.annotated_decl" : "public final class ListLayoutContent<\/Declaration>",
         "key.attributes" : [
+          {
+            "key.attribute" : "source.decl.attribute.final",
+            "key.length" : 5,
+            "key.offset" : 121
+          },
           {
             "key.attribute" : "source.decl.attribute.public",
             "key.length" : 6,
-            "key.offset" : 107
-          }
-        ],
-        "key.bodylength" : 345,
-        "key.bodyoffset" : 151,
-        "key.elements" : [
-          {
-            "key.kind" : "source.lang.swift.structure.elem.typeref",
-            "key.length" : 13,
-            "key.offset" : 136
-          }
-        ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
-        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> ListLayout<\/decl.name> : AnyListLayout<\/ref.protocol><\/decl.protocol>",
-        "key.inheritedtypes" : [
-          {
-            "key.name" : "AnyListLayout"
+            "key.offset" : 114
           }
         ],
-        "key.kind" : "source.lang.swift.decl.protocol",
-        "key.length" : 383,
-        "key.name" : "ListLayout",
-        "key.namelength" : 10,
-        "key.nameoffset" : 123,
-        "key.offset" : 114,
-        "key.parsed_declaration" : "public protocol ListLayout : AnyListLayout",
-        "key.parsed_scope.end" : 25,
+        "key.bodylength" : 7212,
+        "key.bodyoffset" : 152,
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> ListLayoutContent<\/decl.name><\/decl.class>",
+        "key.kind" : "source.lang.swift.decl.class",
+        "key.length" : 7238,
+        "key.name" : "ListLayoutContent",
+        "key.namelength" : 17,
+        "key.nameoffset" : 133,
+        "key.offset" : 127,
+        "key.parsed_declaration" : "public final class ListLayoutContent",
+        "key.parsed_scope.end" : 223,
         "key.parsed_scope.start" : 11,
         "key.substructure" : [
           {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "associatedtype LayoutAppearance : ListLayoutAppearance<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
-            "key.fully_annotated_decl" : "associatedtype<\/syntaxtype.keyword> LayoutAppearance<\/decl.name> : ListLayoutAppearance<\/ref.protocol><\/decl.associatedtype>",
-            "key.kind" : "source.lang.swift.decl.associatedtype",
-            "key.length" : 52,
-            "key.name" : "LayoutAppearance",
-            "key.namelength" : 16,
-            "key.nameoffset" : 171,
-            "key.offset" : 156,
-            "key.parsed_declaration" : "associatedtype LayoutAppearance:ListLayoutAppearance",
+            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.annotated_decl" : "var contentSize: CGSize<\/Type><\/Declaration>",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> contentSize<\/decl.name>: CGSize<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 24,
+            "key.name" : "contentSize",
+            "key.namelength" : 11,
+            "key.nameoffset" : 161,
+            "key.offset" : 157,
+            "key.parsed_declaration" : "var contentSize : CGSize",
             "key.parsed_scope.end" : 13,
             "key.parsed_scope.start" : 13,
-            "key.typename" : "Self.LayoutAppearance.Type",
-            "key.typeusr" : "$s16LayoutAppearance10ListableUI04ListA0PQzmD",
-            "key.usr" : "s:10ListableUI10ListLayoutP0D10AppearanceQa"
+            "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
+            "key.typename" : "CGSize",
+            "key.typeusr" : "$sSo6CGSizeVD",
+            "key.usr" : "s:10ListableUI17ListLayoutContentC11contentSizeSo6CGSizeVvp"
           },
           {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "static var defaults: ListLayoutDefaults<\/Type> { get }<\/Declaration>",
-            "key.bodylength" : 5,
-            "key.bodyoffset" : 260,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
-            "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> var<\/syntaxtype.keyword> defaults<\/decl.name>: ListLayoutDefaults<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.static>",
-            "key.kind" : "source.lang.swift.decl.var.static",
-            "key.length" : 48,
-            "key.name" : "defaults",
-            "key.namelength" : 8,
-            "key.nameoffset" : 229,
-            "key.offset" : 218,
-            "key.parsed_declaration" : "static var defaults : ListLayoutDefaults",
+            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.annotated_decl" : "let header: SupplementaryItemInfo<\/Type><\/Declaration>",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+            "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> header<\/decl.name>: SupplementaryItemInfo<\/ref.class><\/decl.var.type><\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 34,
+            "key.name" : "header",
+            "key.namelength" : 6,
+            "key.nameoffset" : 199,
+            "key.offset" : 195,
+            "key.parsed_declaration" : "let header : SupplementaryItemInfo",
             "key.parsed_scope.end" : 15,
             "key.parsed_scope.start" : 15,
-            "key.typename" : "ListLayoutDefaults",
-            "key.typeusr" : "$s10ListableUI18ListLayoutDefaultsVD",
-            "key.usr" : "s:10ListableUI10ListLayoutP8defaultsAA0cD8DefaultsVvpZ"
+            "key.typename" : "ListLayoutContent.SupplementaryItemInfo",
+            "key.typeusr" : "$s10ListableUI17ListLayoutContentC21SupplementaryItemInfoCD",
+            "key.usr" : "s:10ListableUI17ListLayoutContentC6headerAC21SupplementaryItemInfoCvp"
           },
           {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "var layoutAppearance: LayoutAppearance<\/Type> { get }<\/Declaration>",
-            "key.bodylength" : 5,
-            "key.bodyoffset" : 317,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
-            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> layoutAppearance<\/decl.name>: LayoutAppearance<\/ref.associatedtype><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
+            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.annotated_decl" : "let footer: SupplementaryItemInfo<\/Type><\/Declaration>",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+            "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> footer<\/decl.name>: SupplementaryItemInfo<\/ref.class><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 47,
-            "key.name" : "layoutAppearance",
-            "key.namelength" : 16,
-            "key.nameoffset" : 280,
-            "key.offset" : 276,
-            "key.parsed_declaration" : "var layoutAppearance : LayoutAppearance",
-            "key.parsed_scope.end" : 17,
-            "key.parsed_scope.start" : 17,
-            "key.typename" : "Self.LayoutAppearance",
-            "key.typeusr" : "$s16LayoutAppearance10ListableUI04ListA0PQzD",
-            "key.usr" : "s:10ListableUI10ListLayoutP16layoutAppearance0dF0Qzvp"
+            "key.length" : 34,
+            "key.name" : "footer",
+            "key.namelength" : 6,
+            "key.nameoffset" : 238,
+            "key.offset" : 234,
+            "key.parsed_declaration" : "let footer : SupplementaryItemInfo",
+            "key.parsed_scope.end" : 16,
+            "key.parsed_scope.start" : 16,
+            "key.typename" : "ListLayoutContent.SupplementaryItemInfo",
+            "key.typeusr" : "$s10ListableUI17ListLayoutContentC21SupplementaryItemInfoCD",
+            "key.usr" : "s:10ListableUI17ListLayoutContentC6footerAC21SupplementaryItemInfoCvp"
           },
           {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "init(layoutAppearance: LayoutAppearance<\/Type>, appearance: Appearance<\/Type>, behavior: Behavior<\/Type>, content: ListLayoutContent<\/Type>)<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
-            "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(layoutAppearance<\/decl.var.parameter.argument_label>: LayoutAppearance<\/ref.associatedtype><\/decl.var.parameter.type><\/decl.var.parameter>, appearance<\/decl.var.parameter.argument_label>: Appearance<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, behavior<\/decl.var.parameter.argument_label>: Behavior<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, content<\/decl.var.parameter.argument_label>: ListLayoutContent<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
-            "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 154,
-            "key.name" : "init(layoutAppearance:appearance:behavior:content:)",
-            "key.namelength" : 154,
-            "key.nameoffset" : 341,
-            "key.offset" : 341,
-            "key.parsed_declaration" : "init(\n    layoutAppearance : LayoutAppearance,\n    appearance : Appearance,\n    behavior : Behavior,\n    content : ListLayoutContent\n)",
-            "key.parsed_scope.end" : 19,
-            "key.parsed_scope.start" : 19,
-            "key.substructure" : [
-
-            ],
-            "key.typename" : " (Self.Type) -> (Self.LayoutAppearance, Appearance, Behavior, ListLayoutContent) -> Self",
-            "key.typeusr" : "$s16layoutAppearance10appearance8behavior7contentx06LayoutB0Qz_10ListableUI0B0VAG8BehaviorVAG04ListF7ContentCtcD",
-            "key.usr" : "s:10ListableUI10ListLayoutP16layoutAppearance10appearance8behavior7contentx0dF0Qz_AA0F0VAA8BehaviorVAA0cD7ContentCtcfc"
-          }
-        ],
-        "key.typename" : "ListLayout.Protocol",
-        "key.typeusr" : "$s10ListableUI10ListLayout_pmD",
-        "key.usr" : "s:10ListableUI10ListLayoutP"
-      },
-      {
-        "key.accessibility" : "source.lang.swift.accessibility.public",
-        "key.annotated_decl" : "public protocol ListLayout : AnyListLayout<\/Type><\/Declaration>",
-        "key.attributes" : [
+            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.annotated_decl" : "let overscrollFooter: SupplementaryItemInfo<\/Type><\/Declaration>",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+            "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> overscrollFooter<\/decl.name>: SupplementaryItemInfo<\/ref.class><\/decl.var.type><\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 44,
+            "key.name" : "overscrollFooter",
+            "key.namelength" : 16,
+            "key.nameoffset" : 282,
+            "key.offset" : 278,
+            "key.parsed_declaration" : "let overscrollFooter : SupplementaryItemInfo",
+            "key.parsed_scope.end" : 18,
+            "key.parsed_scope.start" : 18,
+            "key.typename" : "ListLayoutContent.SupplementaryItemInfo",
+            "key.typeusr" : "$s10ListableUI17ListLayoutContentC21SupplementaryItemInfoCD",
+            "key.usr" : "s:10ListableUI17ListLayoutContentC16overscrollFooterAC21SupplementaryItemInfoCvp"
+          },
           {
-            "key.attribute" : "source.decl.attribute.public",
-            "key.length" : 6,
-            "key.offset" : 500
-          }
-        ],
-        "key.bodylength" : 183,
-        "key.bodyoffset" : 529,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
-        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> ListLayout<\/decl.name> : AnyListLayout<\/ref.protocol><\/decl.protocol>",
-        "key.kind" : "source.lang.swift.decl.extension",
-        "key.length" : 206,
-        "key.name" : "ListLayout",
-        "key.namelength" : 10,
-        "key.nameoffset" : 517,
-        "key.offset" : 507,
-        "key.parsed_declaration" : "public extension ListLayout",
-        "key.parsed_scope.end" : 37,
-        "key.parsed_scope.start" : 28,
-        "key.substructure" : [
+            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.annotated_decl" : "let sections: [SectionInfo<\/Type>]<\/Declaration>",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+            "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> sections<\/decl.name>: [SectionInfo<\/ref.class>]<\/decl.var.type><\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 28,
+            "key.name" : "sections",
+            "key.namelength" : 8,
+            "key.nameoffset" : 336,
+            "key.offset" : 332,
+            "key.parsed_declaration" : "let sections : [SectionInfo]",
+            "key.parsed_scope.end" : 20,
+            "key.parsed_scope.start" : 20,
+            "key.typename" : "[ListLayoutContent.SectionInfo]",
+            "key.typeusr" : "$sSay10ListableUI17ListLayoutContentC11SectionInfoCGD",
+            "key.usr" : "s:10ListableUI17ListLayoutContentC8sectionsSayAC11SectionInfoCGvp"
+          },
           {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "var direction: LayoutDirection<\/Type> { get }<\/Declaration>",
-            "key.bodylength" : 45,
-            "key.bodyoffset" : 566,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
-            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> direction<\/decl.name>: LayoutDirection<\/ref.enum><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
+            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.annotated_decl" : "var all: [ListLayoutContentItem<\/Type>] { get }<\/Declaration>",
+            "key.bodylength" : 296,
+            "key.bodyoffset" : 405,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> all<\/decl.name>: [ListLayoutContentItem<\/ref.protocol>]<\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 78,
-            "key.name" : "direction",
-            "key.namelength" : 9,
-            "key.nameoffset" : 538,
-            "key.offset" : 534,
-            "key.parsed_declaration" : "var direction: LayoutDirection",
-            "key.parsed_scope.end" : 32,
-            "key.parsed_scope.start" : 30,
+            "key.length" : 332,
+            "key.name" : "all",
+            "key.namelength" : 3,
+            "key.nameoffset" : 374,
+            "key.offset" : 370,
+            "key.parsed_declaration" : "var all : [ListLayoutContentItem]",
+            "key.parsed_scope.end" : 36,
+            "key.parsed_scope.start" : 22,
+            "key.typename" : "[ListLayoutContentItem]",
+            "key.typeusr" : "$sSay10ListableUI21ListLayoutContentItem_pGD",
+            "key.usr" : "s:10ListableUI17ListLayoutContentC3allSayAA0cdE4Item_pGvp"
+          },
+          {
+            "key.annotated_decl" : "var all: [ListLayoutContentItem<\/Type>]<\/Declaration>",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> all<\/decl.name>: [ListLayoutContentItem<\/ref.protocol>]<\/decl.var.type><\/decl.var.local>",
+            "key.kind" : "source.lang.swift.decl.var.local",
+            "key.length" : 38,
+            "key.name" : "all",
+            "key.namelength" : 3,
+            "key.nameoffset" : 418,
+            "key.offset" : 414,
+            "key.parsed_declaration" : "var all : [ListLayoutContentItem] = []",
+            "key.parsed_scope.end" : 23,
+            "key.parsed_scope.start" : 23,
             "key.related_decls" : [
               {
-                "key.annotated_decl" : "direction<\/RelatedName>"
+                "key.annotated_decl" : "all<\/RelatedName>"
               }
             ],
-            "key.typename" : "LayoutDirection",
-            "key.typeusr" : "$s10ListableUI15LayoutDirectionOD",
-            "key.usr" : "s:10ListableUI10ListLayoutPAAE9directionAA0D9DirectionOvp"
+            "key.typename" : "[ListLayoutContentItem]",
+            "key.typeusr" : "$sSay10ListableUI21ListLayoutContentItem_pGD",
+            "key.usr" : "s:10ListableUI17ListLayoutContentC3allSayAA0cdE4Item_pGvgADL_AFvp"
           },
           {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "var stickySectionHeaders: Bool<\/Type> { get }<\/Declaration>",
-            "key.bodylength" : 56,
-            "key.bodyoffset" : 654,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
-            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> stickySectionHeaders<\/decl.name>: Bool<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 89,
-            "key.name" : "stickySectionHeaders",
-            "key.namelength" : 20,
-            "key.nameoffset" : 626,
-            "key.offset" : 622,
-            "key.parsed_declaration" : "var stickySectionHeaders: Bool",
-            "key.parsed_scope.end" : 36,
-            "key.parsed_scope.start" : 34,
+            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.annotated_decl" : "init()<\/Declaration>",
+            "key.bodylength" : 288,
+            "key.bodyoffset" : 724,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+            "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>()<\/decl.function.constructor>",
+            "key.kind" : "source.lang.swift.decl.function.method.instance",
+            "key.length" : 301,
+            "key.name" : "init()",
+            "key.namelength" : 6,
+            "key.nameoffset" : 712,
+            "key.offset" : 712,
+            "key.parsed_declaration" : "init()",
+            "key.parsed_scope.end" : 47,
+            "key.parsed_scope.start" : 38,
             "key.related_decls" : [
               {
-                "key.annotated_decl" : "stickySectionHeaders<\/RelatedName>"
+                "key.annotated_decl" : "init(header:footer:overscrollFooter:sections:)<\/RelatedName>"
               }
             ],
-            "key.typename" : "Bool",
-            "key.typeusr" : "$sSbD",
-            "key.usr" : "s:10ListableUI10ListLayoutPAAE20stickySectionHeadersSbvp"
-          }
-        ],
-        "key.typename" : "ListLayout.Protocol",
-        "key.typeusr" : "$s10ListableUI10ListLayout_pmD",
-        "key.usr" : "s:10ListableUI10ListLayoutP"
-      },
-      {
-        "key.accessibility" : "source.lang.swift.accessibility.public",
-        "key.annotated_decl" : "public protocol AnyListLayout : AnyObject<\/Declaration>",
-        "key.attributes" : [
-          {
-            "key.attribute" : "source.decl.attribute.public",
-            "key.length" : 6,
-            "key.offset" : 716
-          }
-        ],
-        "key.bodylength" : 623,
-        "key.bodyoffset" : 759,
-        "key.elements" : [
-          {
-            "key.kind" : "source.lang.swift.structure.elem.typeref",
-            "key.length" : 9,
-            "key.offset" : 748
-          }
-        ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
-        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> AnyListLayout<\/decl.name> : AnyObject<\/decl.protocol>",
-        "key.inheritedtypes" : [
+            "key.substructure" : [
+
+            ],
+            "key.typename" : "(ListLayoutContent.Type) -> () -> ListLayoutContent",
+            "key.typeusr" : "$s10ListableUI17ListLayoutContentCycD",
+            "key.usr" : "s:10ListableUI17ListLayoutContentCACycfc"
+          },
           {
-            "key.name" : "AnyObject"
-          }
-        ],
-        "key.kind" : "source.lang.swift.decl.protocol",
-        "key.length" : 660,
-        "key.name" : "AnyListLayout",
-        "key.namelength" : 13,
-        "key.nameoffset" : 732,
-        "key.offset" : 723,
-        "key.parsed_declaration" : "public protocol AnyListLayout : AnyObject",
-        "key.parsed_scope.end" : 69,
-        "key.parsed_scope.start" : 40,
-        "key.substructure" : [
+            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.annotated_decl" : "init(header: SupplementaryItemInfo<\/Type>?, footer: SupplementaryItemInfo<\/Type>?, overscrollFooter: SupplementaryItemInfo<\/Type>?, sections: [SectionInfo<\/Type>])<\/Declaration>",
+            "key.bodylength" : 262,
+            "key.bodyoffset" : 1202,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+            "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(header<\/decl.var.parameter.argument_label>: SupplementaryItemInfo<\/ref.class>?<\/decl.var.parameter.type><\/decl.var.parameter>, footer<\/decl.var.parameter.argument_label>: SupplementaryItemInfo<\/ref.class>?<\/decl.var.parameter.type><\/decl.var.parameter>, overscrollFooter<\/decl.var.parameter.argument_label>: SupplementaryItemInfo<\/ref.class>?<\/decl.var.parameter.type><\/decl.var.parameter>, sections<\/decl.var.parameter.argument_label>: [SectionInfo<\/ref.class>]<\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
+            "key.kind" : "source.lang.swift.decl.function.method.instance",
+            "key.length" : 442,
+            "key.name" : "init(header:footer:overscrollFooter:sections:)",
+            "key.namelength" : 177,
+            "key.nameoffset" : 1023,
+            "key.offset" : 1023,
+            "key.parsed_declaration" : "init(\n    header : SupplementaryItemInfo?,\n    footer : SupplementaryItemInfo?,\n    overscrollFooter : SupplementaryItemInfo?,\n    sections : [SectionInfo]\n)",
+            "key.parsed_scope.end" : 61,
+            "key.parsed_scope.start" : 49,
+            "key.related_decls" : [
+              {
+                "key.annotated_decl" : "init()<\/RelatedName>"
+              }
+            ],
+            "key.substructure" : [
+
+            ],
+            "key.typename" : "(ListLayoutContent.Type) -> (ListLayoutContent.SupplementaryItemInfo?, ListLayoutContent.SupplementaryItemInfo?, ListLayoutContent.SupplementaryItemInfo?, [ListLayoutContent.SectionInfo]) -> ListLayoutContent",
+            "key.typeusr" : "$s6header6footer16overscrollFooter8sections10ListableUI17ListLayoutContentCAG21SupplementaryItemInfoCSg_A2JSayAG07SectionM0CGtcD",
+            "key.usr" : "s:10ListableUI17ListLayoutContentC6header6footer16overscrollFooter8sectionsA2C21SupplementaryItemInfoCSg_A2JSayAC07SectionM0CGtcfc"
+          },
           {
             "key.kind" : "source.lang.swift.syntaxtype.comment.mark",
             "key.length" : 23,
-            "key.name" : "MARK: Public Properties",
+            "key.name" : "MARK: Fetching Elements",
             "key.namelength" : 0,
             "key.nameoffset" : 0,
-            "key.offset" : 774
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "var appearance: Appearance<\/Type> { get }<\/Declaration>",
-            "key.bodylength" : 5,
-            "key.bodyoffset" : 843,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
-            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> appearance<\/decl.name>: Appearance<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 35,
-            "key.name" : "appearance",
-            "key.namelength" : 10,
-            "key.nameoffset" : 818,
-            "key.offset" : 814,
-            "key.parsed_declaration" : "var appearance : Appearance",
-            "key.parsed_scope.end" : 46,
-            "key.parsed_scope.start" : 46,
-            "key.typename" : "Appearance",
-            "key.typeusr" : "$s10ListableUI10AppearanceVD",
-            "key.usr" : "s:10ListableUI13AnyListLayoutP10appearanceAA10AppearanceVvp"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "var behavior: Behavior<\/Type> { get }<\/Declaration>",
-            "key.bodylength" : 5,
-            "key.bodyoffset" : 879,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
-            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> behavior<\/decl.name>: Behavior<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 31,
-            "key.name" : "behavior",
-            "key.namelength" : 8,
-            "key.nameoffset" : 858,
-            "key.offset" : 854,
-            "key.parsed_declaration" : "var behavior : Behavior",
-            "key.parsed_scope.end" : 47,
-            "key.parsed_scope.start" : 47,
-            "key.typename" : "Behavior",
-            "key.typeusr" : "$s10ListableUI8BehaviorVD",
-            "key.usr" : "s:10ListableUI13AnyListLayoutP8behaviorAA8BehaviorVvp"
+            "key.offset" : 1485
           },
           {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "var content: ListLayoutContent<\/Type> { get }<\/Declaration>",
-            "key.bodylength" : 5,
-            "key.bodyoffset" : 928,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
-            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> content<\/decl.name>: ListLayoutContent<\/ref.class><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 39,
-            "key.name" : "content",
-            "key.namelength" : 7,
-            "key.nameoffset" : 899,
-            "key.offset" : 895,
-            "key.parsed_declaration" : "var content : ListLayoutContent",
-            "key.parsed_scope.end" : 49,
-            "key.parsed_scope.start" : 49,
-            "key.typename" : "ListLayoutContent",
-            "key.typeusr" : "$s10ListableUI17ListLayoutContentCD",
-            "key.usr" : "s:10ListableUI13AnyListLayoutP7contentAA0dE7ContentCvp"
+            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.annotated_decl" : "func layoutAttributes(at indexPath: IndexPath<\/Type>) -> UICollectionViewLayoutAttributes<\/Type><\/Declaration>",
+            "key.bodylength" : 112,
+            "key.bodyoffset" : 1614,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> layoutAttributes<\/decl.name>(at<\/decl.var.parameter.argument_label> indexPath<\/decl.var.parameter.name>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> UICollectionViewLayoutAttributes<\/ref.class><\/decl.function.returntype><\/decl.function.method.instance>",
+            "key.kind" : "source.lang.swift.decl.function.method.instance",
+            "key.length" : 202,
+            "key.name" : "layoutAttributes(at:)",
+            "key.namelength" : 42,
+            "key.nameoffset" : 1530,
+            "key.offset" : 1525,
+            "key.parsed_declaration" : "func layoutAttributes(at indexPath : IndexPath) -> UICollectionViewLayoutAttributes",
+            "key.parsed_scope.end" : 72,
+            "key.parsed_scope.start" : 67,
+            "key.related_decls" : [
+              {
+                "key.annotated_decl" : "layoutAttributes(in:alwaysIncludeOverscroll:)<\/RelatedName>"
+              },
+              {
+                "key.annotated_decl" : "layoutAttributes<\/RelatedName>"
+              }
+            ],
+            "key.substructure" : [
+              {
+                "key.annotated_decl" : "let item: ListLayoutContent<\/Type>.ItemInfo<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> item<\/decl.name>: ListLayoutContent<\/ref.class>.ItemInfo<\/ref.class><\/decl.var.type><\/decl.var.local>",
+                "key.kind" : "source.lang.swift.decl.var.local",
+                "key.length" : 35,
+                "key.name" : "item",
+                "key.namelength" : 4,
+                "key.nameoffset" : 1627,
+                "key.offset" : 1623,
+                "key.parsed_declaration" : "let item = self.item(at: indexPath)",
+                "key.parsed_scope.end" : 69,
+                "key.parsed_scope.start" : 69,
+                "key.related_decls" : [
+                  {
+                    "key.annotated_decl" : "item(at:)<\/RelatedName>"
+                  }
+                ],
+                "key.typename" : "ListLayoutContent.ItemInfo",
+                "key.typeusr" : "$s10ListableUI17ListLayoutContentC8ItemInfoCD",
+                "key.usr" : "s:10ListableUI17ListLayoutContentC16layoutAttributes2atSo016UICollectionViewdG0C10Foundation9IndexPathV_tF4itemL_AC8ItemInfoCvp"
+              }
+            ],
+            "key.typename" : "(ListLayoutContent) -> (IndexPath) -> UICollectionViewLayoutAttributes",
+            "key.typeusr" : "$s2atSo32UICollectionViewLayoutAttributesC10Foundation9IndexPathV_tcD",
+            "key.usr" : "s:10ListableUI17ListLayoutContentC16layoutAttributes2atSo016UICollectionViewdG0C10Foundation9IndexPathV_tF"
           },
           {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "var scrollViewProperties: ListLayoutScrollViewProperties<\/Type> { get }<\/Declaration>",
-            "key.bodylength" : 5,
-            "key.bodyoffset" : 1011,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
-            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> scrollViewProperties<\/decl.name>: ListLayoutScrollViewProperties<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 65,
-            "key.name" : "scrollViewProperties",
-            "key.namelength" : 20,
-            "key.nameoffset" : 956,
-            "key.offset" : 952,
-            "key.parsed_declaration" : "var scrollViewProperties : ListLayoutScrollViewProperties",
-            "key.parsed_scope.end" : 51,
-            "key.parsed_scope.start" : 51,
-            "key.typename" : "ListLayoutScrollViewProperties",
-            "key.typeusr" : "$s10ListableUI30ListLayoutScrollViewPropertiesVD",
-            "key.usr" : "s:10ListableUI13AnyListLayoutP20scrollViewPropertiesAA0de6ScrollgH0Vvp"
+            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.annotated_decl" : "func item(at indexPath: IndexPath<\/Type>) -> ListLayoutContent<\/Type>.ItemInfo<\/Type><\/Declaration>",
+            "key.bodylength" : 75,
+            "key.bodyoffset" : 1808,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> item<\/decl.name>(at<\/decl.var.parameter.argument_label> indexPath<\/decl.var.parameter.name>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ListLayoutContent<\/ref.class>.ItemInfo<\/ref.class><\/decl.function.returntype><\/decl.function.method.instance>",
+            "key.kind" : "source.lang.swift.decl.function.method.instance",
+            "key.length" : 147,
+            "key.name" : "item(at:)",
+            "key.namelength" : 30,
+            "key.nameoffset" : 1742,
+            "key.offset" : 1737,
+            "key.parsed_declaration" : "func item(at indexPath : IndexPath) -> ListLayoutContent.ItemInfo",
+            "key.parsed_scope.end" : 77,
+            "key.parsed_scope.start" : 74,
+            "key.substructure" : [
+
+            ],
+            "key.typename" : "(ListLayoutContent) -> (IndexPath) -> ListLayoutContent.ItemInfo",
+            "key.typeusr" : "$s2at10ListableUI17ListLayoutContentC8ItemInfoC10Foundation9IndexPathV_tcD",
+            "key.usr" : "s:10ListableUI17ListLayoutContentC4item2atAC8ItemInfoC10Foundation9IndexPathV_tF"
           },
           {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "var direction: LayoutDirection<\/Type> { get }<\/Declaration>",
-            "key.bodylength" : 5,
-            "key.bodyoffset" : 1060,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
-            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> direction<\/decl.name>: LayoutDirection<\/ref.enum><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 39,
-            "key.name" : "direction",
-            "key.namelength" : 9,
-            "key.nameoffset" : 1031,
-            "key.offset" : 1027,
-            "key.parsed_declaration" : "var direction : LayoutDirection",
-            "key.parsed_scope.end" : 53,
-            "key.parsed_scope.start" : 53,
-            "key.typename" : "LayoutDirection",
-            "key.typeusr" : "$s10ListableUI15LayoutDirectionOD",
-            "key.usr" : "s:10ListableUI13AnyListLayoutP9directionAA0E9DirectionOvp"
+            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.annotated_decl" : "func supplementaryLayoutAttributes(of kind: String<\/Type>, at indexPath: IndexPath<\/Type>) -> UICollectionViewLayoutAttributes<\/Type>?<\/Declaration>",
+            "key.bodylength" : 580,
+            "key.bodyoffset" : 2015,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> supplementaryLayoutAttributes<\/decl.name>(of<\/decl.var.parameter.argument_label> kind<\/decl.var.parameter.name>: String<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, at<\/decl.var.parameter.argument_label> indexPath<\/decl.var.parameter.name>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> UICollectionViewLayoutAttributes<\/ref.class>?<\/decl.function.returntype><\/decl.function.method.instance>",
+            "key.kind" : "source.lang.swift.decl.function.method.instance",
+            "key.length" : 702,
+            "key.name" : "supplementaryLayoutAttributes(of:at:)",
+            "key.namelength" : 73,
+            "key.nameoffset" : 1899,
+            "key.offset" : 1894,
+            "key.parsed_declaration" : "func supplementaryLayoutAttributes(of kind : String, at indexPath : IndexPath) -> UICollectionViewLayoutAttributes?",
+            "key.parsed_scope.end" : 92,
+            "key.parsed_scope.start" : 79,
+            "key.substructure" : [
+              {
+                "key.annotated_decl" : "let section: ListLayoutContent<\/Type>.SectionInfo<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> section<\/decl.name>: ListLayoutContent<\/ref.class>.SectionInfo<\/ref.class><\/decl.var.type><\/decl.var.local>",
+                "key.kind" : "source.lang.swift.decl.var.local",
+                "key.length" : 46,
+                "key.name" : "section",
+                "key.namelength" : 7,
+                "key.nameoffset" : 2028,
+                "key.offset" : 2024,
+                "key.parsed_declaration" : "let section = self.sections[indexPath.section]",
+                "key.parsed_scope.end" : 81,
+                "key.parsed_scope.start" : 81,
+                "key.typename" : "ListLayoutContent.SectionInfo",
+                "key.typeusr" : "$s10ListableUI17ListLayoutContentC11SectionInfoCD",
+                "key.usr" : "s:10ListableUI17ListLayoutContentC013supplementaryD10Attributes2of2atSo016UICollectionViewdG0CSgSS_10Foundation9IndexPathVtF7sectionL_AC11SectionInfoCvp"
+              }
+            ],
+            "key.typename" : "(ListLayoutContent) -> (String, IndexPath) -> UICollectionViewLayoutAttributes?",
+            "key.typeusr" : "$s2of2atSo32UICollectionViewLayoutAttributesCSgSS_10Foundation9IndexPathVtcD",
+            "key.usr" : "s:10ListableUI17ListLayoutContentC013supplementaryD10Attributes2of2atSo016UICollectionViewdG0CSgSS_10Foundation9IndexPathVtF"
           },
           {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "var stickySectionHeaders: Bool<\/Type> { get }<\/Declaration>",
-            "key.bodylength" : 5,
-            "key.bodyoffset" : 1109,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
-            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> stickySectionHeaders<\/decl.name>: Bool<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 39,
-            "key.name" : "stickySectionHeaders",
-            "key.namelength" : 20,
-            "key.nameoffset" : 1080,
-            "key.offset" : 1076,
-            "key.parsed_declaration" : "var stickySectionHeaders : Bool",
-            "key.parsed_scope.end" : 55,
-            "key.parsed_scope.start" : 55,
-            "key.typename" : "Bool",
-            "key.typeusr" : "$sSbD",
-            "key.usr" : "s:10ListableUI13AnyListLayoutP20stickySectionHeadersSbvp"
+            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.annotated_decl" : "func layoutAttributes(in rect: CGRect<\/Type>, alwaysIncludeOverscroll: Bool<\/Type>) -> [UICollectionViewLayoutAttributes<\/Type>]<\/Declaration>",
+            "key.bodylength" : 2545,
+            "key.bodyoffset" : 2720,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> layoutAttributes<\/decl.name>(in<\/decl.var.parameter.argument_label> rect<\/decl.var.parameter.name>: CGRect<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, alwaysIncludeOverscroll<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> [UICollectionViewLayoutAttributes<\/ref.class>]<\/decl.function.returntype><\/decl.function.method.instance>",
+            "key.kind" : "source.lang.swift.decl.function.method.instance",
+            "key.length" : 2660,
+            "key.name" : "layoutAttributes(in:alwaysIncludeOverscroll:)",
+            "key.namelength" : 65,
+            "key.nameoffset" : 2611,
+            "key.offset" : 2606,
+            "key.parsed_declaration" : "func layoutAttributes(in rect: CGRect, alwaysIncludeOverscroll : Bool) -> [UICollectionViewLayoutAttributes]",
+            "key.parsed_scope.end" : 159,
+            "key.parsed_scope.start" : 94,
+            "key.related_decls" : [
+              {
+                "key.annotated_decl" : "layoutAttributes(at:)<\/RelatedName>"
+              },
+              {
+                "key.annotated_decl" : "layoutAttributes<\/RelatedName>"
+              }
+            ],
+            "key.substructure" : [
+              {
+                "key.annotated_decl" : "var attributes: [UICollectionViewLayoutAttributes<\/Type>]<\/Declaration>",
+                "key.doc.comment" : "Supplementary items are technically attached to index paths. Eg, list headers\nand footers are attached to (0,0), and section headers and footers are attached to\n(sectionIndex, 0). Because of this, we can't return any list headers or footers\nunless there's at least one section – the collection view will not have anything to\nattach them to, and will then crash.",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> attributes<\/decl.name>: [UICollectionViewLayoutAttributes<\/ref.class>]<\/decl.var.type><\/decl.var.local>",
+                "key.kind" : "source.lang.swift.decl.var.local",
+                "key.length" : 53,
+                "key.name" : "attributes",
+                "key.namelength" : 10,
+                "key.nameoffset" : 3259,
+                "key.offset" : 3255,
+                "key.parsed_declaration" : "var attributes = [UICollectionViewLayoutAttributes]()",
+                "key.parsed_scope.end" : 107,
+                "key.parsed_scope.start" : 107,
+                "key.typename" : "[UICollectionViewLayoutAttributes]",
+                "key.typeusr" : "$sSaySo32UICollectionViewLayoutAttributesCGD",
+                "key.usr" : "s:10ListableUI17ListLayoutContentC16layoutAttributes2in23alwaysIncludeOverscrollSaySo016UICollectionViewdG0CGSo6CGRectV_SbtF10attributesL_AIvp"
+              }
+            ],
+            "key.typename" : "(ListLayoutContent) -> (CGRect, Bool) -> [UICollectionViewLayoutAttributes]",
+            "key.typeusr" : "$s2in23alwaysIncludeOverscrollSaySo32UICollectionViewLayoutAttributesCGSo6CGRectV_SbtcD",
+            "key.usr" : "s:10ListableUI17ListLayoutContentC16layoutAttributes2in23alwaysIncludeOverscrollSaySo016UICollectionViewdG0CGSo6CGRectV_SbtF"
           },
           {
             "key.kind" : "source.lang.swift.syntaxtype.comment.mark",
@@ -43932,4385 +44088,5964 @@
             "key.name" : "MARK: Performing Layouts",
             "key.namelength" : 0,
             "key.nameoffset" : 0,
-            "key.offset" : 1135
+            "key.offset" : 5286
           },
           {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "func updateLayout(in collectionView: UICollectionView<\/Type>)<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
-            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> updateLayout<\/decl.name>(in<\/decl.var.parameter.argument_label> collectionView<\/decl.var.parameter.name>: UICollectionView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
+            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.annotated_decl" : "func setSectionContentsFrames()<\/Declaration>",
+            "key.bodylength" : 81,
+            "key.bodyoffset" : 5360,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> setSectionContentsFrames<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 55,
-            "key.name" : "updateLayout(in:)",
-            "key.namelength" : 50,
-            "key.nameoffset" : 1181,
-            "key.offset" : 1176,
-            "key.parsed_declaration" : "func updateLayout(in collectionView : UICollectionView)",
-            "key.parsed_scope.end" : 61,
-            "key.parsed_scope.start" : 61,
+            "key.length" : 115,
+            "key.name" : "setSectionContentsFrames()",
+            "key.namelength" : 26,
+            "key.nameoffset" : 5332,
+            "key.offset" : 5327,
+            "key.parsed_declaration" : "func setSectionContentsFrames()",
+            "key.parsed_scope.end" : 169,
+            "key.parsed_scope.start" : 165,
             "key.substructure" : [
 
             ],
-            "key.typename" : " (Self) -> (UICollectionView) -> ()",
-            "key.typeusr" : "$s2inySo16UICollectionViewC_tcD",
-            "key.usr" : "s:10ListableUI13AnyListLayoutP06updateE02inySo16UICollectionViewC_tF"
+            "key.typename" : "(ListLayoutContent) -> () -> ()",
+            "key.typeusr" : "$syycD",
+            "key.usr" : "s:10ListableUI17ListLayoutContentC24setSectionContentsFramesyyF"
           },
           {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "func layout(delegate: CollectionViewLayoutDelegate<\/Type>, in collectionView: UICollectionView<\/Type>)<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
-            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> layout<\/decl.name>(delegate<\/decl.var.parameter.argument_label>: CollectionViewLayoutDelegate<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>, in<\/decl.var.parameter.argument_label> collectionView<\/decl.var.parameter.name>: UICollectionView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
+            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.annotated_decl" : "func reindexLiveIndexPaths()<\/Declaration>",
+            "key.bodylength" : 252,
+            "key.bodyoffset" : 5486,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> reindexLiveIndexPaths<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 112,
-            "key.name" : "layout(delegate:in:)",
-            "key.namelength" : 107,
-            "key.nameoffset" : 1246,
-            "key.offset" : 1241,
-            "key.parsed_declaration" : "func layout(\n    delegate : CollectionViewLayoutDelegate,\n    in collectionView : UICollectionView\n)",
-            "key.parsed_scope.end" : 63,
-            "key.parsed_scope.start" : 63,
+            "key.length" : 287,
+            "key.name" : "reindexLiveIndexPaths()",
+            "key.namelength" : 23,
+            "key.nameoffset" : 5457,
+            "key.offset" : 5452,
+            "key.parsed_declaration" : "func reindexLiveIndexPaths()",
+            "key.parsed_scope.end" : 178,
+            "key.parsed_scope.start" : 171,
             "key.substructure" : [
 
             ],
-            "key.typename" : " (Self) -> (CollectionViewLayoutDelegate, UICollectionView) -> ()",
-            "key.typeusr" : "$s8delegate2iny10ListableUI28CollectionViewLayoutDelegate_p_So012UICollectionF0CtcD",
-            "key.usr" : "s:10ListableUI13AnyListLayoutP6layout8delegate2inyAA014CollectionViewE8Delegate_p_So012UICollectionJ0CtF"
+            "key.typename" : "(ListLayoutContent) -> () -> ()",
+            "key.typeusr" : "$syycD",
+            "key.usr" : "s:10ListableUI17ListLayoutContentC21reindexLiveIndexPathsyyF"
           },
           {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "func setZIndexes()<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
-            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> setZIndexes<\/decl.name>()<\/decl.function.method.instance>",
+            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.annotated_decl" : "func reindexDelegateProvidedIndexPaths()<\/Declaration>",
+            "key.bodylength" : 264,
+            "key.bodyoffset" : 5795,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> reindexDelegateProvidedIndexPaths<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 18,
-            "key.name" : "setZIndexes()",
-            "key.namelength" : 13,
-            "key.nameoffset" : 1368,
-            "key.offset" : 1363,
-            "key.parsed_declaration" : "func setZIndexes()",
-            "key.parsed_scope.end" : 68,
-            "key.parsed_scope.start" : 68,
+            "key.length" : 311,
+            "key.name" : "reindexDelegateProvidedIndexPaths()",
+            "key.namelength" : 35,
+            "key.nameoffset" : 5754,
+            "key.offset" : 5749,
+            "key.parsed_declaration" : "func reindexDelegateProvidedIndexPaths()",
+            "key.parsed_scope.end" : 187,
+            "key.parsed_scope.start" : 180,
+            "key.substructure" : [
+
+            ],
+            "key.typename" : "(ListLayoutContent) -> () -> ()",
+            "key.typeusr" : "$syycD",
+            "key.usr" : "s:10ListableUI17ListLayoutContentC33reindexDelegateProvidedIndexPathsyyF"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.annotated_decl" : "func move(from: IndexPath<\/Type>, to: IndexPath<\/Type>)<\/Declaration>",
+            "key.bodylength" : 253,
+            "key.bodyoffset" : 6119,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> move<\/decl.name>(from<\/decl.var.parameter.argument_label>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, to<\/decl.var.parameter.argument_label>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
+            "key.kind" : "source.lang.swift.decl.function.method.instance",
+            "key.length" : 303,
+            "key.name" : "move(from:to:)",
+            "key.namelength" : 38,
+            "key.nameoffset" : 6075,
+            "key.offset" : 6070,
+            "key.parsed_declaration" : "func move(from : IndexPath, to : IndexPath)",
+            "key.parsed_scope.end" : 199,
+            "key.parsed_scope.start" : 189,
+            "key.substructure" : [
+              {
+                "key.annotated_decl" : "let info: ListLayoutContent<\/Type>.ItemInfo<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> info<\/decl.name>: ListLayoutContent<\/ref.class>.ItemInfo<\/ref.class><\/decl.var.type><\/decl.var.local>",
+                "key.kind" : "source.lang.swift.decl.var.local",
+                "key.length" : 30,
+                "key.name" : "info",
+                "key.namelength" : 4,
+                "key.nameoffset" : 6202,
+                "key.offset" : 6198,
+                "key.parsed_declaration" : "let info = self.item(at: from)",
+                "key.parsed_scope.end" : 195,
+                "key.parsed_scope.start" : 195,
+                "key.typename" : "ListLayoutContent.ItemInfo",
+                "key.typeusr" : "$s10ListableUI17ListLayoutContentC8ItemInfoCD",
+                "key.usr" : "s:10ListableUI17ListLayoutContentC4move4from2toy10Foundation9IndexPathV_AItF4infoL_AC8ItemInfoCvp"
+              }
+            ],
+            "key.typename" : "(ListLayoutContent) -> (IndexPath, IndexPath) -> ()",
+            "key.typeusr" : "$s4from2toy10Foundation9IndexPathV_AEtcD",
+            "key.usr" : "s:10ListableUI17ListLayoutContentC4move4from2toy10Foundation9IndexPathV_AItF"
+          },
+          {
+            "key.kind" : "source.lang.swift.syntaxtype.comment.mark",
+            "key.length" : 17,
+            "key.name" : "MARK: Layout Data",
+            "key.namelength" : 0,
+            "key.nameoffset" : 0,
+            "key.offset" : 6393
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.annotated_decl" : "var layoutAttributes: ListLayoutAttributes<\/Type> { get }<\/Declaration>",
+            "key.bodylength" : 890,
+            "key.bodyoffset" : 6472,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> layoutAttributes<\/decl.name>: ListLayoutAttributes<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 936,
+            "key.name" : "layoutAttributes",
+            "key.namelength" : 16,
+            "key.nameoffset" : 6431,
+            "key.offset" : 6427,
+            "key.parsed_declaration" : "var layoutAttributes : ListLayoutAttributes",
+            "key.parsed_scope.end" : 222,
+            "key.parsed_scope.start" : 205,
             "key.related_decls" : [
               {
-                "key.annotated_decl" : "setZIndexes()<\/RelatedName>"
+                "key.annotated_decl" : "layoutAttributes(at:)<\/RelatedName>"
+              },
+              {
+                "key.annotated_decl" : "layoutAttributes(in:alwaysIncludeOverscroll:)<\/RelatedName>"
               }
             ],
-            "key.typename" : " (Self) -> () -> ()",
-            "key.typeusr" : "$syycD",
-            "key.usr" : "s:10ListableUI13AnyListLayoutP11setZIndexesyyF"
+            "key.typename" : "ListLayoutAttributes",
+            "key.typeusr" : "$s10ListableUI20ListLayoutAttributesVD",
+            "key.usr" : "s:10ListableUI17ListLayoutContentC16layoutAttributesAA0cdG0Vvp"
           }
         ],
-        "key.typename" : "AnyListLayout.Protocol",
-        "key.typeusr" : "$s10ListableUI13AnyListLayout_pmD",
-        "key.usr" : "s:10ListableUI13AnyListLayoutP"
+        "key.typename" : "ListLayoutContent.Type",
+        "key.typeusr" : "$s10ListableUI17ListLayoutContentCmD",
+        "key.usr" : "s:10ListableUI17ListLayoutContentC"
       },
       {
-        "key.accessibility" : "source.lang.swift.accessibility.public",
-        "key.annotated_decl" : "public protocol AnyListLayout : AnyObject<\/Declaration>",
-        "key.attributes" : [
+        "key.accessibility" : "source.lang.swift.accessibility.internal",
+        "key.annotated_decl" : "protocol ListLayoutContentItem : AnyObject<\/Declaration>",
+        "key.bodylength" : 137,
+        "key.bodyoffset" : 7412,
+        "key.elements" : [
           {
-            "key.attribute" : "source.decl.attribute.public",
-            "key.length" : 6,
-            "key.offset" : 1386
-          }
-        ],
-        "key.bodylength" : 460,
-        "key.bodyoffset" : 1418,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
-        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> AnyListLayout<\/decl.name> : AnyObject<\/decl.protocol>",
-        "key.kind" : "source.lang.swift.decl.extension",
-        "key.length" : 486,
-        "key.name" : "AnyListLayout",
-        "key.namelength" : 13,
-        "key.nameoffset" : 1403,
-        "key.offset" : 1393,
-        "key.parsed_declaration" : "public extension AnyListLayout",
-        "key.parsed_scope.end" : 91,
-        "key.parsed_scope.start" : 72,
-        "key.substructure" : [
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "func setZIndexes()<\/Declaration>",
-            "key.bodylength" : 429,
-            "key.bodyoffset" : 1447,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
-            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> setZIndexes<\/decl.name>()<\/decl.function.method.instance>",
-            "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 454,
-            "key.name" : "setZIndexes()",
-            "key.namelength" : 13,
-            "key.nameoffset" : 1428,
-            "key.offset" : 1423,
-            "key.parsed_declaration" : "func setZIndexes()",
-            "key.parsed_scope.end" : 90,
-            "key.parsed_scope.start" : 74,
-            "key.related_decls" : [
-              {
-                "key.annotated_decl" : "setZIndexes()<\/RelatedName>"
-              }
-            ],
-            "key.substructure" : [
-
-            ],
-            "key.typename" : " (Self) -> () -> ()",
-            "key.typeusr" : "$syycD",
-            "key.usr" : "s:10ListableUI13AnyListLayoutPAAE11setZIndexesyyF"
+            "key.kind" : "source.lang.swift.structure.elem.typeref",
+            "key.length" : 9,
+            "key.offset" : 7401
           }
         ],
-        "key.typename" : "AnyListLayout.Protocol",
-        "key.typeusr" : "$s10ListableUI13AnyListLayout_pmD",
-        "key.usr" : "s:10ListableUI13AnyListLayoutP"
-      },
-      {
-        "key.accessibility" : "source.lang.swift.accessibility.public",
-        "key.annotated_decl" : "public protocol AnyListLayout : AnyObject<\/Declaration>",
-        "key.attributes" : [
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+        "key.fully_annotated_decl" : "protocol<\/syntaxtype.keyword> ListLayoutContentItem<\/decl.name> : AnyObject<\/decl.protocol>",
+        "key.inheritedtypes" : [
           {
-            "key.attribute" : "source.decl.attribute.public",
-            "key.length" : 6,
-            "key.offset" : 1882
+            "key.name" : "AnyObject"
           }
         ],
-        "key.bodylength" : 391,
-        "key.bodyoffset" : 1914,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
-        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> AnyListLayout<\/decl.name> : AnyObject<\/decl.protocol>",
-        "key.kind" : "source.lang.swift.decl.extension",
-        "key.length" : 417,
-        "key.name" : "AnyListLayout",
-        "key.namelength" : 13,
-        "key.nameoffset" : 1899,
-        "key.offset" : 1889,
-        "key.parsed_declaration" : "public extension AnyListLayout",
-        "key.parsed_scope.end" : 105,
-        "key.parsed_scope.start" : 94,
+        "key.kind" : "source.lang.swift.decl.protocol",
+        "key.length" : 182,
+        "key.name" : "ListLayoutContentItem",
+        "key.namelength" : 21,
+        "key.nameoffset" : 7377,
+        "key.offset" : 7368,
+        "key.parsed_declaration" : "protocol ListLayoutContentItem : AnyObject",
+        "key.parsed_scope.end" : 233,
+        "key.parsed_scope.start" : 226,
         "key.substructure" : [
           {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "func visibleContentFrame(for collectionView: UICollectionView<\/Type>) -> CGRect<\/Type><\/Declaration>",
-            "key.bodylength" : 305,
-            "key.bodyoffset" : 1998,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
-            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> visibleContentFrame<\/decl.name>(for<\/decl.var.parameter.argument_label> collectionView<\/decl.var.parameter.name>: UICollectionView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGRect<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
-            "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 385,
-            "key.name" : "visibleContentFrame(for:)",
-            "key.namelength" : 58,
-            "key.nameoffset" : 1924,
-            "key.offset" : 1919,
-            "key.parsed_declaration" : "func visibleContentFrame(for collectionView : UICollectionView) -> CGRect",
-            "key.parsed_scope.end" : 104,
-            "key.parsed_scope.start" : 96,
-            "key.substructure" : [
-
-            ],
-            "key.typename" : " (Self) -> (UICollectionView) -> CGRect",
-            "key.typeusr" : "$s3forSo6CGRectVSo16UICollectionViewC_tcD",
-            "key.usr" : "s:10ListableUI13AnyListLayoutPAAE19visibleContentFrame3forSo6CGRectVSo16UICollectionViewC_tF"
+            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.annotated_decl" : "var size: CGSize<\/Type> { get set }<\/Declaration>",
+            "key.bodylength" : 9,
+            "key.bodyoffset" : 7436,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> size<\/decl.name>: CGSize<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 29,
+            "key.name" : "size",
+            "key.namelength" : 4,
+            "key.nameoffset" : 7421,
+            "key.offset" : 7417,
+            "key.parsed_declaration" : "var size : CGSize",
+            "key.parsed_scope.end" : 228,
+            "key.parsed_scope.start" : 228,
+            "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
+            "key.typename" : "CGSize",
+            "key.typeusr" : "$sSo6CGSizeVD",
+            "key.usr" : "s:10ListableUI21ListLayoutContentItemP4sizeSo6CGSizeVvp"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.annotated_decl" : "var x: CGFloat<\/Type> { get set }<\/Declaration>",
+            "key.bodylength" : 9,
+            "key.bodyoffset" : 7468,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> x<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 27,
+            "key.name" : "x",
+            "key.namelength" : 1,
+            "key.nameoffset" : 7455,
+            "key.offset" : 7451,
+            "key.parsed_declaration" : "var x : CGFloat",
+            "key.parsed_scope.end" : 229,
+            "key.parsed_scope.start" : 229,
+            "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
+            "key.typename" : "CGFloat",
+            "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
+            "key.usr" : "s:10ListableUI21ListLayoutContentItemP1x12CoreGraphics7CGFloatVvp"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.annotated_decl" : "var y: CGFloat<\/Type> { get set }<\/Declaration>",
+            "key.bodylength" : 9,
+            "key.bodyoffset" : 7500,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> y<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 27,
+            "key.name" : "y",
+            "key.namelength" : 1,
+            "key.nameoffset" : 7487,
+            "key.offset" : 7483,
+            "key.parsed_declaration" : "var y : CGFloat",
+            "key.parsed_scope.end" : 230,
+            "key.parsed_scope.start" : 230,
+            "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
+            "key.typename" : "CGFloat",
+            "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
+            "key.usr" : "s:10ListableUI21ListLayoutContentItemP1y12CoreGraphics7CGFloatVvp"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.annotated_decl" : "var zIndex: Int<\/Type> { get set }<\/Declaration>",
+            "key.bodylength" : 9,
+            "key.bodyoffset" : 7538,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> zIndex<\/decl.name>: Int<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 28,
+            "key.name" : "zIndex",
+            "key.namelength" : 6,
+            "key.nameoffset" : 7524,
+            "key.offset" : 7520,
+            "key.parsed_declaration" : "var zIndex : Int",
+            "key.parsed_scope.end" : 232,
+            "key.parsed_scope.start" : 232,
+            "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
+            "key.typename" : "Int",
+            "key.typeusr" : "$sSiD",
+            "key.usr" : "s:10ListableUI21ListLayoutContentItemP6zIndexSivp"
           }
         ],
-        "key.typename" : "AnyListLayout.Protocol",
-        "key.typeusr" : "$s10ListableUI13AnyListLayout_pmD",
-        "key.usr" : "s:10ListableUI13AnyListLayoutP"
+        "key.typename" : "ListLayoutContentItem.Protocol",
+        "key.typeusr" : "$s10ListableUI21ListLayoutContentItem_pmD",
+        "key.usr" : "s:10ListableUI21ListLayoutContentItemP"
       },
       {
         "key.accessibility" : "source.lang.swift.accessibility.public",
-        "key.annotated_decl" : "public protocol AnyListLayout : AnyObject<\/Declaration>",
+        "key.annotated_decl" : "public final class ListLayoutContent<\/Declaration>",
         "key.attributes" : [
           {
             "key.attribute" : "source.decl.attribute.public",
             "key.length" : 6,
-            "key.offset" : 2309
+            "key.offset" : 7553
           }
         ],
-        "key.bodylength" : 3390,
-        "key.bodyoffset" : 2341,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
-        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> AnyListLayout<\/decl.name> : AnyObject<\/decl.protocol>",
+        "key.bodylength" : 5305,
+        "key.bodyoffset" : 7589,
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> ListLayoutContent<\/decl.name><\/decl.class>",
         "key.kind" : "source.lang.swift.decl.extension",
-        "key.length" : 3416,
-        "key.name" : "AnyListLayout",
-        "key.namelength" : 13,
-        "key.nameoffset" : 2326,
-        "key.offset" : 2316,
-        "key.parsed_declaration" : "public extension AnyListLayout",
-        "key.parsed_scope.end" : 200,
-        "key.parsed_scope.start" : 108,
+        "key.length" : 5335,
+        "key.name" : "ListLayoutContent",
+        "key.namelength" : 17,
+        "key.nameoffset" : 7570,
+        "key.offset" : 7560,
+        "key.parsed_declaration" : "public extension ListLayoutContent",
+        "key.parsed_scope.end" : 421,
+        "key.parsed_scope.start" : 236,
         "key.substructure" : [
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "func positionStickySectionHeadersIfNeeded(in collectionView: UICollectionView<\/Type>)<\/Declaration>",
-            "key.bodylength" : 817,
-            "key.bodyoffset" : 2431,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
-            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> positionStickySectionHeadersIfNeeded<\/decl.name>(in<\/decl.var.parameter.argument_label> collectionView<\/decl.var.parameter.name>: UICollectionView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
-            "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 903,
-            "key.name" : "positionStickySectionHeadersIfNeeded(in:)",
-            "key.namelength" : 74,
-            "key.nameoffset" : 2351,
-            "key.offset" : 2346,
-            "key.parsed_declaration" : "func positionStickySectionHeadersIfNeeded(in collectionView : UICollectionView)",
-            "key.parsed_scope.end" : 135,
-            "key.parsed_scope.start" : 110,
-            "key.substructure" : [
+            "key.annotated_decl" : "final class SectionInfo<\/Declaration>",
+            "key.attributes" : [
               {
-                "key.annotated_decl" : "let visibleContentFrame: CGRect<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
-                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> visibleContentFrame<\/decl.name>: CGRect<\/ref.struct><\/decl.var.type><\/decl.var.local>",
-                "key.kind" : "source.lang.swift.decl.var.local",
-                "key.length" : 71,
-                "key.name" : "visibleContentFrame",
-                "key.namelength" : 19,
-                "key.nameoffset" : 2529,
-                "key.offset" : 2525,
-                "key.parsed_declaration" : "let visibleContentFrame = self.visibleContentFrame(for: collectionView)",
-                "key.parsed_scope.end" : 116,
-                "key.parsed_scope.start" : 116,
-                "key.related_decls" : [
-                  {
-                    "key.annotated_decl" : "visibleContentFrame(for:)<\/RelatedName>"
-                  }
-                ],
-                "key.typename" : "CGRect",
-                "key.typeusr" : "$sSo6CGRectVD",
-                "key.usr" : "s:10ListableUI13AnyListLayoutPAAE36positionStickySectionHeadersIfNeeded2inySo16UICollectionViewC_tF19visibleContentFrameL_So6CGRectVvp"
+                "key.attribute" : "source.decl.attribute.final",
+                "key.length" : 5,
+                "key.offset" : 7594
               }
             ],
-            "key.typename" : " (Self) -> (UICollectionView) -> ()",
-            "key.typeusr" : "$s2inySo16UICollectionViewC_tcD",
-            "key.usr" : "s:10ListableUI13AnyListLayoutPAAE36positionStickySectionHeadersIfNeeded2inySo16UICollectionViewC_tF"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "func updateOverscrollFooterPosition(in collectionView: UICollectionView<\/Type>)<\/Declaration>",
-            "key.bodylength" : 903,
-            "key.bodyoffset" : 3338,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
-            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> updateOverscrollFooterPosition<\/decl.name>(in<\/decl.var.parameter.argument_label> collectionView<\/decl.var.parameter.name>: UICollectionView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
-            "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 983,
-            "key.name" : "updateOverscrollFooterPosition(in:)",
-            "key.namelength" : 68,
-            "key.nameoffset" : 3264,
-            "key.offset" : 3259,
-            "key.parsed_declaration" : "func updateOverscrollFooterPosition(in collectionView : UICollectionView)",
-            "key.parsed_scope.end" : 157,
-            "key.parsed_scope.start" : 137,
+            "key.bodylength" : 1568,
+            "key.bodyoffset" : 7623,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+            "key.fully_annotated_decl" : "final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> SectionInfo<\/decl.name><\/decl.class>",
+            "key.kind" : "source.lang.swift.decl.class",
+            "key.length" : 1592,
+            "key.name" : "SectionInfo",
+            "key.namelength" : 11,
+            "key.nameoffset" : 7606,
+            "key.offset" : 7600,
+            "key.parsed_declaration" : "final class SectionInfo",
+            "key.parsed_scope.end" : 297,
+            "key.parsed_scope.start" : 238,
             "key.substructure" : [
               {
-                "key.annotated_decl" : "let footer: ListLayoutContent<\/Type>.SupplementaryItemInfo<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
-                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> footer<\/decl.name>: ListLayoutContent<\/ref.class>.SupplementaryItemInfo<\/ref.class><\/decl.var.type><\/decl.var.local>",
-                "key.kind" : "source.lang.swift.decl.var.local",
-                "key.length" : 42,
+                "key.accessibility" : "source.lang.swift.accessibility.internal",
+                "key.annotated_decl" : "let layouts: SectionLayouts<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> layouts<\/decl.name>: SectionLayouts<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 28,
+                "key.name" : "layouts",
+                "key.namelength" : 7,
+                "key.nameoffset" : 7636,
+                "key.offset" : 7632,
+                "key.parsed_declaration" : "let layouts : SectionLayouts",
+                "key.parsed_scope.end" : 240,
+                "key.parsed_scope.start" : 240,
+                "key.typename" : "SectionLayouts",
+                "key.typeusr" : "$s10ListableUI14SectionLayoutsVD",
+                "key.usr" : "s:10ListableUI17ListLayoutContentC11SectionInfoC7layoutsAA0F7LayoutsVvp"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.internal",
+                "key.annotated_decl" : "let header: SupplementaryItemInfo<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> header<\/decl.name>: SupplementaryItemInfo<\/ref.class><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 34,
+                "key.name" : "header",
+                "key.namelength" : 6,
+                "key.nameoffset" : 7682,
+                "key.offset" : 7678,
+                "key.parsed_declaration" : "let header : SupplementaryItemInfo",
+                "key.parsed_scope.end" : 242,
+                "key.parsed_scope.start" : 242,
+                "key.typename" : "ListLayoutContent.SupplementaryItemInfo",
+                "key.typeusr" : "$s10ListableUI17ListLayoutContentC21SupplementaryItemInfoCD",
+                "key.usr" : "s:10ListableUI17ListLayoutContentC11SectionInfoC6headerAC017SupplementaryItemG0Cvp"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.internal",
+                "key.annotated_decl" : "let footer: SupplementaryItemInfo<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> footer<\/decl.name>: SupplementaryItemInfo<\/ref.class><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 34,
                 "key.name" : "footer",
                 "key.namelength" : 6,
-                "key.nameoffset" : 3500,
-                "key.offset" : 3496,
-                "key.parsed_declaration" : "let footer = self.content.overscrollFooter",
-                "key.parsed_scope.end" : 144,
-                "key.parsed_scope.start" : 144,
+                "key.nameoffset" : 7725,
+                "key.offset" : 7721,
+                "key.parsed_declaration" : "let footer : SupplementaryItemInfo",
+                "key.parsed_scope.end" : 243,
+                "key.parsed_scope.start" : 243,
                 "key.typename" : "ListLayoutContent.SupplementaryItemInfo",
                 "key.typeusr" : "$s10ListableUI17ListLayoutContentC21SupplementaryItemInfoCD",
-                "key.usr" : "s:10ListableUI13AnyListLayoutPAAE30updateOverscrollFooterPosition2inySo16UICollectionViewC_tF6footerL_AA0dE7ContentC21SupplementaryItemInfoCvp"
+                "key.usr" : "s:10ListableUI17ListLayoutContentC11SectionInfoC6footerAC017SupplementaryItemG0Cvp"
               },
               {
-                "key.annotated_decl" : "let contentHeight: CGFloat<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
-                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> contentHeight<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.local>",
+                "key.accessibility" : "source.lang.swift.accessibility.internal",
+                "key.annotated_decl" : "var items: [ItemInfo<\/Type>]<\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> items<\/decl.name>: [ItemInfo<\/ref.class>]<\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 22,
+                "key.name" : "items",
+                "key.namelength" : 5,
+                "key.nameoffset" : 7785,
+                "key.offset" : 7781,
+                "key.parsed_declaration" : "var items : [ItemInfo]",
+                "key.parsed_scope.end" : 245,
+                "key.parsed_scope.start" : 245,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
+                "key.typename" : "[ListLayoutContent.ItemInfo]",
+                "key.typeusr" : "$sSay10ListableUI17ListLayoutContentC8ItemInfoCGD",
+                "key.usr" : "s:10ListableUI17ListLayoutContentC11SectionInfoC5itemsSayAC04ItemG0CGvp"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.internal",
+                "key.annotated_decl" : "var all: [ListLayoutContentItem<\/Type>] { get }<\/Declaration>",
+                "key.bodylength" : 335,
+                "key.bodyoffset" : 7856,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> all<\/decl.name>: [ListLayoutContentItem<\/ref.protocol>]<\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 371,
+                "key.name" : "all",
+                "key.namelength" : 3,
+                "key.nameoffset" : 7825,
+                "key.offset" : 7821,
+                "key.parsed_declaration" : "var all : [ListLayoutContentItem]",
+                "key.parsed_scope.end" : 261,
+                "key.parsed_scope.start" : 247,
+                "key.typename" : "[ListLayoutContentItem]",
+                "key.typeusr" : "$sSay10ListableUI21ListLayoutContentItem_pGD",
+                "key.usr" : "s:10ListableUI17ListLayoutContentC11SectionInfoC3allSayAA0cdE4Item_pGvp"
+              },
+              {
+                "key.annotated_decl" : "var all: [ListLayoutContentItem<\/Type>]<\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> all<\/decl.name>: [ListLayoutContentItem<\/ref.protocol>]<\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
-                "key.length" : 51,
-                "key.name" : "contentHeight",
+                "key.length" : 38,
+                "key.name" : "all",
+                "key.namelength" : 3,
+                "key.nameoffset" : 7873,
+                "key.offset" : 7869,
+                "key.parsed_declaration" : "var all : [ListLayoutContentItem] = []",
+                "key.parsed_scope.end" : 248,
+                "key.parsed_scope.start" : 248,
+                "key.related_decls" : [
+                  {
+                    "key.annotated_decl" : "all<\/RelatedName>"
+                  }
+                ],
+                "key.typename" : "[ListLayoutContentItem]",
+                "key.typeusr" : "$sSay10ListableUI21ListLayoutContentItem_pGD",
+                "key.usr" : "s:10ListableUI17ListLayoutContentC11SectionInfoC3allSayAA0cdE4Item_pGvgAFL_AHvp"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.internal",
+                "key.annotated_decl" : "private(set) var contentsFrame: CGRect<\/Type> { get }<\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.setter_access.private",
+                    "key.length" : 12,
+                    "key.offset" : 8210
+                  }
+                ],
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+                "key.fully_annotated_decl" : "private<\/syntaxtype.keyword>(set) var<\/syntaxtype.keyword> contentsFrame<\/decl.name>: CGRect<\/ref.struct><\/decl.var.type> { get }<\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 26,
+                "key.name" : "contentsFrame",
                 "key.namelength" : 13,
-                "key.nameoffset" : 3568,
-                "key.offset" : 3564,
-                "key.parsed_declaration" : "let contentHeight = self.content.contentSize.height",
-                "key.parsed_scope.end" : 146,
-                "key.parsed_scope.start" : 146,
-                "key.typename" : "CGFloat",
-                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
-                "key.usr" : "s:10ListableUI13AnyListLayoutPAAE30updateOverscrollFooterPosition2inySo16UICollectionViewC_tF13contentHeightL_12CoreGraphics7CGFloatVvp"
+                "key.nameoffset" : 8227,
+                "key.offset" : 8223,
+                "key.parsed_declaration" : "private(set) var contentsFrame : CGRect",
+                "key.parsed_scope.end" : 263,
+                "key.parsed_scope.start" : 263,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.private",
+                "key.typename" : "CGRect",
+                "key.typeusr" : "$sSo6CGRectVD",
+                "key.usr" : "s:10ListableUI17ListLayoutContentC11SectionInfoC13contentsFrameSo6CGRectVvp"
               },
               {
-                "key.annotated_decl" : "let viewHeight: CGFloat<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
-                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> viewHeight<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.local>",
-                "key.kind" : "source.lang.swift.decl.var.local",
-                "key.length" : 56,
-                "key.name" : "viewHeight",
-                "key.namelength" : 10,
-                "key.nameoffset" : 3628,
-                "key.offset" : 3624,
-                "key.parsed_declaration" : "let viewHeight = collectionView.contentFrame.size.height",
-                "key.parsed_scope.end" : 147,
-                "key.parsed_scope.start" : 147,
-                "key.typename" : "CGFloat",
-                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
-                "key.usr" : "s:10ListableUI13AnyListLayoutPAAE30updateOverscrollFooterPosition2inySo16UICollectionViewC_tF10viewHeightL_12CoreGraphics7CGFloatVvp"
+                "key.accessibility" : "source.lang.swift.accessibility.internal",
+                "key.annotated_decl" : "init(layouts: SectionLayouts<\/Type>, header: SupplementaryItemInfo<\/Type>?, footer: SupplementaryItemInfo<\/Type>?, items: [ItemInfo<\/Type>])<\/Declaration>",
+                "key.bodylength" : 271,
+                "key.bodyoffset" : 8451,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+                "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(layouts<\/decl.var.parameter.argument_label>: SectionLayouts<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, header<\/decl.var.parameter.argument_label>: SupplementaryItemInfo<\/ref.class>?<\/decl.var.parameter.type><\/decl.var.parameter>, footer<\/decl.var.parameter.argument_label>: SupplementaryItemInfo<\/ref.class>?<\/decl.var.parameter.type><\/decl.var.parameter>, items<\/decl.var.parameter.argument_label>: [ItemInfo<\/ref.class>]<\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
+                "key.kind" : "source.lang.swift.decl.function.method.instance",
+                "key.length" : 448,
+                "key.name" : "init(layouts:header:footer:items:)",
+                "key.namelength" : 174,
+                "key.nameoffset" : 8275,
+                "key.offset" : 8275,
+                "key.parsed_declaration" : "init(\n    layouts : SectionLayouts,\n    header : SupplementaryItemInfo?,\n    footer : SupplementaryItemInfo?,\n    items : [ItemInfo]\n)",
+                "key.parsed_scope.end" : 279,
+                "key.parsed_scope.start" : 265,
+                "key.substructure" : [
+
+                ],
+                "key.typename" : "(ListLayoutContent.SectionInfo.Type) -> (SectionLayouts, ListLayoutContent.SupplementaryItemInfo?, ListLayoutContent.SupplementaryItemInfo?, [ListLayoutContent.ItemInfo]) -> ListLayoutContent.SectionInfo",
+                "key.typeusr" : "$s7layouts6header6footer5items10ListableUI17ListLayoutContentC11SectionInfoCAE0J7LayoutsV_AG017SupplementaryItemK0CSgANSayAG0nK0CGtcD",
+                "key.usr" : "s:10ListableUI17ListLayoutContentC11SectionInfoC7layouts6header6footer5itemsAeA0F7LayoutsV_AC017SupplementaryItemG0CSgANSayAC0nG0CGtcfc"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.internal",
+                "key.annotated_decl" : "func setContentsFrame()<\/Declaration>",
+                "key.bodylength" : 419,
+                "key.bodyoffset" : 8766,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+                "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> setContentsFrame<\/decl.name>()<\/decl.function.method.instance>",
+                "key.kind" : "source.lang.swift.decl.function.method.instance",
+                "key.length" : 445,
+                "key.name" : "setContentsFrame()",
+                "key.namelength" : 18,
+                "key.nameoffset" : 8746,
+                "key.offset" : 8741,
+                "key.parsed_declaration" : "func setContentsFrame()",
+                "key.parsed_scope.end" : 296,
+                "key.parsed_scope.start" : 281,
+                "key.substructure" : [
+                  {
+                    "key.annotated_decl" : "var allFrames: [CGRect<\/Type>]<\/Declaration>",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+                    "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> allFrames<\/decl.name>: [CGRect<\/ref.struct>]<\/decl.var.type><\/decl.var.local>",
+                    "key.kind" : "source.lang.swift.decl.var.local",
+                    "key.length" : 29,
+                    "key.name" : "allFrames",
+                    "key.namelength" : 9,
+                    "key.nameoffset" : 8796,
+                    "key.offset" : 8792,
+                    "key.parsed_declaration" : "var allFrames : [CGRect] = []",
+                    "key.parsed_scope.end" : 283,
+                    "key.parsed_scope.start" : 283,
+                    "key.typename" : "[CGRect]",
+                    "key.typeusr" : "$sSaySo6CGRectVGD",
+                    "key.usr" : "s:10ListableUI17ListLayoutContentC11SectionInfoC16setContentsFrameyyF9allFramesL_SaySo6CGRectVGvp"
+                  }
+                ],
+                "key.typename" : "(ListLayoutContent.SectionInfo) -> () -> ()",
+                "key.typeusr" : "$syycD",
+                "key.usr" : "s:10ListableUI17ListLayoutContentC11SectionInfoC16setContentsFrameyyF"
               }
             ],
-            "key.typename" : " (Self) -> (UICollectionView) -> ()",
-            "key.typeusr" : "$s2inySo16UICollectionViewC_tcD",
-            "key.usr" : "s:10ListableUI13AnyListLayoutPAAE30updateOverscrollFooterPosition2inySo16UICollectionViewC_tF"
+            "key.typename" : "ListLayoutContent.SectionInfo.Type",
+            "key.typeusr" : "$s10ListableUI17ListLayoutContentC11SectionInfoCmD",
+            "key.usr" : "s:10ListableUI17ListLayoutContentC11SectionInfoC"
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "func adjustPositionsForLayoutUnderflow(in collectionView: UICollectionView<\/Type>)<\/Declaration>",
-            "key.bodylength" : 1395,
-            "key.bodyoffset" : 4334,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
-            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> adjustPositionsForLayoutUnderflow<\/decl.name>(in<\/decl.var.parameter.argument_label> collectionView<\/decl.var.parameter.name>: UICollectionView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
-            "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 1478,
-            "key.name" : "adjustPositionsForLayoutUnderflow(in:)",
-            "key.namelength" : 71,
-            "key.nameoffset" : 4257,
-            "key.offset" : 4252,
-            "key.parsed_declaration" : "func adjustPositionsForLayoutUnderflow(in collectionView : UICollectionView)",
-            "key.parsed_scope.end" : 199,
-            "key.parsed_scope.start" : 159,
-            "key.substructure" : [
+            "key.annotated_decl" : "final class SupplementaryItemInfo : ListLayoutContentItem<\/Type><\/Declaration>",
+            "key.attributes" : [
               {
-                "key.annotated_decl" : "let safeAreaInsets: CGFloat<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
-                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> safeAreaInsets<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.local>",
-                "key.kind" : "source.lang.swift.decl.var.local",
-                "key.length" : 312,
-                "key.name" : "safeAreaInsets",
-                "key.namelength" : 14,
-                "key.nameoffset" : 4607,
-                "key.offset" : 4603,
-                "key.parsed_declaration" : "let safeAreaInsets : CGFloat = {\n    switch self.direction {\n    case .vertical: return collectionView.safeAreaInsets.top + collectionView.safeAreaInsets.bottom\n    case .horizontal: return collectionView.safeAreaInsets.left + collectionView.safeAreaInsets.right\n    }\n}()",
-                "key.parsed_scope.end" : 168,
-                "key.parsed_scope.start" : 168,
-                "key.typename" : "CGFloat",
-                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
-                "key.usr" : "s:10ListableUI13AnyListLayoutPAAE018adjustPositionsForE9Underflow2inySo16UICollectionViewC_tF14safeAreaInsetsL_12CoreGraphics7CGFloatVvp"
-              },
+                "key.attribute" : "source.decl.attribute.final",
+                "key.length" : 5,
+                "key.offset" : 9198
+              }
+            ],
+            "key.bodylength" : 1938,
+            "key.bodyoffset" : 9261,
+            "key.elements" : [
               {
-                "key.annotated_decl" : "let contentHeight: CGFloat<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
-                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> contentHeight<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.local>",
-                "key.kind" : "source.lang.swift.decl.var.local",
-                "key.length" : 51,
-                "key.name" : "contentHeight",
-                "key.namelength" : 13,
-                "key.nameoffset" : 4937,
-                "key.offset" : 4933,
-                "key.parsed_declaration" : "let contentHeight = self.content.contentSize.height",
-                "key.parsed_scope.end" : 175,
-                "key.parsed_scope.start" : 175,
-                "key.typename" : "CGFloat",
-                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
-                "key.usr" : "s:10ListableUI13AnyListLayoutPAAE018adjustPositionsForE9Underflow2inySo16UICollectionViewC_tF13contentHeightL_12CoreGraphics7CGFloatVvp"
-              },
+                "key.kind" : "source.lang.swift.structure.elem.typeref",
+                "key.length" : 21,
+                "key.offset" : 9234
+              }
+            ],
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+            "key.fully_annotated_decl" : "final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> SupplementaryItemInfo<\/decl.name> : ListLayoutContentItem<\/ref.protocol><\/decl.class>",
+            "key.inheritedtypes" : [
               {
-                "key.annotated_decl" : "let viewHeight: CGFloat<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
-                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> viewHeight<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.local>",
-                "key.kind" : "source.lang.swift.decl.var.local",
-                "key.length" : 45,
-                "key.name" : "viewHeight",
-                "key.namelength" : 10,
-                "key.nameoffset" : 4997,
-                "key.offset" : 4993,
-                "key.parsed_declaration" : "let viewHeight = collectionView.bounds.height",
-                "key.parsed_scope.end" : 176,
-                "key.parsed_scope.start" : 176,
-                "key.typename" : "CGFloat",
-                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
-                "key.usr" : "s:10ListableUI13AnyListLayoutPAAE018adjustPositionsForE9Underflow2inySo16UICollectionViewC_tF10viewHeightL_12CoreGraphics7CGFloatVvp"
-              },
-              {
-                "key.annotated_decl" : "let additionalOffset: CGFloat<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayout.swift",
-                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> additionalOffset<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.local>",
-                "key.kind" : "source.lang.swift.decl.var.local",
-                "key.length" : 171,
-                "key.name" : "additionalOffset",
-                "key.namelength" : 16,
-                "key.nameoffset" : 5060,
-                "key.offset" : 5056,
-                "key.parsed_declaration" : "let additionalOffset = self.behavior.underflow.alignment.offsetFor(\n    contentHeight: contentHeight,\n    viewHeight: viewHeight - safeAreaInsets\n)",
-                "key.parsed_scope.end" : 178,
-                "key.parsed_scope.start" : 178,
-                "key.typename" : "CGFloat",
-                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
-                "key.usr" : "s:10ListableUI13AnyListLayoutPAAE018adjustPositionsForE9Underflow2inySo16UICollectionViewC_tF16additionalOffsetL_12CoreGraphics7CGFloatVvp"
+                "key.name" : "ListLayoutContentItem"
               }
             ],
-            "key.typename" : " (Self) -> (UICollectionView) -> ()",
-            "key.typeusr" : "$s2inySo16UICollectionViewC_tcD",
-            "key.usr" : "s:10ListableUI13AnyListLayoutPAAE018adjustPositionsForE9Underflow2inySo16UICollectionViewC_tF"
-          }
-        ],
-        "key.typename" : "AnyListLayout.Protocol",
-        "key.typeusr" : "$s10ListableUI13AnyListLayout_pmD",
-        "key.usr" : "s:10ListableUI13AnyListLayoutP"
-      }
-    ]
-  }
-}, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutAppearance.swift" : {
-    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
-    "key.length" : 309,
-    "key.offset" : 0,
-    "key.substructure" : [
-      {
-        "key.accessibility" : "source.lang.swift.accessibility.public",
-        "key.annotated_decl" : "public protocol ListLayoutAppearance : Equatable<\/Type><\/Declaration>",
-        "key.attributes" : [
-          {
-            "key.attribute" : "source.decl.attribute.public",
-            "key.length" : 6,
-            "key.offset" : 118
-          }
-        ],
-        "key.bodylength" : 139,
-        "key.bodyoffset" : 168,
-        "key.elements" : [
-          {
-            "key.kind" : "source.lang.swift.structure.elem.typeref",
-            "key.length" : 9,
-            "key.offset" : 157
-          }
-        ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutAppearance.swift",
-        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> ListLayoutAppearance<\/decl.name> : Equatable<\/ref.protocol><\/decl.protocol>",
-        "key.inheritedtypes" : [
-          {
-            "key.name" : "Equatable"
-          }
-        ],
-        "key.kind" : "source.lang.swift.decl.protocol",
-        "key.length" : 183,
-        "key.name" : "ListLayoutAppearance",
-        "key.namelength" : 20,
-        "key.nameoffset" : 134,
-        "key.offset" : 125,
-        "key.parsed_declaration" : "public protocol ListLayoutAppearance : Equatable",
-        "key.parsed_scope.end" : 18,
-        "key.parsed_scope.start" : 11,
-        "key.substructure" : [
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "static var `default`: Self<\/Type> { get }<\/Declaration>",
-            "key.bodylength" : 5,
-            "key.bodyoffset" : 202,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutAppearance.swift",
-            "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> var<\/syntaxtype.keyword> `default`<\/decl.name>: Self<\/ref.generic_type_param><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.static>",
-            "key.kind" : "source.lang.swift.decl.var.static",
-            "key.length" : 35,
-            "key.name" : "default",
-            "key.namelength" : 7,
-            "key.nameoffset" : 184,
-            "key.offset" : 173,
-            "key.parsed_declaration" : "static var `default` : Self",
-            "key.parsed_scope.end" : 13,
-            "key.parsed_scope.start" : 13,
-            "key.typename" : "Self",
-            "key.typeusr" : "$sxD",
-            "key.usr" : "s:10ListableUI20ListLayoutAppearanceP7defaultxvpZ"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "var direction: LayoutDirection<\/Type> { get }<\/Declaration>",
-            "key.bodylength" : 5,
-            "key.bodyoffset" : 251,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutAppearance.swift",
-            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> direction<\/decl.name>: LayoutDirection<\/ref.enum><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 39,
-            "key.name" : "direction",
-            "key.namelength" : 9,
-            "key.nameoffset" : 222,
-            "key.offset" : 218,
-            "key.parsed_declaration" : "var direction : LayoutDirection",
-            "key.parsed_scope.end" : 15,
-            "key.parsed_scope.start" : 15,
-            "key.typename" : "LayoutDirection",
-            "key.typeusr" : "$s10ListableUI15LayoutDirectionOD",
-            "key.usr" : "s:10ListableUI20ListLayoutAppearanceP9directionAA0D9DirectionOvp"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "var stickySectionHeaders: Bool<\/Type> { get }<\/Declaration>",
-            "key.bodylength" : 5,
-            "key.bodyoffset" : 300,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutAppearance.swift",
-            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> stickySectionHeaders<\/decl.name>: Bool<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 39,
-            "key.name" : "stickySectionHeaders",
-            "key.namelength" : 20,
-            "key.nameoffset" : 271,
-            "key.offset" : 267,
-            "key.parsed_declaration" : "var stickySectionHeaders : Bool",
-            "key.parsed_scope.end" : 17,
-            "key.parsed_scope.start" : 17,
-            "key.typename" : "Bool",
-            "key.typeusr" : "$sSbD",
-            "key.usr" : "s:10ListableUI20ListLayoutAppearanceP20stickySectionHeadersSbvp"
-          }
-        ],
-        "key.typename" : "ListLayoutAppearance.Protocol",
-        "key.typeusr" : "$s10ListableUI20ListLayoutAppearance_pmD",
-        "key.usr" : "s:10ListableUI20ListLayoutAppearanceP"
-      }
-    ]
-  }
-}, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutAttributes.swift" : {
-    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
-    "key.length" : 862,
-    "key.offset" : 0,
-    "key.substructure" : [
-      {
-        "key.accessibility" : "source.lang.swift.accessibility.public",
-        "key.annotated_decl" : "public struct ListLayoutAttributes : Equatable<\/Type><\/Declaration>",
-        "key.attributes" : [
-          {
-            "key.attribute" : "source.decl.attribute.public",
-            "key.length" : 6,
-            "key.offset" : 117
-          }
-        ],
-        "key.bodylength" : 525,
-        "key.bodyoffset" : 165,
-        "key.elements" : [
-          {
-            "key.kind" : "source.lang.swift.structure.elem.typeref",
-            "key.length" : 9,
-            "key.offset" : 154
-          }
-        ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutAttributes.swift",
-        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> ListLayoutAttributes<\/decl.name> : Equatable<\/ref.protocol><\/decl.struct>",
-        "key.inheritedtypes" : [
-          {
-            "key.name" : "Equatable"
-          }
-        ],
-        "key.kind" : "source.lang.swift.decl.struct",
-        "key.length" : 567,
-        "key.name" : "ListLayoutAttributes",
-        "key.namelength" : 20,
-        "key.nameoffset" : 131,
-        "key.offset" : 124,
-        "key.parsed_declaration" : "public struct ListLayoutAttributes : Equatable",
-        "key.parsed_scope.end" : 36,
-        "key.parsed_scope.start" : 11,
-        "key.substructure" : [
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.internal",
-            "key.annotated_decl" : "var contentSize: CGSize<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutAttributes.swift",
-            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> contentSize<\/decl.name>: CGSize<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 24,
-            "key.name" : "contentSize",
-            "key.namelength" : 11,
-            "key.nameoffset" : 179,
-            "key.offset" : 175,
-            "key.parsed_declaration" : "var contentSize : CGSize",
-            "key.parsed_scope.end" : 13,
-            "key.parsed_scope.start" : 13,
-            "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
-            "key.typename" : "CGSize",
-            "key.typeusr" : "$sSo6CGSizeVD",
-            "key.usr" : "s:10ListableUI20ListLayoutAttributesV11contentSizeSo6CGSizeVvp"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.internal",
-            "key.annotated_decl" : "var header: Supplementary<\/Type>?<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutAttributes.swift",
-            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> header<\/decl.name>: Supplementary<\/ref.struct>?<\/decl.var.type><\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 27,
-            "key.name" : "header",
-            "key.namelength" : 6,
-            "key.nameoffset" : 213,
-            "key.offset" : 209,
-            "key.parsed_declaration" : "var header : Supplementary?",
-            "key.parsed_scope.end" : 15,
-            "key.parsed_scope.start" : 15,
-            "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
-            "key.typename" : "ListLayoutAttributes.Supplementary?",
-            "key.typeusr" : "$s10ListableUI20ListLayoutAttributesV13SupplementaryVSgD",
-            "key.usr" : "s:10ListableUI20ListLayoutAttributesV6headerAC13SupplementaryVSgvp"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.internal",
-            "key.annotated_decl" : "var footer: Supplementary<\/Type>?<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutAttributes.swift",
-            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> footer<\/decl.name>: Supplementary<\/ref.struct>?<\/decl.var.type><\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 27,
-            "key.name" : "footer",
-            "key.namelength" : 6,
-            "key.nameoffset" : 245,
-            "key.offset" : 241,
-            "key.parsed_declaration" : "var footer : Supplementary?",
-            "key.parsed_scope.end" : 16,
-            "key.parsed_scope.start" : 16,
-            "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
-            "key.typename" : "ListLayoutAttributes.Supplementary?",
-            "key.typeusr" : "$s10ListableUI20ListLayoutAttributesV13SupplementaryVSgD",
-            "key.usr" : "s:10ListableUI20ListLayoutAttributesV6footerAC13SupplementaryVSgvp"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.internal",
-            "key.annotated_decl" : "var overscrollFooter: Supplementary<\/Type>?<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutAttributes.swift",
-            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> overscrollFooter<\/decl.name>: Supplementary<\/ref.struct>?<\/decl.var.type><\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 37,
-            "key.name" : "overscrollFooter",
-            "key.namelength" : 16,
-            "key.nameoffset" : 277,
-            "key.offset" : 273,
-            "key.parsed_declaration" : "var overscrollFooter : Supplementary?",
-            "key.parsed_scope.end" : 17,
-            "key.parsed_scope.start" : 17,
-            "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
-            "key.typename" : "ListLayoutAttributes.Supplementary?",
-            "key.typeusr" : "$s10ListableUI20ListLayoutAttributesV13SupplementaryVSgD",
-            "key.usr" : "s:10ListableUI20ListLayoutAttributesV16overscrollFooterAC13SupplementaryVSgvp"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.internal",
-            "key.annotated_decl" : "var sections: [Section<\/Type>]<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutAttributes.swift",
-            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> sections<\/decl.name>: [Section<\/ref.struct>]<\/decl.var.type><\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 24,
-            "key.name" : "sections",
-            "key.namelength" : 8,
-            "key.nameoffset" : 324,
-            "key.offset" : 320,
-            "key.parsed_declaration" : "var sections : [Section]",
-            "key.parsed_scope.end" : 19,
-            "key.parsed_scope.start" : 19,
-            "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
-            "key.typename" : "[ListLayoutAttributes.Section]",
-            "key.typeusr" : "$sSay10ListableUI20ListLayoutAttributesV7SectionVGD",
-            "key.usr" : "s:10ListableUI20ListLayoutAttributesV8sectionsSayAC7SectionVGvp"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public struct ListLayoutAttributes<\/Type>.Section : Equatable<\/Type><\/Declaration>",
-            "key.attributes" : [
+            "key.kind" : "source.lang.swift.decl.class",
+            "key.length" : 1996,
+            "key.name" : "SupplementaryItemInfo",
+            "key.namelength" : 21,
+            "key.nameoffset" : 9210,
+            "key.offset" : 9204,
+            "key.parsed_declaration" : "final class SupplementaryItemInfo : ListLayoutContentItem",
+            "key.parsed_scope.end" : 365,
+            "key.parsed_scope.start" : 299,
+            "key.substructure" : [
               {
-                "key.attribute" : "source.decl.attribute.public",
-                "key.length" : 6,
-                "key.offset" : 354
-              }
-            ],
-            "key.bodylength" : 140,
-            "key.bodyoffset" : 389,
-            "key.elements" : [
+                "key.accessibility" : "source.lang.swift.accessibility.internal",
+                "key.annotated_decl" : "static func empty(_ kind: SupplementaryKind<\/Type>) -> SupplementaryItemInfo<\/Type><\/Declaration>",
+                "key.bodylength" : 181,
+                "key.bodyoffset" : 9350,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+                "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> empty<\/decl.name>(_<\/decl.var.parameter.argument_label> kind<\/decl.var.parameter.name>: SupplementaryKind<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>) -> SupplementaryItemInfo<\/ref.class><\/decl.function.returntype><\/decl.function.method.static>",
+                "key.kind" : "source.lang.swift.decl.function.method.static",
+                "key.length" : 262,
+                "key.name" : "empty(_:)",
+                "key.namelength" : 33,
+                "key.nameoffset" : 9282,
+                "key.offset" : 9270,
+                "key.parsed_declaration" : "static func empty(_ kind : SupplementaryKind) -> SupplementaryItemInfo",
+                "key.parsed_scope.end" : 308,
+                "key.parsed_scope.start" : 301,
+                "key.substructure" : [
+
+                ],
+                "key.typename" : "(ListLayoutContent.SupplementaryItemInfo.Type) -> (SupplementaryKind) -> ListLayoutContent.SupplementaryItemInfo",
+                "key.typeusr" : "$sy10ListableUI17ListLayoutContentC21SupplementaryItemInfoCAA0F4KindOcD",
+                "key.usr" : "s:10ListableUI17ListLayoutContentC21SupplementaryItemInfoC5emptyyAeA0F4KindOFZ"
+              },
               {
-                "key.kind" : "source.lang.swift.structure.elem.typeref",
-                "key.length" : 9,
-                "key.offset" : 378
-              }
-            ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutAttributes.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> ListLayoutAttributes<\/ref.struct>.Section<\/decl.name> : Equatable<\/ref.protocol><\/decl.struct>",
-            "key.inheritedtypes" : [
+                "key.accessibility" : "source.lang.swift.accessibility.internal",
+                "key.annotated_decl" : "let kind: SupplementaryKind<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> kind<\/decl.name>: SupplementaryKind<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 28,
+                "key.name" : "kind",
+                "key.namelength" : 4,
+                "key.nameoffset" : 9554,
+                "key.offset" : 9550,
+                "key.parsed_declaration" : "let kind : SupplementaryKind",
+                "key.parsed_scope.end" : 310,
+                "key.parsed_scope.start" : 310,
+                "key.typename" : "SupplementaryKind",
+                "key.typeusr" : "$s10ListableUI17SupplementaryKindOD",
+                "key.usr" : "s:10ListableUI17ListLayoutContentC21SupplementaryItemInfoC4kindAA0F4KindOvp"
+              },
               {
-                "key.name" : "Equatable"
-              }
-            ],
-            "key.kind" : "source.lang.swift.decl.struct",
-            "key.length" : 169,
-            "key.name" : "Section",
-            "key.namelength" : 7,
-            "key.nameoffset" : 368,
-            "key.offset" : 361,
-            "key.parsed_declaration" : "public struct Section : Equatable",
-            "key.parsed_scope.end" : 27,
-            "key.parsed_scope.start" : 21,
-            "key.substructure" : [
+                "key.accessibility" : "source.lang.swift.accessibility.internal",
+                "key.annotated_decl" : "let layouts: HeaderFooterLayouts<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> layouts<\/decl.name>: HeaderFooterLayouts<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 33,
+                "key.name" : "layouts",
+                "key.namelength" : 7,
+                "key.nameoffset" : 9591,
+                "key.offset" : 9587,
+                "key.parsed_declaration" : "let layouts : HeaderFooterLayouts",
+                "key.parsed_scope.end" : 311,
+                "key.parsed_scope.start" : 311,
+                "key.typename" : "HeaderFooterLayouts",
+                "key.typeusr" : "$s10ListableUI19HeaderFooterLayoutsVD",
+                "key.usr" : "s:10ListableUI17ListLayoutContentC21SupplementaryItemInfoC7layoutsAA19HeaderFooterLayoutsVvp"
+              },
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "var frame: CGRect<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutAttributes.swift",
-                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> frame<\/decl.name>: CGRect<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+                "key.annotated_decl" : "let measurer: (Sizing<\/Type>.MeasureInfo<\/Type>) -> CGSize<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> measurer<\/decl.name>: (Sizing<\/ref.enum>.MeasureInfo<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGSize<\/ref.struct><\/decl.function.returntype><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 18,
-                "key.name" : "frame",
-                "key.namelength" : 5,
-                "key.nameoffset" : 402,
-                "key.offset" : 398,
-                "key.parsed_declaration" : "var frame : CGRect",
-                "key.parsed_scope.end" : 22,
-                "key.parsed_scope.start" : 22,
-                "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
-                "key.typename" : "CGRect",
-                "key.typeusr" : "$sSo6CGRectVD",
-                "key.usr" : "s:10ListableUI20ListLayoutAttributesV7SectionV5frameSo6CGRectVvp"
+                "key.length" : 45,
+                "key.name" : "measurer",
+                "key.namelength" : 8,
+                "key.nameoffset" : 9633,
+                "key.offset" : 9629,
+                "key.parsed_declaration" : "let measurer : (Sizing.MeasureInfo) -> CGSize",
+                "key.parsed_scope.end" : 312,
+                "key.parsed_scope.start" : 312,
+                "key.typename" : "(Sizing.MeasureInfo) -> CGSize",
+                "key.typeusr" : "$sySo6CGSizeV10ListableUI6SizingO11MeasureInfoVcD",
+                "key.usr" : "s:10ListableUI17ListLayoutContentC21SupplementaryItemInfoC8measurerySo6CGSizeVAA6SizingO07MeasureH0Vcvp"
               },
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "var header: Supplementary<\/Type>?<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutAttributes.swift",
-                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> header<\/decl.name>: Supplementary<\/ref.struct>?<\/decl.var.type><\/decl.var.instance>",
+                "key.annotated_decl" : "let isPopulated: Bool<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> isPopulated<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 27,
-                "key.name" : "header",
-                "key.namelength" : 6,
-                "key.nameoffset" : 438,
-                "key.offset" : 434,
-                "key.parsed_declaration" : "var header : Supplementary?",
-                "key.parsed_scope.end" : 24,
-                "key.parsed_scope.start" : 24,
-                "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
-                "key.typename" : "ListLayoutAttributes.Supplementary?",
-                "key.typeusr" : "$s10ListableUI20ListLayoutAttributesV13SupplementaryVSgD",
-                "key.usr" : "s:10ListableUI20ListLayoutAttributesV7SectionV6headerAC13SupplementaryVSgvp"
+                "key.length" : 22,
+                "key.name" : "isPopulated",
+                "key.namelength" : 11,
+                "key.nameoffset" : 9704,
+                "key.offset" : 9700,
+                "key.parsed_declaration" : "let isPopulated : Bool",
+                "key.parsed_scope.end" : 314,
+                "key.parsed_scope.start" : 314,
+                "key.typename" : "Bool",
+                "key.typeusr" : "$sSbD",
+                "key.usr" : "s:10ListableUI17ListLayoutContentC21SupplementaryItemInfoC11isPopulatedSbvp"
               },
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "var footer: Supplementary<\/Type>?<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutAttributes.swift",
-                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> footer<\/decl.name>: Supplementary<\/ref.struct>?<\/decl.var.type><\/decl.var.instance>",
+                "key.annotated_decl" : "var size: CGSize<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> size<\/decl.name>: CGSize<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 27,
-                "key.name" : "footer",
-                "key.namelength" : 6,
-                "key.nameoffset" : 474,
-                "key.offset" : 470,
-                "key.parsed_declaration" : "var footer : Supplementary?",
-                "key.parsed_scope.end" : 25,
-                "key.parsed_scope.start" : 25,
+                "key.length" : 25,
+                "key.name" : "size",
+                "key.namelength" : 4,
+                "key.nameoffset" : 9760,
+                "key.offset" : 9756,
+                "key.overrides" : [
+                  {
+                    "key.usr" : "s:10ListableUI21ListLayoutContentItemP4sizeSo6CGSizeVvp"
+                  }
+                ],
+                "key.parsed_declaration" : "var size : CGSize = .zero",
+                "key.parsed_scope.end" : 316,
+                "key.parsed_scope.start" : 316,
                 "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
-                "key.typename" : "ListLayoutAttributes.Supplementary?",
-                "key.typeusr" : "$s10ListableUI20ListLayoutAttributesV13SupplementaryVSgD",
-                "key.usr" : "s:10ListableUI20ListLayoutAttributesV7SectionV6footerAC13SupplementaryVSgvp"
+                "key.typename" : "CGSize",
+                "key.typeusr" : "$sSo6CGSizeVD",
+                "key.usr" : "s:10ListableUI17ListLayoutContentC21SupplementaryItemInfoC4sizeSo6CGSizeVvp"
               },
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "var items: [Item<\/Type>]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutAttributes.swift",
-                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> items<\/decl.name>: [Item<\/ref.struct>]<\/decl.var.type><\/decl.var.instance>",
+                "key.annotated_decl" : "var x: CGFloat<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> x<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 18,
-                "key.name" : "items",
-                "key.namelength" : 5,
-                "key.nameoffset" : 510,
-                "key.offset" : 506,
-                "key.parsed_declaration" : "var items : [Item]",
-                "key.parsed_scope.end" : 26,
-                "key.parsed_scope.start" : 26,
+                "key.length" : 23,
+                "key.name" : "x",
+                "key.namelength" : 1,
+                "key.nameoffset" : 9803,
+                "key.offset" : 9799,
+                "key.overrides" : [
+                  {
+                    "key.usr" : "s:10ListableUI21ListLayoutContentItemP1x12CoreGraphics7CGFloatVvp"
+                  }
+                ],
+                "key.parsed_declaration" : "var x : CGFloat = .zero",
+                "key.parsed_scope.end" : 318,
+                "key.parsed_scope.start" : 318,
                 "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
-                "key.typename" : "[ListLayoutAttributes.Item]",
-                "key.typeusr" : "$sSay10ListableUI20ListLayoutAttributesV4ItemVGD",
-                "key.usr" : "s:10ListableUI20ListLayoutAttributesV7SectionV5itemsSayAC4ItemVGvp"
-              }
-            ],
-            "key.typename" : "ListLayoutAttributes.Section.Type",
-            "key.typeusr" : "$s10ListableUI20ListLayoutAttributesV7SectionVmD",
-            "key.usr" : "s:10ListableUI20ListLayoutAttributesV7SectionV"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public struct ListLayoutAttributes<\/Type>.Supplementary : Equatable<\/Type><\/Declaration>",
-            "key.attributes" : [
-              {
-                "key.attribute" : "source.decl.attribute.public",
-                "key.length" : 6,
-                "key.offset" : 540
-              }
-            ],
-            "key.bodylength" : 32,
-            "key.bodyoffset" : 581,
-            "key.elements" : [
-              {
-                "key.kind" : "source.lang.swift.structure.elem.typeref",
-                "key.length" : 9,
-                "key.offset" : 570
-              }
-            ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutAttributes.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> ListLayoutAttributes<\/ref.struct>.Supplementary<\/decl.name> : Equatable<\/ref.protocol><\/decl.struct>",
-            "key.inheritedtypes" : [
-              {
-                "key.name" : "Equatable"
-              }
-            ],
-            "key.kind" : "source.lang.swift.decl.struct",
-            "key.length" : 67,
-            "key.name" : "Supplementary",
-            "key.namelength" : 13,
-            "key.nameoffset" : 554,
-            "key.offset" : 547,
-            "key.parsed_declaration" : "public struct Supplementary : Equatable",
-            "key.parsed_scope.end" : 31,
-            "key.parsed_scope.start" : 29,
-            "key.substructure" : [
+                "key.typename" : "CGFloat",
+                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
+                "key.usr" : "s:10ListableUI17ListLayoutContentC21SupplementaryItemInfoC1x12CoreGraphics7CGFloatVvp"
+              },
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "var frame: CGRect<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutAttributes.swift",
-                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> frame<\/decl.name>: CGRect<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+                "key.annotated_decl" : "var pinnedX: CGFloat<\/Type>?<\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> pinnedX<\/decl.name>: CGFloat<\/ref.struct>?<\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 18,
-                "key.name" : "frame",
-                "key.namelength" : 5,
-                "key.nameoffset" : 594,
-                "key.offset" : 590,
-                "key.parsed_declaration" : "var frame : CGRect",
-                "key.parsed_scope.end" : 30,
-                "key.parsed_scope.start" : 30,
-                "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
-                "key.typename" : "CGRect",
-                "key.typeusr" : "$sSo6CGRectVD",
-                "key.usr" : "s:10ListableUI20ListLayoutAttributesV13SupplementaryV5frameSo6CGRectVvp"
-              }
+                "key.length" : 28,
+                "key.name" : "pinnedX",
+                "key.namelength" : 7,
+                "key.nameoffset" : 9835,
+                "key.offset" : 9831,
+                "key.parsed_declaration" : "var pinnedX : CGFloat? = nil",
+                "key.parsed_scope.end" : 319,
+                "key.parsed_scope.start" : 319,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
+                "key.typename" : "CGFloat?",
+                "key.typeusr" : "$s12CoreGraphics7CGFloatVSgD",
+                "key.usr" : "s:10ListableUI17ListLayoutContentC21SupplementaryItemInfoC7pinnedX12CoreGraphics7CGFloatVSgvp"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.internal",
+                "key.annotated_decl" : "var y: CGFloat<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> y<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 23,
+                "key.name" : "y",
+                "key.namelength" : 1,
+                "key.nameoffset" : 9881,
+                "key.offset" : 9877,
+                "key.overrides" : [
+                  {
+                    "key.usr" : "s:10ListableUI21ListLayoutContentItemP1y12CoreGraphics7CGFloatVvp"
+                  }
+                ],
+                "key.parsed_declaration" : "var y : CGFloat = .zero",
+                "key.parsed_scope.end" : 321,
+                "key.parsed_scope.start" : 321,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
+                "key.typename" : "CGFloat",
+                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
+                "key.usr" : "s:10ListableUI17ListLayoutContentC21SupplementaryItemInfoC1y12CoreGraphics7CGFloatVvp"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.internal",
+                "key.annotated_decl" : "var pinnedY: CGFloat<\/Type>?<\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> pinnedY<\/decl.name>: CGFloat<\/ref.struct>?<\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 28,
+                "key.name" : "pinnedY",
+                "key.namelength" : 7,
+                "key.nameoffset" : 9913,
+                "key.offset" : 9909,
+                "key.parsed_declaration" : "var pinnedY : CGFloat? = nil",
+                "key.parsed_scope.end" : 322,
+                "key.parsed_scope.start" : 322,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
+                "key.typename" : "CGFloat?",
+                "key.typeusr" : "$s12CoreGraphics7CGFloatVSgD",
+                "key.usr" : "s:10ListableUI17ListLayoutContentC21SupplementaryItemInfoC7pinnedY12CoreGraphics7CGFloatVSgvp"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.internal",
+                "key.annotated_decl" : "var zIndex: Int<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> zIndex<\/decl.name>: Int<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 20,
+                "key.name" : "zIndex",
+                "key.namelength" : 6,
+                "key.nameoffset" : 9959,
+                "key.offset" : 9955,
+                "key.overrides" : [
+                  {
+                    "key.usr" : "s:10ListableUI21ListLayoutContentItemP6zIndexSivp"
+                  }
+                ],
+                "key.parsed_declaration" : "var zIndex : Int = 0",
+                "key.parsed_scope.end" : 324,
+                "key.parsed_scope.start" : 324,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
+                "key.typename" : "Int",
+                "key.typeusr" : "$sSiD",
+                "key.usr" : "s:10ListableUI17ListLayoutContentC21SupplementaryItemInfoC6zIndexSivp"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.internal",
+                "key.annotated_decl" : "var defaultFrame: CGRect<\/Type> { get }<\/Declaration>",
+                "key.bodylength" : 130,
+                "key.bodyoffset" : 10020,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> defaultFrame<\/decl.name>: CGRect<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 158,
+                "key.name" : "defaultFrame",
+                "key.namelength" : 12,
+                "key.nameoffset" : 9997,
+                "key.offset" : 9993,
+                "key.parsed_declaration" : "var defaultFrame : CGRect",
+                "key.parsed_scope.end" : 331,
+                "key.parsed_scope.start" : 326,
+                "key.typename" : "CGRect",
+                "key.typeusr" : "$sSo6CGRectVD",
+                "key.usr" : "s:10ListableUI17ListLayoutContentC21SupplementaryItemInfoC12defaultFrameSo6CGRectVvp"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.internal",
+                "key.annotated_decl" : "var visibleFrame: CGRect<\/Type> { get }<\/Declaration>",
+                "key.bodylength" : 220,
+                "key.bodyoffset" : 10196,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> visibleFrame<\/decl.name>: CGRect<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 248,
+                "key.name" : "visibleFrame",
+                "key.namelength" : 12,
+                "key.nameoffset" : 10173,
+                "key.offset" : 10169,
+                "key.parsed_declaration" : "var visibleFrame : CGRect",
+                "key.parsed_scope.end" : 341,
+                "key.parsed_scope.start" : 333,
+                "key.typename" : "CGRect",
+                "key.typeusr" : "$sSo6CGRectVD",
+                "key.usr" : "s:10ListableUI17ListLayoutContentC21SupplementaryItemInfoC12visibleFrameSo6CGRectVvp"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.internal",
+                "key.annotated_decl" : "init(kind: SupplementaryKind<\/Type>, layouts: HeaderFooterLayouts<\/Type>, isPopulated: Bool<\/Type>, measurer: @escaping (Sizing<\/Type>.MeasureInfo<\/Type>) -> CGSize<\/Type>)<\/Declaration>",
+                "key.bodylength" : 166,
+                "key.bodyoffset" : 10628,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+                "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(kind<\/decl.var.parameter.argument_label>: SupplementaryKind<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>, layouts<\/decl.var.parameter.argument_label>: HeaderFooterLayouts<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, isPopulated<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, measurer<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> (Sizing<\/ref.enum>.MeasureInfo<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGSize<\/ref.struct><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
+                "key.kind" : "source.lang.swift.decl.function.method.instance",
+                "key.length" : 360,
+                "key.name" : "init(kind:layouts:isPopulated:measurer:)",
+                "key.namelength" : 191,
+                "key.nameoffset" : 10435,
+                "key.offset" : 10435,
+                "key.parsed_declaration" : "init(\n    kind : SupplementaryKind,\n    layouts : HeaderFooterLayouts,\n    isPopulated: Bool,\n    measurer : @escaping (Sizing.MeasureInfo) -> CGSize\n)",
+                "key.parsed_scope.end" : 354,
+                "key.parsed_scope.start" : 343,
+                "key.substructure" : [
+
+                ],
+                "key.typename" : "(ListLayoutContent.SupplementaryItemInfo.Type) -> (SupplementaryKind, HeaderFooterLayouts, Bool, @escaping (Sizing.MeasureInfo) -> CGSize) -> ListLayoutContent.SupplementaryItemInfo",
+                "key.typeusr" : "$s4kind7layouts11isPopulated8measurer10ListableUI17ListLayoutContentC21SupplementaryItemInfoCAE0K4KindO_AE19HeaderFooterLayoutsVSbSo6CGSizeVAE6SizingO07MeasureM0VctcD",
+                "key.usr" : "s:10ListableUI17ListLayoutContentC21SupplementaryItemInfoC4kind7layouts11isPopulated8measurerAeA0F4KindO_AA19HeaderFooterLayoutsVSbSo6CGSizeVAA6SizingO07MeasureH0Vctcfc"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.internal",
+                "key.annotated_decl" : "func layoutAttributes(with indexPath: IndexPath<\/Type>) -> UICollectionViewLayoutAttributes<\/Type><\/Declaration>",
+                "key.bodylength" : 285,
+                "key.bodyoffset" : 10908,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+                "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> layoutAttributes<\/decl.name>(with<\/decl.var.parameter.argument_label> indexPath<\/decl.var.parameter.name>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> UICollectionViewLayoutAttributes<\/ref.class><\/decl.function.returntype><\/decl.function.method.instance>",
+                "key.kind" : "source.lang.swift.decl.function.method.instance",
+                "key.length" : 381,
+                "key.name" : "layoutAttributes(with:)",
+                "key.namelength" : 44,
+                "key.nameoffset" : 10818,
+                "key.offset" : 10813,
+                "key.parsed_declaration" : "func layoutAttributes(with indexPath : IndexPath) -> UICollectionViewLayoutAttributes",
+                "key.parsed_scope.end" : 364,
+                "key.parsed_scope.start" : 356,
+                "key.substructure" : [
+                  {
+                    "key.annotated_decl" : "let attributes: UICollectionViewLayoutAttributes<\/Type><\/Declaration>",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+                    "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> attributes<\/decl.name>: UICollectionViewLayoutAttributes<\/ref.class><\/decl.var.type><\/decl.var.local>",
+                    "key.kind" : "source.lang.swift.decl.var.local",
+                    "key.length" : 114,
+                    "key.name" : "attributes",
+                    "key.namelength" : 10,
+                    "key.nameoffset" : 10925,
+                    "key.offset" : 10921,
+                    "key.parsed_declaration" : "let attributes = UICollectionViewLayoutAttributes(forSupplementaryViewOfKind: self.kind.rawValue, with: indexPath)",
+                    "key.parsed_scope.end" : 358,
+                    "key.parsed_scope.start" : 358,
+                    "key.typename" : "UICollectionViewLayoutAttributes",
+                    "key.typeusr" : "$sSo32UICollectionViewLayoutAttributesCD",
+                    "key.usr" : "s:10ListableUI17ListLayoutContentC21SupplementaryItemInfoC16layoutAttributes4withSo016UICollectionViewdJ0C10Foundation9IndexPathV_tF10attributesL_AIvp"
+                  }
+                ],
+                "key.typename" : "(ListLayoutContent.SupplementaryItemInfo) -> (IndexPath) -> UICollectionViewLayoutAttributes",
+                "key.typeusr" : "$s4withSo32UICollectionViewLayoutAttributesC10Foundation9IndexPathV_tcD",
+                "key.usr" : "s:10ListableUI17ListLayoutContentC21SupplementaryItemInfoC16layoutAttributes4withSo016UICollectionViewdJ0C10Foundation9IndexPathV_tF"
+              }
             ],
-            "key.typename" : "ListLayoutAttributes.Supplementary.Type",
-            "key.typeusr" : "$s10ListableUI20ListLayoutAttributesV13SupplementaryVmD",
-            "key.usr" : "s:10ListableUI20ListLayoutAttributesV13SupplementaryV"
+            "key.typename" : "ListLayoutContent.SupplementaryItemInfo.Type",
+            "key.typeusr" : "$s10ListableUI17ListLayoutContentC21SupplementaryItemInfoCmD",
+            "key.usr" : "s:10ListableUI17ListLayoutContentC21SupplementaryItemInfoC"
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public struct ListLayoutAttributes<\/Type>.Item : Equatable<\/Type><\/Declaration>",
+            "key.annotated_decl" : "final class ItemInfo : ListLayoutContentItem<\/Type><\/Declaration>",
             "key.attributes" : [
               {
-                "key.attribute" : "source.decl.attribute.public",
-                "key.length" : 6,
-                "key.offset" : 624
+                "key.attribute" : "source.decl.attribute.final",
+                "key.length" : 5,
+                "key.offset" : 11211
               }
             ],
-            "key.bodylength" : 32,
-            "key.bodyoffset" : 656,
+            "key.bodylength" : 1631,
+            "key.bodyoffset" : 11261,
             "key.elements" : [
               {
                 "key.kind" : "source.lang.swift.structure.elem.typeref",
-                "key.length" : 9,
-                "key.offset" : 645
+                "key.length" : 21,
+                "key.offset" : 11234
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutAttributes.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> ListLayoutAttributes<\/ref.struct>.Item<\/decl.name> : Equatable<\/ref.protocol><\/decl.struct>",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+            "key.fully_annotated_decl" : "final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> ItemInfo<\/decl.name> : ListLayoutContentItem<\/ref.protocol><\/decl.class>",
             "key.inheritedtypes" : [
               {
-                "key.name" : "Equatable"
+                "key.name" : "ListLayoutContentItem"
               }
             ],
-            "key.kind" : "source.lang.swift.decl.struct",
-            "key.length" : 58,
-            "key.name" : "Item",
-            "key.namelength" : 4,
-            "key.nameoffset" : 638,
-            "key.offset" : 631,
-            "key.parsed_declaration" : "public struct Item : Equatable",
-            "key.parsed_scope.end" : 35,
-            "key.parsed_scope.start" : 33,
+            "key.kind" : "source.lang.swift.decl.class",
+            "key.length" : 1676,
+            "key.name" : "ItemInfo",
+            "key.namelength" : 8,
+            "key.nameoffset" : 11223,
+            "key.offset" : 11217,
+            "key.parsed_declaration" : "final class ItemInfo : ListLayoutContentItem",
+            "key.parsed_scope.end" : 420,
+            "key.parsed_scope.start" : 368,
             "key.substructure" : [
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "var frame: CGRect<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutAttributes.swift",
-                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> frame<\/decl.name>: CGRect<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+                "key.annotated_decl" : "var delegateProvidedIndexPath: IndexPath<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> delegateProvidedIndexPath<\/decl.name>: IndexPath<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 18,
+                "key.length" : 41,
+                "key.name" : "delegateProvidedIndexPath",
+                "key.namelength" : 25,
+                "key.nameoffset" : 11274,
+                "key.offset" : 11270,
+                "key.parsed_declaration" : "var delegateProvidedIndexPath : IndexPath",
+                "key.parsed_scope.end" : 370,
+                "key.parsed_scope.start" : 370,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
+                "key.typename" : "IndexPath",
+                "key.typeusr" : "$s10Foundation9IndexPathVD",
+                "key.usr" : "s:10ListableUI17ListLayoutContentC8ItemInfoC25delegateProvidedIndexPath10Foundation0jK0Vvp"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.internal",
+                "key.annotated_decl" : "var liveIndexPath: IndexPath<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> liveIndexPath<\/decl.name>: IndexPath<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 29,
+                "key.name" : "liveIndexPath",
+                "key.namelength" : 13,
+                "key.nameoffset" : 11324,
+                "key.offset" : 11320,
+                "key.parsed_declaration" : "var liveIndexPath : IndexPath",
+                "key.parsed_scope.end" : 371,
+                "key.parsed_scope.start" : 371,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
+                "key.typename" : "IndexPath",
+                "key.typeusr" : "$s10Foundation9IndexPathVD",
+                "key.usr" : "s:10ListableUI17ListLayoutContentC8ItemInfoC13liveIndexPath10Foundation0iJ0Vvp"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.internal",
+                "key.annotated_decl" : "let layouts: ItemLayouts<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> layouts<\/decl.name>: ItemLayouts<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 25,
+                "key.name" : "layouts",
+                "key.namelength" : 7,
+                "key.nameoffset" : 11371,
+                "key.offset" : 11367,
+                "key.parsed_declaration" : "let layouts : ItemLayouts",
+                "key.parsed_scope.end" : 373,
+                "key.parsed_scope.start" : 373,
+                "key.typename" : "ItemLayouts",
+                "key.typeusr" : "$s10ListableUI11ItemLayoutsVD",
+                "key.usr" : "s:10ListableUI17ListLayoutContentC8ItemInfoC7layoutsAA0F7LayoutsVvp"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.internal",
+                "key.annotated_decl" : "let insertAndRemoveAnimations: ItemInsertAndRemoveAnimations<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> insertAndRemoveAnimations<\/decl.name>: ItemInsertAndRemoveAnimations<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 61,
+                "key.name" : "insertAndRemoveAnimations",
+                "key.namelength" : 25,
+                "key.nameoffset" : 11414,
+                "key.offset" : 11410,
+                "key.parsed_declaration" : "let insertAndRemoveAnimations : ItemInsertAndRemoveAnimations",
+                "key.parsed_scope.end" : 375,
+                "key.parsed_scope.start" : 375,
+                "key.typename" : "ItemInsertAndRemoveAnimations",
+                "key.typeusr" : "$s10ListableUI29ItemInsertAndRemoveAnimationsVD",
+                "key.usr" : "s:10ListableUI17ListLayoutContentC8ItemInfoC25insertAndRemoveAnimationsAA0f6InsertijK0Vvp"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.internal",
+                "key.annotated_decl" : "let measurer: (Sizing<\/Type>.MeasureInfo<\/Type>) -> CGSize<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> measurer<\/decl.name>: (Sizing<\/ref.enum>.MeasureInfo<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGSize<\/ref.struct><\/decl.function.returntype><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 45,
+                "key.name" : "measurer",
+                "key.namelength" : 8,
+                "key.nameoffset" : 11484,
+                "key.offset" : 11480,
+                "key.parsed_declaration" : "let measurer : (Sizing.MeasureInfo) -> CGSize",
+                "key.parsed_scope.end" : 376,
+                "key.parsed_scope.start" : 376,
+                "key.typename" : "(Sizing.MeasureInfo) -> CGSize",
+                "key.typeusr" : "$sySo6CGSizeV10ListableUI6SizingO11MeasureInfoVcD",
+                "key.usr" : "s:10ListableUI17ListLayoutContentC8ItemInfoC8measurerySo6CGSizeVAA6SizingO07MeasureG0Vcvp"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.internal",
+                "key.annotated_decl" : "var position: ItemPosition<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> position<\/decl.name>: ItemPosition<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 37,
+                "key.name" : "position",
+                "key.namelength" : 8,
+                "key.nameoffset" : 11547,
+                "key.offset" : 11543,
+                "key.parsed_declaration" : "var position : ItemPosition = .single",
+                "key.parsed_scope.end" : 378,
+                "key.parsed_scope.start" : 378,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
+                "key.typename" : "ItemPosition",
+                "key.typeusr" : "$s10ListableUI12ItemPositionOD",
+                "key.usr" : "s:10ListableUI17ListLayoutContentC8ItemInfoC8positionAA0F8PositionOvp"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.internal",
+                "key.annotated_decl" : "var size: CGSize<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> size<\/decl.name>: CGSize<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 25,
+                "key.name" : "size",
+                "key.namelength" : 4,
+                "key.nameoffset" : 11610,
+                "key.offset" : 11606,
+                "key.overrides" : [
+                  {
+                    "key.usr" : "s:10ListableUI21ListLayoutContentItemP4sizeSo6CGSizeVvp"
+                  }
+                ],
+                "key.parsed_declaration" : "var size : CGSize = .zero",
+                "key.parsed_scope.end" : 380,
+                "key.parsed_scope.start" : 380,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
+                "key.typename" : "CGSize",
+                "key.typeusr" : "$sSo6CGSizeVD",
+                "key.usr" : "s:10ListableUI17ListLayoutContentC8ItemInfoC4sizeSo6CGSizeVvp"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.internal",
+                "key.annotated_decl" : "var x: CGFloat<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> x<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 23,
+                "key.name" : "x",
+                "key.namelength" : 1,
+                "key.nameoffset" : 11661,
+                "key.offset" : 11657,
+                "key.overrides" : [
+                  {
+                    "key.usr" : "s:10ListableUI21ListLayoutContentItemP1x12CoreGraphics7CGFloatVvp"
+                  }
+                ],
+                "key.parsed_declaration" : "var x : CGFloat = .zero",
+                "key.parsed_scope.end" : 382,
+                "key.parsed_scope.start" : 382,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
+                "key.typename" : "CGFloat",
+                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
+                "key.usr" : "s:10ListableUI17ListLayoutContentC8ItemInfoC1x12CoreGraphics7CGFloatVvp"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.internal",
+                "key.annotated_decl" : "var y: CGFloat<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> y<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 23,
+                "key.name" : "y",
+                "key.namelength" : 1,
+                "key.nameoffset" : 11693,
+                "key.offset" : 11689,
+                "key.overrides" : [
+                  {
+                    "key.usr" : "s:10ListableUI21ListLayoutContentItemP1y12CoreGraphics7CGFloatVvp"
+                  }
+                ],
+                "key.parsed_declaration" : "var y : CGFloat = .zero",
+                "key.parsed_scope.end" : 383,
+                "key.parsed_scope.start" : 383,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
+                "key.typename" : "CGFloat",
+                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
+                "key.usr" : "s:10ListableUI17ListLayoutContentC8ItemInfoC1y12CoreGraphics7CGFloatVvp"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.internal",
+                "key.annotated_decl" : "var zIndex: Int<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> zIndex<\/decl.name>: Int<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 20,
+                "key.name" : "zIndex",
+                "key.namelength" : 6,
+                "key.nameoffset" : 11734,
+                "key.offset" : 11730,
+                "key.overrides" : [
+                  {
+                    "key.usr" : "s:10ListableUI21ListLayoutContentItemP6zIndexSivp"
+                  }
+                ],
+                "key.parsed_declaration" : "var zIndex : Int = 0",
+                "key.parsed_scope.end" : 385,
+                "key.parsed_scope.start" : 385,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
+                "key.typename" : "Int",
+                "key.typeusr" : "$sSiD",
+                "key.usr" : "s:10ListableUI17ListLayoutContentC8ItemInfoC6zIndexSivp"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.internal",
+                "key.annotated_decl" : "var frame: CGRect<\/Type> { get }<\/Declaration>",
+                "key.bodylength" : 130,
+                "key.bodyoffset" : 11788,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> frame<\/decl.name>: CGRect<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 151,
                 "key.name" : "frame",
                 "key.namelength" : 5,
-                "key.nameoffset" : 669,
-                "key.offset" : 665,
+                "key.nameoffset" : 11772,
+                "key.offset" : 11768,
                 "key.parsed_declaration" : "var frame : CGRect",
-                "key.parsed_scope.end" : 34,
-                "key.parsed_scope.start" : 34,
-                "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
+                "key.parsed_scope.end" : 392,
+                "key.parsed_scope.start" : 387,
                 "key.typename" : "CGRect",
                 "key.typeusr" : "$sSo6CGRectVD",
-                "key.usr" : "s:10ListableUI20ListLayoutAttributesV4ItemV5frameSo6CGRectVvp"
+                "key.usr" : "s:10ListableUI17ListLayoutContentC8ItemInfoC5frameSo6CGRectVvp"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.internal",
+                "key.annotated_decl" : "init(delegateProvidedIndexPath: IndexPath<\/Type>, liveIndexPath: IndexPath<\/Type>, layouts: ItemLayouts<\/Type>, insertAndRemoveAnimations: ItemInsertAndRemoveAnimations<\/Type>, measurer: @escaping (Sizing<\/Type>.MeasureInfo<\/Type>) -> CGSize<\/Type>)<\/Declaration>",
+                "key.bodylength" : 321,
+                "key.bodyoffset" : 12214,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+                "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(delegateProvidedIndexPath<\/decl.var.parameter.argument_label>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, liveIndexPath<\/decl.var.parameter.argument_label>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, layouts<\/decl.var.parameter.argument_label>: ItemLayouts<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, insertAndRemoveAnimations<\/decl.var.parameter.argument_label>: ItemInsertAndRemoveAnimations<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, measurer<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> (Sizing<\/ref.enum>.MeasureInfo<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGSize<\/ref.struct><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
+                "key.kind" : "source.lang.swift.decl.function.method.instance",
+                "key.length" : 599,
+                "key.name" : "init(delegateProvidedIndexPath:liveIndexPath:layouts:insertAndRemoveAnimations:measurer:)",
+                "key.namelength" : 275,
+                "key.nameoffset" : 11937,
+                "key.offset" : 11937,
+                "key.parsed_declaration" : "init(\n    delegateProvidedIndexPath : IndexPath,\n    liveIndexPath : IndexPath,\n    layouts : ItemLayouts,\n    insertAndRemoveAnimations : ItemInsertAndRemoveAnimations,\n    measurer : @escaping (Sizing.MeasureInfo) -> CGSize\n)",
+                "key.parsed_scope.end" : 409,
+                "key.parsed_scope.start" : 394,
+                "key.substructure" : [
+
+                ],
+                "key.typename" : "(ListLayoutContent.ItemInfo.Type) -> (IndexPath, IndexPath, ItemLayouts, ItemInsertAndRemoveAnimations, @escaping (Sizing.MeasureInfo) -> CGSize) -> ListLayoutContent.ItemInfo",
+                "key.typeusr" : "$s25delegateProvidedIndexPath04livecD07layouts25insertAndRemoveAnimations8measurer10ListableUI17ListLayoutContentC8ItemInfoC10Foundation0cD0V_AmF0Q7LayoutsVAF0q6InserthiJ0VSo6CGSizeVAF6SizingO07MeasureR0VctcD",
+                "key.usr" : "s:10ListableUI17ListLayoutContentC8ItemInfoC25delegateProvidedIndexPath04livejK07layouts25insertAndRemoveAnimations8measurerAE10Foundation0jK0V_AmA0F7LayoutsVAA0f6InsertopQ0VSo6CGSizeVAA6SizingO07MeasureG0Vctcfc"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.internal",
+                "key.annotated_decl" : "func layoutAttributes(with indexPath: IndexPath<\/Type>) -> UICollectionViewLayoutAttributes<\/Type><\/Declaration>",
+                "key.bodylength" : 237,
+                "key.bodyoffset" : 12649,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+                "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> layoutAttributes<\/decl.name>(with<\/decl.var.parameter.argument_label> indexPath<\/decl.var.parameter.name>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> UICollectionViewLayoutAttributes<\/ref.class><\/decl.function.returntype><\/decl.function.method.instance>",
+                "key.kind" : "source.lang.swift.decl.function.method.instance",
+                "key.length" : 333,
+                "key.name" : "layoutAttributes(with:)",
+                "key.namelength" : 44,
+                "key.nameoffset" : 12559,
+                "key.offset" : 12554,
+                "key.parsed_declaration" : "func layoutAttributes(with indexPath : IndexPath) -> UICollectionViewLayoutAttributes",
+                "key.parsed_scope.end" : 419,
+                "key.parsed_scope.start" : 411,
+                "key.substructure" : [
+                  {
+                    "key.annotated_decl" : "let attributes: UICollectionViewLayoutAttributes<\/Type><\/Declaration>",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+                    "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> attributes<\/decl.name>: UICollectionViewLayoutAttributes<\/ref.class><\/decl.var.type><\/decl.var.local>",
+                    "key.kind" : "source.lang.swift.decl.var.local",
+                    "key.length" : 73,
+                    "key.name" : "attributes",
+                    "key.namelength" : 10,
+                    "key.nameoffset" : 12666,
+                    "key.offset" : 12662,
+                    "key.parsed_declaration" : "let attributes = UICollectionViewLayoutAttributes(forCellWith: indexPath)",
+                    "key.parsed_scope.end" : 413,
+                    "key.parsed_scope.start" : 413,
+                    "key.typename" : "UICollectionViewLayoutAttributes",
+                    "key.typeusr" : "$sSo32UICollectionViewLayoutAttributesCD",
+                    "key.usr" : "s:10ListableUI17ListLayoutContentC8ItemInfoC16layoutAttributes4withSo016UICollectionViewdI0C10Foundation9IndexPathV_tF10attributesL_AIvp"
+                  }
+                ],
+                "key.typename" : "(ListLayoutContent.ItemInfo) -> (IndexPath) -> UICollectionViewLayoutAttributes",
+                "key.typeusr" : "$s4withSo32UICollectionViewLayoutAttributesC10Foundation9IndexPathV_tcD",
+                "key.usr" : "s:10ListableUI17ListLayoutContentC8ItemInfoC16layoutAttributes4withSo016UICollectionViewdI0C10Foundation9IndexPathV_tF"
               }
             ],
-            "key.typename" : "ListLayoutAttributes.Item.Type",
-            "key.typeusr" : "$s10ListableUI20ListLayoutAttributesV4ItemVmD",
-            "key.usr" : "s:10ListableUI20ListLayoutAttributesV4ItemV"
+            "key.typename" : "ListLayoutContent.ItemInfo.Type",
+            "key.typeusr" : "$s10ListableUI17ListLayoutContentC8ItemInfoCmD",
+            "key.usr" : "s:10ListableUI17ListLayoutContentC8ItemInfoC"
           }
         ],
-        "key.typename" : "ListLayoutAttributes.Type",
-        "key.typeusr" : "$s10ListableUI20ListLayoutAttributesVmD",
-        "key.usr" : "s:10ListableUI20ListLayoutAttributesV"
+        "key.typename" : "ListLayoutContent.Type",
+        "key.typeusr" : "$s10ListableUI17ListLayoutContentCmD",
+        "key.usr" : "s:10ListableUI17ListLayoutContentC"
       },
       {
-        "key.annotated_decl" : "public struct ListLayoutAttributes : Equatable<\/Type><\/Declaration>",
-        "key.bodylength" : 134,
-        "key.bodyoffset" : 726,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutAttributes.swift",
-        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> ListLayoutAttributes<\/decl.name> : Equatable<\/ref.protocol><\/decl.struct>",
+        "key.annotated_decl" : "struct CGRect<\/Declaration>",
+        "key.bodylength" : 383,
+        "key.bodyoffset" : 12916,
+        "key.filepath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneSimulator.platform\/Developer\/SDKs\/iPhoneSimulator14.2.sdk\/System\/Library\/Frameworks\/CoreGraphics.framework\/Headers\/CGGeometry.h",
+        "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> CGRect<\/decl.name><\/decl.struct>",
+        "key.is_system" : true,
         "key.kind" : "source.lang.swift.decl.extension",
-        "key.length" : 167,
-        "key.name" : "ListLayoutAttributes",
-        "key.namelength" : 20,
-        "key.nameoffset" : 704,
-        "key.offset" : 694,
-        "key.parsed_declaration" : "extension ListLayoutAttributes",
-        "key.parsed_scope.end" : 46,
-        "key.parsed_scope.start" : 39,
+        "key.length" : 402,
+        "key.modulename" : "CoreGraphics.CGGeometry",
+        "key.name" : "CGRect",
+        "key.namelength" : 6,
+        "key.nameoffset" : 12908,
+        "key.offset" : 12898,
+        "key.parsed_declaration" : "extension CGRect",
+        "key.parsed_scope.end" : 443,
+        "key.parsed_scope.start" : 424,
         "key.substructure" : [
           {
-            "key.annotated_decl" : "var stringRepresentation: String<\/Type> { get }<\/Declaration>",
-            "key.bodylength" : 92,
-            "key.bodyoffset" : 766,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutAttributes.swift",
-            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> stringRepresentation<\/decl.name>: String<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 128,
-            "key.name" : "stringRepresentation",
-            "key.namelength" : 20,
-            "key.nameoffset" : 735,
-            "key.offset" : 731,
-            "key.parsed_declaration" : "var stringRepresentation : String",
-            "key.parsed_scope.end" : 45,
-            "key.parsed_scope.start" : 40,
-            "key.typename" : "String",
-            "key.typeusr" : "$sSSD",
-            "key.usr" : "s:10ListableUI20ListLayoutAttributesV20stringRepresentationSSvp"
-          },
-          {
-            "key.annotated_decl" : "var output: String<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutAttributes.swift",
-            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> output<\/decl.name>: String<\/ref.struct><\/decl.var.type><\/decl.var.local>",
-            "key.kind" : "source.lang.swift.decl.var.local",
-            "key.length" : 15,
-            "key.name" : "output",
-            "key.namelength" : 6,
-            "key.nameoffset" : 779,
-            "key.offset" : 775,
-            "key.parsed_declaration" : "var output = \"\"",
-            "key.parsed_scope.end" : 41,
-            "key.parsed_scope.start" : 41,
-            "key.typename" : "String",
-            "key.typeusr" : "$sSSD",
-            "key.usr" : "s:10ListableUI20ListLayoutAttributesV20stringRepresentationSSvg6outputL_SSvp"
+            "key.annotated_decl" : "static func unioned(from rects: [CGRect<\/Type>]) -> CGRect<\/Type><\/Declaration>",
+            "key.bodylength" : 322,
+            "key.bodyoffset" : 12975,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+            "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> unioned<\/decl.name>(from<\/decl.var.parameter.argument_label> rects<\/decl.var.parameter.name>: [CGRect<\/ref.struct>]<\/decl.var.parameter.type><\/decl.var.parameter>) -> CGRect<\/ref.struct><\/decl.function.returntype><\/decl.function.method.static>",
+            "key.kind" : "source.lang.swift.decl.function.method.static",
+            "key.length" : 377,
+            "key.name" : "unioned(from:)",
+            "key.namelength" : 30,
+            "key.nameoffset" : 12933,
+            "key.offset" : 12921,
+            "key.parsed_declaration" : "static func unioned(from rects : [CGRect]) -> CGRect",
+            "key.parsed_scope.end" : 442,
+            "key.parsed_scope.start" : 425,
+            "key.substructure" : [
+              {
+                "key.annotated_decl" : "let rects: [CGRect<\/Type>]<\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> rects<\/decl.name>: [CGRect<\/ref.struct>]<\/decl.var.type><\/decl.var.local>",
+                "key.kind" : "source.lang.swift.decl.var.local",
+                "key.length" : 68,
+                "key.name" : "rects",
+                "key.namelength" : 5,
+                "key.nameoffset" : 12997,
+                "key.offset" : 12993,
+                "key.parsed_declaration" : "let rects = rects.filter {\n    $0.isEmpty == false\n}",
+                "key.parsed_scope.end" : 427,
+                "key.parsed_scope.start" : 427,
+                "key.typename" : "[CGRect]",
+                "key.typeusr" : "$sSaySo6CGRectVGD",
+                "key.usr" : "s:So6CGRectV10ListableUIE7unioned4fromABSayABG_tFZ5rectsL0_AFvp"
+              },
+              {
+                "key.annotated_decl" : "var frame: CGRect<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> frame<\/decl.name>: CGRect<\/ref.struct><\/decl.var.type><\/decl.var.local>",
+                "key.kind" : "source.lang.swift.decl.var.local",
+                "key.length" : 17,
+                "key.name" : "frame",
+                "key.namelength" : 5,
+                "key.nameoffset" : 13164,
+                "key.offset" : 13160,
+                "key.parsed_declaration" : "var frame = first",
+                "key.parsed_scope.end" : 435,
+                "key.parsed_scope.start" : 435,
+                "key.typename" : "CGRect",
+                "key.typeusr" : "$sSo6CGRectVD",
+                "key.usr" : "s:So6CGRectV10ListableUIE7unioned4fromABSayABG_tFZ5frameL_ABvp"
+              }
+            ],
+            "key.typename" : "(CGRect.Type) -> ([CGRect]) -> CGRect",
+            "key.typeusr" : "$s4fromSo6CGRectVSayACG_tcD",
+            "key.usr" : "s:So6CGRectV10ListableUIE7unioned4fromABSayABG_tFZ"
           }
         ],
-        "key.typename" : "ListLayoutAttributes.Type",
-        "key.typeusr" : "$s10ListableUI20ListLayoutAttributesVmD",
-        "key.usr" : "s:10ListableUI20ListLayoutAttributesV"
+        "key.typename" : "CGRect.Type",
+        "key.typeusr" : "$sSo6CGRectVmD",
+        "key.usr" : "c:@S@CGRect"
       }
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutDefaults.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
-    "key.length" : 13388,
+    "key.length" : 401,
     "key.offset" : 0,
     "key.substructure" : [
       {
         "key.accessibility" : "source.lang.swift.accessibility.public",
-        "key.annotated_decl" : "public final class ListLayoutContent<\/Declaration>",
+        "key.annotated_decl" : "public struct ListLayoutDefaults<\/Declaration>",
         "key.attributes" : [
-          {
-            "key.attribute" : "source.decl.attribute.final",
-            "key.length" : 5,
-            "key.offset" : 121
-          },
           {
             "key.attribute" : "source.decl.attribute.public",
             "key.length" : 6,
-            "key.offset" : 114
+            "key.offset" : 116
           }
         ],
-        "key.bodylength" : 7212,
-        "key.bodyoffset" : 152,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> ListLayoutContent<\/decl.name><\/decl.class>",
-        "key.kind" : "source.lang.swift.decl.class",
-        "key.length" : 7238,
-        "key.name" : "ListLayoutContent",
-        "key.namelength" : 17,
-        "key.nameoffset" : 133,
-        "key.offset" : 127,
-        "key.parsed_declaration" : "public final class ListLayoutContent",
-        "key.parsed_scope.end" : 223,
+        "key.bodylength" : 249,
+        "key.bodyoffset" : 150,
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutDefaults.swift",
+        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> ListLayoutDefaults<\/decl.name><\/decl.struct>",
+        "key.kind" : "source.lang.swift.decl.struct",
+        "key.length" : 277,
+        "key.name" : "ListLayoutDefaults",
+        "key.namelength" : 18,
+        "key.nameoffset" : 130,
+        "key.offset" : 123,
+        "key.parsed_declaration" : "public struct ListLayoutDefaults",
+        "key.parsed_scope.end" : 19,
         "key.parsed_scope.start" : 11,
         "key.substructure" : [
           {
-            "key.accessibility" : "source.lang.swift.accessibility.internal",
-            "key.annotated_decl" : "var contentSize: CGSize<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> contentSize<\/decl.name>: CGSize<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "public var itemInsertAndRemoveAnimations: ItemInsertAndRemoveAnimations<\/Type><\/Declaration>",
+            "key.attributes" : [
+              {
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 155
+              }
+            ],
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutDefaults.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> itemInsertAndRemoveAnimations<\/decl.name>: ItemInsertAndRemoveAnimations<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 24,
-            "key.name" : "contentSize",
-            "key.namelength" : 11,
-            "key.nameoffset" : 161,
-            "key.offset" : 157,
-            "key.parsed_declaration" : "var contentSize : CGSize",
+            "key.length" : 65,
+            "key.name" : "itemInsertAndRemoveAnimations",
+            "key.namelength" : 29,
+            "key.nameoffset" : 166,
+            "key.offset" : 162,
+            "key.parsed_declaration" : "public var itemInsertAndRemoveAnimations : ItemInsertAndRemoveAnimations",
             "key.parsed_scope.end" : 13,
             "key.parsed_scope.start" : 13,
-            "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
-            "key.typename" : "CGSize",
-            "key.typeusr" : "$sSo6CGSizeVD",
-            "key.usr" : "s:10ListableUI17ListLayoutContentC11contentSizeSo6CGSizeVvp"
+            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+            "key.typename" : "ItemInsertAndRemoveAnimations",
+            "key.typeusr" : "$s10ListableUI29ItemInsertAndRemoveAnimationsVD",
+            "key.usr" : "s:10ListableUI18ListLayoutDefaultsV29itemInsertAndRemoveAnimationsAA04ItemghiJ0Vvp"
           },
           {
-            "key.accessibility" : "source.lang.swift.accessibility.internal",
-            "key.annotated_decl" : "let header: SupplementaryItemInfo<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-            "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> header<\/decl.name>: SupplementaryItemInfo<\/ref.class><\/decl.var.type><\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 34,
-            "key.name" : "header",
-            "key.namelength" : 6,
-            "key.nameoffset" : 199,
-            "key.offset" : 195,
-            "key.parsed_declaration" : "let header : SupplementaryItemInfo",
-            "key.parsed_scope.end" : 15,
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "public init(itemInsertAndRemoveAnimations: ItemInsertAndRemoveAnimations<\/Type>)<\/Declaration>",
+            "key.attributes" : [
+              {
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 237
+              }
+            ],
+            "key.bodylength" : 80,
+            "key.bodyoffset" : 317,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutDefaults.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(itemInsertAndRemoveAnimations<\/decl.var.parameter.argument_label>: ItemInsertAndRemoveAnimations<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
+            "key.kind" : "source.lang.swift.decl.function.method.instance",
+            "key.length" : 154,
+            "key.name" : "init(itemInsertAndRemoveAnimations:)",
+            "key.namelength" : 67,
+            "key.nameoffset" : 244,
+            "key.offset" : 244,
+            "key.parsed_declaration" : "public init(itemInsertAndRemoveAnimations : ItemInsertAndRemoveAnimations)",
+            "key.parsed_scope.end" : 18,
             "key.parsed_scope.start" : 15,
-            "key.typename" : "ListLayoutContent.SupplementaryItemInfo",
-            "key.typeusr" : "$s10ListableUI17ListLayoutContentC21SupplementaryItemInfoCD",
-            "key.usr" : "s:10ListableUI17ListLayoutContentC6headerAC21SupplementaryItemInfoCvp"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.internal",
-            "key.annotated_decl" : "let footer: SupplementaryItemInfo<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-            "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> footer<\/decl.name>: SupplementaryItemInfo<\/ref.class><\/decl.var.type><\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 34,
-            "key.name" : "footer",
-            "key.namelength" : 6,
-            "key.nameoffset" : 238,
-            "key.offset" : 234,
-            "key.parsed_declaration" : "let footer : SupplementaryItemInfo",
-            "key.parsed_scope.end" : 16,
-            "key.parsed_scope.start" : 16,
-            "key.typename" : "ListLayoutContent.SupplementaryItemInfo",
-            "key.typeusr" : "$s10ListableUI17ListLayoutContentC21SupplementaryItemInfoCD",
-            "key.usr" : "s:10ListableUI17ListLayoutContentC6footerAC21SupplementaryItemInfoCvp"
-          },
+            "key.substructure" : [
+
+            ],
+            "key.typename" : "(ListLayoutDefaults.Type) -> (ItemInsertAndRemoveAnimations) -> ListLayoutDefaults",
+            "key.typeusr" : "$s29itemInsertAndRemoveAnimations10ListableUI18ListLayoutDefaultsVAB04ItembcdE0V_tcD",
+            "key.usr" : "s:10ListableUI18ListLayoutDefaultsV29itemInsertAndRemoveAnimationsAcA04ItemghiJ0V_tcfc"
+          }
+        ],
+        "key.typename" : "ListLayoutDefaults.Type",
+        "key.typeusr" : "$s10ListableUI18ListLayoutDefaultsVmD",
+        "key.usr" : "s:10ListableUI18ListLayoutDefaultsV"
+      }
+    ]
+  }
+}, {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutScrollViewProperties.swift" : {
+    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
+    "key.length" : 3804,
+    "key.offset" : 0,
+    "key.substructure" : [
+      {
+        "key.accessibility" : "source.lang.swift.accessibility.public",
+        "key.annotated_decl" : "public struct ListLayoutScrollViewProperties<\/Declaration>",
+        "key.attributes" : [
           {
-            "key.accessibility" : "source.lang.swift.accessibility.internal",
-            "key.annotated_decl" : "let overscrollFooter: SupplementaryItemInfo<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-            "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> overscrollFooter<\/decl.name>: SupplementaryItemInfo<\/ref.class><\/decl.var.type><\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 44,
-            "key.name" : "overscrollFooter",
-            "key.namelength" : 16,
-            "key.nameoffset" : 282,
-            "key.offset" : 278,
-            "key.parsed_declaration" : "let overscrollFooter : SupplementaryItemInfo",
-            "key.parsed_scope.end" : 18,
-            "key.parsed_scope.start" : 18,
-            "key.typename" : "ListLayoutContent.SupplementaryItemInfo",
-            "key.typeusr" : "$s10ListableUI17ListLayoutContentC21SupplementaryItemInfoCD",
-            "key.usr" : "s:10ListableUI17ListLayoutContentC16overscrollFooterAC21SupplementaryItemInfoCvp"
-          },
+            "key.attribute" : "source.decl.attribute.public",
+            "key.length" : 6,
+            "key.offset" : 122
+          }
+        ],
+        "key.bodylength" : 3634,
+        "key.bodyoffset" : 168,
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutScrollViewProperties.swift",
+        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> ListLayoutScrollViewProperties<\/decl.name><\/decl.struct>",
+        "key.kind" : "source.lang.swift.decl.struct",
+        "key.length" : 3674,
+        "key.name" : "ListLayoutScrollViewProperties",
+        "key.namelength" : 30,
+        "key.nameoffset" : 136,
+        "key.offset" : 129,
+        "key.parsed_declaration" : "public struct ListLayoutScrollViewProperties",
+        "key.parsed_scope.end" : 99,
+        "key.parsed_scope.start" : 11,
+        "key.substructure" : [
           {
-            "key.accessibility" : "source.lang.swift.accessibility.internal",
-            "key.annotated_decl" : "let sections: [SectionInfo<\/Type>]<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-            "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> sections<\/decl.name>: [SectionInfo<\/ref.class>]<\/decl.var.type><\/decl.var.instance>",
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "public var isPagingEnabled: Bool<\/Type><\/Declaration>",
+            "key.attributes" : [
+              {
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 173
+              }
+            ],
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutScrollViewProperties.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> isPagingEnabled<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 28,
-            "key.name" : "sections",
-            "key.namelength" : 8,
-            "key.nameoffset" : 336,
-            "key.offset" : 332,
-            "key.parsed_declaration" : "let sections : [SectionInfo]",
-            "key.parsed_scope.end" : 20,
-            "key.parsed_scope.start" : 20,
-            "key.typename" : "[ListLayoutContent.SectionInfo]",
-            "key.typeusr" : "$sSay10ListableUI17ListLayoutContentC11SectionInfoCGD",
-            "key.usr" : "s:10ListableUI17ListLayoutContentC8sectionsSayAC11SectionInfoCGvp"
+            "key.length" : 26,
+            "key.name" : "isPagingEnabled",
+            "key.namelength" : 15,
+            "key.nameoffset" : 184,
+            "key.offset" : 180,
+            "key.parsed_declaration" : "public var isPagingEnabled : Bool",
+            "key.parsed_scope.end" : 13,
+            "key.parsed_scope.start" : 13,
+            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+            "key.typename" : "Bool",
+            "key.typeusr" : "$sSbD",
+            "key.usr" : "s:10ListableUI30ListLayoutScrollViewPropertiesV15isPagingEnabledSbvp"
           },
           {
-            "key.accessibility" : "source.lang.swift.accessibility.internal",
-            "key.annotated_decl" : "var all: [ListLayoutContentItem<\/Type>] { get }<\/Declaration>",
-            "key.bodylength" : 296,
-            "key.bodyoffset" : 405,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> all<\/decl.name>: [ListLayoutContentItem<\/ref.protocol>]<\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "public var contentInsetAdjustmentBehavior: ContentInsetAdjustmentBehavior<\/Type><\/Declaration>",
+            "key.attributes" : [
+              {
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 216
+              }
+            ],
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutScrollViewProperties.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> contentInsetAdjustmentBehavior<\/decl.name>: ContentInsetAdjustmentBehavior<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 332,
-            "key.name" : "all",
-            "key.namelength" : 3,
-            "key.nameoffset" : 374,
-            "key.offset" : 370,
-            "key.parsed_declaration" : "var all : [ListLayoutContentItem]",
-            "key.parsed_scope.end" : 36,
-            "key.parsed_scope.start" : 22,
-            "key.typename" : "[ListLayoutContentItem]",
-            "key.typeusr" : "$sSay10ListableUI21ListLayoutContentItem_pGD",
-            "key.usr" : "s:10ListableUI17ListLayoutContentC3allSayAA0cdE4Item_pGvp"
+            "key.length" : 67,
+            "key.name" : "contentInsetAdjustmentBehavior",
+            "key.namelength" : 30,
+            "key.nameoffset" : 227,
+            "key.offset" : 223,
+            "key.parsed_declaration" : "public var contentInsetAdjustmentBehavior : ContentInsetAdjustmentBehavior",
+            "key.parsed_scope.end" : 15,
+            "key.parsed_scope.start" : 15,
+            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+            "key.typename" : "ListLayoutScrollViewProperties.ContentInsetAdjustmentBehavior",
+            "key.typeusr" : "$s10ListableUI30ListLayoutScrollViewPropertiesV30ContentInsetAdjustmentBehaviorOD",
+            "key.usr" : "s:10ListableUI30ListLayoutScrollViewPropertiesV30contentInsetAdjustmentBehaviorAC07ContentijK0Ovp"
           },
           {
-            "key.annotated_decl" : "var all: [ListLayoutContentItem<\/Type>]<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> all<\/decl.name>: [ListLayoutContentItem<\/ref.protocol>]<\/decl.var.type><\/decl.var.local>",
-            "key.kind" : "source.lang.swift.decl.var.local",
-            "key.length" : 38,
-            "key.name" : "all",
-            "key.namelength" : 3,
-            "key.nameoffset" : 418,
-            "key.offset" : 414,
-            "key.parsed_declaration" : "var all : [ListLayoutContentItem] = []",
-            "key.parsed_scope.end" : 23,
-            "key.parsed_scope.start" : 23,
-            "key.related_decls" : [
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "public var allowsBounceVertical: Bool<\/Type><\/Declaration>",
+            "key.attributes" : [
               {
-                "key.annotated_decl" : "all<\/RelatedName>"
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 300
               }
             ],
-            "key.typename" : "[ListLayoutContentItem]",
-            "key.typeusr" : "$sSay10ListableUI21ListLayoutContentItem_pGD",
-            "key.usr" : "s:10ListableUI17ListLayoutContentC3allSayAA0cdE4Item_pGvgADL_AFvp"
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutScrollViewProperties.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> allowsBounceVertical<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 31,
+            "key.name" : "allowsBounceVertical",
+            "key.namelength" : 20,
+            "key.nameoffset" : 311,
+            "key.offset" : 307,
+            "key.parsed_declaration" : "public var allowsBounceVertical : Bool",
+            "key.parsed_scope.end" : 17,
+            "key.parsed_scope.start" : 17,
+            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+            "key.typename" : "Bool",
+            "key.typeusr" : "$sSbD",
+            "key.usr" : "s:10ListableUI30ListLayoutScrollViewPropertiesV20allowsBounceVerticalSbvp"
           },
           {
-            "key.accessibility" : "source.lang.swift.accessibility.internal",
-            "key.annotated_decl" : "init()<\/Declaration>",
-            "key.bodylength" : 288,
-            "key.bodyoffset" : 724,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-            "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>()<\/decl.function.constructor>",
-            "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 301,
-            "key.name" : "init()",
-            "key.namelength" : 6,
-            "key.nameoffset" : 712,
-            "key.offset" : 712,
-            "key.parsed_declaration" : "init()",
-            "key.parsed_scope.end" : 47,
-            "key.parsed_scope.start" : 38,
-            "key.related_decls" : [
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "public var allowsBounceHorizontal: Bool<\/Type><\/Declaration>",
+            "key.attributes" : [
               {
-                "key.annotated_decl" : "init(header:footer:overscrollFooter:sections:)<\/RelatedName>"
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 343
               }
             ],
-            "key.substructure" : [
-
-            ],
-            "key.typename" : "(ListLayoutContent.Type) -> () -> ListLayoutContent",
-            "key.typeusr" : "$s10ListableUI17ListLayoutContentCycD",
-            "key.usr" : "s:10ListableUI17ListLayoutContentCACycfc"
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutScrollViewProperties.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> allowsBounceHorizontal<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 33,
+            "key.name" : "allowsBounceHorizontal",
+            "key.namelength" : 22,
+            "key.nameoffset" : 354,
+            "key.offset" : 350,
+            "key.parsed_declaration" : "public var allowsBounceHorizontal : Bool",
+            "key.parsed_scope.end" : 18,
+            "key.parsed_scope.start" : 18,
+            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+            "key.typename" : "Bool",
+            "key.typeusr" : "$sSbD",
+            "key.usr" : "s:10ListableUI30ListLayoutScrollViewPropertiesV22allowsBounceHorizontalSbvp"
           },
           {
-            "key.accessibility" : "source.lang.swift.accessibility.internal",
-            "key.annotated_decl" : "init(header: SupplementaryItemInfo<\/Type>?, footer: SupplementaryItemInfo<\/Type>?, overscrollFooter: SupplementaryItemInfo<\/Type>?, sections: [SectionInfo<\/Type>])<\/Declaration>",
-            "key.bodylength" : 262,
-            "key.bodyoffset" : 1202,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-            "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(header<\/decl.var.parameter.argument_label>: SupplementaryItemInfo<\/ref.class>?<\/decl.var.parameter.type><\/decl.var.parameter>, footer<\/decl.var.parameter.argument_label>: SupplementaryItemInfo<\/ref.class>?<\/decl.var.parameter.type><\/decl.var.parameter>, overscrollFooter<\/decl.var.parameter.argument_label>: SupplementaryItemInfo<\/ref.class>?<\/decl.var.parameter.type><\/decl.var.parameter>, sections<\/decl.var.parameter.argument_label>: [SectionInfo<\/ref.class>]<\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
-            "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 442,
-            "key.name" : "init(header:footer:overscrollFooter:sections:)",
-            "key.namelength" : 177,
-            "key.nameoffset" : 1023,
-            "key.offset" : 1023,
-            "key.parsed_declaration" : "init(\n    header : SupplementaryItemInfo?,\n    footer : SupplementaryItemInfo?,\n    overscrollFooter : SupplementaryItemInfo?,\n    sections : [SectionInfo]\n)",
-            "key.parsed_scope.end" : 61,
-            "key.parsed_scope.start" : 49,
-            "key.related_decls" : [
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "public var allowsHorizontalScrollIndicator: Bool<\/Type><\/Declaration>",
+            "key.attributes" : [
               {
-                "key.annotated_decl" : "init()<\/RelatedName>"
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 393
               }
             ],
-            "key.substructure" : [
-
-            ],
-            "key.typename" : "(ListLayoutContent.Type) -> (ListLayoutContent.SupplementaryItemInfo?, ListLayoutContent.SupplementaryItemInfo?, ListLayoutContent.SupplementaryItemInfo?, [ListLayoutContent.SectionInfo]) -> ListLayoutContent",
-            "key.typeusr" : "$s6header6footer16overscrollFooter8sections10ListableUI17ListLayoutContentCAG21SupplementaryItemInfoCSg_A2JSayAG07SectionM0CGtcD",
-            "key.usr" : "s:10ListableUI17ListLayoutContentC6header6footer16overscrollFooter8sectionsA2C21SupplementaryItemInfoCSg_A2JSayAC07SectionM0CGtcfc"
-          },
-          {
-            "key.kind" : "source.lang.swift.syntaxtype.comment.mark",
-            "key.length" : 23,
-            "key.name" : "MARK: Fetching Elements",
-            "key.namelength" : 0,
-            "key.nameoffset" : 0,
-            "key.offset" : 1485
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutScrollViewProperties.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> allowsHorizontalScrollIndicator<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 42,
+            "key.name" : "allowsHorizontalScrollIndicator",
+            "key.namelength" : 31,
+            "key.nameoffset" : 404,
+            "key.offset" : 400,
+            "key.parsed_declaration" : "public var allowsHorizontalScrollIndicator : Bool",
+            "key.parsed_scope.end" : 20,
+            "key.parsed_scope.start" : 20,
+            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+            "key.typename" : "Bool",
+            "key.typeusr" : "$sSbD",
+            "key.usr" : "s:10ListableUI30ListLayoutScrollViewPropertiesV016allowsHorizontalE9IndicatorSbvp"
           },
           {
-            "key.accessibility" : "source.lang.swift.accessibility.internal",
-            "key.annotated_decl" : "func layoutAttributes(at indexPath: IndexPath<\/Type>) -> UICollectionViewLayoutAttributes<\/Type><\/Declaration>",
-            "key.bodylength" : 112,
-            "key.bodyoffset" : 1614,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> layoutAttributes<\/decl.name>(at<\/decl.var.parameter.argument_label> indexPath<\/decl.var.parameter.name>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> UICollectionViewLayoutAttributes<\/ref.class><\/decl.function.returntype><\/decl.function.method.instance>",
-            "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 202,
-            "key.name" : "layoutAttributes(at:)",
-            "key.namelength" : 42,
-            "key.nameoffset" : 1530,
-            "key.offset" : 1525,
-            "key.parsed_declaration" : "func layoutAttributes(at indexPath : IndexPath) -> UICollectionViewLayoutAttributes",
-            "key.parsed_scope.end" : 72,
-            "key.parsed_scope.start" : 67,
-            "key.related_decls" : [
-              {
-                "key.annotated_decl" : "layoutAttributes(in:alwaysIncludeOverscroll:)<\/RelatedName>"
-              },
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "public var allowsVerticalScrollIndicator: Bool<\/Type><\/Declaration>",
+            "key.attributes" : [
               {
-                "key.annotated_decl" : "layoutAttributes<\/RelatedName>"
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 447
               }
             ],
-            "key.substructure" : [
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutScrollViewProperties.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> allowsVerticalScrollIndicator<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 40,
+            "key.name" : "allowsVerticalScrollIndicator",
+            "key.namelength" : 29,
+            "key.nameoffset" : 458,
+            "key.offset" : 454,
+            "key.parsed_declaration" : "public var allowsVerticalScrollIndicator : Bool",
+            "key.parsed_scope.end" : 21,
+            "key.parsed_scope.start" : 21,
+            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+            "key.typename" : "Bool",
+            "key.typeusr" : "$sSbD",
+            "key.usr" : "s:10ListableUI30ListLayoutScrollViewPropertiesV014allowsVerticalE9IndicatorSbvp"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "public init(isPagingEnabled: Bool<\/Type>, contentInsetAdjustmentBehavior: ListLayoutScrollViewProperties<\/Type>.ContentInsetAdjustmentBehavior<\/Type>, allowsBounceVertical: Bool<\/Type>, allowsBounceHorizontal: Bool<\/Type>, allowsVerticalScrollIndicator: Bool<\/Type>, allowsHorizontalScrollIndicator: Bool<\/Type>)<\/Declaration>",
+            "key.attributes" : [
               {
-                "key.annotated_decl" : "let item: ListLayoutContent<\/Type>.ItemInfo<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> item<\/decl.name>: ListLayoutContent<\/ref.class>.ItemInfo<\/ref.class><\/decl.var.type><\/decl.var.local>",
-                "key.kind" : "source.lang.swift.decl.var.local",
-                "key.length" : 35,
-                "key.name" : "item",
-                "key.namelength" : 4,
-                "key.nameoffset" : 1627,
-                "key.offset" : 1623,
-                "key.parsed_declaration" : "let item = self.item(at: indexPath)",
-                "key.parsed_scope.end" : 69,
-                "key.parsed_scope.start" : 69,
-                "key.related_decls" : [
-                  {
-                    "key.annotated_decl" : "item(at:)<\/RelatedName>"
-                  }
-                ],
-                "key.typename" : "ListLayoutContent.ItemInfo",
-                "key.typeusr" : "$s10ListableUI17ListLayoutContentC8ItemInfoCD",
-                "key.usr" : "s:10ListableUI17ListLayoutContentC16layoutAttributes2atSo016UICollectionViewdG0C10Foundation9IndexPathV_tF4itemL_AC8ItemInfoCvp"
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 504
               }
             ],
-            "key.typename" : "(ListLayoutContent) -> (IndexPath) -> UICollectionViewLayoutAttributes",
-            "key.typeusr" : "$s2atSo32UICollectionViewLayoutAttributesC10Foundation9IndexPathV_tcD",
-            "key.usr" : "s:10ListableUI17ListLayoutContentC16layoutAttributes2atSo016UICollectionViewdG0C10Foundation9IndexPathV_tF"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.internal",
-            "key.annotated_decl" : "func item(at indexPath: IndexPath<\/Type>) -> ListLayoutContent<\/Type>.ItemInfo<\/Type><\/Declaration>",
-            "key.bodylength" : 75,
-            "key.bodyoffset" : 1808,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> item<\/decl.name>(at<\/decl.var.parameter.argument_label> indexPath<\/decl.var.parameter.name>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ListLayoutContent<\/ref.class>.ItemInfo<\/ref.class><\/decl.function.returntype><\/decl.function.method.instance>",
+            "key.bodylength" : 411,
+            "key.bodyoffset" : 827,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutScrollViewProperties.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(isPagingEnabled<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, contentInsetAdjustmentBehavior<\/decl.var.parameter.argument_label>: ListLayoutScrollViewProperties<\/ref.struct>.ContentInsetAdjustmentBehavior<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>, allowsBounceVertical<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, allowsBounceHorizontal<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, allowsVerticalScrollIndicator<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, allowsHorizontalScrollIndicator<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 147,
-            "key.name" : "item(at:)",
-            "key.namelength" : 30,
-            "key.nameoffset" : 1742,
-            "key.offset" : 1737,
-            "key.parsed_declaration" : "func item(at indexPath : IndexPath) -> ListLayoutContent.ItemInfo",
-            "key.parsed_scope.end" : 77,
-            "key.parsed_scope.start" : 74,
+            "key.length" : 728,
+            "key.name" : "init(isPagingEnabled:contentInsetAdjustmentBehavior:allowsBounceVertical:allowsBounceHorizontal:allowsVerticalScrollIndicator:allowsHorizontalScrollIndicator:)",
+            "key.namelength" : 314,
+            "key.nameoffset" : 511,
+            "key.offset" : 511,
+            "key.parsed_declaration" : "public init(\n    isPagingEnabled: Bool,\n    contentInsetAdjustmentBehavior: ListLayoutScrollViewProperties.ContentInsetAdjustmentBehavior,\n    allowsBounceVertical : Bool,\n    allowsBounceHorizontal : Bool,\n    allowsVerticalScrollIndicator : Bool,\n    allowsHorizontalScrollIndicator : Bool\n)",
+            "key.parsed_scope.end" : 39,
+            "key.parsed_scope.start" : 23,
             "key.substructure" : [
 
             ],
-            "key.typename" : "(ListLayoutContent) -> (IndexPath) -> ListLayoutContent.ItemInfo",
-            "key.typeusr" : "$s2at10ListableUI17ListLayoutContentC8ItemInfoC10Foundation9IndexPathV_tcD",
-            "key.usr" : "s:10ListableUI17ListLayoutContentC4item2atAC8ItemInfoC10Foundation9IndexPathV_tF"
+            "key.typename" : "(ListLayoutScrollViewProperties.Type) -> (Bool, ListLayoutScrollViewProperties.ContentInsetAdjustmentBehavior, Bool, Bool, Bool, Bool) -> ListLayoutScrollViewProperties",
+            "key.typeusr" : "$s15isPagingEnabled30contentInsetAdjustmentBehavior20allowsBounceVertical0hI10Horizontal0hJ15ScrollIndicator0hklM010ListableUI010ListLayoutL14ViewPropertiesVSb_AI07ContentefG0OS4btcD",
+            "key.usr" : "s:10ListableUI30ListLayoutScrollViewPropertiesV15isPagingEnabled30contentInsetAdjustmentBehavior20allowsBounceVertical0oP10Horizontal0oqE9Indicator0oreS0ACSb_AC07ContentlmN0OS4btcfc"
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
-            "key.annotated_decl" : "func supplementaryLayoutAttributes(of kind: String<\/Type>, at indexPath: IndexPath<\/Type>) -> UICollectionViewLayoutAttributes<\/Type>?<\/Declaration>",
-            "key.bodylength" : 580,
-            "key.bodyoffset" : 2015,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> supplementaryLayoutAttributes<\/decl.name>(of<\/decl.var.parameter.argument_label> kind<\/decl.var.parameter.name>: String<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, at<\/decl.var.parameter.argument_label> indexPath<\/decl.var.parameter.name>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> UICollectionViewLayoutAttributes<\/ref.class>?<\/decl.function.returntype><\/decl.function.method.instance>",
+            "key.annotated_decl" : "func apply(to view: UIScrollView<\/Type>, behavior: Behavior<\/Type>, direction: LayoutDirection<\/Type>, showsScrollIndicators: Bool<\/Type>)<\/Declaration>",
+            "key.bodylength" : 1908,
+            "key.bodyoffset" : 1407,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutScrollViewProperties.swift",
+            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> apply<\/decl.name>(to<\/decl.var.parameter.argument_label> view<\/decl.var.parameter.name>: UIScrollView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, behavior<\/decl.var.parameter.argument_label>: Behavior<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, direction<\/decl.var.parameter.argument_label>: LayoutDirection<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>, showsScrollIndicators<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 702,
-            "key.name" : "supplementaryLayoutAttributes(of:at:)",
-            "key.namelength" : 73,
-            "key.nameoffset" : 1899,
-            "key.offset" : 1894,
-            "key.parsed_declaration" : "func supplementaryLayoutAttributes(of kind : String, at indexPath : IndexPath) -> UICollectionViewLayoutAttributes?",
-            "key.parsed_scope.end" : 92,
-            "key.parsed_scope.start" : 79,
+            "key.length" : 2063,
+            "key.name" : "apply(to:behavior:direction:showsScrollIndicators:)",
+            "key.namelength" : 147,
+            "key.nameoffset" : 1258,
+            "key.offset" : 1253,
+            "key.parsed_declaration" : "func apply(\n    to view : UIScrollView,\n    behavior : Behavior,\n    direction : LayoutDirection,\n    showsScrollIndicators : Bool\n)",
+            "key.parsed_scope.end" : 82,
+            "key.parsed_scope.start" : 41,
             "key.substructure" : [
               {
-                "key.annotated_decl" : "let section: ListLayoutContent<\/Type>.SectionInfo<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> section<\/decl.name>: ListLayoutContent<\/ref.class>.SectionInfo<\/ref.class><\/decl.var.type><\/decl.var.local>",
+                "key.annotated_decl" : "let isPagingEnabled: Bool<\/Type><\/Declaration>",
+                "key.doc.column" : 13,
+                "key.doc.comment" : "**Note**: Properties are only set if they are different (hence all the `if` statements below)\nbecause some UIScrollView properties, even when set to the same value, can affect or stop scrolling if it\nis in progress. Hard to tell which across iOS versions, so just always be defensive.",
+                "key.doc.declaration" : "let isPagingEnabled: Bool",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutScrollViewProperties.swift",
+                "key.doc.full_as_xml" : "isPagingEnabled<\/Name>s:10ListableUI30ListLayoutScrollViewPropertiesV5apply2to8behavior9direction05showsE10IndicatorsySo08UIScrollF0C_AA8BehaviorVAA0D9DirectionOSbtF15isPagingEnabledL_Sbvp<\/USR>let isPagingEnabled: Bool<\/Declaration>Note<\/bold>: Properties are only set if they are different (hence all the if<\/codeVoice> statements below) because some UIScrollView properties, even when set to the same value, can affect or stop scrolling if it is in progress. Hard to tell which across iOS versions, so just always be defensive.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.line" : 51,
+                "key.doc.name" : "isPagingEnabled",
+                "key.doc.type" : "Other",
+                "key.doclength" : 313,
+                "key.docoffset" : 1416,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutScrollViewProperties.swift",
+                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> isPagingEnabled<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
-                "key.length" : 46,
-                "key.name" : "section",
-                "key.namelength" : 7,
-                "key.nameoffset" : 2028,
-                "key.offset" : 2024,
-                "key.parsed_declaration" : "let section = self.sections[indexPath.section]",
-                "key.parsed_scope.end" : 81,
-                "key.parsed_scope.start" : 81,
-                "key.typename" : "ListLayoutContent.SectionInfo",
-                "key.typeusr" : "$s10ListableUI17ListLayoutContentC11SectionInfoCD",
-                "key.usr" : "s:10ListableUI17ListLayoutContentC013supplementaryD10Attributes2of2atSo016UICollectionViewdG0CSgSS_10Foundation9IndexPathVtF7sectionL_AC11SectionInfoCvp"
-              }
-            ],
-            "key.typename" : "(ListLayoutContent) -> (String, IndexPath) -> UICollectionViewLayoutAttributes?",
-            "key.typeusr" : "$s2of2atSo32UICollectionViewLayoutAttributesCSgSS_10Foundation9IndexPathVtcD",
-            "key.usr" : "s:10ListableUI17ListLayoutContentC013supplementaryD10Attributes2of2atSo016UICollectionViewdG0CSgSS_10Foundation9IndexPathVtF"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.internal",
-            "key.annotated_decl" : "func layoutAttributes(in rect: CGRect<\/Type>, alwaysIncludeOverscroll: Bool<\/Type>) -> [UICollectionViewLayoutAttributes<\/Type>]<\/Declaration>",
-            "key.bodylength" : 2545,
-            "key.bodyoffset" : 2720,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> layoutAttributes<\/decl.name>(in<\/decl.var.parameter.argument_label> rect<\/decl.var.parameter.name>: CGRect<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, alwaysIncludeOverscroll<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> [UICollectionViewLayoutAttributes<\/ref.class>]<\/decl.function.returntype><\/decl.function.method.instance>",
-            "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 2660,
-            "key.name" : "layoutAttributes(in:alwaysIncludeOverscroll:)",
-            "key.namelength" : 65,
-            "key.nameoffset" : 2611,
-            "key.offset" : 2606,
-            "key.parsed_declaration" : "func layoutAttributes(in rect: CGRect, alwaysIncludeOverscroll : Bool) -> [UICollectionViewLayoutAttributes]",
-            "key.parsed_scope.end" : 159,
-            "key.parsed_scope.start" : 94,
-            "key.related_decls" : [
+                "key.length" : 70,
+                "key.name" : "isPagingEnabled",
+                "key.namelength" : 15,
+                "key.nameoffset" : 1750,
+                "key.offset" : 1746,
+                "key.parsed_declaration" : "let isPagingEnabled = self.isPagingEnabled || behavior.isPagingEnabled",
+                "key.parsed_scope.end" : 51,
+                "key.parsed_scope.start" : 51,
+                "key.related_decls" : [
+                  {
+                    "key.annotated_decl" : "isPagingEnabled<\/RelatedName>"
+                  }
+                ],
+                "key.typename" : "Bool",
+                "key.typeusr" : "$sSbD",
+                "key.usr" : "s:10ListableUI30ListLayoutScrollViewPropertiesV5apply2to8behavior9direction05showsE10IndicatorsySo08UIScrollF0C_AA8BehaviorVAA0D9DirectionOSbtF15isPagingEnabledL_Sbvp"
+              },
               {
-                "key.annotated_decl" : "layoutAttributes(at:)<\/RelatedName>"
+                "key.annotated_decl" : "let alwaysBounceVertical: Bool<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutScrollViewProperties.swift",
+                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> alwaysBounceVertical<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.local>",
+                "key.kind" : "source.lang.swift.decl.var.local",
+                "key.length" : 113,
+                "key.name" : "alwaysBounceVertical",
+                "key.namelength" : 20,
+                "key.nameoffset" : 2202,
+                "key.offset" : 2198,
+                "key.parsed_declaration" : "let alwaysBounceVertical = self.allowsBounceVertical && behavior.underflow.alwaysBounce && direction == .vertical",
+                "key.parsed_scope.end" : 61,
+                "key.parsed_scope.start" : 61,
+                "key.typename" : "Bool",
+                "key.typeusr" : "$sSbD",
+                "key.usr" : "s:10ListableUI30ListLayoutScrollViewPropertiesV5apply2to8behavior9direction05showsE10IndicatorsySo08UIScrollF0C_AA8BehaviorVAA0D9DirectionOSbtF20alwaysBounceVerticalL_Sbvp"
               },
               {
-                "key.annotated_decl" : "layoutAttributes<\/RelatedName>"
-              }
-            ],
-            "key.substructure" : [
+                "key.annotated_decl" : "let alwaysBounceHorizontal: Bool<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutScrollViewProperties.swift",
+                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> alwaysBounceHorizontal<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.local>",
+                "key.kind" : "source.lang.swift.decl.var.local",
+                "key.length" : 119,
+                "key.name" : "alwaysBounceHorizontal",
+                "key.namelength" : 22,
+                "key.nameoffset" : 2324,
+                "key.offset" : 2320,
+                "key.parsed_declaration" : "let alwaysBounceHorizontal = self.allowsBounceHorizontal && behavior.underflow.alwaysBounce && direction == .horizontal",
+                "key.parsed_scope.end" : 62,
+                "key.parsed_scope.start" : 62,
+                "key.typename" : "Bool",
+                "key.typeusr" : "$sSbD",
+                "key.usr" : "s:10ListableUI30ListLayoutScrollViewPropertiesV5apply2to8behavior9direction05showsE10IndicatorsySo08UIScrollF0C_AA8BehaviorVAA0D9DirectionOSbtF22alwaysBounceHorizontalL_Sbvp"
+              },
               {
-                "key.annotated_decl" : "var attributes: [UICollectionViewLayoutAttributes<\/Type>]<\/Declaration>",
-                "key.doc.comment" : "Supplementary items are technically attached to index paths. Eg, list headers\nand footers are attached to (0,0), and section headers and footers are attached to\n(sectionIndex, 0). Because of this, we can't return any list headers or footers\nunless there's at least one section – the collection view will not have anything to\nattach them to, and will then crash.",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> attributes<\/decl.name>: [UICollectionViewLayoutAttributes<\/ref.class>]<\/decl.var.type><\/decl.var.local>",
+                "key.annotated_decl" : "let showsVerticalScrollIndicator: Bool<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutScrollViewProperties.swift",
+                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> showsVerticalScrollIndicator<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
-                "key.length" : 53,
-                "key.name" : "attributes",
-                "key.namelength" : 10,
-                "key.nameoffset" : 3259,
-                "key.offset" : 3255,
-                "key.parsed_declaration" : "var attributes = [UICollectionViewLayoutAttributes]()",
-                "key.parsed_scope.end" : 107,
-                "key.parsed_scope.start" : 107,
-                "key.typename" : "[UICollectionViewLayoutAttributes]",
-                "key.typeusr" : "$sSaySo32UICollectionViewLayoutAttributesCGD",
-                "key.usr" : "s:10ListableUI17ListLayoutContentC16layoutAttributes2in23alwaysIncludeOverscrollSaySo016UICollectionViewdG0CGSo6CGRectV_SbtF10attributesL_AIvp"
+                "key.length" : 94,
+                "key.name" : "showsVerticalScrollIndicator",
+                "key.namelength" : 28,
+                "key.nameoffset" : 2755,
+                "key.offset" : 2751,
+                "key.parsed_declaration" : "let showsVerticalScrollIndicator = self.allowsVerticalScrollIndicator && showsScrollIndicators",
+                "key.parsed_scope.end" : 72,
+                "key.parsed_scope.start" : 72,
+                "key.typename" : "Bool",
+                "key.typeusr" : "$sSbD",
+                "key.usr" : "s:10ListableUI30ListLayoutScrollViewPropertiesV5apply2to8behavior9direction05showsE10IndicatorsySo08UIScrollF0C_AA8BehaviorVAA0D9DirectionOSbtF0l8VerticalE9IndicatorL_Sbvp"
+              },
+              {
+                "key.annotated_decl" : "let showsHorizontalScrollIndicator: Bool<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutScrollViewProperties.swift",
+                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> showsHorizontalScrollIndicator<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.local>",
+                "key.kind" : "source.lang.swift.decl.var.local",
+                "key.length" : 98,
+                "key.name" : "showsHorizontalScrollIndicator",
+                "key.namelength" : 30,
+                "key.nameoffset" : 2858,
+                "key.offset" : 2854,
+                "key.parsed_declaration" : "let showsHorizontalScrollIndicator = self.allowsHorizontalScrollIndicator && showsScrollIndicators",
+                "key.parsed_scope.end" : 73,
+                "key.parsed_scope.start" : 73,
+                "key.typename" : "Bool",
+                "key.typeusr" : "$sSbD",
+                "key.usr" : "s:10ListableUI30ListLayoutScrollViewPropertiesV5apply2to8behavior9direction05showsE10IndicatorsySo08UIScrollF0C_AA8BehaviorVAA0D9DirectionOSbtF0l10HorizontalE9IndicatorL_Sbvp"
               }
             ],
-            "key.typename" : "(ListLayoutContent) -> (CGRect, Bool) -> [UICollectionViewLayoutAttributes]",
-            "key.typeusr" : "$s2in23alwaysIncludeOverscrollSaySo32UICollectionViewLayoutAttributesCGSo6CGRectV_SbtcD",
-            "key.usr" : "s:10ListableUI17ListLayoutContentC16layoutAttributes2in23alwaysIncludeOverscrollSaySo016UICollectionViewdG0CGSo6CGRectV_SbtF"
-          },
-          {
-            "key.kind" : "source.lang.swift.syntaxtype.comment.mark",
-            "key.length" : 24,
-            "key.name" : "MARK: Performing Layouts",
-            "key.namelength" : 0,
-            "key.nameoffset" : 0,
-            "key.offset" : 5286
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.internal",
-            "key.annotated_decl" : "func setSectionContentsFrames()<\/Declaration>",
-            "key.bodylength" : 81,
-            "key.bodyoffset" : 5360,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> setSectionContentsFrames<\/decl.name>()<\/decl.function.method.instance>",
-            "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 115,
-            "key.name" : "setSectionContentsFrames()",
-            "key.namelength" : 26,
-            "key.nameoffset" : 5332,
-            "key.offset" : 5327,
-            "key.parsed_declaration" : "func setSectionContentsFrames()",
-            "key.parsed_scope.end" : 169,
-            "key.parsed_scope.start" : 165,
-            "key.substructure" : [
-
-            ],
-            "key.typename" : "(ListLayoutContent) -> () -> ()",
-            "key.typeusr" : "$syycD",
-            "key.usr" : "s:10ListableUI17ListLayoutContentC24setSectionContentsFramesyyF"
+            "key.typename" : "(ListLayoutScrollViewProperties) -> (UIScrollView, Behavior, LayoutDirection, Bool) -> ()",
+            "key.typeusr" : "$s2to8behavior9direction21showsScrollIndicatorsySo12UIScrollViewC_10ListableUI8BehaviorVAG15LayoutDirectionOSbtcD",
+            "key.usr" : "s:10ListableUI30ListLayoutScrollViewPropertiesV5apply2to8behavior9direction05showsE10IndicatorsySo08UIScrollF0C_AA8BehaviorVAA0D9DirectionOSbtF"
           },
           {
-            "key.accessibility" : "source.lang.swift.accessibility.internal",
-            "key.annotated_decl" : "func reindexLiveIndexPaths()<\/Declaration>",
-            "key.bodylength" : 252,
-            "key.bodyoffset" : 5486,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> reindexLiveIndexPaths<\/decl.name>()<\/decl.function.method.instance>",
-            "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 287,
-            "key.name" : "reindexLiveIndexPaths()",
-            "key.namelength" : 23,
-            "key.nameoffset" : 5457,
-            "key.offset" : 5452,
-            "key.parsed_declaration" : "func reindexLiveIndexPaths()",
-            "key.parsed_scope.end" : 178,
-            "key.parsed_scope.start" : 171,
-            "key.substructure" : [
-
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "public enum ListLayoutScrollViewProperties<\/Type>.ContentInsetAdjustmentBehavior : Equatable<\/Type><\/Declaration>",
+            "key.attributes" : [
+              {
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 3326
+              }
             ],
-            "key.typename" : "(ListLayoutContent) -> () -> ()",
-            "key.typeusr" : "$syycD",
-            "key.usr" : "s:10ListableUI17ListLayoutContentC21reindexLiveIndexPathsyyF"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.internal",
-            "key.annotated_decl" : "func reindexDelegateProvidedIndexPaths()<\/Declaration>",
-            "key.bodylength" : 264,
-            "key.bodyoffset" : 5795,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> reindexDelegateProvidedIndexPaths<\/decl.name>()<\/decl.function.method.instance>",
-            "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 311,
-            "key.name" : "reindexDelegateProvidedIndexPaths()",
-            "key.namelength" : 35,
-            "key.nameoffset" : 5754,
-            "key.offset" : 5749,
-            "key.parsed_declaration" : "func reindexDelegateProvidedIndexPaths()",
-            "key.parsed_scope.end" : 187,
-            "key.parsed_scope.start" : 180,
-            "key.substructure" : [
-
+            "key.bodylength" : 418,
+            "key.bodyoffset" : 3382,
+            "key.elements" : [
+              {
+                "key.kind" : "source.lang.swift.structure.elem.typeref",
+                "key.length" : 9,
+                "key.offset" : 3371
+              }
             ],
-            "key.typename" : "(ListLayoutContent) -> () -> ()",
-            "key.typeusr" : "$syycD",
-            "key.usr" : "s:10ListableUI17ListLayoutContentC33reindexDelegateProvidedIndexPathsyyF"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.internal",
-            "key.annotated_decl" : "func move(from: IndexPath<\/Type>, to: IndexPath<\/Type>)<\/Declaration>",
-            "key.bodylength" : 253,
-            "key.bodyoffset" : 6119,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> move<\/decl.name>(from<\/decl.var.parameter.argument_label>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, to<\/decl.var.parameter.argument_label>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
-            "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 303,
-            "key.name" : "move(from:to:)",
-            "key.namelength" : 38,
-            "key.nameoffset" : 6075,
-            "key.offset" : 6070,
-            "key.parsed_declaration" : "func move(from : IndexPath, to : IndexPath)",
-            "key.parsed_scope.end" : 199,
-            "key.parsed_scope.start" : 189,
-            "key.substructure" : [
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutScrollViewProperties.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> enum<\/syntaxtype.keyword> ListLayoutScrollViewProperties<\/ref.struct>.ContentInsetAdjustmentBehavior<\/decl.name> : Equatable<\/ref.protocol><\/decl.enum>",
+            "key.inheritedtypes" : [
               {
-                "key.annotated_decl" : "let info: ListLayoutContent<\/Type>.ItemInfo<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> info<\/decl.name>: ListLayoutContent<\/ref.class>.ItemInfo<\/ref.class><\/decl.var.type><\/decl.var.local>",
-                "key.kind" : "source.lang.swift.decl.var.local",
-                "key.length" : 30,
-                "key.name" : "info",
-                "key.namelength" : 4,
-                "key.nameoffset" : 6202,
-                "key.offset" : 6198,
-                "key.parsed_declaration" : "let info = self.item(at: from)",
-                "key.parsed_scope.end" : 195,
-                "key.parsed_scope.start" : 195,
-                "key.typename" : "ListLayoutContent.ItemInfo",
-                "key.typeusr" : "$s10ListableUI17ListLayoutContentC8ItemInfoCD",
-                "key.usr" : "s:10ListableUI17ListLayoutContentC4move4from2toy10Foundation9IndexPathV_AItF4infoL_AC8ItemInfoCvp"
+                "key.name" : "Equatable"
               }
             ],
-            "key.typename" : "(ListLayoutContent) -> (IndexPath, IndexPath) -> ()",
-            "key.typeusr" : "$s4from2toy10Foundation9IndexPathV_AEtcD",
-            "key.usr" : "s:10ListableUI17ListLayoutContentC4move4from2toy10Foundation9IndexPathV_AItF"
-          },
-          {
-            "key.kind" : "source.lang.swift.syntaxtype.comment.mark",
-            "key.length" : 17,
-            "key.name" : "MARK: Layout Data",
-            "key.namelength" : 0,
-            "key.nameoffset" : 0,
-            "key.offset" : 6393
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.internal",
-            "key.annotated_decl" : "var layoutAttributes: ListLayoutAttributes<\/Type> { get }<\/Declaration>",
-            "key.bodylength" : 890,
-            "key.bodyoffset" : 6472,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> layoutAttributes<\/decl.name>: ListLayoutAttributes<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 936,
-            "key.name" : "layoutAttributes",
-            "key.namelength" : 16,
-            "key.nameoffset" : 6431,
-            "key.offset" : 6427,
-            "key.parsed_declaration" : "var layoutAttributes : ListLayoutAttributes",
-            "key.parsed_scope.end" : 222,
-            "key.parsed_scope.start" : 205,
-            "key.related_decls" : [
+            "key.kind" : "source.lang.swift.decl.enum",
+            "key.length" : 468,
+            "key.name" : "ContentInsetAdjustmentBehavior",
+            "key.namelength" : 30,
+            "key.nameoffset" : 3338,
+            "key.offset" : 3333,
+            "key.parsed_declaration" : "public enum ContentInsetAdjustmentBehavior : Equatable",
+            "key.parsed_scope.end" : 98,
+            "key.parsed_scope.start" : 84,
+            "key.substructure" : [
               {
-                "key.annotated_decl" : "layoutAttributes(at:)<\/RelatedName>"
+                "key.kind" : "source.lang.swift.decl.enumcase",
+                "key.length" : 14,
+                "key.namelength" : 0,
+                "key.nameoffset" : 0,
+                "key.offset" : 3391,
+                "key.substructure" : [
+                  {
+                    "key.accessibility" : "source.lang.swift.accessibility.public",
+                    "key.annotated_decl" : "case automatic<\/Declaration>",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutScrollViewProperties.swift",
+                    "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> automatic<\/decl.name><\/decl.enumelement>",
+                    "key.kind" : "source.lang.swift.decl.enumelement",
+                    "key.length" : 9,
+                    "key.name" : "automatic",
+                    "key.namelength" : 9,
+                    "key.nameoffset" : 3396,
+                    "key.offset" : 3396,
+                    "key.parsed_declaration" : "case automatic",
+                    "key.parsed_scope.end" : 85,
+                    "key.parsed_scope.start" : 85,
+                    "key.typename" : "(ListLayoutScrollViewProperties.ContentInsetAdjustmentBehavior.Type) -> ListLayoutScrollViewProperties.ContentInsetAdjustmentBehavior",
+                    "key.typeusr" : "$sy10ListableUI30ListLayoutScrollViewPropertiesV30ContentInsetAdjustmentBehaviorOAEmcD",
+                    "key.usr" : "s:10ListableUI30ListLayoutScrollViewPropertiesV30ContentInsetAdjustmentBehaviorO9automaticyA2EmF"
+                  }
+                ]
               },
               {
-                "key.annotated_decl" : "layoutAttributes(in:alwaysIncludeOverscroll:)<\/RelatedName>"
+                "key.kind" : "source.lang.swift.decl.enumcase",
+                "key.length" : 19,
+                "key.namelength" : 0,
+                "key.nameoffset" : 0,
+                "key.offset" : 3414,
+                "key.substructure" : [
+                  {
+                    "key.accessibility" : "source.lang.swift.accessibility.public",
+                    "key.annotated_decl" : "case scrollableAxes<\/Declaration>",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutScrollViewProperties.swift",
+                    "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> scrollableAxes<\/decl.name><\/decl.enumelement>",
+                    "key.kind" : "source.lang.swift.decl.enumelement",
+                    "key.length" : 14,
+                    "key.name" : "scrollableAxes",
+                    "key.namelength" : 14,
+                    "key.nameoffset" : 3419,
+                    "key.offset" : 3419,
+                    "key.parsed_declaration" : "case scrollableAxes",
+                    "key.parsed_scope.end" : 86,
+                    "key.parsed_scope.start" : 86,
+                    "key.typename" : "(ListLayoutScrollViewProperties.ContentInsetAdjustmentBehavior.Type) -> ListLayoutScrollViewProperties.ContentInsetAdjustmentBehavior",
+                    "key.typeusr" : "$sy10ListableUI30ListLayoutScrollViewPropertiesV30ContentInsetAdjustmentBehaviorOAEmcD",
+                    "key.usr" : "s:10ListableUI30ListLayoutScrollViewPropertiesV30ContentInsetAdjustmentBehaviorO14scrollableAxesyA2EmF"
+                  }
+                ]
+              },
+              {
+                "key.kind" : "source.lang.swift.decl.enumcase",
+                "key.length" : 10,
+                "key.namelength" : 0,
+                "key.nameoffset" : 0,
+                "key.offset" : 3442,
+                "key.substructure" : [
+                  {
+                    "key.accessibility" : "source.lang.swift.accessibility.public",
+                    "key.annotated_decl" : "case never<\/Declaration>",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutScrollViewProperties.swift",
+                    "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> never<\/decl.name><\/decl.enumelement>",
+                    "key.kind" : "source.lang.swift.decl.enumelement",
+                    "key.length" : 5,
+                    "key.name" : "never",
+                    "key.namelength" : 5,
+                    "key.nameoffset" : 3447,
+                    "key.offset" : 3447,
+                    "key.parsed_declaration" : "case never",
+                    "key.parsed_scope.end" : 87,
+                    "key.parsed_scope.start" : 87,
+                    "key.typename" : "(ListLayoutScrollViewProperties.ContentInsetAdjustmentBehavior.Type) -> ListLayoutScrollViewProperties.ContentInsetAdjustmentBehavior",
+                    "key.typeusr" : "$sy10ListableUI30ListLayoutScrollViewPropertiesV30ContentInsetAdjustmentBehaviorOAEmcD",
+                    "key.usr" : "s:10ListableUI30ListLayoutScrollViewPropertiesV30ContentInsetAdjustmentBehaviorO5neveryA2EmF"
+                  }
+                ]
+              },
+              {
+                "key.kind" : "source.lang.swift.decl.enumcase",
+                "key.length" : 11,
+                "key.namelength" : 0,
+                "key.nameoffset" : 0,
+                "key.offset" : 3461,
+                "key.substructure" : [
+                  {
+                    "key.accessibility" : "source.lang.swift.accessibility.public",
+                    "key.annotated_decl" : "case always<\/Declaration>",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutScrollViewProperties.swift",
+                    "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> always<\/decl.name><\/decl.enumelement>",
+                    "key.kind" : "source.lang.swift.decl.enumelement",
+                    "key.length" : 6,
+                    "key.name" : "always",
+                    "key.namelength" : 6,
+                    "key.nameoffset" : 3466,
+                    "key.offset" : 3466,
+                    "key.parsed_declaration" : "case always",
+                    "key.parsed_scope.end" : 88,
+                    "key.parsed_scope.start" : 88,
+                    "key.typename" : "(ListLayoutScrollViewProperties.ContentInsetAdjustmentBehavior.Type) -> ListLayoutScrollViewProperties.ContentInsetAdjustmentBehavior",
+                    "key.typeusr" : "$sy10ListableUI30ListLayoutScrollViewPropertiesV30ContentInsetAdjustmentBehaviorOAEmcD",
+                    "key.usr" : "s:10ListableUI30ListLayoutScrollViewPropertiesV30ContentInsetAdjustmentBehaviorO6alwaysyA2EmF"
+                  }
+                ]
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.internal",
+                "key.annotated_decl" : "var toUIScrollViewValue: UIScrollView<\/Type>.ContentInsetAdjustmentBehavior<\/Type> { get }<\/Declaration>",
+                "key.bodylength" : 233,
+                "key.bodyoffset" : 3561,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutScrollViewProperties.swift",
+                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> toUIScrollViewValue<\/decl.name>: UIScrollView<\/ref.class>.ContentInsetAdjustmentBehavior<\/ref.enum><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 305,
+                "key.name" : "toUIScrollViewValue",
+                "key.namelength" : 19,
+                "key.nameoffset" : 3494,
+                "key.offset" : 3490,
+                "key.parsed_declaration" : "var toUIScrollViewValue : UIScrollView.ContentInsetAdjustmentBehavior",
+                "key.parsed_scope.end" : 97,
+                "key.parsed_scope.start" : 90,
+                "key.typename" : "UIScrollView.ContentInsetAdjustmentBehavior",
+                "key.typeusr" : "$sSo42UIScrollViewContentInsetAdjustmentBehaviorVD",
+                "key.usr" : "s:10ListableUI30ListLayoutScrollViewPropertiesV30ContentInsetAdjustmentBehaviorO010toUIScrollF5ValueSo0mfhijK0Vvp"
               }
             ],
-            "key.typename" : "ListLayoutAttributes",
-            "key.typeusr" : "$s10ListableUI20ListLayoutAttributesVD",
-            "key.usr" : "s:10ListableUI17ListLayoutContentC16layoutAttributesAA0cdG0Vvp"
+            "key.typename" : "ListLayoutScrollViewProperties.ContentInsetAdjustmentBehavior.Type",
+            "key.typeusr" : "$s10ListableUI30ListLayoutScrollViewPropertiesV30ContentInsetAdjustmentBehaviorOmD",
+            "key.usr" : "s:10ListableUI30ListLayoutScrollViewPropertiesV30ContentInsetAdjustmentBehaviorO"
           }
         ],
-        "key.typename" : "ListLayoutContent.Type",
-        "key.typeusr" : "$s10ListableUI17ListLayoutContentCmD",
-        "key.usr" : "s:10ListableUI17ListLayoutContentC"
-      },
+        "key.typename" : "ListLayoutScrollViewProperties.Type",
+        "key.typeusr" : "$s10ListableUI30ListLayoutScrollViewPropertiesVmD",
+        "key.usr" : "s:10ListableUI30ListLayoutScrollViewPropertiesV"
+      }
+    ]
+  }
+}, {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutValues.swift" : {
+    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
+    "key.length" : 1261,
+    "key.offset" : 0,
+    "key.substructure" : [
       {
-        "key.accessibility" : "source.lang.swift.accessibility.internal",
-        "key.annotated_decl" : "protocol ListLayoutContentItem : AnyObject<\/Declaration>",
-        "key.bodylength" : 137,
-        "key.bodyoffset" : 7412,
+        "key.accessibility" : "source.lang.swift.accessibility.public",
+        "key.annotated_decl" : "public struct ListLayoutPoint : Hashable<\/Type><\/Declaration>",
+        "key.attributes" : [
+          {
+            "key.attribute" : "source.decl.attribute.public",
+            "key.length" : 6,
+            "key.offset" : 113
+          }
+        ],
+        "key.bodylength" : 497,
+        "key.bodyoffset" : 155,
         "key.elements" : [
           {
             "key.kind" : "source.lang.swift.structure.elem.typeref",
-            "key.length" : 9,
-            "key.offset" : 7401
+            "key.length" : 8,
+            "key.offset" : 145
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-        "key.fully_annotated_decl" : "protocol<\/syntaxtype.keyword> ListLayoutContentItem<\/decl.name> : AnyObject<\/decl.protocol>",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutValues.swift",
+        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> ListLayoutPoint<\/decl.name> : Hashable<\/ref.protocol><\/decl.struct>",
         "key.inheritedtypes" : [
           {
-            "key.name" : "AnyObject"
+            "key.name" : "Hashable"
           }
         ],
-        "key.kind" : "source.lang.swift.decl.protocol",
-        "key.length" : 182,
-        "key.name" : "ListLayoutContentItem",
-        "key.namelength" : 21,
-        "key.nameoffset" : 7377,
-        "key.offset" : 7368,
-        "key.parsed_declaration" : "protocol ListLayoutContentItem : AnyObject",
-        "key.parsed_scope.end" : 233,
-        "key.parsed_scope.start" : 226,
+        "key.kind" : "source.lang.swift.decl.struct",
+        "key.length" : 533,
+        "key.name" : "ListLayoutPoint",
+        "key.namelength" : 15,
+        "key.nameoffset" : 127,
+        "key.offset" : 120,
+        "key.parsed_declaration" : "public struct ListLayoutPoint : Hashable",
+        "key.parsed_scope.end" : 32,
+        "key.parsed_scope.start" : 11,
         "key.substructure" : [
           {
-            "key.accessibility" : "source.lang.swift.accessibility.internal",
-            "key.annotated_decl" : "var size: CGSize<\/Type> { get set }<\/Declaration>",
-            "key.bodylength" : 9,
-            "key.bodyoffset" : 7436,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> size<\/decl.name>: CGSize<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 29,
-            "key.name" : "size",
-            "key.namelength" : 4,
-            "key.nameoffset" : 7421,
-            "key.offset" : 7417,
-            "key.parsed_declaration" : "var size : CGSize",
-            "key.parsed_scope.end" : 228,
-            "key.parsed_scope.start" : 228,
-            "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
-            "key.typename" : "CGSize",
-            "key.typeusr" : "$sSo6CGSizeVD",
-            "key.usr" : "s:10ListableUI21ListLayoutContentItemP4sizeSo6CGSizeVvp"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.internal",
-            "key.annotated_decl" : "var x: CGFloat<\/Type> { get set }<\/Declaration>",
-            "key.bodylength" : 9,
-            "key.bodyoffset" : 7468,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> x<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "public var x: CGFloat<\/Type><\/Declaration>",
+            "key.attributes" : [
+              {
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 161
+              }
+            ],
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutValues.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> x<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 27,
+            "key.length" : 15,
             "key.name" : "x",
             "key.namelength" : 1,
-            "key.nameoffset" : 7455,
-            "key.offset" : 7451,
-            "key.parsed_declaration" : "var x : CGFloat",
-            "key.parsed_scope.end" : 229,
-            "key.parsed_scope.start" : 229,
-            "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
-            "key.typename" : "CGFloat",
-            "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
-            "key.usr" : "s:10ListableUI21ListLayoutContentItemP1x12CoreGraphics7CGFloatVvp"
+            "key.nameoffset" : 172,
+            "key.offset" : 168,
+            "key.parsed_declaration" : "public var x : CGFloat",
+            "key.parsed_scope.end" : 13,
+            "key.parsed_scope.start" : 13,
+            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+            "key.typename" : "CGFloat",
+            "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
+            "key.usr" : "s:10ListableUI15ListLayoutPointV1x12CoreGraphics7CGFloatVvp"
           },
           {
-            "key.accessibility" : "source.lang.swift.accessibility.internal",
-            "key.annotated_decl" : "var y: CGFloat<\/Type> { get set }<\/Declaration>",
-            "key.bodylength" : 9,
-            "key.bodyoffset" : 7500,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> y<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "public var y: CGFloat<\/Type><\/Declaration>",
+            "key.attributes" : [
+              {
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 188
+              }
+            ],
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutValues.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> y<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 27,
+            "key.length" : 15,
             "key.name" : "y",
             "key.namelength" : 1,
-            "key.nameoffset" : 7487,
-            "key.offset" : 7483,
-            "key.parsed_declaration" : "var y : CGFloat",
-            "key.parsed_scope.end" : 230,
-            "key.parsed_scope.start" : 230,
-            "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
+            "key.nameoffset" : 199,
+            "key.offset" : 195,
+            "key.parsed_declaration" : "public var y : CGFloat",
+            "key.parsed_scope.end" : 14,
+            "key.parsed_scope.start" : 14,
+            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
             "key.typename" : "CGFloat",
             "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
-            "key.usr" : "s:10ListableUI21ListLayoutContentItemP1y12CoreGraphics7CGFloatVvp"
+            "key.usr" : "s:10ListableUI15ListLayoutPointV1y12CoreGraphics7CGFloatVvp"
           },
           {
-            "key.accessibility" : "source.lang.swift.accessibility.internal",
-            "key.annotated_decl" : "var zIndex: Int<\/Type> { get set }<\/Declaration>",
-            "key.bodylength" : 9,
-            "key.bodyoffset" : 7538,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> zIndex<\/decl.name>: Int<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "public var rotates: Bool<\/Type><\/Declaration>",
+            "key.attributes" : [
+              {
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 220
+              }
+            ],
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutValues.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> rotates<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 28,
-            "key.name" : "zIndex",
-            "key.namelength" : 6,
-            "key.nameoffset" : 7524,
-            "key.offset" : 7520,
-            "key.parsed_declaration" : "var zIndex : Int",
-            "key.parsed_scope.end" : 232,
-            "key.parsed_scope.start" : 232,
-            "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
-            "key.typename" : "Int",
-            "key.typeusr" : "$sSiD",
-            "key.usr" : "s:10ListableUI21ListLayoutContentItemP6zIndexSivp"
+            "key.length" : 18,
+            "key.name" : "rotates",
+            "key.namelength" : 7,
+            "key.nameoffset" : 231,
+            "key.offset" : 227,
+            "key.parsed_declaration" : "public var rotates : Bool",
+            "key.parsed_scope.end" : 16,
+            "key.parsed_scope.start" : 16,
+            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+            "key.typename" : "Bool",
+            "key.typeusr" : "$sSbD",
+            "key.usr" : "s:10ListableUI15ListLayoutPointV7rotatesSbvp"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "public init(x: CGFloat<\/Type>, y: CGFloat<\/Type>, rotates: Bool<\/Type>)<\/Declaration>",
+            "key.attributes" : [
+              {
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 255
+              }
+            ],
+            "key.bodylength" : 74,
+            "key.bodyoffset" : 311,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutValues.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(x<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, y<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, rotates<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
+            "key.kind" : "source.lang.swift.decl.function.method.instance",
+            "key.length" : 124,
+            "key.name" : "init(x:y:rotates:)",
+            "key.namelength" : 43,
+            "key.nameoffset" : 262,
+            "key.offset" : 262,
+            "key.parsed_declaration" : "public init(x: CGFloat, y: CGFloat, rotates: Bool)",
+            "key.parsed_scope.end" : 23,
+            "key.parsed_scope.start" : 18,
+            "key.substructure" : [
+
+            ],
+            "key.typename" : "(ListLayoutPoint.Type) -> (CGFloat, CGFloat, Bool) -> ListLayoutPoint",
+            "key.typeusr" : "$s1x1y7rotates10ListableUI15ListLayoutPointV12CoreGraphics7CGFloatV_AISbtcD",
+            "key.usr" : "s:10ListableUI15ListLayoutPointV1x1y7rotatesAC12CoreGraphics7CGFloatV_AISbtcfc"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "public func CGPointValue(for direction: LayoutDirection<\/Type>) -> CGPoint<\/Type><\/Declaration>",
+            "key.attributes" : [
+              {
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 396
+              }
+            ],
+            "key.bodylength" : 184,
+            "key.bodyoffset" : 466,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutValues.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> CGPointValue<\/decl.name>(for<\/decl.var.parameter.argument_label> direction<\/decl.var.parameter.name>: LayoutDirection<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGPoint<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
+            "key.kind" : "source.lang.swift.decl.function.method.instance",
+            "key.length" : 248,
+            "key.name" : "CGPointValue(for:)",
+            "key.namelength" : 45,
+            "key.nameoffset" : 408,
+            "key.offset" : 403,
+            "key.parsed_declaration" : "public func CGPointValue(for direction : LayoutDirection) -> CGPoint",
+            "key.parsed_scope.end" : 31,
+            "key.parsed_scope.start" : 25,
+            "key.substructure" : [
+
+            ],
+            "key.typename" : "(ListLayoutPoint) -> (LayoutDirection) -> CGPoint",
+            "key.typeusr" : "$s3forSo7CGPointV10ListableUI15LayoutDirectionO_tcD",
+            "key.usr" : "s:10ListableUI15ListLayoutPointV12CGPointValue3forSo0F0VAA0D9DirectionO_tF"
           }
         ],
-        "key.typename" : "ListLayoutContentItem.Protocol",
-        "key.typeusr" : "$s10ListableUI21ListLayoutContentItem_pmD",
-        "key.usr" : "s:10ListableUI21ListLayoutContentItemP"
+        "key.typename" : "ListLayoutPoint.Type",
+        "key.typeusr" : "$s10ListableUI15ListLayoutPointVmD",
+        "key.usr" : "s:10ListableUI15ListLayoutPointV"
       },
       {
         "key.accessibility" : "source.lang.swift.accessibility.public",
-        "key.annotated_decl" : "public final class ListLayoutContent<\/Declaration>",
+        "key.annotated_decl" : "public struct ListLayoutSize : Hashable<\/Type><\/Declaration>",
         "key.attributes" : [
           {
             "key.attribute" : "source.decl.attribute.public",
             "key.length" : 6,
-            "key.offset" : 7553
+            "key.offset" : 656
           }
         ],
-        "key.bodylength" : 5392,
-        "key.bodyoffset" : 7589,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> ListLayoutContent<\/decl.name><\/decl.class>",
-        "key.kind" : "source.lang.swift.decl.extension",
-        "key.length" : 5422,
-        "key.name" : "ListLayoutContent",
-        "key.namelength" : 17,
-        "key.nameoffset" : 7570,
-        "key.offset" : 7560,
-        "key.parsed_declaration" : "public extension ListLayoutContent",
-        "key.parsed_scope.end" : 424,
-        "key.parsed_scope.start" : 236,
+        "key.bodylength" : 562,
+        "key.bodyoffset" : 697,
+        "key.elements" : [
+          {
+            "key.kind" : "source.lang.swift.structure.elem.typeref",
+            "key.length" : 8,
+            "key.offset" : 687
+          }
+        ],
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutValues.swift",
+        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> ListLayoutSize<\/decl.name> : Hashable<\/ref.protocol><\/decl.struct>",
+        "key.inheritedtypes" : [
+          {
+            "key.name" : "Hashable"
+          }
+        ],
+        "key.kind" : "source.lang.swift.decl.struct",
+        "key.length" : 597,
+        "key.name" : "ListLayoutSize",
+        "key.namelength" : 14,
+        "key.nameoffset" : 670,
+        "key.offset" : 663,
+        "key.parsed_declaration" : "public struct ListLayoutSize : Hashable",
+        "key.parsed_scope.end" : 55,
+        "key.parsed_scope.start" : 35,
         "key.substructure" : [
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "final class SectionInfo<\/Declaration>",
+            "key.annotated_decl" : "public var width: CGFloat<\/Type><\/Declaration>",
             "key.attributes" : [
               {
-                "key.attribute" : "source.decl.attribute.final",
-                "key.length" : 5,
-                "key.offset" : 7594
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 703
               }
             ],
-            "key.bodylength" : 1690,
-            "key.bodyoffset" : 7623,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-            "key.fully_annotated_decl" : "final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> SectionInfo<\/decl.name><\/decl.class>",
-            "key.kind" : "source.lang.swift.decl.class",
-            "key.length" : 1714,
-            "key.name" : "SectionInfo",
-            "key.namelength" : 11,
-            "key.nameoffset" : 7606,
-            "key.offset" : 7600,
-            "key.parsed_declaration" : "final class SectionInfo",
-            "key.parsed_scope.end" : 302,
-            "key.parsed_scope.start" : 238,
-            "key.substructure" : [
-              {
-                "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "let layout: Section<\/Type>.Layout<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> layout<\/decl.name>: Section<\/ref.struct>.Layout<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 27,
-                "key.name" : "layout",
-                "key.namelength" : 6,
-                "key.nameoffset" : 7636,
-                "key.offset" : 7632,
-                "key.parsed_declaration" : "let layout : Section.Layout",
-                "key.parsed_scope.end" : 240,
-                "key.parsed_scope.start" : 240,
-                "key.typename" : "Section.Layout",
-                "key.typeusr" : "$s10ListableUI7SectionV6LayoutVD",
-                "key.usr" : "s:10ListableUI17ListLayoutContentC11SectionInfoC6layoutAA0F0V0D0Vvp"
-              },
-              {
-                "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "let header: SupplementaryItemInfo<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> header<\/decl.name>: SupplementaryItemInfo<\/ref.class><\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 34,
-                "key.name" : "header",
-                "key.namelength" : 6,
-                "key.nameoffset" : 7681,
-                "key.offset" : 7677,
-                "key.parsed_declaration" : "let header : SupplementaryItemInfo",
-                "key.parsed_scope.end" : 242,
-                "key.parsed_scope.start" : 242,
-                "key.typename" : "ListLayoutContent.SupplementaryItemInfo",
-                "key.typeusr" : "$s10ListableUI17ListLayoutContentC21SupplementaryItemInfoCD",
-                "key.usr" : "s:10ListableUI17ListLayoutContentC11SectionInfoC6headerAC017SupplementaryItemG0Cvp"
-              },
-              {
-                "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "let footer: SupplementaryItemInfo<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> footer<\/decl.name>: SupplementaryItemInfo<\/ref.class><\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 34,
-                "key.name" : "footer",
-                "key.namelength" : 6,
-                "key.nameoffset" : 7724,
-                "key.offset" : 7720,
-                "key.parsed_declaration" : "let footer : SupplementaryItemInfo",
-                "key.parsed_scope.end" : 243,
-                "key.parsed_scope.start" : 243,
-                "key.typename" : "ListLayoutContent.SupplementaryItemInfo",
-                "key.typeusr" : "$s10ListableUI17ListLayoutContentC21SupplementaryItemInfoCD",
-                "key.usr" : "s:10ListableUI17ListLayoutContentC11SectionInfoC6footerAC017SupplementaryItemG0Cvp"
-              },
-              {
-                "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "let columns: Section<\/Type>.Columns<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> columns<\/decl.name>: Section<\/ref.struct>.Columns<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 29,
-                "key.name" : "columns",
-                "key.namelength" : 7,
-                "key.nameoffset" : 7776,
-                "key.offset" : 7772,
-                "key.parsed_declaration" : "let columns : Section.Columns",
-                "key.parsed_scope.end" : 245,
-                "key.parsed_scope.start" : 245,
-                "key.typename" : "Section.Columns",
-                "key.typeusr" : "$s10ListableUI7SectionV7ColumnsVD",
-                "key.usr" : "s:10ListableUI17ListLayoutContentC11SectionInfoC7columnsAA0F0V7ColumnsVvp"
-              },
-              {
-                "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "var items: [ItemInfo<\/Type>]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> items<\/decl.name>: [ItemInfo<\/ref.class>]<\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 22,
-                "key.name" : "items",
-                "key.namelength" : 5,
-                "key.nameoffset" : 7823,
-                "key.offset" : 7819,
-                "key.parsed_declaration" : "var items : [ItemInfo]",
-                "key.parsed_scope.end" : 247,
-                "key.parsed_scope.start" : 247,
-                "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
-                "key.typename" : "[ListLayoutContent.ItemInfo]",
-                "key.typeusr" : "$sSay10ListableUI17ListLayoutContentC8ItemInfoCGD",
-                "key.usr" : "s:10ListableUI17ListLayoutContentC11SectionInfoC5itemsSayAC04ItemG0CGvp"
-              },
-              {
-                "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "var all: [ListLayoutContentItem<\/Type>] { get }<\/Declaration>",
-                "key.bodylength" : 335,
-                "key.bodyoffset" : 7894,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> all<\/decl.name>: [ListLayoutContentItem<\/ref.protocol>]<\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 371,
-                "key.name" : "all",
-                "key.namelength" : 3,
-                "key.nameoffset" : 7863,
-                "key.offset" : 7859,
-                "key.parsed_declaration" : "var all : [ListLayoutContentItem]",
-                "key.parsed_scope.end" : 263,
-                "key.parsed_scope.start" : 249,
-                "key.typename" : "[ListLayoutContentItem]",
-                "key.typeusr" : "$sSay10ListableUI21ListLayoutContentItem_pGD",
-                "key.usr" : "s:10ListableUI17ListLayoutContentC11SectionInfoC3allSayAA0cdE4Item_pGvp"
-              },
-              {
-                "key.annotated_decl" : "var all: [ListLayoutContentItem<\/Type>]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> all<\/decl.name>: [ListLayoutContentItem<\/ref.protocol>]<\/decl.var.type><\/decl.var.local>",
-                "key.kind" : "source.lang.swift.decl.var.local",
-                "key.length" : 38,
-                "key.name" : "all",
-                "key.namelength" : 3,
-                "key.nameoffset" : 7911,
-                "key.offset" : 7907,
-                "key.parsed_declaration" : "var all : [ListLayoutContentItem] = []",
-                "key.parsed_scope.end" : 250,
-                "key.parsed_scope.start" : 250,
-                "key.related_decls" : [
-                  {
-                    "key.annotated_decl" : "all<\/RelatedName>"
-                  }
-                ],
-                "key.typename" : "[ListLayoutContentItem]",
-                "key.typeusr" : "$sSay10ListableUI21ListLayoutContentItem_pGD",
-                "key.usr" : "s:10ListableUI17ListLayoutContentC11SectionInfoC3allSayAA0cdE4Item_pGvgAFL_AHvp"
-              },
-              {
-                "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "private(set) var contentsFrame: CGRect<\/Type> { get }<\/Declaration>",
-                "key.attributes" : [
-                  {
-                    "key.attribute" : "source.decl.attribute.setter_access.private",
-                    "key.length" : 12,
-                    "key.offset" : 8248
-                  }
-                ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-                "key.fully_annotated_decl" : "private<\/syntaxtype.keyword>(set) var<\/syntaxtype.keyword> contentsFrame<\/decl.name>: CGRect<\/ref.struct><\/decl.var.type> { get }<\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 26,
-                "key.name" : "contentsFrame",
-                "key.namelength" : 13,
-                "key.nameoffset" : 8265,
-                "key.offset" : 8261,
-                "key.parsed_declaration" : "private(set) var contentsFrame : CGRect",
-                "key.parsed_scope.end" : 265,
-                "key.parsed_scope.start" : 265,
-                "key.setter_accessibility" : "source.lang.swift.accessibility.private",
-                "key.typename" : "CGRect",
-                "key.typeusr" : "$sSo6CGRectVD",
-                "key.usr" : "s:10ListableUI17ListLayoutContentC11SectionInfoC13contentsFrameSo6CGRectVvp"
-              },
-              {
-                "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "init(layout: Section<\/Type>.Layout<\/Type>, header: SupplementaryItemInfo<\/Type>?, footer: SupplementaryItemInfo<\/Type>?, columns: Section<\/Type>.Columns<\/Type>, items: [ItemInfo<\/Type>])<\/Declaration>",
-                "key.bodylength" : 317,
-                "key.bodyoffset" : 8527,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-                "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(layout<\/decl.var.parameter.argument_label>: Section<\/ref.struct>.Layout<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, header<\/decl.var.parameter.argument_label>: SupplementaryItemInfo<\/ref.class>?<\/decl.var.parameter.type><\/decl.var.parameter>, footer<\/decl.var.parameter.argument_label>: SupplementaryItemInfo<\/ref.class>?<\/decl.var.parameter.type><\/decl.var.parameter>, columns<\/decl.var.parameter.argument_label>: Section<\/ref.struct>.Columns<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, items<\/decl.var.parameter.argument_label>: [ItemInfo<\/ref.class>]<\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
-                "key.kind" : "source.lang.swift.decl.function.method.instance",
-                "key.length" : 532,
-                "key.name" : "init(layout:header:footer:columns:items:)",
-                "key.namelength" : 212,
-                "key.nameoffset" : 8313,
-                "key.offset" : 8313,
-                "key.parsed_declaration" : "init(\n    layout : Section.Layout,\n    header : SupplementaryItemInfo?,\n    footer : SupplementaryItemInfo?,\n    columns : Section.Columns,\n    items : [ItemInfo]\n)",
-                "key.parsed_scope.end" : 284,
-                "key.parsed_scope.start" : 267,
-                "key.substructure" : [
-
-                ],
-                "key.typename" : "(ListLayoutContent.SectionInfo.Type) -> (Section.Layout, ListLayoutContent.SupplementaryItemInfo?, ListLayoutContent.SupplementaryItemInfo?, Section.Columns, [ListLayoutContent.ItemInfo]) -> ListLayoutContent.SectionInfo",
-                "key.typeusr" : "$s6layout6header6footer7columns5items10ListableUI17ListLayoutContentC11SectionInfoCAF0K0V0I0V_AH017SupplementaryItemL0CSgAqL7ColumnsVSayAH0nL0CGtcD",
-                "key.usr" : "s:10ListableUI17ListLayoutContentC11SectionInfoC6layout6header6footer7columns5itemsAeA0F0V0D0V_AC017SupplementaryItemG0CSgAqL7ColumnsVSayAC0nG0CGtcfc"
-              },
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutValues.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> width<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 19,
+            "key.name" : "width",
+            "key.namelength" : 5,
+            "key.nameoffset" : 714,
+            "key.offset" : 710,
+            "key.parsed_declaration" : "public var width : CGFloat",
+            "key.parsed_scope.end" : 37,
+            "key.parsed_scope.start" : 37,
+            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+            "key.typename" : "CGFloat",
+            "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
+            "key.usr" : "s:10ListableUI14ListLayoutSizeV5width12CoreGraphics7CGFloatVvp"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "public var height: CGFloat<\/Type><\/Declaration>",
+            "key.attributes" : [
               {
-                "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "func setContentsFrame()<\/Declaration>",
-                "key.bodylength" : 419,
-                "key.bodyoffset" : 8888,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-                "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> setContentsFrame<\/decl.name>()<\/decl.function.method.instance>",
-                "key.kind" : "source.lang.swift.decl.function.method.instance",
-                "key.length" : 445,
-                "key.name" : "setContentsFrame()",
-                "key.namelength" : 18,
-                "key.nameoffset" : 8868,
-                "key.offset" : 8863,
-                "key.parsed_declaration" : "func setContentsFrame()",
-                "key.parsed_scope.end" : 301,
-                "key.parsed_scope.start" : 286,
-                "key.substructure" : [
-                  {
-                    "key.annotated_decl" : "var allFrames: [CGRect<\/Type>]<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-                    "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> allFrames<\/decl.name>: [CGRect<\/ref.struct>]<\/decl.var.type><\/decl.var.local>",
-                    "key.kind" : "source.lang.swift.decl.var.local",
-                    "key.length" : 29,
-                    "key.name" : "allFrames",
-                    "key.namelength" : 9,
-                    "key.nameoffset" : 8918,
-                    "key.offset" : 8914,
-                    "key.parsed_declaration" : "var allFrames : [CGRect] = []",
-                    "key.parsed_scope.end" : 288,
-                    "key.parsed_scope.start" : 288,
-                    "key.typename" : "[CGRect]",
-                    "key.typeusr" : "$sSaySo6CGRectVGD",
-                    "key.usr" : "s:10ListableUI17ListLayoutContentC11SectionInfoC16setContentsFrameyyF9allFramesL_SaySo6CGRectVGvp"
-                  }
-                ],
-                "key.typename" : "(ListLayoutContent.SectionInfo) -> () -> ()",
-                "key.typeusr" : "$syycD",
-                "key.usr" : "s:10ListableUI17ListLayoutContentC11SectionInfoC16setContentsFrameyyF"
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 734
               }
             ],
-            "key.typename" : "ListLayoutContent.SectionInfo.Type",
-            "key.typeusr" : "$s10ListableUI17ListLayoutContentC11SectionInfoCmD",
-            "key.usr" : "s:10ListableUI17ListLayoutContentC11SectionInfoC"
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutValues.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> height<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 20,
+            "key.name" : "height",
+            "key.namelength" : 6,
+            "key.nameoffset" : 745,
+            "key.offset" : 741,
+            "key.parsed_declaration" : "public var height : CGFloat",
+            "key.parsed_scope.end" : 38,
+            "key.parsed_scope.start" : 38,
+            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+            "key.typename" : "CGFloat",
+            "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
+            "key.usr" : "s:10ListableUI14ListLayoutSizeV6height12CoreGraphics7CGFloatVvp"
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "final class SupplementaryItemInfo : ListLayoutContentItem<\/Type><\/Declaration>",
+            "key.annotated_decl" : "public var rotates: Bool<\/Type><\/Declaration>",
             "key.attributes" : [
               {
-                "key.attribute" : "source.decl.attribute.final",
-                "key.length" : 5,
-                "key.offset" : 9320
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 771
               }
             ],
-            "key.bodylength" : 1931,
-            "key.bodyoffset" : 9383,
-            "key.elements" : [
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutValues.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> rotates<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 18,
+            "key.name" : "rotates",
+            "key.namelength" : 7,
+            "key.nameoffset" : 782,
+            "key.offset" : 778,
+            "key.parsed_declaration" : "public var rotates : Bool",
+            "key.parsed_scope.end" : 40,
+            "key.parsed_scope.start" : 40,
+            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+            "key.typename" : "Bool",
+            "key.typeusr" : "$sSbD",
+            "key.usr" : "s:10ListableUI14ListLayoutSizeV7rotatesSbvp"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "public init(width: CGFloat<\/Type>, height: CGFloat<\/Type>, rotates: Bool<\/Type>)<\/Declaration>",
+            "key.attributes" : [
               {
-                "key.kind" : "source.lang.swift.structure.elem.typeref",
-                "key.length" : 21,
-                "key.offset" : 9356
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 806
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-            "key.fully_annotated_decl" : "final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> SupplementaryItemInfo<\/decl.name> : ListLayoutContentItem<\/ref.protocol><\/decl.class>",
-            "key.inheritedtypes" : [
+            "key.bodylength" : 92,
+            "key.bodyoffset" : 867,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutValues.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(width<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, height<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, rotates<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
+            "key.kind" : "source.lang.swift.decl.function.method.instance",
+            "key.length" : 147,
+            "key.name" : "init(width:height:rotates:)",
+            "key.namelength" : 52,
+            "key.nameoffset" : 813,
+            "key.offset" : 813,
+            "key.parsed_declaration" : "public init(width: CGFloat, height: CGFloat, rotates: Bool)",
+            "key.parsed_scope.end" : 46,
+            "key.parsed_scope.start" : 42,
+            "key.substructure" : [
+
+            ],
+            "key.typename" : "(ListLayoutSize.Type) -> (CGFloat, CGFloat, Bool) -> ListLayoutSize",
+            "key.typeusr" : "$s5width6height7rotates10ListableUI14ListLayoutSizeV12CoreGraphics7CGFloatV_AISbtcD",
+            "key.usr" : "s:10ListableUI14ListLayoutSizeV5width6height7rotatesAC12CoreGraphics7CGFloatV_AISbtcfc"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "public func CGPointValue(for direction: LayoutDirection<\/Type>) -> CGSize<\/Type><\/Declaration>",
+            "key.attributes" : [
               {
-                "key.name" : "ListLayoutContentItem"
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 970
               }
             ],
-            "key.kind" : "source.lang.swift.decl.class",
-            "key.length" : 1989,
-            "key.name" : "SupplementaryItemInfo",
-            "key.namelength" : 21,
-            "key.nameoffset" : 9332,
-            "key.offset" : 9326,
-            "key.parsed_declaration" : "final class SupplementaryItemInfo : ListLayoutContentItem",
-            "key.parsed_scope.end" : 370,
-            "key.parsed_scope.start" : 304,
+            "key.bodylength" : 218,
+            "key.bodyoffset" : 1039,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutValues.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> CGPointValue<\/decl.name>(for<\/decl.var.parameter.argument_label> direction<\/decl.var.parameter.name>: LayoutDirection<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGSize<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
+            "key.kind" : "source.lang.swift.decl.function.method.instance",
+            "key.length" : 281,
+            "key.name" : "CGPointValue(for:)",
+            "key.namelength" : 45,
+            "key.nameoffset" : 982,
+            "key.offset" : 977,
+            "key.parsed_declaration" : "public func CGPointValue(for direction : LayoutDirection) -> CGSize",
+            "key.parsed_scope.end" : 54,
+            "key.parsed_scope.start" : 48,
             "key.substructure" : [
-              {
-                "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "static func empty(_ kind: SupplementaryKind<\/Type>) -> SupplementaryItemInfo<\/Type><\/Declaration>",
-                "key.bodylength" : 180,
-                "key.bodyoffset" : 9472,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-                "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> empty<\/decl.name>(_<\/decl.var.parameter.argument_label> kind<\/decl.var.parameter.name>: SupplementaryKind<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>) -> SupplementaryItemInfo<\/ref.class><\/decl.function.returntype><\/decl.function.method.static>",
-                "key.kind" : "source.lang.swift.decl.function.method.static",
-                "key.length" : 261,
-                "key.name" : "empty(_:)",
-                "key.namelength" : 33,
-                "key.nameoffset" : 9404,
-                "key.offset" : 9392,
-                "key.parsed_declaration" : "static func empty(_ kind : SupplementaryKind) -> SupplementaryItemInfo",
-                "key.parsed_scope.end" : 313,
-                "key.parsed_scope.start" : 306,
-                "key.substructure" : [
 
-                ],
-                "key.typename" : "(ListLayoutContent.SupplementaryItemInfo.Type) -> (SupplementaryKind) -> ListLayoutContent.SupplementaryItemInfo",
-                "key.typeusr" : "$sy10ListableUI17ListLayoutContentC21SupplementaryItemInfoCAA0F4KindOcD",
-                "key.usr" : "s:10ListableUI17ListLayoutContentC21SupplementaryItemInfoC5emptyyAeA0F4KindOFZ"
-              },
-              {
-                "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "let kind: SupplementaryKind<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> kind<\/decl.name>: SupplementaryKind<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 28,
-                "key.name" : "kind",
-                "key.namelength" : 4,
-                "key.nameoffset" : 9675,
-                "key.offset" : 9671,
-                "key.parsed_declaration" : "let kind : SupplementaryKind",
-                "key.parsed_scope.end" : 315,
-                "key.parsed_scope.start" : 315,
-                "key.typename" : "SupplementaryKind",
-                "key.typeusr" : "$s10ListableUI17SupplementaryKindOD",
-                "key.usr" : "s:10ListableUI17ListLayoutContentC21SupplementaryItemInfoC4kindAA0F4KindOvp"
-              },
-              {
-                "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "let layout: HeaderFooterLayout<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> layout<\/decl.name>: HeaderFooterLayout<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 31,
-                "key.name" : "layout",
-                "key.namelength" : 6,
-                "key.nameoffset" : 9712,
-                "key.offset" : 9708,
-                "key.parsed_declaration" : "let layout : HeaderFooterLayout",
-                "key.parsed_scope.end" : 316,
-                "key.parsed_scope.start" : 316,
-                "key.typename" : "HeaderFooterLayout",
-                "key.typeusr" : "$s10ListableUI18HeaderFooterLayoutVD",
-                "key.usr" : "s:10ListableUI17ListLayoutContentC21SupplementaryItemInfoC6layoutAA012HeaderFooterD0Vvp"
+            ],
+            "key.typename" : "(ListLayoutSize) -> (LayoutDirection) -> CGSize",
+            "key.typeusr" : "$s3forSo6CGSizeV10ListableUI15LayoutDirectionO_tcD",
+            "key.usr" : "s:10ListableUI14ListLayoutSizeV12CGPointValue3forSo6CGSizeVAA0D9DirectionO_tF"
+          }
+        ],
+        "key.typename" : "ListLayoutSize.Type",
+        "key.typeusr" : "$s10ListableUI14ListLayoutSizeVmD",
+        "key.usr" : "s:10ListableUI14ListLayoutSizeV"
+      }
+    ]
+  }
+}, {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift" : {
+    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
+    "key.length" : 6321,
+    "key.offset" : 0,
+    "key.substructure" : [
+      {
+        "key.accessibility" : "source.lang.swift.accessibility.public",
+        "key.annotated_decl" : "public struct LayoutDescription<\/Declaration>",
+        "key.attributes" : [
+          {
+            "key.attribute" : "source.decl.attribute.public",
+            "key.length" : 6,
+            "key.offset" : 93
+          }
+        ],
+        "key.bodylength" : 165,
+        "key.bodyoffset" : 129,
+        "key.doc.column" : 15,
+        "key.doc.declaration" : "public struct LayoutDescription",
+        "key.doc.discussion" : [
+          {
+            "Para" : "You use a `LayoutDescription` by passing a closure to its initializer, which you use to customize the `layoutAppearance` of the provided list type."
+          },
+          {
+            "Para" : "For example, to use a standard list layout, and customize the layout, your code would look something like this:"
+          },
+          {
+            "CodeListing" : ""
+          },
+          {
+            "Para" : "Or a layout for your own custom layout type would look somewhat like this:"
+          },
+          {
+            "CodeListing" : ""
+          },
+          {
+            "Para" : "Under the hood, Listable is smart, and will only re-create the underlying layout object when needed (when the layout type or layout appearance changes)."
+          }
+        ],
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
+        "key.doc.full_as_xml" : "LayoutDescription<\/Name>s:10ListableUI17LayoutDescriptionV<\/USR>public struct LayoutDescription<\/Declaration>A LayoutDescription<\/codeVoice>, well, describes the type of and properties of a layout to apply to a list view.<\/Para><\/Abstract>You use a LayoutDescription<\/codeVoice> by passing a closure to its initializer, which you use to customize the layoutAppearance<\/codeVoice> of the provided list type.<\/Para>For example, to use a standard list layout, and customize the layout, your code would look something like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>Or a layout for your own custom layout type would look somewhat like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>]]><\/rawHTML>Note]]><\/rawHTML>Under the hood, Listable is smart, and will only re-create the underlying layout object when needed (when the layout type or layout appearance changes).<\/Para><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.line" : 42,
+        "key.doc.name" : "LayoutDescription",
+        "key.doc.type" : "Class",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
+        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> LayoutDescription<\/decl.name><\/decl.struct>",
+        "key.kind" : "source.lang.swift.decl.extension",
+        "key.length" : 195,
+        "key.name" : "LayoutDescription",
+        "key.namelength" : 17,
+        "key.nameoffset" : 110,
+        "key.offset" : 100,
+        "key.parsed_declaration" : "public extension LayoutDescription",
+        "key.parsed_scope.end" : 15,
+        "key.parsed_scope.start" : 9,
+        "key.substructure" : [
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "static func paged(_ configure: @escaping (inout PagedAppearance<\/Type>) -> () = { _ in }) -> LayoutDescription<\/Type><\/Declaration>",
+            "key.bodylength" : 61,
+            "key.bodyoffset" : 231,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
+            "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> paged<\/decl.name>(_<\/decl.var.parameter.argument_label> configure<\/decl.var.parameter.name>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> (inout<\/syntaxtype.keyword> PagedAppearance<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type> = { _ in }<\/decl.var.parameter>) -> LayoutDescription<\/ref.struct><\/decl.function.returntype><\/decl.function.method.static>",
+            "key.kind" : "source.lang.swift.decl.function.method.static",
+            "key.length" : 159,
+            "key.name" : "paged(_:)",
+            "key.namelength" : 71,
+            "key.nameoffset" : 146,
+            "key.offset" : 134,
+            "key.parsed_declaration" : "static func paged(_ configure : @escaping (inout PagedAppearance) -> () = { _ in }) -> Self",
+            "key.parsed_scope.end" : 14,
+            "key.parsed_scope.start" : 11,
+            "key.substructure" : [
+
+            ],
+            "key.typename" : "(LayoutDescription.Type) -> (@escaping (inout PagedAppearance) -> ()) -> LayoutDescription",
+            "key.typeusr" : "$sy10ListableUI17LayoutDescriptionVyAA15PagedAppearanceVzccD",
+            "key.usr" : "s:10ListableUI17LayoutDescriptionV5pagedyACyAA15PagedAppearanceVzcFZ"
+          }
+        ],
+        "key.typename" : "LayoutDescription.Type",
+        "key.typeusr" : "$s10ListableUI17LayoutDescriptionVmD",
+        "key.usr" : "s:10ListableUI17LayoutDescriptionV"
+      },
+      {
+        "key.accessibility" : "source.lang.swift.accessibility.public",
+        "key.annotated_decl" : "public struct PagedAppearance : ListLayoutAppearance<\/Type><\/Declaration>",
+        "key.attributes" : [
+          {
+            "key.attribute" : "source.decl.attribute.public",
+            "key.length" : 6,
+            "key.offset" : 2151
+          }
+        ],
+        "key.bodylength" : 1493,
+        "key.bodyoffset" : 2205,
+        "key.doc.column" : 15,
+        "key.doc.comment" : "Describes the available appearance configuration options for a paged list layout.\nPaged list layouts lay out the headers, footers, and items in a list in a paged layout,\nsimilar to how UIPageViewController works.\n\nYou can control the direction via the `direction` property, and you can control\nthe inset on each page via the `itemInsets` property. You may also optionally show\nthe scroll indicators with the `showsScrollIndicators` property.\n\nNote\n----\nDo not edit this ASCII diagram directly.\nEdit the `PagedAppearance.monopic` file in this directory using Monodraw.\n```\n┌─────────────────────────────────┐\n│          itemInsets.top         │\n│   ┌─────────────────────────┐ i │\n│ i │                         │ t │\n│ t │                         │ e │\n│ e │                         │ m │\n│ m │                         │ I │\n│ I │                         │ n │\n│ n │                         │ s │\n│ s │                         │ e │\n│ e │                         │ t │\n│ t │                         │ s │\n│ s │                         │ . │\n│ . │                         │ r │\n│ l │                         │ i │\n│ e │                         │ g │\n│ f │                         │ h │\n│ t │                         │ t │\n│   └─────────────────────────┘   │\n│        itemInsets.bottom        │\n└─────────────────────────────────┘\n```",
+        "key.doc.declaration" : "public struct PagedAppearance : ListLayoutAppearance",
+        "key.doc.discussion" : [
+          {
+            "Para" : "You can control the direction via the `direction` property, and you can control the inset on each page via the `itemInsets` property. You may also optionally show the scroll indicators with the `showsScrollIndicators` property."
+          },
+          {
+            "Para" : "Do not edit this ASCII diagram directly. Edit the `PagedAppearance.monopic` file in this directory using Monodraw."
+          },
+          {
+            "CodeListing" : ""
+          }
+        ],
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
+        "key.doc.full_as_xml" : "PagedAppearance<\/Name>s:10ListableUI15PagedAppearanceV<\/USR>public struct PagedAppearance : ListLayoutAppearance<\/Declaration>Describes the available appearance configuration options for a paged list layout. Paged list layouts lay out the headers, footers, and items in a list in a paged layout, similar to how UIPageViewController works.<\/Para><\/Abstract>You can control the direction via the direction<\/codeVoice> property, and you can control the inset on each page via the itemInsets<\/codeVoice> property. You may also optionally show the scroll indicators with the showsScrollIndicators<\/codeVoice> property.<\/Para>]]><\/rawHTML>Note]]><\/rawHTML>Do not edit this ASCII diagram directly. Edit the PagedAppearance.monopic<\/codeVoice> file in this directory using Monodraw.<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.line" : 52,
+        "key.doc.name" : "PagedAppearance",
+        "key.doc.type" : "Class",
+        "key.doclength" : 1854,
+        "key.docoffset" : 297,
+        "key.elements" : [
+          {
+            "key.kind" : "source.lang.swift.structure.elem.typeref",
+            "key.length" : 20,
+            "key.offset" : 2183
+          }
+        ],
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
+        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> PagedAppearance<\/decl.name> : ListLayoutAppearance<\/ref.protocol><\/decl.struct>",
+        "key.inheritedtypes" : [
+          {
+            "key.name" : "ListLayoutAppearance"
+          }
+        ],
+        "key.kind" : "source.lang.swift.decl.struct",
+        "key.length" : 1541,
+        "key.name" : "PagedAppearance",
+        "key.namelength" : 15,
+        "key.nameoffset" : 2165,
+        "key.offset" : 2158,
+        "key.parsed_declaration" : "public struct PagedAppearance : ListLayoutAppearance",
+        "key.parsed_scope.end" : 99,
+        "key.parsed_scope.start" : 52,
+        "key.substructure" : [
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "public static var `default`: PagedAppearance<\/Type> { get }<\/Declaration>",
+            "key.attributes" : [
+              {
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 2210
+              }
+            ],
+            "key.bodylength" : 25,
+            "key.bodyoffset" : 2256,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> static<\/syntaxtype.keyword> var<\/syntaxtype.keyword> `default`<\/decl.name>: PagedAppearance<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.static>",
+            "key.kind" : "source.lang.swift.decl.var.static",
+            "key.length" : 65,
+            "key.name" : "default",
+            "key.namelength" : 7,
+            "key.nameoffset" : 2228,
+            "key.offset" : 2217,
+            "key.overrides" : [
+              {
+                "key.usr" : "s:10ListableUI20ListLayoutAppearanceP7defaultxvpZ"
+              }
+            ],
+            "key.parsed_declaration" : "public static var `default`: PagedAppearance",
+            "key.parsed_scope.end" : 56,
+            "key.parsed_scope.start" : 54,
+            "key.typename" : "PagedAppearance",
+            "key.typeusr" : "$s10ListableUI15PagedAppearanceVD",
+            "key.usr" : "s:10ListableUI15PagedAppearanceV7defaultACvpZ"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "public var direction: LayoutDirection<\/Type><\/Declaration>",
+            "key.attributes" : [
+              {
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 2373
+              }
+            ],
+            "key.doc.column" : 16,
+            "key.doc.comment" : "The direction the paging layout should occur in. Defaults to `vertical`.",
+            "key.doc.declaration" : "public var direction: LayoutDirection",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
+            "key.doc.full_as_xml" : "direction<\/Name>s:10ListableUI15PagedAppearanceV9directionAA15LayoutDirectionOvp<\/USR>public var direction: LayoutDirection<\/Declaration>The direction the paging layout should occur in. Defaults to vertical<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.line" : 59,
+            "key.doc.name" : "direction",
+            "key.doc.type" : "Other",
+            "key.doclength" : 77,
+            "key.docoffset" : 2292,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> direction<\/decl.name>: LayoutDirection<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 30,
+            "key.name" : "direction",
+            "key.namelength" : 9,
+            "key.nameoffset" : 2384,
+            "key.offset" : 2380,
+            "key.overrides" : [
+              {
+                "key.usr" : "s:10ListableUI20ListLayoutAppearanceP9directionAA0D9DirectionOvp"
+              }
+            ],
+            "key.parsed_declaration" : "public var direction: LayoutDirection",
+            "key.parsed_scope.end" : 59,
+            "key.parsed_scope.start" : 59,
+            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+            "key.typename" : "LayoutDirection",
+            "key.typeusr" : "$s10ListableUI15LayoutDirectionOD",
+            "key.usr" : "s:10ListableUI15PagedAppearanceV9directionAA15LayoutDirectionOvp"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "public let stickySectionHeaders: Bool<\/Type><\/Declaration>",
+            "key.attributes" : [
+              {
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 2420
+              }
+            ],
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> let<\/syntaxtype.keyword> stickySectionHeaders<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 38,
+            "key.name" : "stickySectionHeaders",
+            "key.namelength" : 20,
+            "key.nameoffset" : 2431,
+            "key.offset" : 2427,
+            "key.overrides" : [
+              {
+                "key.usr" : "s:10ListableUI20ListLayoutAppearanceP20stickySectionHeadersSbvp"
+              }
+            ],
+            "key.parsed_declaration" : "public let stickySectionHeaders: Bool = false",
+            "key.parsed_scope.end" : 61,
+            "key.parsed_scope.start" : 61,
+            "key.typename" : "Bool",
+            "key.typeusr" : "$sSbD",
+            "key.usr" : "s:10ListableUI15PagedAppearanceV20stickySectionHeadersSbvp"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "public var showsScrollIndicators: Bool<\/Type><\/Declaration>",
+            "key.attributes" : [
+              {
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 2549
+              }
+            ],
+            "key.doc.column" : 16,
+            "key.doc.comment" : "If scroll indicators should be visible along the scrollable axis.",
+            "key.doc.declaration" : "public var showsScrollIndicators: Bool",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
+            "key.doc.full_as_xml" : "showsScrollIndicators<\/Name>s:10ListableUI15PagedAppearanceV21showsScrollIndicatorsSbvp<\/USR>public var showsScrollIndicators: Bool<\/Declaration>If scroll indicators should be visible along the scrollable axis.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.line" : 64,
+            "key.doc.name" : "showsScrollIndicators",
+            "key.doc.type" : "Other",
+            "key.doclength" : 70,
+            "key.docoffset" : 2475,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> showsScrollIndicators<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 32,
+            "key.name" : "showsScrollIndicators",
+            "key.namelength" : 21,
+            "key.nameoffset" : 2560,
+            "key.offset" : 2556,
+            "key.parsed_declaration" : "public var showsScrollIndicators : Bool",
+            "key.parsed_scope.end" : 64,
+            "key.parsed_scope.start" : 64,
+            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+            "key.typename" : "Bool",
+            "key.typeusr" : "$sSbD",
+            "key.usr" : "s:10ListableUI15PagedAppearanceV21showsScrollIndicatorsSbvp"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "public var itemInsets: UIEdgeInsets<\/Type><\/Declaration>",
+            "key.attributes" : [
+              {
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 2680
+              }
+            ],
+            "key.doc.column" : 16,
+            "key.doc.comment" : "How far each item in the list should be inset from the edges of the view.",
+            "key.doc.declaration" : "public var itemInsets: UIEdgeInsets",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
+            "key.doc.full_as_xml" : "itemInsets<\/Name>s:10ListableUI15PagedAppearanceV10itemInsetsSo06UIEdgeF0Vvp<\/USR>public var itemInsets: UIEdgeInsets<\/Declaration>How far each item in the list should be inset from the edges of the view.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.line" : 67,
+            "key.doc.name" : "itemInsets",
+            "key.doc.type" : "Other",
+            "key.doclength" : 78,
+            "key.docoffset" : 2598,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> itemInsets<\/decl.name>: UIEdgeInsets<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 29,
+            "key.name" : "itemInsets",
+            "key.namelength" : 10,
+            "key.nameoffset" : 2691,
+            "key.offset" : 2687,
+            "key.parsed_declaration" : "public var itemInsets : UIEdgeInsets",
+            "key.parsed_scope.end" : 67,
+            "key.parsed_scope.start" : 67,
+            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+            "key.typename" : "UIEdgeInsets",
+            "key.typeusr" : "$sSo12UIEdgeInsetsVD",
+            "key.usr" : "s:10ListableUI15PagedAppearanceV10itemInsetsSo06UIEdgeF0Vvp"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.annotated_decl" : "internal var pagingSize: PagingSize<\/Type><\/Declaration>",
+            "key.attributes" : [
+              {
+                "key.attribute" : "source.decl.attribute.internal",
+                "key.length" : 8,
+                "key.offset" : 2775
+              }
+            ],
+            "key.doc.column" : 18,
+            "key.doc.comment" : "Internal property for test harness only.",
+            "key.doc.declaration" : "internal var pagingSize: PagingSize",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
+            "key.doc.full_as_xml" : "pagingSize<\/Name>s:10ListableUI15PagedAppearanceV10pagingSizeAC06PagingF0Ovp<\/USR>internal var pagingSize: PagingSize<\/Declaration>Internal property for test harness only.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.line" : 70,
+            "key.doc.name" : "pagingSize",
+            "key.doc.type" : "Other",
+            "key.doclength" : 45,
+            "key.docoffset" : 2726,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
+            "key.fully_annotated_decl" : "internal<\/syntaxtype.keyword> var<\/syntaxtype.keyword> pagingSize<\/decl.name>: PagingSize<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 27,
+            "key.name" : "pagingSize",
+            "key.namelength" : 10,
+            "key.nameoffset" : 2788,
+            "key.offset" : 2784,
+            "key.parsed_declaration" : "internal var pagingSize : PagingSize",
+            "key.parsed_scope.end" : 70,
+            "key.parsed_scope.start" : 70,
+            "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
+            "key.typename" : "PagedAppearance.PagingSize",
+            "key.typeusr" : "$s10ListableUI15PagedAppearanceV10PagingSizeOD",
+            "key.usr" : "s:10ListableUI15PagedAppearanceV10pagingSizeAC06PagingF0Ovp"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "public init(direction: LayoutDirection<\/Type> = .vertical, showsScrollIndicators: Bool<\/Type> = false, itemInsets: UIEdgeInsets<\/Type> = .zero)<\/Declaration>",
+            "key.attributes" : [
+              {
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 2821
+              }
+            ],
+            "key.bodylength" : 177,
+            "key.bodyoffset" : 2977,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(direction<\/decl.var.parameter.argument_label>: LayoutDirection<\/ref.enum><\/decl.var.parameter.type> = .vertical<\/decl.var.parameter>, showsScrollIndicators<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type> = false<\/decl.var.parameter>, itemInsets<\/decl.var.parameter.argument_label>: UIEdgeInsets<\/ref.struct><\/decl.var.parameter.type> = .zero<\/decl.var.parameter>)<\/decl.function.constructor>",
+            "key.kind" : "source.lang.swift.decl.function.method.instance",
+            "key.length" : 327,
+            "key.name" : "init(direction:showsScrollIndicators:itemInsets:)",
+            "key.namelength" : 147,
+            "key.nameoffset" : 2828,
+            "key.offset" : 2828,
+            "key.parsed_declaration" : "public init(\n    direction: LayoutDirection = .vertical,\n    showsScrollIndicators : Bool = false,\n    itemInsets : UIEdgeInsets = .zero\n)",
+            "key.parsed_scope.end" : 82,
+            "key.parsed_scope.start" : 72,
+            "key.substructure" : [
+
+            ],
+            "key.typename" : "(PagedAppearance.Type) -> (LayoutDirection, Bool, UIEdgeInsets) -> PagedAppearance",
+            "key.typeusr" : "$s9direction21showsScrollIndicators10itemInsets10ListableUI15PagedAppearanceVAD15LayoutDirectionO_SbSo06UIEdgeF0VtcD",
+            "key.usr" : "s:10ListableUI15PagedAppearanceV9direction21showsScrollIndicators10itemInsetsAcA15LayoutDirectionO_SbSo06UIEdgeJ0Vtcfc"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.annotated_decl" : "enum PagedAppearance<\/Type>.PagingSize : Equatable<\/Type><\/Declaration>",
+            "key.bodylength" : 502,
+            "key.bodyoffset" : 3194,
+            "key.elements" : [
+              {
+                "key.kind" : "source.lang.swift.structure.elem.typeref",
+                "key.length" : 9,
+                "key.offset" : 3183
+              }
+            ],
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
+            "key.fully_annotated_decl" : "enum<\/syntaxtype.keyword> PagedAppearance<\/ref.struct>.PagingSize<\/decl.name> : Equatable<\/ref.protocol><\/decl.enum>",
+            "key.inheritedtypes" : [
+              {
+                "key.name" : "Equatable"
+              }
+            ],
+            "key.kind" : "source.lang.swift.decl.enum",
+            "key.length" : 532,
+            "key.name" : "PagingSize",
+            "key.namelength" : 10,
+            "key.nameoffset" : 3170,
+            "key.offset" : 3165,
+            "key.parsed_declaration" : "enum PagingSize : Equatable",
+            "key.parsed_scope.end" : 98,
+            "key.parsed_scope.start" : 84,
+            "key.substructure" : [
+              {
+                "key.kind" : "source.lang.swift.decl.enumcase",
+                "key.length" : 9,
+                "key.namelength" : 0,
+                "key.nameoffset" : 0,
+                "key.offset" : 3203,
+                "key.substructure" : [
+                  {
+                    "key.accessibility" : "source.lang.swift.accessibility.internal",
+                    "key.annotated_decl" : "case view<\/Declaration>",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
+                    "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> view<\/decl.name><\/decl.enumelement>",
+                    "key.kind" : "source.lang.swift.decl.enumelement",
+                    "key.length" : 4,
+                    "key.name" : "view",
+                    "key.namelength" : 4,
+                    "key.nameoffset" : 3208,
+                    "key.offset" : 3208,
+                    "key.parsed_declaration" : "case view",
+                    "key.parsed_scope.end" : 85,
+                    "key.parsed_scope.start" : 85,
+                    "key.typename" : "(PagedAppearance.PagingSize.Type) -> PagedAppearance.PagingSize",
+                    "key.typeusr" : "$sy10ListableUI15PagedAppearanceV10PagingSizeOAEmcD",
+                    "key.usr" : "s:10ListableUI15PagedAppearanceV10PagingSizeO4viewyA2EmF"
+                  }
+                ]
               },
               {
-                "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "let measurer: (Sizing<\/Type>.MeasureInfo<\/Type>) -> CGSize<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> measurer<\/decl.name>: (Sizing<\/ref.enum>.MeasureInfo<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGSize<\/ref.struct><\/decl.function.returntype><\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 45,
-                "key.name" : "measurer",
-                "key.namelength" : 8,
-                "key.nameoffset" : 9752,
-                "key.offset" : 9748,
-                "key.parsed_declaration" : "let measurer : (Sizing.MeasureInfo) -> CGSize",
-                "key.parsed_scope.end" : 317,
-                "key.parsed_scope.start" : 317,
-                "key.typename" : "(Sizing.MeasureInfo) -> CGSize",
-                "key.typeusr" : "$sySo6CGSizeV10ListableUI6SizingO11MeasureInfoVcD",
-                "key.usr" : "s:10ListableUI17ListLayoutContentC21SupplementaryItemInfoC8measurerySo6CGSizeVAA6SizingO07MeasureH0Vcvp"
+                "key.kind" : "source.lang.swift.decl.enumcase",
+                "key.length" : 19,
+                "key.namelength" : 0,
+                "key.nameoffset" : 0,
+                "key.offset" : 3221,
+                "key.substructure" : [
+                  {
+                    "key.accessibility" : "source.lang.swift.accessibility.internal",
+                    "key.annotated_decl" : "case fixed(CGFloat<\/Type>)<\/Declaration>",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
+                    "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> fixed<\/decl.name>(CGFloat<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.enumelement>",
+                    "key.kind" : "source.lang.swift.decl.enumelement",
+                    "key.length" : 14,
+                    "key.name" : "fixed(_:)",
+                    "key.namelength" : 14,
+                    "key.nameoffset" : 3226,
+                    "key.offset" : 3226,
+                    "key.parsed_declaration" : "case fixed(CGFloat)",
+                    "key.parsed_scope.end" : 86,
+                    "key.parsed_scope.start" : 86,
+                    "key.substructure" : [
+
+                    ],
+                    "key.typename" : "(PagedAppearance.PagingSize.Type) -> (CGFloat) -> PagedAppearance.PagingSize",
+                    "key.typeusr" : "$sy10ListableUI15PagedAppearanceV10PagingSizeO12CoreGraphics7CGFloatVcAEmcD",
+                    "key.usr" : "s:10ListableUI15PagedAppearanceV10PagingSizeO5fixedyAE12CoreGraphics7CGFloatVcAEmF"
+                  }
+                ]
               },
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "let isPopulated: Bool<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> isPopulated<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 22,
-                "key.name" : "isPopulated",
-                "key.namelength" : 11,
-                "key.nameoffset" : 9823,
-                "key.offset" : 9819,
-                "key.parsed_declaration" : "let isPopulated : Bool",
-                "key.parsed_scope.end" : 319,
-                "key.parsed_scope.start" : 319,
-                "key.typename" : "Bool",
-                "key.typeusr" : "$sSbD",
-                "key.usr" : "s:10ListableUI17ListLayoutContentC21SupplementaryItemInfoC11isPopulatedSbvp"
+                "key.annotated_decl" : "func size(for view: UIView<\/Type>, direction: LayoutDirection<\/Type>) -> CGSize<\/Type><\/Declaration>",
+                "key.bodylength" : 363,
+                "key.bodyoffset" : 3327,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
+                "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> size<\/decl.name>(for<\/decl.var.parameter.argument_label> view<\/decl.var.parameter.name>: UIView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, direction<\/decl.var.parameter.argument_label>: LayoutDirection<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGSize<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
+                "key.kind" : "source.lang.swift.decl.function.method.instance",
+                "key.length" : 433,
+                "key.name" : "size(for:direction:)",
+                "key.namelength" : 52,
+                "key.nameoffset" : 3263,
+                "key.offset" : 3258,
+                "key.parsed_declaration" : "func size(for view : UIView, direction : LayoutDirection) -> CGSize",
+                "key.parsed_scope.end" : 97,
+                "key.parsed_scope.start" : 88,
+                "key.substructure" : [
+
+                ],
+                "key.typename" : "(PagedAppearance.PagingSize) -> (UIView, LayoutDirection) -> CGSize",
+                "key.typeusr" : "$s3for9directionSo6CGSizeVSo6UIViewC_10ListableUI15LayoutDirectionOtcD",
+                "key.usr" : "s:10ListableUI15PagedAppearanceV10PagingSizeO4size3for9directionSo6CGSizeVSo6UIViewC_AA15LayoutDirectionOtF"
+              }
+            ],
+            "key.typename" : "PagedAppearance.PagingSize.Type",
+            "key.typeusr" : "$s10ListableUI15PagedAppearanceV10PagingSizeOmD",
+            "key.usr" : "s:10ListableUI15PagedAppearanceV10PagingSizeO"
+          }
+        ],
+        "key.typename" : "PagedAppearance.Type",
+        "key.typeusr" : "$s10ListableUI15PagedAppearanceVmD",
+        "key.usr" : "s:10ListableUI15PagedAppearanceV"
+      },
+      {
+        "key.accessibility" : "source.lang.swift.accessibility.internal",
+        "key.annotated_decl" : "final class PagedListLayout : ListLayout<\/Type><\/Declaration>",
+        "key.attributes" : [
+          {
+            "key.attribute" : "source.decl.attribute.final",
+            "key.length" : 5,
+            "key.offset" : 3702
+          }
+        ],
+        "key.bodylength" : 2575,
+        "key.bodyoffset" : 3744,
+        "key.elements" : [
+          {
+            "key.kind" : "source.lang.swift.structure.elem.typeref",
+            "key.length" : 10,
+            "key.offset" : 3732
+          }
+        ],
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
+        "key.fully_annotated_decl" : "final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> PagedListLayout<\/decl.name> : ListLayout<\/ref.protocol><\/decl.class>",
+        "key.inheritedtypes" : [
+          {
+            "key.name" : "ListLayout"
+          }
+        ],
+        "key.kind" : "source.lang.swift.decl.class",
+        "key.length" : 2612,
+        "key.name" : "PagedListLayout",
+        "key.namelength" : 15,
+        "key.nameoffset" : 3714,
+        "key.offset" : 3708,
+        "key.parsed_declaration" : "final class PagedListLayout : ListLayout",
+        "key.parsed_scope.end" : 184,
+        "key.parsed_scope.start" : 102,
+        "key.substructure" : [
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "public typealias PagedListLayout<\/Type>.LayoutAppearance = PagedAppearance<\/Type><\/Declaration>",
+            "key.attributes" : [
+              {
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 3749
+              }
+            ],
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> typealias<\/syntaxtype.keyword> PagedListLayout<\/ref.class>.LayoutAppearance<\/decl.name> = PagedAppearance<\/ref.struct><\/decl.typealias>",
+            "key.kind" : "source.lang.swift.decl.typealias",
+            "key.length" : 44,
+            "key.name" : "LayoutAppearance",
+            "key.namelength" : 16,
+            "key.nameoffset" : 3766,
+            "key.offset" : 3756,
+            "key.overrides" : [
+              {
+                "key.usr" : "s:10ListableUI10ListLayoutP0D10AppearanceQa"
+              }
+            ],
+            "key.parsed_declaration" : "public typealias LayoutAppearance = PagedAppearance",
+            "key.parsed_scope.end" : 104,
+            "key.parsed_scope.start" : 104,
+            "key.typename" : "PagedAppearance.Type",
+            "key.typeusr" : "$s10ListableUI15PagedAppearanceVmD",
+            "key.usr" : "s:10ListableUI15PagedListLayoutC0E10Appearancea"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.annotated_decl" : "static var defaults: ListLayoutDefaults<\/Type> { get }<\/Declaration>",
+            "key.bodylength" : 62,
+            "key.bodyoffset" : 3851,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
+            "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> var<\/syntaxtype.keyword> defaults<\/decl.name>: ListLayoutDefaults<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.static>",
+            "key.kind" : "source.lang.swift.decl.var.static",
+            "key.length" : 104,
+            "key.name" : "defaults",
+            "key.namelength" : 8,
+            "key.nameoffset" : 3821,
+            "key.offset" : 3810,
+            "key.overrides" : [
+              {
+                "key.usr" : "s:10ListableUI10ListLayoutP8defaultsAA0cD8DefaultsVvpZ"
+              }
+            ],
+            "key.parsed_declaration" : "static var defaults: ListLayoutDefaults",
+            "key.parsed_scope.end" : 108,
+            "key.parsed_scope.start" : 106,
+            "key.typename" : "ListLayoutDefaults",
+            "key.typeusr" : "$s10ListableUI18ListLayoutDefaultsVD",
+            "key.usr" : "s:10ListableUI15PagedListLayoutC8defaultsAA0dE8DefaultsVvpZ"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.annotated_decl" : "var layoutAppearance: PagedAppearance<\/Type><\/Declaration>",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
+            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> layoutAppearance<\/decl.name>: PagedAppearance<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 37,
+            "key.name" : "layoutAppearance",
+            "key.namelength" : 16,
+            "key.nameoffset" : 3928,
+            "key.offset" : 3924,
+            "key.overrides" : [
+              {
+                "key.usr" : "s:10ListableUI10ListLayoutP16layoutAppearance0dF0Qzvp"
+              }
+            ],
+            "key.parsed_declaration" : "var layoutAppearance: PagedAppearance",
+            "key.parsed_scope.end" : 110,
+            "key.parsed_scope.start" : 110,
+            "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
+            "key.typename" : "PagedAppearance",
+            "key.typeusr" : "$s10ListableUI15PagedAppearanceVD",
+            "key.usr" : "s:10ListableUI15PagedListLayoutC16layoutAppearanceAA0cG0Vvp"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.annotated_decl" : "let appearance: Appearance<\/Type><\/Declaration>",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
+            "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> appearance<\/decl.name>: Appearance<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 26,
+            "key.name" : "appearance",
+            "key.namelength" : 10,
+            "key.nameoffset" : 3975,
+            "key.offset" : 3971,
+            "key.overrides" : [
+              {
+                "key.usr" : "s:10ListableUI13AnyListLayoutP10appearanceAA10AppearanceVvp"
+              }
+            ],
+            "key.parsed_declaration" : "let appearance: Appearance",
+            "key.parsed_scope.end" : 112,
+            "key.parsed_scope.start" : 112,
+            "key.typename" : "Appearance",
+            "key.typeusr" : "$s10ListableUI10AppearanceVD",
+            "key.usr" : "s:10ListableUI15PagedListLayoutC10appearanceAA10AppearanceVvp"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.annotated_decl" : "let behavior: Behavior<\/Type><\/Declaration>",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
+            "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> behavior<\/decl.name>: Behavior<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 22,
+            "key.name" : "behavior",
+            "key.namelength" : 8,
+            "key.nameoffset" : 4006,
+            "key.offset" : 4002,
+            "key.overrides" : [
+              {
+                "key.usr" : "s:10ListableUI13AnyListLayoutP8behaviorAA8BehaviorVvp"
+              }
+            ],
+            "key.parsed_declaration" : "let behavior: Behavior",
+            "key.parsed_scope.end" : 113,
+            "key.parsed_scope.start" : 113,
+            "key.typename" : "Behavior",
+            "key.typeusr" : "$s10ListableUI8BehaviorVD",
+            "key.usr" : "s:10ListableUI15PagedListLayoutC8behaviorAA8BehaviorVvp"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.annotated_decl" : "let content: ListLayoutContent<\/Type><\/Declaration>",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
+            "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> content<\/decl.name>: ListLayoutContent<\/ref.class><\/decl.var.type><\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 30,
+            "key.name" : "content",
+            "key.namelength" : 7,
+            "key.nameoffset" : 4033,
+            "key.offset" : 4029,
+            "key.overrides" : [
+              {
+                "key.usr" : "s:10ListableUI13AnyListLayoutP7contentAA0dE7ContentCvp"
+              }
+            ],
+            "key.parsed_declaration" : "let content: ListLayoutContent",
+            "key.parsed_scope.end" : 114,
+            "key.parsed_scope.start" : 114,
+            "key.typename" : "ListLayoutContent",
+            "key.typeusr" : "$s10ListableUI17ListLayoutContentCD",
+            "key.usr" : "s:10ListableUI15PagedListLayoutC7contentAA0dE7ContentCvp"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.annotated_decl" : "var scrollViewProperties: ListLayoutScrollViewProperties<\/Type> { get }<\/Declaration>",
+            "key.bodylength" : 415,
+            "key.bodyoffset" : 4135,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
+            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> scrollViewProperties<\/decl.name>: ListLayoutScrollViewProperties<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 474,
+            "key.name" : "scrollViewProperties",
+            "key.namelength" : 20,
+            "key.nameoffset" : 4081,
+            "key.offset" : 4077,
+            "key.overrides" : [
+              {
+                "key.usr" : "s:10ListableUI13AnyListLayoutP20scrollViewPropertiesAA0de6ScrollgH0Vvp"
+              }
+            ],
+            "key.parsed_declaration" : "var scrollViewProperties: ListLayoutScrollViewProperties",
+            "key.parsed_scope.end" : 125,
+            "key.parsed_scope.start" : 116,
+            "key.typename" : "ListLayoutScrollViewProperties",
+            "key.typeusr" : "$s10ListableUI30ListLayoutScrollViewPropertiesVD",
+            "key.usr" : "s:10ListableUI15PagedListLayoutC20scrollViewPropertiesAA0de6ScrollgH0Vvp"
+          },
+          {
+            "key.kind" : "source.lang.swift.syntaxtype.comment.mark",
+            "key.length" : 20,
+            "key.name" : "MARK: Initialization",
+            "key.namelength" : 0,
+            "key.nameoffset" : 0,
+            "key.offset" : 4571
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.annotated_decl" : "init(layoutAppearance: PagedAppearance<\/Type>, appearance: Appearance<\/Type>, behavior: Behavior<\/Type>, content: ListLayoutContent<\/Type>)<\/Declaration>",
+            "key.bodylength" : 172,
+            "key.bodyoffset" : 4759,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
+            "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(layoutAppearance<\/decl.var.parameter.argument_label>: PagedAppearance<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, appearance<\/decl.var.parameter.argument_label>: Appearance<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, behavior<\/decl.var.parameter.argument_label>: Behavior<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, content<\/decl.var.parameter.argument_label>: ListLayoutContent<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
+            "key.kind" : "source.lang.swift.decl.function.method.instance",
+            "key.length" : 324,
+            "key.name" : "init(layoutAppearance:appearance:behavior:content:)",
+            "key.namelength" : 149,
+            "key.nameoffset" : 4608,
+            "key.offset" : 4608,
+            "key.overrides" : [
+              {
+                "key.usr" : "s:10ListableUI10ListLayoutP16layoutAppearance10appearance8behavior7contentx0dF0Qz_AA0F0VAA8BehaviorVAA0cD7ContentCtcfc"
+              }
+            ],
+            "key.parsed_declaration" : "init(\n    layoutAppearance: PagedAppearance,\n    appearance: Appearance,\n    behavior: Behavior,\n    content: ListLayoutContent\n)",
+            "key.parsed_scope.end" : 142,
+            "key.parsed_scope.start" : 131,
+            "key.substructure" : [
+
+            ],
+            "key.typename" : "(PagedListLayout.Type) -> (PagedAppearance, Appearance, Behavior, ListLayoutContent) -> PagedListLayout",
+            "key.typeusr" : "$s16layoutAppearance10appearance8behavior7content10ListableUI15PagedListLayoutCAE0hB0V_AE0B0VAE8BehaviorVAE0iJ7ContentCtcD",
+            "key.usr" : "s:10ListableUI15PagedListLayoutC16layoutAppearance10appearance8behavior7contentAcA0cG0V_AA0G0VAA8BehaviorVAA0dE7ContentCtcfc"
+          },
+          {
+            "key.kind" : "source.lang.swift.syntaxtype.comment.mark",
+            "key.length" : 24,
+            "key.name" : "MARK: Performing Layouts",
+            "key.namelength" : 0,
+            "key.nameoffset" : 0,
+            "key.offset" : 4952
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.annotated_decl" : "func updateLayout(in collectionView: UICollectionView<\/Type>)<\/Declaration>",
+            "key.bodylength" : 32,
+            "key.bodyoffset" : 5054,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
+            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> updateLayout<\/decl.name>(in<\/decl.var.parameter.argument_label> collectionView<\/decl.var.parameter.name>: UICollectionView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
+            "key.kind" : "source.lang.swift.decl.function.method.instance",
+            "key.length" : 94,
+            "key.name" : "updateLayout(in:)",
+            "key.namelength" : 50,
+            "key.nameoffset" : 4998,
+            "key.offset" : 4993,
+            "key.overrides" : [
+              {
+                "key.usr" : "s:10ListableUI13AnyListLayoutP06updateE02inySo16UICollectionViewC_tF"
+              }
+            ],
+            "key.parsed_declaration" : "func updateLayout(in collectionView : UICollectionView)",
+            "key.parsed_scope.end" : 151,
+            "key.parsed_scope.start" : 148,
+            "key.substructure" : [
+
+            ],
+            "key.typename" : "(PagedListLayout) -> (UICollectionView) -> ()",
+            "key.typeusr" : "$s2inySo16UICollectionViewC_tcD",
+            "key.usr" : "s:10ListableUI15PagedListLayoutC06updateE02inySo16UICollectionViewC_tF"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.annotated_decl" : "func layout(delegate: CollectionViewLayoutDelegate<\/Type>, in collectionView: UICollectionView<\/Type>)<\/Declaration>",
+            "key.bodylength" : 1104,
+            "key.bodyoffset" : 5213,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
+            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> layout<\/decl.name>(delegate<\/decl.var.parameter.argument_label>: CollectionViewLayoutDelegate<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>, in<\/decl.var.parameter.argument_label> collectionView<\/decl.var.parameter.name>: UICollectionView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
+            "key.kind" : "source.lang.swift.decl.function.method.instance",
+            "key.length" : 1221,
+            "key.name" : "layout(delegate:in:)",
+            "key.namelength" : 109,
+            "key.nameoffset" : 5102,
+            "key.offset" : 5097,
+            "key.overrides" : [
+              {
+                "key.usr" : "s:10ListableUI13AnyListLayoutP6layout8delegate2inyAA014CollectionViewE8Delegate_p_So012UICollectionJ0CtF"
+              }
+            ],
+            "key.parsed_declaration" : "func layout(\n    delegate : CollectionViewLayoutDelegate,\n    in collectionView : UICollectionView  \n)",
+            "key.parsed_scope.end" : 183,
+            "key.parsed_scope.start" : 153,
+            "key.substructure" : [
+              {
+                "key.annotated_decl" : "let viewSize: CGSize<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
+                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> viewSize<\/decl.name>: CGSize<\/ref.struct><\/decl.var.type><\/decl.var.local>",
+                "key.kind" : "source.lang.swift.decl.var.local",
+                "key.length" : 100,
+                "key.name" : "viewSize",
+                "key.namelength" : 8,
+                "key.nameoffset" : 5226,
+                "key.offset" : 5222,
+                "key.parsed_declaration" : "let viewSize = self.layoutAppearance.pagingSize.size(for: collectionView, direction: self.direction)",
+                "key.parsed_scope.end" : 157,
+                "key.parsed_scope.start" : 157,
+                "key.typename" : "CGSize",
+                "key.typeusr" : "$sSo6CGSizeVD",
+                "key.usr" : "s:10ListableUI15PagedListLayoutC6layout8delegate2inyAA014CollectionViewE8Delegate_p_So012UICollectionJ0CtF8viewSizeL_So6CGSizeVvp"
               },
+              {
+                "key.annotated_decl" : "var lastMaxY: CGFloat<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
+                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> lastMaxY<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.local>",
+                "key.kind" : "source.lang.swift.decl.var.local",
+                "key.length" : 28,
+                "key.name" : "lastMaxY",
+                "key.namelength" : 8,
+                "key.nameoffset" : 5344,
+                "key.offset" : 5340,
+                "key.parsed_declaration" : "var lastMaxY : CGFloat = 0.0",
+                "key.parsed_scope.end" : 159,
+                "key.parsed_scope.start" : 159,
+                "key.typename" : "CGFloat",
+                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
+                "key.usr" : "s:10ListableUI15PagedListLayoutC6layout8delegate2inyAA014CollectionViewE8Delegate_p_So012UICollectionJ0CtF8lastMaxYL_12CoreGraphics7CGFloatVvp"
+              }
+            ],
+            "key.typename" : "(PagedListLayout) -> (CollectionViewLayoutDelegate, UICollectionView) -> ()",
+            "key.typeusr" : "$s8delegate2iny10ListableUI28CollectionViewLayoutDelegate_p_So012UICollectionF0CtcD",
+            "key.usr" : "s:10ListableUI15PagedListLayoutC6layout8delegate2inyAA014CollectionViewE8Delegate_p_So012UICollectionJ0CtF"
+          }
+        ],
+        "key.typename" : "PagedListLayout.Type",
+        "key.typeusr" : "$s10ListableUI15PagedListLayoutCmD",
+        "key.usr" : "s:10ListableUI15PagedListLayoutC"
+      }
+    ]
+  }
+}, {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/SupplementaryKind.swift" : {
+    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
+    "key.length" : 887,
+    "key.offset" : 0,
+    "key.substructure" : [
+      {
+        "key.accessibility" : "source.lang.swift.accessibility.internal",
+        "key.annotated_decl" : "enum SupplementaryKind : String<\/Type>, CaseIterable<\/Type><\/Declaration>",
+        "key.bodylength" : 724,
+        "key.bodyoffset" : 161,
+        "key.elements" : [
+          {
+            "key.kind" : "source.lang.swift.structure.elem.typeref",
+            "key.length" : 6,
+            "key.offset" : 139
+          },
+          {
+            "key.kind" : "source.lang.swift.structure.elem.typeref",
+            "key.length" : 12,
+            "key.offset" : 147
+          }
+        ],
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/SupplementaryKind.swift",
+        "key.fully_annotated_decl" : "enum<\/syntaxtype.keyword> SupplementaryKind<\/decl.name> : String<\/ref.struct>, CaseIterable<\/ref.protocol><\/decl.enum>",
+        "key.inheritedtypes" : [
+          {
+            "key.name" : "String"
+          },
+          {
+            "key.name" : "CaseIterable"
+          }
+        ],
+        "key.kind" : "source.lang.swift.decl.enum",
+        "key.length" : 772,
+        "key.name" : "SupplementaryKind",
+        "key.namelength" : 17,
+        "key.nameoffset" : 119,
+        "key.offset" : 114,
+        "key.parsed_declaration" : "enum SupplementaryKind : String, CaseIterable",
+        "key.parsed_scope.end" : 33,
+        "key.parsed_scope.start" : 11,
+        "key.substructure" : [
+          {
+            "key.kind" : "source.lang.swift.decl.enumcase",
+            "key.length" : 39,
+            "key.namelength" : 0,
+            "key.nameoffset" : 0,
+            "key.offset" : 166,
+            "key.substructure" : [
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "var size: CGSize<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> size<\/decl.name>: CGSize<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 25,
-                "key.name" : "size",
-                "key.namelength" : 4,
-                "key.nameoffset" : 9879,
-                "key.offset" : 9875,
-                "key.overrides" : [
+                "key.annotated_decl" : "case listHeader = "Listable.ListHeader"<\/Declaration>",
+                "key.elements" : [
                   {
-                    "key.usr" : "s:10ListableUI21ListLayoutContentItemP4sizeSo6CGSizeVvp"
+                    "key.kind" : "source.lang.swift.structure.elem.init_expr",
+                    "key.length" : 21,
+                    "key.offset" : 184
                   }
                 ],
-                "key.parsed_declaration" : "var size : CGSize = .zero",
-                "key.parsed_scope.end" : 321,
-                "key.parsed_scope.start" : 321,
-                "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
-                "key.typename" : "CGSize",
-                "key.typeusr" : "$sSo6CGSizeVD",
-                "key.usr" : "s:10ListableUI17ListLayoutContentC21SupplementaryItemInfoC4sizeSo6CGSizeVvp"
-              },
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/SupplementaryKind.swift",
+                "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> listHeader<\/decl.name> = "Listable.ListHeader"<\/syntaxtype.string><\/decl.enumelement>",
+                "key.kind" : "source.lang.swift.decl.enumelement",
+                "key.length" : 34,
+                "key.name" : "listHeader",
+                "key.namelength" : 10,
+                "key.nameoffset" : 171,
+                "key.offset" : 171,
+                "key.parsed_declaration" : "case listHeader = \"Listable.ListHeader\"",
+                "key.parsed_scope.end" : 13,
+                "key.parsed_scope.start" : 13,
+                "key.typename" : "(SupplementaryKind.Type) -> SupplementaryKind",
+                "key.typeusr" : "$sy10ListableUI17SupplementaryKindOACmcD",
+                "key.usr" : "s:10ListableUI17SupplementaryKindO10listHeaderyA2CmF"
+              }
+            ]
+          },
+          {
+            "key.kind" : "source.lang.swift.decl.enumcase",
+            "key.length" : 39,
+            "key.namelength" : 0,
+            "key.nameoffset" : 0,
+            "key.offset" : 210,
+            "key.substructure" : [
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "var x: CGFloat<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> x<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 23,
-                "key.name" : "x",
-                "key.namelength" : 1,
-                "key.nameoffset" : 9922,
-                "key.offset" : 9918,
-                "key.overrides" : [
+                "key.annotated_decl" : "case listFooter = "Listable.ListFooter"<\/Declaration>",
+                "key.elements" : [
                   {
-                    "key.usr" : "s:10ListableUI21ListLayoutContentItemP1x12CoreGraphics7CGFloatVvp"
+                    "key.kind" : "source.lang.swift.structure.elem.init_expr",
+                    "key.length" : 21,
+                    "key.offset" : 228
                   }
                 ],
-                "key.parsed_declaration" : "var x : CGFloat = .zero",
-                "key.parsed_scope.end" : 323,
-                "key.parsed_scope.start" : 323,
-                "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
-                "key.typename" : "CGFloat",
-                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
-                "key.usr" : "s:10ListableUI17ListLayoutContentC21SupplementaryItemInfoC1x12CoreGraphics7CGFloatVvp"
-              },
-              {
-                "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "var pinnedX: CGFloat<\/Type>?<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> pinnedX<\/decl.name>: CGFloat<\/ref.struct>?<\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 28,
-                "key.name" : "pinnedX",
-                "key.namelength" : 7,
-                "key.nameoffset" : 9954,
-                "key.offset" : 9950,
-                "key.parsed_declaration" : "var pinnedX : CGFloat? = nil",
-                "key.parsed_scope.end" : 324,
-                "key.parsed_scope.start" : 324,
-                "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
-                "key.typename" : "CGFloat?",
-                "key.typeusr" : "$s12CoreGraphics7CGFloatVSgD",
-                "key.usr" : "s:10ListableUI17ListLayoutContentC21SupplementaryItemInfoC7pinnedX12CoreGraphics7CGFloatVSgvp"
-              },
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/SupplementaryKind.swift",
+                "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> listFooter<\/decl.name> = "Listable.ListFooter"<\/syntaxtype.string><\/decl.enumelement>",
+                "key.kind" : "source.lang.swift.decl.enumelement",
+                "key.length" : 34,
+                "key.name" : "listFooter",
+                "key.namelength" : 10,
+                "key.nameoffset" : 215,
+                "key.offset" : 215,
+                "key.parsed_declaration" : "case listFooter = \"Listable.ListFooter\"",
+                "key.parsed_scope.end" : 14,
+                "key.parsed_scope.start" : 14,
+                "key.typename" : "(SupplementaryKind.Type) -> SupplementaryKind",
+                "key.typeusr" : "$sy10ListableUI17SupplementaryKindOACmcD",
+                "key.usr" : "s:10ListableUI17SupplementaryKindO10listFooteryA2CmF"
+              }
+            ]
+          },
+          {
+            "key.kind" : "source.lang.swift.decl.enumcase",
+            "key.length" : 45,
+            "key.namelength" : 0,
+            "key.nameoffset" : 0,
+            "key.offset" : 259,
+            "key.substructure" : [
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "var y: CGFloat<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> y<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 23,
-                "key.name" : "y",
-                "key.namelength" : 1,
-                "key.nameoffset" : 10000,
-                "key.offset" : 9996,
-                "key.overrides" : [
+                "key.annotated_decl" : "case sectionHeader = "Listable.SectionHeader"<\/Declaration>",
+                "key.elements" : [
                   {
-                    "key.usr" : "s:10ListableUI21ListLayoutContentItemP1y12CoreGraphics7CGFloatVvp"
+                    "key.kind" : "source.lang.swift.structure.elem.init_expr",
+                    "key.length" : 24,
+                    "key.offset" : 280
                   }
                 ],
-                "key.parsed_declaration" : "var y : CGFloat = .zero",
-                "key.parsed_scope.end" : 326,
-                "key.parsed_scope.start" : 326,
-                "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
-                "key.typename" : "CGFloat",
-                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
-                "key.usr" : "s:10ListableUI17ListLayoutContentC21SupplementaryItemInfoC1y12CoreGraphics7CGFloatVvp"
-              },
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/SupplementaryKind.swift",
+                "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> sectionHeader<\/decl.name> = "Listable.SectionHeader"<\/syntaxtype.string><\/decl.enumelement>",
+                "key.kind" : "source.lang.swift.decl.enumelement",
+                "key.length" : 40,
+                "key.name" : "sectionHeader",
+                "key.namelength" : 13,
+                "key.nameoffset" : 264,
+                "key.offset" : 264,
+                "key.parsed_declaration" : "case sectionHeader = \"Listable.SectionHeader\"",
+                "key.parsed_scope.end" : 16,
+                "key.parsed_scope.start" : 16,
+                "key.typename" : "(SupplementaryKind.Type) -> SupplementaryKind",
+                "key.typeusr" : "$sy10ListableUI17SupplementaryKindOACmcD",
+                "key.usr" : "s:10ListableUI17SupplementaryKindO13sectionHeaderyA2CmF"
+              }
+            ]
+          },
+          {
+            "key.kind" : "source.lang.swift.decl.enumcase",
+            "key.length" : 45,
+            "key.namelength" : 0,
+            "key.nameoffset" : 0,
+            "key.offset" : 309,
+            "key.substructure" : [
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "var pinnedY: CGFloat<\/Type>?<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> pinnedY<\/decl.name>: CGFloat<\/ref.struct>?<\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 28,
-                "key.name" : "pinnedY",
-                "key.namelength" : 7,
-                "key.nameoffset" : 10032,
-                "key.offset" : 10028,
-                "key.parsed_declaration" : "var pinnedY : CGFloat? = nil",
-                "key.parsed_scope.end" : 327,
-                "key.parsed_scope.start" : 327,
-                "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
-                "key.typename" : "CGFloat?",
-                "key.typeusr" : "$s12CoreGraphics7CGFloatVSgD",
-                "key.usr" : "s:10ListableUI17ListLayoutContentC21SupplementaryItemInfoC7pinnedY12CoreGraphics7CGFloatVSgvp"
-              },
+                "key.annotated_decl" : "case sectionFooter = "Listable.SectionFooter"<\/Declaration>",
+                "key.elements" : [
+                  {
+                    "key.kind" : "source.lang.swift.structure.elem.init_expr",
+                    "key.length" : 24,
+                    "key.offset" : 330
+                  }
+                ],
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/SupplementaryKind.swift",
+                "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> sectionFooter<\/decl.name> = "Listable.SectionFooter"<\/syntaxtype.string><\/decl.enumelement>",
+                "key.kind" : "source.lang.swift.decl.enumelement",
+                "key.length" : 40,
+                "key.name" : "sectionFooter",
+                "key.namelength" : 13,
+                "key.nameoffset" : 314,
+                "key.offset" : 314,
+                "key.parsed_declaration" : "case sectionFooter = \"Listable.SectionFooter\"",
+                "key.parsed_scope.end" : 17,
+                "key.parsed_scope.start" : 17,
+                "key.typename" : "(SupplementaryKind.Type) -> SupplementaryKind",
+                "key.typeusr" : "$sy10ListableUI17SupplementaryKindOACmcD",
+                "key.usr" : "s:10ListableUI17SupplementaryKindO13sectionFooteryA2CmF"
+              }
+            ]
+          },
+          {
+            "key.kind" : "source.lang.swift.decl.enumcase",
+            "key.length" : 51,
+            "key.namelength" : 0,
+            "key.nameoffset" : 0,
+            "key.offset" : 364,
+            "key.substructure" : [
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "var zIndex: Int<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> zIndex<\/decl.name>: Int<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 20,
-                "key.name" : "zIndex",
-                "key.namelength" : 6,
-                "key.nameoffset" : 10078,
-                "key.offset" : 10074,
-                "key.overrides" : [
+                "key.annotated_decl" : "case overscrollFooter = "Listable.OverscrollFooter"<\/Declaration>",
+                "key.elements" : [
                   {
-                    "key.usr" : "s:10ListableUI21ListLayoutContentItemP6zIndexSivp"
+                    "key.kind" : "source.lang.swift.structure.elem.init_expr",
+                    "key.length" : 27,
+                    "key.offset" : 388
                   }
                 ],
-                "key.parsed_declaration" : "var zIndex : Int = 0",
-                "key.parsed_scope.end" : 329,
-                "key.parsed_scope.start" : 329,
-                "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
-                "key.typename" : "Int",
-                "key.typeusr" : "$sSiD",
-                "key.usr" : "s:10ListableUI17ListLayoutContentC21SupplementaryItemInfoC6zIndexSivp"
-              },
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/SupplementaryKind.swift",
+                "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> overscrollFooter<\/decl.name> = "Listable.OverscrollFooter"<\/syntaxtype.string><\/decl.enumelement>",
+                "key.kind" : "source.lang.swift.decl.enumelement",
+                "key.length" : 46,
+                "key.name" : "overscrollFooter",
+                "key.namelength" : 16,
+                "key.nameoffset" : 369,
+                "key.offset" : 369,
+                "key.parsed_declaration" : "case overscrollFooter = \"Listable.OverscrollFooter\"",
+                "key.parsed_scope.end" : 19,
+                "key.parsed_scope.start" : 19,
+                "key.typename" : "(SupplementaryKind.Type) -> SupplementaryKind",
+                "key.typeusr" : "$sy10ListableUI17SupplementaryKindOACmcD",
+                "key.usr" : "s:10ListableUI17SupplementaryKindO16overscrollFooteryA2CmF"
+              }
+            ]
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.annotated_decl" : "func indexPath(in section: Int<\/Type>) -> IndexPath<\/Type><\/Declaration>",
+            "key.bodylength" : 407,
+            "key.bodyoffset" : 476,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/SupplementaryKind.swift",
+            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> indexPath<\/decl.name>(in<\/decl.var.parameter.argument_label> section<\/decl.var.parameter.name>: Int<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> IndexPath<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
+            "key.kind" : "source.lang.swift.decl.function.method.instance",
+            "key.length" : 459,
+            "key.name" : "indexPath(in:)",
+            "key.namelength" : 27,
+            "key.nameoffset" : 430,
+            "key.offset" : 425,
+            "key.parsed_declaration" : "func indexPath(in section : Int) -> IndexPath",
+            "key.parsed_scope.end" : 32,
+            "key.parsed_scope.start" : 21,
+            "key.substructure" : [
+
+            ],
+            "key.typename" : "(SupplementaryKind) -> (Int) -> IndexPath",
+            "key.typeusr" : "$s2in10Foundation9IndexPathVSi_tcD",
+            "key.usr" : "s:10ListableUI17SupplementaryKindO9indexPath2in10Foundation05IndexF0VSi_tF"
+          }
+        ],
+        "key.typename" : "SupplementaryKind.Type",
+        "key.typeusr" : "$s10ListableUI17SupplementaryKindOmD",
+        "key.usr" : "s:10ListableUI17SupplementaryKindO"
+      }
+    ]
+  }
+}, {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift" : {
+    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
+    "key.length" : 35966,
+    "key.offset" : 0,
+    "key.substructure" : [
+      {
+        "key.accessibility" : "source.lang.swift.accessibility.public",
+        "key.annotated_decl" : "public struct LayoutDescription<\/Declaration>",
+        "key.attributes" : [
+          {
+            "key.attribute" : "source.decl.attribute.public",
+            "key.length" : 6,
+            "key.offset" : 114
+          }
+        ],
+        "key.bodylength" : 165,
+        "key.bodyoffset" : 150,
+        "key.doc.column" : 15,
+        "key.doc.declaration" : "public struct LayoutDescription",
+        "key.doc.discussion" : [
+          {
+            "Para" : "You use a `LayoutDescription` by passing a closure to its initializer, which you use to customize the `layoutAppearance` of the provided list type."
+          },
+          {
+            "Para" : "For example, to use a standard list layout, and customize the layout, your code would look something like this:"
+          },
+          {
+            "CodeListing" : ""
+          },
+          {
+            "Para" : "Or a layout for your own custom layout type would look somewhat like this:"
+          },
+          {
+            "CodeListing" : ""
+          },
+          {
+            "Para" : "Under the hood, Listable is smart, and will only re-create the underlying layout object when needed (when the layout type or layout appearance changes)."
+          }
+        ],
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
+        "key.doc.full_as_xml" : "LayoutDescription<\/Name>s:10ListableUI17LayoutDescriptionV<\/USR>public struct LayoutDescription<\/Declaration>A LayoutDescription<\/codeVoice>, well, describes the type of and properties of a layout to apply to a list view.<\/Para><\/Abstract>You use a LayoutDescription<\/codeVoice> by passing a closure to its initializer, which you use to customize the layoutAppearance<\/codeVoice> of the provided list type.<\/Para>For example, to use a standard list layout, and customize the layout, your code would look something like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>Or a layout for your own custom layout type would look somewhat like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>]]><\/rawHTML>Note]]><\/rawHTML>Under the hood, Listable is smart, and will only re-create the underlying layout object when needed (when the layout type or layout appearance changes).<\/Para><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.line" : 42,
+        "key.doc.name" : "LayoutDescription",
+        "key.doc.type" : "Class",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
+        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> LayoutDescription<\/decl.name><\/decl.struct>",
+        "key.kind" : "source.lang.swift.decl.extension",
+        "key.length" : 195,
+        "key.name" : "LayoutDescription",
+        "key.namelength" : 17,
+        "key.nameoffset" : 131,
+        "key.offset" : 121,
+        "key.parsed_declaration" : "public extension LayoutDescription",
+        "key.parsed_scope.end" : 17,
+        "key.parsed_scope.start" : 11,
+        "key.substructure" : [
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "static func table(_ configure: @escaping (inout TableAppearance<\/Type>) -> () = { _ in }) -> LayoutDescription<\/Type><\/Declaration>",
+            "key.bodylength" : 61,
+            "key.bodyoffset" : 252,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+            "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> table<\/decl.name>(_<\/decl.var.parameter.argument_label> configure<\/decl.var.parameter.name>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> (inout<\/syntaxtype.keyword> TableAppearance<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type> = { _ in }<\/decl.var.parameter>) -> LayoutDescription<\/ref.struct><\/decl.function.returntype><\/decl.function.method.static>",
+            "key.kind" : "source.lang.swift.decl.function.method.static",
+            "key.length" : 159,
+            "key.name" : "table(_:)",
+            "key.namelength" : 71,
+            "key.nameoffset" : 167,
+            "key.offset" : 155,
+            "key.parsed_declaration" : "static func table(_ configure : @escaping (inout TableAppearance) -> () = { _ in }) -> Self",
+            "key.parsed_scope.end" : 16,
+            "key.parsed_scope.start" : 13,
+            "key.substructure" : [
+
+            ],
+            "key.typename" : "(LayoutDescription.Type) -> (@escaping (inout TableAppearance) -> ()) -> LayoutDescription",
+            "key.typeusr" : "$sy10ListableUI17LayoutDescriptionVyAA15TableAppearanceVzccD",
+            "key.usr" : "s:10ListableUI17LayoutDescriptionV5tableyACyAA15TableAppearanceVzcFZ"
+          }
+        ],
+        "key.typename" : "LayoutDescription.Type",
+        "key.typeusr" : "$s10ListableUI17LayoutDescriptionVmD",
+        "key.usr" : "s:10ListableUI17LayoutDescriptionV"
+      },
+      {
+        "key.accessibility" : "source.lang.swift.accessibility.public",
+        "key.annotated_decl" : "public struct TableAppearance : ListLayoutAppearance<\/Type><\/Declaration>",
+        "key.attributes" : [
+          {
+            "key.attribute" : "source.decl.attribute.public",
+            "key.length" : 6,
+            "key.offset" : 9877
+          }
+        ],
+        "key.bodylength" : 706,
+        "key.bodyoffset" : 9931,
+        "key.doc.column" : 15,
+        "key.doc.comment" : "\n`TableAppearance` defines the appearance and layout attribute for list layouts within a Listable list.\n\nThe below diagram shows where each of the properties on the `TableAppearance.Layout` values are\napplied when laying out the list.\n\nNote\n----\nDo not edit this ASCII diagram directly.\nEdit the `TableAppearance.monopic` file in this directory using Monodraw.\n```\n┌─────────────────────────────────────────────────────────────────┐\n│                          padding.top                            │\n│   ┌─────────────────────────────────────────────────────────┐   │\n│   │┌───────────────────────────────────────────────────────┐│   │\n│   ││                                                       ││   │\n│   ││                      List Header                      ││   │\n│   ││                                                       ││   │\n│   │└───────────────────────────────────────────────────────┘│   │\n│   │                                                         │   │\n│   │               headerToFirstSectionSpacing               │   │\n│   │                                                         │   │\n│   │┌───────────────────────────────────────────────────────┐│   │\n│   ││                                                       ││   │\n│   ││                    Section Header                     ││   │\n│   ││                                                       ││   │\n│   │└───────────────────────────────────────────────────────┘│   │\n│   │               sectionHeaderBottomSpacing                │   │\n│   │┌───────────────────────────────────────────────────────┐│   │\n│   ││                         Item                          ││   │\n│   │└───────────────────────────────────────────────────────┘│   │\n│   │                       itemSpacing                       │   │\n│   │┌───────────────────────────────────────────────────────┐│   │\n│   ││                         Item                          ││   │\n│   │└───────────────────────────────────────────────────────┘│   │\n│   │               itemToSectionFooterSpacing                │   │\n│   │┌───────────────────────────────────────────────────────┐│   │\n│   ││                                                       ││   │\n│ p ││                    Section Footer                     ││ p │\n│ a ││                                                       ││ a │\n│ d │└───────────────────────────────────────────────────────┘│ d │\n│ d │                                                         │ d │\n│ i │               interSectionSpacingWithFooter             │ i │\n│ n │                                                         │ n │\n│ g │┌───────────────────────────────────────────────────────┐│ g │\n│ . ││                                                       ││ . │\n│ l ││                    Section Header                     ││ r │\n│ e ││                                                       ││ i │\n│ f │└───────────────────────────────────────────────────────┘│ g │\n│ t │               sectionHeaderBottomSpacing                │ h │\n│   │┌───────────────────────────────────────────────────────┐│ t │\n│   ││                         Item                          ││   │\n│   │└───────────────────────────────────────────────────────┘│   │\n│   │                       itemSpacing                       │   │\n│   │┌───────────────────────────────────────────────────────┐│   │\n│   ││                         Item                          ││   │\n│   │└───────────────────────────────────────────────────────┘│   │\n│   │                                                         │   │\n│   │              interSectionSpacingWithNoFooter            │   │\n│   │                                                         │   │\n│   │┌───────────────────────────────────────────────────────┐│   │\n│   ││                                                       ││   │\n│   ││                    Section Header                     ││   │\n│   ││                                                       ││   │\n│   │└───────────────────────────────────────────────────────┘│   │\n│   │               sectionHeaderBottomSpacing                │   │\n│   │┌───────────────────────────────────────────────────────┐│   │\n│   ││                         Item                          ││   │\n│   │└───────────────────────────────────────────────────────┘│   │\n│   │                       itemSpacing                       │   │\n│   │┌───────────────────────────────────────────────────────┐│   │\n│   ││                         Item                          ││   │\n│   │└───────────────────────────────────────────────────────┘│   │\n│   │                                                         │   │\n│   │               lastSectionToFooterSpacing                │   │\n│   │                                                         │   │\n│   │┌───────────────────────────────────────────────────────┐│   │\n│   ││                                                       ││   │\n│   ││                      List Footer                      ││   │\n│   ││                                                       ││   │\n│   │└───────────────────────────────────────────────────────┘│   │\n│   └─────────────────────────────────────────────────────────┘   │\n│                         padding.bottom                          │\n└─────────────────────────────────────────────────────────────────┘\n```",
+        "key.doc.declaration" : "public struct TableAppearance : ListLayoutAppearance",
+        "key.doc.discussion" : [
+          {
+            "Para" : "The below diagram shows where each of the properties on the `TableAppearance.Layout` values are applied when laying out the list."
+          },
+          {
+            "Para" : "Do not edit this ASCII diagram directly. Edit the `TableAppearance.monopic` file in this directory using Monodraw."
+          },
+          {
+            "CodeListing" : ""
+          }
+        ],
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+        "key.doc.full_as_xml" : "TableAppearance<\/Name>s:10ListableUI15TableAppearanceV<\/USR>public struct TableAppearance : ListLayoutAppearance<\/Declaration>TableAppearance<\/codeVoice> defines the appearance and layout attribute for list layouts within a Listable list.<\/Para><\/Abstract>The below diagram shows where each of the properties on the TableAppearance.Layout<\/codeVoice> values are applied when laying out the list.<\/Para>]]><\/rawHTML>Note]]><\/rawHTML>Do not edit this ASCII diagram directly. Edit the TableAppearance.monopic<\/codeVoice> file in this directory using Monodraw.<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.line" : 105,
+        "key.doc.name" : "TableAppearance",
+        "key.doc.type" : "Class",
+        "key.doclength" : 9558,
+        "key.docoffset" : 319,
+        "key.elements" : [
+          {
+            "key.kind" : "source.lang.swift.structure.elem.typeref",
+            "key.length" : 20,
+            "key.offset" : 9909
+          }
+        ],
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> TableAppearance<\/decl.name> : ListLayoutAppearance<\/ref.protocol><\/decl.struct>",
+        "key.inheritedtypes" : [
+          {
+            "key.name" : "ListLayoutAppearance"
+          }
+        ],
+        "key.kind" : "source.lang.swift.decl.struct",
+        "key.length" : 754,
+        "key.name" : "TableAppearance",
+        "key.namelength" : 15,
+        "key.nameoffset" : 9891,
+        "key.offset" : 9884,
+        "key.parsed_declaration" : "public struct TableAppearance : ListLayoutAppearance",
+        "key.parsed_scope.end" : 133,
+        "key.parsed_scope.start" : 105,
+        "key.substructure" : [
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "public var direction: LayoutDirection<\/Type> { get }<\/Declaration>",
+            "key.attributes" : [
               {
-                "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "var defaultFrame: CGRect<\/Type> { get }<\/Declaration>",
-                "key.bodylength" : 130,
-                "key.bodyoffset" : 10139,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> defaultFrame<\/decl.name>: CGRect<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 158,
-                "key.name" : "defaultFrame",
-                "key.namelength" : 12,
-                "key.nameoffset" : 10116,
-                "key.offset" : 10112,
-                "key.parsed_declaration" : "var defaultFrame : CGRect",
-                "key.parsed_scope.end" : 336,
-                "key.parsed_scope.start" : 331,
-                "key.typename" : "CGRect",
-                "key.typeusr" : "$sSo6CGRectVD",
-                "key.usr" : "s:10ListableUI17ListLayoutContentC21SupplementaryItemInfoC12defaultFrameSo6CGRectVvp"
-              },
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 9936
+              }
+            ],
+            "key.bodylength" : 23,
+            "key.bodyoffset" : 9975,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> direction<\/decl.name>: LayoutDirection<\/ref.enum><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 56,
+            "key.name" : "direction",
+            "key.namelength" : 9,
+            "key.nameoffset" : 9947,
+            "key.offset" : 9943,
+            "key.overrides" : [
               {
-                "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "var visibleFrame: CGRect<\/Type> { get }<\/Declaration>",
-                "key.bodylength" : 220,
-                "key.bodyoffset" : 10315,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> visibleFrame<\/decl.name>: CGRect<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 248,
-                "key.name" : "visibleFrame",
-                "key.namelength" : 12,
-                "key.nameoffset" : 10292,
-                "key.offset" : 10288,
-                "key.parsed_declaration" : "var visibleFrame : CGRect",
-                "key.parsed_scope.end" : 346,
-                "key.parsed_scope.start" : 338,
-                "key.typename" : "CGRect",
-                "key.typeusr" : "$sSo6CGRectVD",
-                "key.usr" : "s:10ListableUI17ListLayoutContentC21SupplementaryItemInfoC12visibleFrameSo6CGRectVvp"
-              },
+                "key.usr" : "s:10ListableUI20ListLayoutAppearanceP9directionAA0D9DirectionOvp"
+              }
+            ],
+            "key.parsed_declaration" : "public var direction: LayoutDirection",
+            "key.parsed_scope.end" : 109,
+            "key.parsed_scope.start" : 107,
+            "key.typename" : "LayoutDirection",
+            "key.typeusr" : "$s10ListableUI15LayoutDirectionOD",
+            "key.usr" : "s:10ListableUI15TableAppearanceV9directionAA15LayoutDirectionOvp"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "public var stickySectionHeaders: Bool<\/Type><\/Declaration>",
+            "key.attributes" : [
               {
-                "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "init(kind: SupplementaryKind<\/Type>, layout: HeaderFooterLayout<\/Type>, isPopulated: Bool<\/Type>, measurer: @escaping (Sizing<\/Type>.MeasureInfo<\/Type>) -> CGSize<\/Type>)<\/Declaration>",
-                "key.bodylength" : 164,
-                "key.bodyoffset" : 10745,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-                "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(kind<\/decl.var.parameter.argument_label>: SupplementaryKind<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>, layout<\/decl.var.parameter.argument_label>: HeaderFooterLayout<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, isPopulated<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, measurer<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> (Sizing<\/ref.enum>.MeasureInfo<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGSize<\/ref.struct><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
-                "key.kind" : "source.lang.swift.decl.function.method.instance",
-                "key.length" : 356,
-                "key.name" : "init(kind:layout:isPopulated:measurer:)",
-                "key.namelength" : 189,
-                "key.nameoffset" : 10554,
-                "key.offset" : 10554,
-                "key.parsed_declaration" : "init(\n    kind : SupplementaryKind,\n    layout : HeaderFooterLayout,\n    isPopulated: Bool,\n    measurer : @escaping (Sizing.MeasureInfo) -> CGSize\n)",
-                "key.parsed_scope.end" : 359,
-                "key.parsed_scope.start" : 348,
-                "key.substructure" : [
-
-                ],
-                "key.typename" : "(ListLayoutContent.SupplementaryItemInfo.Type) -> (SupplementaryKind, HeaderFooterLayout, Bool, @escaping (Sizing.MeasureInfo) -> CGSize) -> ListLayoutContent.SupplementaryItemInfo",
-                "key.typeusr" : "$s4kind6layout11isPopulated8measurer10ListableUI17ListLayoutContentC21SupplementaryItemInfoCAE0K4KindO_AE012HeaderFooterI0VSbSo6CGSizeVAE6SizingO07MeasureM0VctcD",
-                "key.usr" : "s:10ListableUI17ListLayoutContentC21SupplementaryItemInfoC4kind6layout11isPopulated8measurerAeA0F4KindO_AA012HeaderFooterD0VSbSo6CGSizeVAA6SizingO07MeasureH0Vctcfc"
-              },
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 10009
+              }
+            ],
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> stickySectionHeaders<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 31,
+            "key.name" : "stickySectionHeaders",
+            "key.namelength" : 20,
+            "key.nameoffset" : 10020,
+            "key.offset" : 10016,
+            "key.overrides" : [
               {
-                "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "func layoutAttributes(with indexPath: IndexPath<\/Type>) -> UICollectionViewLayoutAttributes<\/Type><\/Declaration>",
-                "key.bodylength" : 285,
-                "key.bodyoffset" : 11023,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-                "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> layoutAttributes<\/decl.name>(with<\/decl.var.parameter.argument_label> indexPath<\/decl.var.parameter.name>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> UICollectionViewLayoutAttributes<\/ref.class><\/decl.function.returntype><\/decl.function.method.instance>",
-                "key.kind" : "source.lang.swift.decl.function.method.instance",
-                "key.length" : 381,
-                "key.name" : "layoutAttributes(with:)",
-                "key.namelength" : 44,
-                "key.nameoffset" : 10933,
-                "key.offset" : 10928,
-                "key.parsed_declaration" : "func layoutAttributes(with indexPath : IndexPath) -> UICollectionViewLayoutAttributes",
-                "key.parsed_scope.end" : 369,
-                "key.parsed_scope.start" : 361,
-                "key.substructure" : [
-                  {
-                    "key.annotated_decl" : "let attributes: UICollectionViewLayoutAttributes<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-                    "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> attributes<\/decl.name>: UICollectionViewLayoutAttributes<\/ref.class><\/decl.var.type><\/decl.var.local>",
-                    "key.kind" : "source.lang.swift.decl.var.local",
-                    "key.length" : 114,
-                    "key.name" : "attributes",
-                    "key.namelength" : 10,
-                    "key.nameoffset" : 11040,
-                    "key.offset" : 11036,
-                    "key.parsed_declaration" : "let attributes = UICollectionViewLayoutAttributes(forSupplementaryViewOfKind: self.kind.rawValue, with: indexPath)",
-                    "key.parsed_scope.end" : 363,
-                    "key.parsed_scope.start" : 363,
-                    "key.typename" : "UICollectionViewLayoutAttributes",
-                    "key.typeusr" : "$sSo32UICollectionViewLayoutAttributesCD",
-                    "key.usr" : "s:10ListableUI17ListLayoutContentC21SupplementaryItemInfoC16layoutAttributes4withSo016UICollectionViewdJ0C10Foundation9IndexPathV_tF10attributesL_AIvp"
-                  }
-                ],
-                "key.typename" : "(ListLayoutContent.SupplementaryItemInfo) -> (IndexPath) -> UICollectionViewLayoutAttributes",
-                "key.typeusr" : "$s4withSo32UICollectionViewLayoutAttributesC10Foundation9IndexPathV_tcD",
-                "key.usr" : "s:10ListableUI17ListLayoutContentC21SupplementaryItemInfoC16layoutAttributes4withSo016UICollectionViewdJ0C10Foundation9IndexPathV_tF"
+                "key.usr" : "s:10ListableUI20ListLayoutAppearanceP20stickySectionHeadersSbvp"
+              }
+            ],
+            "key.parsed_declaration" : "public var stickySectionHeaders : Bool",
+            "key.parsed_scope.end" : 111,
+            "key.parsed_scope.start" : 111,
+            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+            "key.typename" : "Bool",
+            "key.typeusr" : "$sSbD",
+            "key.usr" : "s:10ListableUI15TableAppearanceV20stickySectionHeadersSbvp"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "public var sizing: Sizing<\/Type><\/Declaration>",
+            "key.attributes" : [
+              {
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 10116
+              }
+            ],
+            "key.doc.column" : 16,
+            "key.doc.comment" : "Default sizing attributes for content in the list.",
+            "key.doc.declaration" : "public var sizing: Sizing",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+            "key.doc.full_as_xml" : "sizing<\/Name>s:10ListableUI15TableAppearanceV6sizingAC6SizingVvp<\/USR>public var sizing: Sizing<\/Declaration>Default sizing attributes for content in the list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.line" : 114,
+            "key.doc.name" : "sizing",
+            "key.doc.type" : "Other",
+            "key.doclength" : 55,
+            "key.docoffset" : 10057,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> sizing<\/decl.name>: Sizing<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 19,
+            "key.name" : "sizing",
+            "key.namelength" : 6,
+            "key.nameoffset" : 10127,
+            "key.offset" : 10123,
+            "key.parsed_declaration" : "public var sizing : Sizing",
+            "key.parsed_scope.end" : 114,
+            "key.parsed_scope.start" : 114,
+            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+            "key.typename" : "TableAppearance.Sizing",
+            "key.typeusr" : "$s10ListableUI15TableAppearanceV6SizingVD",
+            "key.usr" : "s:10ListableUI15TableAppearanceV6sizingAC6SizingVvp"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "public var layout: Layout<\/Type><\/Declaration>",
+            "key.attributes" : [
+              {
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 10203
               }
             ],
-            "key.typename" : "ListLayoutContent.SupplementaryItemInfo.Type",
-            "key.typeusr" : "$s10ListableUI17ListLayoutContentC21SupplementaryItemInfoCmD",
-            "key.usr" : "s:10ListableUI17ListLayoutContentC21SupplementaryItemInfoC"
+            "key.doc.column" : 16,
+            "key.doc.comment" : "Layout attributes for content in the list.",
+            "key.doc.declaration" : "public var layout: Layout",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+            "key.doc.full_as_xml" : "layout<\/Name>s:10ListableUI15TableAppearanceV6layoutAC6LayoutVvp<\/USR>public var layout: Layout<\/Declaration>Layout attributes for content in the list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.line" : 117,
+            "key.doc.name" : "layout",
+            "key.doc.type" : "Other",
+            "key.doclength" : 47,
+            "key.docoffset" : 10152,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> layout<\/decl.name>: Layout<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 19,
+            "key.name" : "layout",
+            "key.namelength" : 6,
+            "key.nameoffset" : 10214,
+            "key.offset" : 10210,
+            "key.parsed_declaration" : "public var layout : Layout",
+            "key.parsed_scope.end" : 117,
+            "key.parsed_scope.start" : 117,
+            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+            "key.typename" : "TableAppearance.Layout",
+            "key.typeusr" : "$s10ListableUI15TableAppearanceV6LayoutVD",
+            "key.usr" : "s:10ListableUI15TableAppearanceV6layoutAC6LayoutVvp"
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "final class ItemInfo : ListLayoutContentItem<\/Type><\/Declaration>",
+            "key.annotated_decl" : "public static var `default`: TableAppearance<\/Type> { get }<\/Declaration>",
             "key.attributes" : [
               {
-                "key.attribute" : "source.decl.attribute.final",
-                "key.length" : 5,
-                "key.offset" : 11326
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 10239
               }
             ],
-            "key.bodylength" : 1603,
-            "key.bodyoffset" : 11376,
-            "key.elements" : [
+            "key.bodylength" : 32,
+            "key.bodyoffset" : 10285,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> static<\/syntaxtype.keyword> var<\/syntaxtype.keyword> `default`<\/decl.name>: TableAppearance<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.static>",
+            "key.kind" : "source.lang.swift.decl.var.static",
+            "key.length" : 72,
+            "key.name" : "default",
+            "key.namelength" : 7,
+            "key.nameoffset" : 10257,
+            "key.offset" : 10246,
+            "key.overrides" : [
               {
-                "key.kind" : "source.lang.swift.structure.elem.typeref",
-                "key.length" : 21,
-                "key.offset" : 11349
+                "key.usr" : "s:10ListableUI20ListLayoutAppearanceP7defaultxvpZ"
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-            "key.fully_annotated_decl" : "final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> ItemInfo<\/decl.name> : ListLayoutContentItem<\/ref.protocol><\/decl.class>",
-            "key.inheritedtypes" : [
+            "key.parsed_declaration" : "public static var `default`: TableAppearance",
+            "key.parsed_scope.end" : 121,
+            "key.parsed_scope.start" : 119,
+            "key.typename" : "TableAppearance",
+            "key.typeusr" : "$s10ListableUI15TableAppearanceVD",
+            "key.usr" : "s:10ListableUI15TableAppearanceV7defaultACvpZ"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "public init(stickySectionHeaders: Bool<\/Type> = true, sizing: Sizing<\/Type> = Sizing(), layout: Layout<\/Type> = Layout())<\/Declaration>",
+            "key.attributes" : [
               {
-                "key.name" : "ListLayoutContentItem"
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 10380
               }
             ],
-            "key.kind" : "source.lang.swift.decl.class",
-            "key.length" : 1648,
-            "key.name" : "ItemInfo",
-            "key.namelength" : 8,
-            "key.nameoffset" : 11338,
-            "key.offset" : 11332,
-            "key.parsed_declaration" : "final class ItemInfo : ListLayoutContentItem",
-            "key.parsed_scope.end" : 423,
-            "key.parsed_scope.start" : 373,
+            "key.bodylength" : 120,
+            "key.bodyoffset" : 10515,
+            "key.doc.column" : 12,
+            "key.doc.comment" : "Creates a new `TableAppearance` object.",
+            "key.doc.declaration" : "public init(stickySectionHeaders: Bool = true, sizing: Sizing = Sizing(), layout: Layout = Layout())",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+            "key.doc.full_as_xml" : "init(stickySectionHeaders:sizing:layout:)<\/Name>s:10ListableUI15TableAppearanceV20stickySectionHeaders6sizing6layoutACSb_AC6SizingVAC6LayoutVtcfc<\/USR>public init(stickySectionHeaders: Bool = true, sizing: Sizing = Sizing(), layout: Layout = Layout())<\/Declaration>Creates a new TableAppearance<\/codeVoice> object.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.line" : 124,
+            "key.doc.name" : "init(stickySectionHeaders:sizing:layout:)",
+            "key.doc.type" : "Function",
+            "key.doclength" : 44,
+            "key.docoffset" : 10332,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(stickySectionHeaders<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type> = true<\/decl.var.parameter>, sizing<\/decl.var.parameter.argument_label>: Sizing<\/ref.struct><\/decl.var.parameter.type> = Sizing()<\/decl.var.parameter>, layout<\/decl.var.parameter.argument_label>: Layout<\/ref.struct><\/decl.var.parameter.type> = Layout()<\/decl.var.parameter>)<\/decl.function.constructor>",
+            "key.kind" : "source.lang.swift.decl.function.method.instance",
+            "key.length" : 249,
+            "key.name" : "init(stickySectionHeaders:sizing:layout:)",
+            "key.namelength" : 126,
+            "key.nameoffset" : 10387,
+            "key.offset" : 10387,
+            "key.parsed_declaration" : "public init(\n    stickySectionHeaders : Bool = true,\n    sizing : Sizing = Sizing(),\n    layout : Layout = Layout()\n)",
+            "key.parsed_scope.end" : 132,
+            "key.parsed_scope.start" : 124,
             "key.substructure" : [
+
+            ],
+            "key.typename" : "(TableAppearance.Type) -> (Bool, TableAppearance.Sizing, TableAppearance.Layout) -> TableAppearance",
+            "key.typeusr" : "$s20stickySectionHeaders6sizing6layout10ListableUI15TableAppearanceVSb_AF6SizingVAF6LayoutVtcD",
+            "key.usr" : "s:10ListableUI15TableAppearanceV20stickySectionHeaders6sizing6layoutACSb_AC6SizingVAC6LayoutVtcfc"
+          }
+        ],
+        "key.typename" : "TableAppearance.Type",
+        "key.typeusr" : "$s10ListableUI15TableAppearanceVmD",
+        "key.usr" : "s:10ListableUI15TableAppearanceV"
+      },
+      {
+        "key.annotated_decl" : "public struct TableAppearance : ListLayoutAppearance<\/Type><\/Declaration>",
+        "key.bodylength" : 8165,
+        "key.bodyoffset" : 10668,
+        "key.doc.column" : 15,
+        "key.doc.declaration" : "public struct TableAppearance : ListLayoutAppearance",
+        "key.doc.discussion" : [
+          {
+            "Para" : "The below diagram shows where each of the properties on the `TableAppearance.Layout` values are applied when laying out the list."
+          },
+          {
+            "Para" : "Do not edit this ASCII diagram directly. Edit the `TableAppearance.monopic` file in this directory using Monodraw."
+          },
+          {
+            "CodeListing" : ""
+          }
+        ],
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+        "key.doc.full_as_xml" : "TableAppearance<\/Name>s:10ListableUI15TableAppearanceV<\/USR>public struct TableAppearance : ListLayoutAppearance<\/Declaration>TableAppearance<\/codeVoice> defines the appearance and layout attribute for list layouts within a Listable list.<\/Para><\/Abstract>The below diagram shows where each of the properties on the TableAppearance.Layout<\/codeVoice> values are applied when laying out the list.<\/Para>]]><\/rawHTML>Note]]><\/rawHTML>Do not edit this ASCII diagram directly. Edit the TableAppearance.monopic<\/codeVoice> file in this directory using Monodraw.<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.line" : 105,
+        "key.doc.name" : "TableAppearance",
+        "key.doc.type" : "Class",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> TableAppearance<\/decl.name> : ListLayoutAppearance<\/ref.protocol><\/decl.struct>",
+        "key.kind" : "source.lang.swift.decl.extension",
+        "key.length" : 8193,
+        "key.name" : "TableAppearance",
+        "key.namelength" : 15,
+        "key.nameoffset" : 10651,
+        "key.offset" : 10641,
+        "key.parsed_declaration" : "extension TableAppearance",
+        "key.parsed_scope.end" : 363,
+        "key.parsed_scope.start" : 136,
+        "key.substructure" : [
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "public struct ItemLayout : Equatable<\/Type>, ItemLayoutsValue<\/Type><\/Declaration>",
+            "key.attributes" : [
               {
-                "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "var delegateProvidedIndexPath: IndexPath<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> delegateProvidedIndexPath<\/decl.name>: IndexPath<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 41,
-                "key.name" : "delegateProvidedIndexPath",
-                "key.namelength" : 25,
-                "key.nameoffset" : 11389,
-                "key.offset" : 11385,
-                "key.parsed_declaration" : "var delegateProvidedIndexPath : IndexPath",
-                "key.parsed_scope.end" : 375,
-                "key.parsed_scope.start" : 375,
-                "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
-                "key.typename" : "IndexPath",
-                "key.typeusr" : "$s10Foundation9IndexPathVD",
-                "key.usr" : "s:10ListableUI17ListLayoutContentC8ItemInfoC25delegateProvidedIndexPath10Foundation0jK0Vvp"
-              },
-              {
-                "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "var liveIndexPath: IndexPath<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> liveIndexPath<\/decl.name>: IndexPath<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 29,
-                "key.name" : "liveIndexPath",
-                "key.namelength" : 13,
-                "key.nameoffset" : 11439,
-                "key.offset" : 11435,
-                "key.parsed_declaration" : "var liveIndexPath : IndexPath",
-                "key.parsed_scope.end" : 376,
-                "key.parsed_scope.start" : 376,
-                "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
-                "key.typename" : "IndexPath",
-                "key.typeusr" : "$s10Foundation9IndexPathVD",
-                "key.usr" : "s:10ListableUI17ListLayoutContentC8ItemInfoC13liveIndexPath10Foundation0iJ0Vvp"
-              },
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 10673
+              }
+            ],
+            "key.bodylength" : 571,
+            "key.bodyoffset" : 10733,
+            "key.elements" : [
               {
-                "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "let layout: ItemLayout<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> layout<\/decl.name>: ItemLayout<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 23,
-                "key.name" : "layout",
-                "key.namelength" : 6,
-                "key.nameoffset" : 11486,
-                "key.offset" : 11482,
-                "key.parsed_declaration" : "let layout : ItemLayout",
-                "key.parsed_scope.end" : 378,
-                "key.parsed_scope.start" : 378,
-                "key.typename" : "ItemLayout",
-                "key.typeusr" : "$s10ListableUI10ItemLayoutVD",
-                "key.usr" : "s:10ListableUI17ListLayoutContentC8ItemInfoC6layoutAA0fD0Vvp"
+                "key.kind" : "source.lang.swift.structure.elem.typeref",
+                "key.length" : 9,
+                "key.offset" : 10700
               },
               {
-                "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "let insertAndRemoveAnimations: ItemInsertAndRemoveAnimations<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> insertAndRemoveAnimations<\/decl.name>: ItemInsertAndRemoveAnimations<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 61,
-                "key.name" : "insertAndRemoveAnimations",
-                "key.namelength" : 25,
-                "key.nameoffset" : 11518,
-                "key.offset" : 11514,
-                "key.parsed_declaration" : "let insertAndRemoveAnimations : ItemInsertAndRemoveAnimations",
-                "key.parsed_scope.end" : 379,
-                "key.parsed_scope.start" : 379,
-                "key.typename" : "ItemInsertAndRemoveAnimations",
-                "key.typeusr" : "$s10ListableUI29ItemInsertAndRemoveAnimationsVD",
-                "key.usr" : "s:10ListableUI17ListLayoutContentC8ItemInfoC25insertAndRemoveAnimationsAA0f6InsertijK0Vvp"
-              },
+                "key.kind" : "source.lang.swift.structure.elem.typeref",
+                "key.length" : 16,
+                "key.offset" : 10711
+              }
+            ],
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> ItemLayout<\/decl.name> : Equatable<\/ref.protocol>, ItemLayoutsValue<\/ref.protocol><\/decl.struct>",
+            "key.inheritedtypes" : [
               {
-                "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "let measurer: (Sizing<\/Type>.MeasureInfo<\/Type>) -> CGSize<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> measurer<\/decl.name>: (Sizing<\/ref.enum>.MeasureInfo<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGSize<\/ref.struct><\/decl.function.returntype><\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 45,
-                "key.name" : "measurer",
-                "key.namelength" : 8,
-                "key.nameoffset" : 11588,
-                "key.offset" : 11584,
-                "key.parsed_declaration" : "let measurer : (Sizing.MeasureInfo) -> CGSize",
-                "key.parsed_scope.end" : 380,
-                "key.parsed_scope.start" : 380,
-                "key.typename" : "(Sizing.MeasureInfo) -> CGSize",
-                "key.typeusr" : "$sySo6CGSizeV10ListableUI6SizingO11MeasureInfoVcD",
-                "key.usr" : "s:10ListableUI17ListLayoutContentC8ItemInfoC8measurerySo6CGSizeVAA6SizingO07MeasureG0Vcvp"
+                "key.name" : "Equatable"
               },
               {
-                "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "var position: ItemPosition<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> position<\/decl.name>: ItemPosition<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 37,
-                "key.name" : "position",
-                "key.namelength" : 8,
-                "key.nameoffset" : 11651,
-                "key.offset" : 11647,
-                "key.parsed_declaration" : "var position : ItemPosition = .single",
-                "key.parsed_scope.end" : 382,
-                "key.parsed_scope.start" : 382,
-                "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
-                "key.typename" : "ItemPosition",
-                "key.typeusr" : "$s10ListableUI12ItemPositionOD",
-                "key.usr" : "s:10ListableUI17ListLayoutContentC8ItemInfoC8positionAA0F8PositionOvp"
-              },
+                "key.name" : "ItemLayoutsValue"
+              }
+            ],
+            "key.kind" : "source.lang.swift.decl.struct",
+            "key.length" : 625,
+            "key.name" : "ItemLayout",
+            "key.namelength" : 10,
+            "key.nameoffset" : 10687,
+            "key.offset" : 10680,
+            "key.parsed_declaration" : "public struct ItemLayout : Equatable, ItemLayoutsValue",
+            "key.parsed_scope.end" : 159,
+            "key.parsed_scope.start" : 138,
+            "key.substructure" : [
               {
-                "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "var size: CGSize<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> size<\/decl.name>: CGSize<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 25,
-                "key.name" : "size",
-                "key.namelength" : 4,
-                "key.nameoffset" : 11714,
-                "key.offset" : 11710,
-                "key.overrides" : [
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public var itemSpacing: CGFloat<\/Type>?<\/Declaration>",
+                "key.attributes" : [
                   {
-                    "key.usr" : "s:10ListableUI21ListLayoutContentItemP4sizeSo6CGSizeVvp"
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 10742
                   }
                 ],
-                "key.parsed_declaration" : "var size : CGSize = .zero",
-                "key.parsed_scope.end" : 384,
-                "key.parsed_scope.start" : 384,
-                "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
-                "key.typename" : "CGSize",
-                "key.typeusr" : "$sSo6CGSizeVD",
-                "key.usr" : "s:10ListableUI17ListLayoutContentC8ItemInfoC4sizeSo6CGSizeVvp"
-              },
-              {
-                "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "var x: CGFloat<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> x<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> itemSpacing<\/decl.name>: CGFloat<\/ref.struct>?<\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 23,
-                "key.name" : "x",
-                "key.namelength" : 1,
-                "key.nameoffset" : 11765,
-                "key.offset" : 11761,
-                "key.overrides" : [
-                  {
-                    "key.usr" : "s:10ListableUI21ListLayoutContentItemP1x12CoreGraphics7CGFloatVvp"
-                  }
-                ],
-                "key.parsed_declaration" : "var x : CGFloat = .zero",
-                "key.parsed_scope.end" : 386,
-                "key.parsed_scope.start" : 386,
-                "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
-                "key.typename" : "CGFloat",
-                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
-                "key.usr" : "s:10ListableUI17ListLayoutContentC8ItemInfoC1x12CoreGraphics7CGFloatVvp"
+                "key.length" : 26,
+                "key.name" : "itemSpacing",
+                "key.namelength" : 11,
+                "key.nameoffset" : 10753,
+                "key.offset" : 10749,
+                "key.parsed_declaration" : "public var itemSpacing : CGFloat?",
+                "key.parsed_scope.end" : 140,
+                "key.parsed_scope.start" : 140,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+                "key.typename" : "CGFloat?",
+                "key.typeusr" : "$s12CoreGraphics7CGFloatVSgD",
+                "key.usr" : "s:10ListableUI15TableAppearanceV10ItemLayoutV11itemSpacing12CoreGraphics7CGFloatVSgvp"
               },
               {
-                "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "var y: CGFloat<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> y<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 23,
-                "key.name" : "y",
-                "key.namelength" : 1,
-                "key.nameoffset" : 11797,
-                "key.offset" : 11793,
-                "key.overrides" : [
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public var itemToSectionFooterSpacing: CGFloat<\/Type>?<\/Declaration>",
+                "key.attributes" : [
                   {
-                    "key.usr" : "s:10ListableUI21ListLayoutContentItemP1y12CoreGraphics7CGFloatVvp"
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 10784
                   }
                 ],
-                "key.parsed_declaration" : "var y : CGFloat = .zero",
-                "key.parsed_scope.end" : 387,
-                "key.parsed_scope.start" : 387,
-                "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
-                "key.typename" : "CGFloat",
-                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
-                "key.usr" : "s:10ListableUI17ListLayoutContentC8ItemInfoC1y12CoreGraphics7CGFloatVvp"
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> itemToSectionFooterSpacing<\/decl.name>: CGFloat<\/ref.struct>?<\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 41,
+                "key.name" : "itemToSectionFooterSpacing",
+                "key.namelength" : 26,
+                "key.nameoffset" : 10795,
+                "key.offset" : 10791,
+                "key.parsed_declaration" : "public var itemToSectionFooterSpacing : CGFloat?",
+                "key.parsed_scope.end" : 141,
+                "key.parsed_scope.start" : 141,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+                "key.typename" : "CGFloat?",
+                "key.typeusr" : "$s12CoreGraphics7CGFloatVSgD",
+                "key.usr" : "s:10ListableUI15TableAppearanceV10ItemLayoutV26itemToSectionFooterSpacing12CoreGraphics7CGFloatVSgvp"
               },
               {
-                "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "var zIndex: Int<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> zIndex<\/decl.name>: Int<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 20,
-                "key.name" : "zIndex",
-                "key.namelength" : 6,
-                "key.nameoffset" : 11838,
-                "key.offset" : 11834,
-                "key.overrides" : [
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public var width: CustomWidth<\/Type><\/Declaration>",
+                "key.attributes" : [
                   {
-                    "key.usr" : "s:10ListableUI21ListLayoutContentItemP6zIndexSivp"
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 10850
                   }
                 ],
-                "key.parsed_declaration" : "var zIndex : Int = 0",
-                "key.parsed_scope.end" : 389,
-                "key.parsed_scope.start" : 389,
-                "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
-                "key.typename" : "Int",
-                "key.typeusr" : "$sSiD",
-                "key.usr" : "s:10ListableUI17ListLayoutContentC8ItemInfoC6zIndexSivp"
-              },
-              {
-                "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "var frame: CGRect<\/Type> { get }<\/Declaration>",
-                "key.bodylength" : 130,
-                "key.bodyoffset" : 11892,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> frame<\/decl.name>: CGRect<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> width<\/decl.name>: CustomWidth<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 151,
-                "key.name" : "frame",
+                "key.length" : 23,
+                "key.name" : "width",
                 "key.namelength" : 5,
-                "key.nameoffset" : 11876,
-                "key.offset" : 11872,
-                "key.parsed_declaration" : "var frame : CGRect",
-                "key.parsed_scope.end" : 396,
-                "key.parsed_scope.start" : 391,
-                "key.typename" : "CGRect",
-                "key.typeusr" : "$sSo6CGRectVD",
-                "key.usr" : "s:10ListableUI17ListLayoutContentC8ItemInfoC5frameSo6CGRectVvp"
+                "key.nameoffset" : 10861,
+                "key.offset" : 10857,
+                "key.parsed_declaration" : "public var width : CustomWidth",
+                "key.parsed_scope.end" : 143,
+                "key.parsed_scope.start" : 143,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+                "key.typename" : "CustomWidth",
+                "key.typeusr" : "$s10ListableUI11CustomWidthOD",
+                "key.usr" : "s:10ListableUI15TableAppearanceV10ItemLayoutV5widthAA11CustomWidthOvp"
               },
               {
-                "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "init(delegateProvidedIndexPath: IndexPath<\/Type>, liveIndexPath: IndexPath<\/Type>, layout: ItemLayout<\/Type>, insertAndRemoveAnimations: ItemInsertAndRemoveAnimations<\/Type>, measurer: @escaping (Sizing<\/Type>.MeasureInfo<\/Type>) -> CGSize<\/Type>)<\/Declaration>",
-                "key.bodylength" : 306,
-                "key.bodyoffset" : 12316,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-                "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(delegateProvidedIndexPath<\/decl.var.parameter.argument_label>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, liveIndexPath<\/decl.var.parameter.argument_label>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, layout<\/decl.var.parameter.argument_label>: ItemLayout<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, insertAndRemoveAnimations<\/decl.var.parameter.argument_label>: ItemInsertAndRemoveAnimations<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, measurer<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> (Sizing<\/ref.enum>.MeasureInfo<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGSize<\/ref.struct><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public init(itemSpacing: CGFloat<\/Type>? = nil, itemToSectionFooterSpacing: CGFloat<\/Type>? = nil, width: CustomWidth<\/Type> = .default)<\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 10902
+                  }
+                ],
+                "key.bodylength" : 139,
+                "key.bodyoffset" : 11068,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(itemSpacing<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, itemToSectionFooterSpacing<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, width<\/decl.var.parameter.argument_label>: CustomWidth<\/ref.enum><\/decl.var.parameter.type> = .default<\/decl.var.parameter>)<\/decl.function.constructor>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
-                "key.length" : 582,
-                "key.name" : "init(delegateProvidedIndexPath:liveIndexPath:layout:insertAndRemoveAnimations:measurer:)",
-                "key.namelength" : 273,
-                "key.nameoffset" : 12041,
-                "key.offset" : 12041,
-                "key.parsed_declaration" : "init(\n    delegateProvidedIndexPath : IndexPath,\n    liveIndexPath : IndexPath,\n    layout : ItemLayout,\n    insertAndRemoveAnimations : ItemInsertAndRemoveAnimations,\n    measurer : @escaping (Sizing.MeasureInfo) -> CGSize\n)",
-                "key.parsed_scope.end" : 412,
-                "key.parsed_scope.start" : 398,
+                "key.length" : 299,
+                "key.name" : "init(itemSpacing:itemToSectionFooterSpacing:width:)",
+                "key.namelength" : 157,
+                "key.nameoffset" : 10909,
+                "key.offset" : 10909,
+                "key.parsed_declaration" : "public init(\n    itemSpacing : CGFloat? = nil,\n    itemToSectionFooterSpacing : CGFloat? = nil,\n    width : CustomWidth = .default\n)",
+                "key.parsed_scope.end" : 154,
+                "key.parsed_scope.start" : 145,
                 "key.substructure" : [
 
                 ],
-                "key.typename" : "(ListLayoutContent.ItemInfo.Type) -> (IndexPath, IndexPath, ItemLayout, ItemInsertAndRemoveAnimations, @escaping (Sizing.MeasureInfo) -> CGSize) -> ListLayoutContent.ItemInfo",
-                "key.typeusr" : "$s25delegateProvidedIndexPath04livecD06layout25insertAndRemoveAnimations8measurer10ListableUI17ListLayoutContentC8ItemInfoC10Foundation0cD0V_AmF0qO0VAF0q6InserthiJ0VSo6CGSizeVAF6SizingO07MeasureR0VctcD",
-                "key.usr" : "s:10ListableUI17ListLayoutContentC8ItemInfoC25delegateProvidedIndexPath04livejK06layout25insertAndRemoveAnimations8measurerAE10Foundation0jK0V_AmA0fD0VAA0f6InsertopQ0VSo6CGSizeVAA6SizingO07MeasureG0Vctcfc"
+                "key.typename" : "(TableAppearance.ItemLayout.Type) -> (CGFloat?, CGFloat?, CustomWidth) -> TableAppearance.ItemLayout",
+                "key.typeusr" : "$s11itemSpacing0a15ToSectionFooterB05width10ListableUI15TableAppearanceV10ItemLayoutV12CoreGraphics7CGFloatVSg_AlD11CustomWidthOtcD",
+                "key.usr" : "s:10ListableUI15TableAppearanceV10ItemLayoutV11itemSpacing0g15ToSectionFooterH05widthAE12CoreGraphics7CGFloatVSg_AlA11CustomWidthOtcfc"
               },
               {
-                "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "func layoutAttributes(with indexPath: IndexPath<\/Type>) -> UICollectionViewLayoutAttributes<\/Type><\/Declaration>",
-                "key.bodylength" : 237,
-                "key.bodyoffset" : 12736,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-                "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> layoutAttributes<\/decl.name>(with<\/decl.var.parameter.argument_label> indexPath<\/decl.var.parameter.name>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> UICollectionViewLayoutAttributes<\/ref.class><\/decl.function.returntype><\/decl.function.method.instance>",
-                "key.kind" : "source.lang.swift.decl.function.method.instance",
-                "key.length" : 333,
-                "key.name" : "layoutAttributes(with:)",
-                "key.namelength" : 44,
-                "key.nameoffset" : 12646,
-                "key.offset" : 12641,
-                "key.parsed_declaration" : "func layoutAttributes(with indexPath : IndexPath) -> UICollectionViewLayoutAttributes",
-                "key.parsed_scope.end" : 422,
-                "key.parsed_scope.start" : 414,
-                "key.substructure" : [
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public static var defaultValue: `Self` { get }<\/Declaration>",
+                "key.attributes" : [
                   {
-                    "key.annotated_decl" : "let attributes: UICollectionViewLayoutAttributes<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-                    "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> attributes<\/decl.name>: UICollectionViewLayoutAttributes<\/ref.class><\/decl.var.type><\/decl.var.local>",
-                    "key.kind" : "source.lang.swift.decl.var.local",
-                    "key.length" : 73,
-                    "key.name" : "attributes",
-                    "key.namelength" : 10,
-                    "key.nameoffset" : 12753,
-                    "key.offset" : 12749,
-                    "key.parsed_declaration" : "let attributes = UICollectionViewLayoutAttributes(forCellWith: indexPath)",
-                    "key.parsed_scope.end" : 416,
-                    "key.parsed_scope.start" : 416,
-                    "key.typename" : "UICollectionViewLayoutAttributes",
-                    "key.typeusr" : "$sSo32UICollectionViewLayoutAttributesCD",
-                    "key.usr" : "s:10ListableUI17ListLayoutContentC8ItemInfoC16layoutAttributes4withSo016UICollectionViewdI0C10Foundation9IndexPathV_tF10attributesL_AIvp"
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 11226
                   }
                 ],
-                "key.typename" : "(ListLayoutContent.ItemInfo) -> (IndexPath) -> UICollectionViewLayoutAttributes",
-                "key.typeusr" : "$s4withSo32UICollectionViewLayoutAttributesC10Foundation9IndexPathV_tcD",
-                "key.usr" : "s:10ListableUI17ListLayoutContentC8ItemInfoC16layoutAttributes4withSo016UICollectionViewdI0C10Foundation9IndexPathV_tF"
-              }
-            ],
-            "key.typename" : "ListLayoutContent.ItemInfo.Type",
-            "key.typeusr" : "$s10ListableUI17ListLayoutContentC8ItemInfoCmD",
-            "key.usr" : "s:10ListableUI17ListLayoutContentC8ItemInfoC"
-          }
-        ],
-        "key.typename" : "ListLayoutContent.Type",
-        "key.typeusr" : "$s10ListableUI17ListLayoutContentCmD",
-        "key.usr" : "s:10ListableUI17ListLayoutContentC"
-      },
-      {
-        "key.annotated_decl" : "struct CGRect<\/Declaration>",
-        "key.bodylength" : 383,
-        "key.bodyoffset" : 13003,
-        "key.filepath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneSimulator.platform\/Developer\/SDKs\/iPhoneSimulator14.2.sdk\/System\/Library\/Frameworks\/CoreGraphics.framework\/Headers\/CGGeometry.h",
-        "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> CGRect<\/decl.name><\/decl.struct>",
-        "key.is_system" : true,
-        "key.kind" : "source.lang.swift.decl.extension",
-        "key.length" : 402,
-        "key.modulename" : "CoreGraphics.CGGeometry",
-        "key.name" : "CGRect",
-        "key.namelength" : 6,
-        "key.nameoffset" : 12995,
-        "key.offset" : 12985,
-        "key.parsed_declaration" : "extension CGRect",
-        "key.parsed_scope.end" : 446,
-        "key.parsed_scope.start" : 427,
-        "key.substructure" : [
-          {
-            "key.annotated_decl" : "static func unioned(from rects: [CGRect<\/Type>]) -> CGRect<\/Type><\/Declaration>",
-            "key.bodylength" : 322,
-            "key.bodyoffset" : 13062,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-            "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> unioned<\/decl.name>(from<\/decl.var.parameter.argument_label> rects<\/decl.var.parameter.name>: [CGRect<\/ref.struct>]<\/decl.var.parameter.type><\/decl.var.parameter>) -> CGRect<\/ref.struct><\/decl.function.returntype><\/decl.function.method.static>",
-            "key.kind" : "source.lang.swift.decl.function.method.static",
-            "key.length" : 377,
-            "key.name" : "unioned(from:)",
-            "key.namelength" : 30,
-            "key.nameoffset" : 13020,
-            "key.offset" : 13008,
-            "key.parsed_declaration" : "static func unioned(from rects : [CGRect]) -> CGRect",
-            "key.parsed_scope.end" : 445,
-            "key.parsed_scope.start" : 428,
-            "key.substructure" : [
-              {
-                "key.annotated_decl" : "let rects: [CGRect<\/Type>]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> rects<\/decl.name>: [CGRect<\/ref.struct>]<\/decl.var.type><\/decl.var.local>",
-                "key.kind" : "source.lang.swift.decl.var.local",
-                "key.length" : 68,
-                "key.name" : "rects",
-                "key.namelength" : 5,
-                "key.nameoffset" : 13084,
-                "key.offset" : 13080,
-                "key.parsed_declaration" : "let rects = rects.filter {\n    $0.isEmpty == false\n}",
-                "key.parsed_scope.end" : 430,
-                "key.parsed_scope.start" : 430,
-                "key.typename" : "[CGRect]",
-                "key.typeusr" : "$sSaySo6CGRectVGD",
-                "key.usr" : "s:So6CGRectV10ListableUIE7unioned4fromABSayABG_tFZ5rectsL0_AFvp"
-              },
-              {
-                "key.annotated_decl" : "var frame: CGRect<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
-                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> frame<\/decl.name>: CGRect<\/ref.struct><\/decl.var.type><\/decl.var.local>",
-                "key.kind" : "source.lang.swift.decl.var.local",
-                "key.length" : 17,
-                "key.name" : "frame",
-                "key.namelength" : 5,
-                "key.nameoffset" : 13251,
-                "key.offset" : 13247,
-                "key.parsed_declaration" : "var frame = first",
-                "key.parsed_scope.end" : 438,
-                "key.parsed_scope.start" : 438,
-                "key.typename" : "CGRect",
-                "key.typeusr" : "$sSo6CGRectVD",
-                "key.usr" : "s:So6CGRectV10ListableUIE7unioned4fromABSayABG_tFZ5frameL_ABvp"
-              }
-            ],
-            "key.typename" : "(CGRect.Type) -> ([CGRect]) -> CGRect",
-            "key.typeusr" : "$s4fromSo6CGRectVSayACG_tcD",
-            "key.usr" : "s:So6CGRectV10ListableUIE7unioned4fromABSayABG_tFZ"
-          }
-        ],
-        "key.typename" : "CGRect.Type",
-        "key.typeusr" : "$sSo6CGRectVmD",
-        "key.usr" : "c:@S@CGRect"
-      }
-    ]
-  }
-}, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutDefaults.swift" : {
-    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
-    "key.length" : 401,
-    "key.offset" : 0,
-    "key.substructure" : [
-      {
-        "key.accessibility" : "source.lang.swift.accessibility.public",
-        "key.annotated_decl" : "public struct ListLayoutDefaults<\/Declaration>",
-        "key.attributes" : [
-          {
-            "key.attribute" : "source.decl.attribute.public",
-            "key.length" : 6,
-            "key.offset" : 116
-          }
-        ],
-        "key.bodylength" : 249,
-        "key.bodyoffset" : 150,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutDefaults.swift",
-        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> ListLayoutDefaults<\/decl.name><\/decl.struct>",
-        "key.kind" : "source.lang.swift.decl.struct",
-        "key.length" : 277,
-        "key.name" : "ListLayoutDefaults",
-        "key.namelength" : 18,
-        "key.nameoffset" : 130,
-        "key.offset" : 123,
-        "key.parsed_declaration" : "public struct ListLayoutDefaults",
-        "key.parsed_scope.end" : 19,
-        "key.parsed_scope.start" : 11,
-        "key.substructure" : [
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public var itemInsertAndRemoveAnimations: ItemInsertAndRemoveAnimations<\/Type><\/Declaration>",
-            "key.attributes" : [
-              {
-                "key.attribute" : "source.decl.attribute.public",
-                "key.length" : 6,
-                "key.offset" : 155
-              }
-            ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutDefaults.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> itemInsertAndRemoveAnimations<\/decl.name>: ItemInsertAndRemoveAnimations<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 65,
-            "key.name" : "itemInsertAndRemoveAnimations",
-            "key.namelength" : 29,
-            "key.nameoffset" : 166,
-            "key.offset" : 162,
-            "key.parsed_declaration" : "public var itemInsertAndRemoveAnimations : ItemInsertAndRemoveAnimations",
-            "key.parsed_scope.end" : 13,
-            "key.parsed_scope.start" : 13,
-            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-            "key.typename" : "ItemInsertAndRemoveAnimations",
-            "key.typeusr" : "$s10ListableUI29ItemInsertAndRemoveAnimationsVD",
-            "key.usr" : "s:10ListableUI18ListLayoutDefaultsV29itemInsertAndRemoveAnimationsAA04ItemghiJ0Vvp"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public init(itemInsertAndRemoveAnimations: ItemInsertAndRemoveAnimations<\/Type>)<\/Declaration>",
-            "key.attributes" : [
-              {
-                "key.attribute" : "source.decl.attribute.public",
-                "key.length" : 6,
-                "key.offset" : 237
+                "key.bodylength" : 33,
+                "key.bodyoffset" : 11265,
+                "key.doc.column" : 16,
+                "key.doc.declaration" : "static var defaultValue: Self { get }",
+                "key.doc.discussion" : [
+                  {
+                    "Note" : ""
+                  }
+                ],
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemLayouts.swift",
+                "key.doc.full_as_xml" : "defaultValue<\/Name>s:10ListableUI16ItemLayoutsValueP07defaultE0xvpZ<\/USR>static var defaultValue: Self { get }<\/Declaration>The default value used when accessing the value, if none is set.<\/Para><\/Abstract>This documentation comment was inherited from ItemLayoutsValue<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Other>",
+                "key.doc.line" : 112,
+                "key.doc.name" : "defaultValue",
+                "key.doc.type" : "Other",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> static<\/syntaxtype.keyword> var<\/syntaxtype.keyword> defaultValue<\/decl.name>: `Self`<\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.static>",
+                "key.kind" : "source.lang.swift.decl.var.static",
+                "key.length" : 66,
+                "key.name" : "defaultValue",
+                "key.namelength" : 12,
+                "key.nameoffset" : 11244,
+                "key.offset" : 11233,
+                "key.overrides" : [
+                  {
+                    "key.usr" : "s:10ListableUI16ItemLayoutsValueP07defaultE0xvpZ"
+                  }
+                ],
+                "key.parsed_declaration" : "public static var defaultValue : Self",
+                "key.parsed_scope.end" : 158,
+                "key.parsed_scope.start" : 156,
+                "key.typename" : "TableAppearance.ItemLayout",
+                "key.typeusr" : "$s10ListableUI15TableAppearanceV10ItemLayoutVD",
+                "key.usr" : "s:10ListableUI16ItemLayoutsValueP07defaultE0xvpZ"
               }
             ],
-            "key.bodylength" : 80,
-            "key.bodyoffset" : 317,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutDefaults.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(itemInsertAndRemoveAnimations<\/decl.var.parameter.argument_label>: ItemInsertAndRemoveAnimations<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
-            "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 154,
-            "key.name" : "init(itemInsertAndRemoveAnimations:)",
-            "key.namelength" : 67,
-            "key.nameoffset" : 244,
-            "key.offset" : 244,
-            "key.parsed_declaration" : "public init(itemInsertAndRemoveAnimations : ItemInsertAndRemoveAnimations)",
-            "key.parsed_scope.end" : 18,
-            "key.parsed_scope.start" : 15,
-            "key.substructure" : [
-
-            ],
-            "key.typename" : "(ListLayoutDefaults.Type) -> (ItemInsertAndRemoveAnimations) -> ListLayoutDefaults",
-            "key.typeusr" : "$s29itemInsertAndRemoveAnimations10ListableUI18ListLayoutDefaultsVAB04ItembcdE0V_tcD",
-            "key.usr" : "s:10ListableUI18ListLayoutDefaultsV29itemInsertAndRemoveAnimationsAcA04ItemghiJ0V_tcfc"
-          }
-        ],
-        "key.typename" : "ListLayoutDefaults.Type",
-        "key.typeusr" : "$s10ListableUI18ListLayoutDefaultsVmD",
-        "key.usr" : "s:10ListableUI18ListLayoutDefaultsV"
-      }
-    ]
-  }
-}, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutScrollViewProperties.swift" : {
-    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
-    "key.length" : 3804,
-    "key.offset" : 0,
-    "key.substructure" : [
-      {
-        "key.accessibility" : "source.lang.swift.accessibility.public",
-        "key.annotated_decl" : "public struct ListLayoutScrollViewProperties<\/Declaration>",
-        "key.attributes" : [
-          {
-            "key.attribute" : "source.decl.attribute.public",
-            "key.length" : 6,
-            "key.offset" : 122
-          }
-        ],
-        "key.bodylength" : 3634,
-        "key.bodyoffset" : 168,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutScrollViewProperties.swift",
-        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> ListLayoutScrollViewProperties<\/decl.name><\/decl.struct>",
-        "key.kind" : "source.lang.swift.decl.struct",
-        "key.length" : 3674,
-        "key.name" : "ListLayoutScrollViewProperties",
-        "key.namelength" : 30,
-        "key.nameoffset" : 136,
-        "key.offset" : 129,
-        "key.parsed_declaration" : "public struct ListLayoutScrollViewProperties",
-        "key.parsed_scope.end" : 99,
-        "key.parsed_scope.start" : 11,
-        "key.substructure" : [
+            "key.typename" : "TableAppearance.ItemLayout.Type",
+            "key.typeusr" : "$s10ListableUI15TableAppearanceV10ItemLayoutVmD",
+            "key.usr" : "s:10ListableUI15TableAppearanceV10ItemLayoutV"
+          },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public var isPagingEnabled: Bool<\/Type><\/Declaration>",
+            "key.annotated_decl" : "public struct HeaderFooterLayout : Equatable<\/Type>, HeaderFooterLayoutsValue<\/Type><\/Declaration>",
             "key.attributes" : [
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 173
+                "key.offset" : 11320
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutScrollViewProperties.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> isPagingEnabled<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 26,
-            "key.name" : "isPagingEnabled",
-            "key.namelength" : 15,
-            "key.nameoffset" : 184,
-            "key.offset" : 180,
-            "key.parsed_declaration" : "public var isPagingEnabled : Bool",
-            "key.parsed_scope.end" : 13,
-            "key.parsed_scope.start" : 13,
-            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-            "key.typename" : "Bool",
-            "key.typeusr" : "$sSbD",
-            "key.usr" : "s:10ListableUI30ListLayoutScrollViewPropertiesV15isPagingEnabledSbvp"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public var contentInsetAdjustmentBehavior: ContentInsetAdjustmentBehavior<\/Type><\/Declaration>",
-            "key.attributes" : [
+            "key.bodylength" : 261,
+            "key.bodyoffset" : 11396,
+            "key.elements" : [
               {
-                "key.attribute" : "source.decl.attribute.public",
-                "key.length" : 6,
-                "key.offset" : 216
+                "key.kind" : "source.lang.swift.structure.elem.typeref",
+                "key.length" : 9,
+                "key.offset" : 11355
+              },
+              {
+                "key.kind" : "source.lang.swift.structure.elem.typeref",
+                "key.length" : 24,
+                "key.offset" : 11366
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutScrollViewProperties.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> contentInsetAdjustmentBehavior<\/decl.name>: ContentInsetAdjustmentBehavior<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 67,
-            "key.name" : "contentInsetAdjustmentBehavior",
-            "key.namelength" : 30,
-            "key.nameoffset" : 227,
-            "key.offset" : 223,
-            "key.parsed_declaration" : "public var contentInsetAdjustmentBehavior : ContentInsetAdjustmentBehavior",
-            "key.parsed_scope.end" : 15,
-            "key.parsed_scope.start" : 15,
-            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-            "key.typename" : "ListLayoutScrollViewProperties.ContentInsetAdjustmentBehavior",
-            "key.typeusr" : "$s10ListableUI30ListLayoutScrollViewPropertiesV30ContentInsetAdjustmentBehaviorOD",
-            "key.usr" : "s:10ListableUI30ListLayoutScrollViewPropertiesV30contentInsetAdjustmentBehaviorAC07ContentijK0Ovp"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public var allowsBounceVertical: Bool<\/Type><\/Declaration>",
-            "key.attributes" : [
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> HeaderFooterLayout<\/decl.name> : Equatable<\/ref.protocol>, HeaderFooterLayoutsValue<\/ref.protocol><\/decl.struct>",
+            "key.inheritedtypes" : [
               {
-                "key.attribute" : "source.decl.attribute.public",
-                "key.length" : 6,
-                "key.offset" : 300
+                "key.name" : "Equatable"
+              },
+              {
+                "key.name" : "HeaderFooterLayoutsValue"
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutScrollViewProperties.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> allowsBounceVertical<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 31,
-            "key.name" : "allowsBounceVertical",
-            "key.namelength" : 20,
-            "key.nameoffset" : 311,
-            "key.offset" : 307,
-            "key.parsed_declaration" : "public var allowsBounceVertical : Bool",
-            "key.parsed_scope.end" : 17,
-            "key.parsed_scope.start" : 17,
-            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-            "key.typename" : "Bool",
-            "key.typeusr" : "$sSbD",
-            "key.usr" : "s:10ListableUI30ListLayoutScrollViewPropertiesV20allowsBounceVerticalSbvp"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public var allowsBounceHorizontal: Bool<\/Type><\/Declaration>",
-            "key.attributes" : [
+            "key.kind" : "source.lang.swift.decl.struct",
+            "key.length" : 331,
+            "key.name" : "HeaderFooterLayout",
+            "key.namelength" : 18,
+            "key.nameoffset" : 11334,
+            "key.offset" : 11327,
+            "key.parsed_declaration" : "public struct HeaderFooterLayout : Equatable, HeaderFooterLayoutsValue",
+            "key.parsed_scope.end" : 175,
+            "key.parsed_scope.start" : 162,
+            "key.substructure" : [
               {
-                "key.attribute" : "source.decl.attribute.public",
-                "key.length" : 6,
-                "key.offset" : 343
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public var width: CustomWidth<\/Type><\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 11405
+                  }
+                ],
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> width<\/decl.name>: CustomWidth<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 23,
+                "key.name" : "width",
+                "key.namelength" : 5,
+                "key.nameoffset" : 11416,
+                "key.offset" : 11412,
+                "key.parsed_declaration" : "public var width : CustomWidth",
+                "key.parsed_scope.end" : 164,
+                "key.parsed_scope.start" : 164,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+                "key.typename" : "CustomWidth",
+                "key.typeusr" : "$s10ListableUI11CustomWidthOD",
+                "key.usr" : "s:10ListableUI15TableAppearanceV18HeaderFooterLayoutV5widthAA11CustomWidthOvp"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public init(width: CustomWidth<\/Type> = .default)<\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 11457
+                  }
+                ],
+                "key.bodylength" : 40,
+                "key.bodyoffset" : 11524,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(width<\/decl.var.parameter.argument_label>: CustomWidth<\/ref.enum><\/decl.var.parameter.type> = .default<\/decl.var.parameter>)<\/decl.function.constructor>",
+                "key.kind" : "source.lang.swift.decl.function.method.instance",
+                "key.length" : 101,
+                "key.name" : "init(width:)",
+                "key.namelength" : 58,
+                "key.nameoffset" : 11464,
+                "key.offset" : 11464,
+                "key.parsed_declaration" : "public init(\n    width : CustomWidth = .default\n)",
+                "key.parsed_scope.end" : 170,
+                "key.parsed_scope.start" : 166,
+                "key.substructure" : [
+
+                ],
+                "key.typename" : "(TableAppearance.HeaderFooterLayout.Type) -> (CustomWidth) -> TableAppearance.HeaderFooterLayout",
+                "key.typeusr" : "$s5width10ListableUI15TableAppearanceV18HeaderFooterLayoutVAB11CustomWidthO_tcD",
+                "key.usr" : "s:10ListableUI15TableAppearanceV18HeaderFooterLayoutV5widthAeA11CustomWidthO_tcfc"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public static var defaultValue: `Self` { get }<\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 11583
+                  }
+                ],
+                "key.bodylength" : 29,
+                "key.bodyoffset" : 11622,
+                "key.doc.column" : 16,
+                "key.doc.declaration" : "static var defaultValue: Self { get }",
+                "key.doc.discussion" : [
+                  {
+                    "Note" : ""
+                  }
+                ],
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterLayouts.swift",
+                "key.doc.full_as_xml" : "defaultValue<\/Name>s:10ListableUI24HeaderFooterLayoutsValueP07defaultF0xvpZ<\/USR>static var defaultValue: Self { get }<\/Declaration>The default value used when accessing the value, if none is set.<\/Para><\/Abstract>This documentation comment was inherited from HeaderFooterLayoutsValue<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Other>",
+                "key.doc.line" : 113,
+                "key.doc.name" : "defaultValue",
+                "key.doc.type" : "Other",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> static<\/syntaxtype.keyword> var<\/syntaxtype.keyword> defaultValue<\/decl.name>: `Self`<\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.static>",
+                "key.kind" : "source.lang.swift.decl.var.static",
+                "key.length" : 62,
+                "key.name" : "defaultValue",
+                "key.namelength" : 12,
+                "key.nameoffset" : 11601,
+                "key.offset" : 11590,
+                "key.overrides" : [
+                  {
+                    "key.usr" : "s:10ListableUI24HeaderFooterLayoutsValueP07defaultF0xvpZ"
+                  }
+                ],
+                "key.parsed_declaration" : "public static var defaultValue : Self",
+                "key.parsed_scope.end" : 174,
+                "key.parsed_scope.start" : 172,
+                "key.typename" : "TableAppearance.HeaderFooterLayout",
+                "key.typeusr" : "$s10ListableUI15TableAppearanceV18HeaderFooterLayoutVD",
+                "key.usr" : "s:10ListableUI24HeaderFooterLayoutsValueP07defaultF0xvpZ"
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutScrollViewProperties.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> allowsBounceHorizontal<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 33,
-            "key.name" : "allowsBounceHorizontal",
-            "key.namelength" : 22,
-            "key.nameoffset" : 354,
-            "key.offset" : 350,
-            "key.parsed_declaration" : "public var allowsBounceHorizontal : Bool",
-            "key.parsed_scope.end" : 18,
-            "key.parsed_scope.start" : 18,
-            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-            "key.typename" : "Bool",
-            "key.typeusr" : "$sSbD",
-            "key.usr" : "s:10ListableUI30ListLayoutScrollViewPropertiesV22allowsBounceHorizontalSbvp"
+            "key.typename" : "TableAppearance.HeaderFooterLayout.Type",
+            "key.typeusr" : "$s10ListableUI15TableAppearanceV18HeaderFooterLayoutVmD",
+            "key.usr" : "s:10ListableUI15TableAppearanceV18HeaderFooterLayoutV"
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public var allowsHorizontalScrollIndicator: Bool<\/Type><\/Declaration>",
+            "key.annotated_decl" : "public struct SectionLayout : Equatable<\/Type>, SectionLayoutsValue<\/Type><\/Declaration>",
             "key.attributes" : [
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 393
+                "key.offset" : 11668
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutScrollViewProperties.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> allowsHorizontalScrollIndicator<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 42,
-            "key.name" : "allowsHorizontalScrollIndicator",
-            "key.namelength" : 31,
-            "key.nameoffset" : 404,
-            "key.offset" : 400,
-            "key.parsed_declaration" : "public var allowsHorizontalScrollIndicator : Bool",
-            "key.parsed_scope.end" : 20,
-            "key.parsed_scope.start" : 20,
-            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-            "key.typename" : "Bool",
-            "key.typeusr" : "$sSbD",
-            "key.usr" : "s:10ListableUI30ListLayoutScrollViewPropertiesV016allowsHorizontalE9IndicatorSbvp"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public var allowsVerticalScrollIndicator: Bool<\/Type><\/Declaration>",
-            "key.attributes" : [
+            "key.bodylength" : 1687,
+            "key.bodyoffset" : 11734,
+            "key.elements" : [
               {
-                "key.attribute" : "source.decl.attribute.public",
-                "key.length" : 6,
-                "key.offset" : 447
+                "key.kind" : "source.lang.swift.structure.elem.typeref",
+                "key.length" : 9,
+                "key.offset" : 11698
+              },
+              {
+                "key.kind" : "source.lang.swift.structure.elem.typeref",
+                "key.length" : 19,
+                "key.offset" : 11709
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutScrollViewProperties.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> allowsVerticalScrollIndicator<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 40,
-            "key.name" : "allowsVerticalScrollIndicator",
-            "key.namelength" : 29,
-            "key.nameoffset" : 458,
-            "key.offset" : 454,
-            "key.parsed_declaration" : "public var allowsVerticalScrollIndicator : Bool",
-            "key.parsed_scope.end" : 21,
-            "key.parsed_scope.start" : 21,
-            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-            "key.typename" : "Bool",
-            "key.typeusr" : "$sSbD",
-            "key.usr" : "s:10ListableUI30ListLayoutScrollViewPropertiesV014allowsVerticalE9IndicatorSbvp"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public init(isPagingEnabled: Bool<\/Type>, contentInsetAdjustmentBehavior: ListLayoutScrollViewProperties<\/Type>.ContentInsetAdjustmentBehavior<\/Type>, allowsBounceVertical: Bool<\/Type>, allowsBounceHorizontal: Bool<\/Type>, allowsVerticalScrollIndicator: Bool<\/Type>, allowsHorizontalScrollIndicator: Bool<\/Type>)<\/Declaration>",
-            "key.attributes" : [
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> SectionLayout<\/decl.name> : Equatable<\/ref.protocol>, SectionLayoutsValue<\/ref.protocol><\/decl.struct>",
+            "key.inheritedtypes" : [
               {
-                "key.attribute" : "source.decl.attribute.public",
-                "key.length" : 6,
-                "key.offset" : 504
+                "key.name" : "Equatable"
+              },
+              {
+                "key.name" : "SectionLayoutsValue"
               }
             ],
-            "key.bodylength" : 411,
-            "key.bodyoffset" : 827,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutScrollViewProperties.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(isPagingEnabled<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, contentInsetAdjustmentBehavior<\/decl.var.parameter.argument_label>: ListLayoutScrollViewProperties<\/ref.struct>.ContentInsetAdjustmentBehavior<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>, allowsBounceVertical<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, allowsBounceHorizontal<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, allowsVerticalScrollIndicator<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, allowsHorizontalScrollIndicator<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
-            "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 728,
-            "key.name" : "init(isPagingEnabled:contentInsetAdjustmentBehavior:allowsBounceVertical:allowsBounceHorizontal:allowsVerticalScrollIndicator:allowsHorizontalScrollIndicator:)",
-            "key.namelength" : 314,
-            "key.nameoffset" : 511,
-            "key.offset" : 511,
-            "key.parsed_declaration" : "public init(\n    isPagingEnabled: Bool,\n    contentInsetAdjustmentBehavior: ListLayoutScrollViewProperties.ContentInsetAdjustmentBehavior,\n    allowsBounceVertical : Bool,\n    allowsBounceHorizontal : Bool,\n    allowsVerticalScrollIndicator : Bool,\n    allowsHorizontalScrollIndicator : Bool\n)",
-            "key.parsed_scope.end" : 39,
-            "key.parsed_scope.start" : 23,
+            "key.kind" : "source.lang.swift.decl.struct",
+            "key.length" : 1747,
+            "key.name" : "SectionLayout",
+            "key.namelength" : 13,
+            "key.nameoffset" : 11682,
+            "key.offset" : 11675,
+            "key.parsed_declaration" : "public struct SectionLayout : Equatable, SectionLayoutsValue",
+            "key.parsed_scope.end" : 232,
+            "key.parsed_scope.start" : 177,
             "key.substructure" : [
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public var width: CustomWidth<\/Type><\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 11743
+                  }
+                ],
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> width<\/decl.name>: CustomWidth<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 23,
+                "key.name" : "width",
+                "key.namelength" : 5,
+                "key.nameoffset" : 11754,
+                "key.offset" : 11750,
+                "key.parsed_declaration" : "public var width : CustomWidth",
+                "key.parsed_scope.end" : 179,
+                "key.parsed_scope.start" : 179,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+                "key.typename" : "CustomWidth",
+                "key.typeusr" : "$s10ListableUI11CustomWidthOD",
+                "key.usr" : "s:10ListableUI15TableAppearanceV13SectionLayoutV5widthAA11CustomWidthOvp"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public var customInterSectionSpacing: CGFloat<\/Type>?<\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 11847
+                  }
+                ],
+                "key.doc.column" : 20,
+                "key.doc.comment" : "Overrides the calculated spacing after this section",
+                "key.doc.declaration" : "public var customInterSectionSpacing: CGFloat?",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.doc.full_as_xml" : "customInterSectionSpacing<\/Name>s:10ListableUI15TableAppearanceV13SectionLayoutV011customInterE7Spacing12CoreGraphics7CGFloatVSgvp<\/USR>public var customInterSectionSpacing: CGFloat?<\/Declaration>Overrides the calculated spacing after this section<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.line" : 182,
+                "key.doc.name" : "customInterSectionSpacing",
+                "key.doc.type" : "Other",
+                "key.doclength" : 56,
+                "key.docoffset" : 11783,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> customInterSectionSpacing<\/decl.name>: CGFloat<\/ref.struct>?<\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 40,
+                "key.name" : "customInterSectionSpacing",
+                "key.namelength" : 25,
+                "key.nameoffset" : 11858,
+                "key.offset" : 11854,
+                "key.parsed_declaration" : "public var customInterSectionSpacing : CGFloat?",
+                "key.parsed_scope.end" : 182,
+                "key.parsed_scope.start" : 182,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+                "key.typename" : "CGFloat?",
+                "key.typeusr" : "$s12CoreGraphics7CGFloatVSgD",
+                "key.usr" : "s:10ListableUI15TableAppearanceV13SectionLayoutV011customInterE7Spacing12CoreGraphics7CGFloatVSgvp"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public var columns: Columns<\/Type><\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 11912
+                  }
+                ],
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> columns<\/decl.name>: Columns<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 21,
+                "key.name" : "columns",
+                "key.namelength" : 7,
+                "key.nameoffset" : 11923,
+                "key.offset" : 11919,
+                "key.parsed_declaration" : "public var columns : Columns",
+                "key.parsed_scope.end" : 184,
+                "key.parsed_scope.start" : 184,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+                "key.typename" : "TableAppearance.SectionLayout.Columns",
+                "key.typeusr" : "$s10ListableUI15TableAppearanceV13SectionLayoutV7ColumnsVD",
+                "key.usr" : "s:10ListableUI15TableAppearanceV13SectionLayoutV7columnsAE7ColumnsVvp"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public init(width: CustomWidth<\/Type> = .default, customInterSectionSpacing: CGFloat<\/Type>? = nil, columns: Columns<\/Type> = .one)<\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 11958
+                  }
+                ],
+                "key.bodylength" : 159,
+                "key.bodyoffset" : 12119,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(width<\/decl.var.parameter.argument_label>: CustomWidth<\/ref.enum><\/decl.var.parameter.type> = .default<\/decl.var.parameter>, customInterSectionSpacing<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, columns<\/decl.var.parameter.argument_label>: Columns<\/ref.struct><\/decl.var.parameter.type> = .one<\/decl.var.parameter>)<\/decl.function.constructor>",
+                "key.kind" : "source.lang.swift.decl.function.method.instance",
+                "key.length" : 314,
+                "key.name" : "init(width:customInterSectionSpacing:columns:)",
+                "key.namelength" : 152,
+                "key.nameoffset" : 11965,
+                "key.offset" : 11965,
+                "key.parsed_declaration" : "public init(\n    width : CustomWidth = .default,\n    customInterSectionSpacing : CGFloat? = nil,\n    columns : Columns = .one\n)",
+                "key.parsed_scope.end" : 195,
+                "key.parsed_scope.start" : 186,
+                "key.substructure" : [
 
-            ],
-            "key.typename" : "(ListLayoutScrollViewProperties.Type) -> (Bool, ListLayoutScrollViewProperties.ContentInsetAdjustmentBehavior, Bool, Bool, Bool, Bool) -> ListLayoutScrollViewProperties",
-            "key.typeusr" : "$s15isPagingEnabled30contentInsetAdjustmentBehavior20allowsBounceVertical0hI10Horizontal0hJ15ScrollIndicator0hklM010ListableUI010ListLayoutL14ViewPropertiesVSb_AI07ContentefG0OS4btcD",
-            "key.usr" : "s:10ListableUI30ListLayoutScrollViewPropertiesV15isPagingEnabled30contentInsetAdjustmentBehavior20allowsBounceVertical0oP10Horizontal0oqE9Indicator0oreS0ACSb_AC07ContentlmN0OS4btcfc"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.internal",
-            "key.annotated_decl" : "func apply(to view: UIScrollView<\/Type>, behavior: Behavior<\/Type>, direction: LayoutDirection<\/Type>, showsScrollIndicators: Bool<\/Type>)<\/Declaration>",
-            "key.bodylength" : 1908,
-            "key.bodyoffset" : 1407,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutScrollViewProperties.swift",
-            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> apply<\/decl.name>(to<\/decl.var.parameter.argument_label> view<\/decl.var.parameter.name>: UIScrollView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, behavior<\/decl.var.parameter.argument_label>: Behavior<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, direction<\/decl.var.parameter.argument_label>: LayoutDirection<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>, showsScrollIndicators<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
-            "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 2063,
-            "key.name" : "apply(to:behavior:direction:showsScrollIndicators:)",
-            "key.namelength" : 147,
-            "key.nameoffset" : 1258,
-            "key.offset" : 1253,
-            "key.parsed_declaration" : "func apply(\n    to view : UIScrollView,\n    behavior : Behavior,\n    direction : LayoutDirection,\n    showsScrollIndicators : Bool\n)",
-            "key.parsed_scope.end" : 82,
-            "key.parsed_scope.start" : 41,
-            "key.substructure" : [
+                ],
+                "key.typename" : "(TableAppearance.SectionLayout.Type) -> (CustomWidth, CGFloat?, TableAppearance.SectionLayout.Columns) -> TableAppearance.SectionLayout",
+                "key.typeusr" : "$s5width25customInterSectionSpacing7columns10ListableUI15TableAppearanceV0D6LayoutVAD11CustomWidthO_12CoreGraphics7CGFloatVSgAH7ColumnsVtcD",
+                "key.usr" : "s:10ListableUI15TableAppearanceV13SectionLayoutV5width011customInterE7Spacing7columnsAeA11CustomWidthO_12CoreGraphics7CGFloatVSgAE7ColumnsVtcfc"
+              },
               {
-                "key.annotated_decl" : "let isPagingEnabled: Bool<\/Type><\/Declaration>",
-                "key.doc.column" : 13,
-                "key.doc.comment" : "**Note**: Properties are only set if they are different (hence all the `if` statements below)\nbecause some UIScrollView properties, even when set to the same value, can affect or stop scrolling if it\nis in progress. Hard to tell which across iOS versions, so just always be defensive.",
-                "key.doc.declaration" : "let isPagingEnabled: Bool",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutScrollViewProperties.swift",
-                "key.doc.full_as_xml" : "isPagingEnabled<\/Name>s:10ListableUI30ListLayoutScrollViewPropertiesV5apply2to8behavior9direction05showsE10IndicatorsySo08UIScrollF0C_AA8BehaviorVAA0D9DirectionOSbtF15isPagingEnabledL_Sbvp<\/USR>let isPagingEnabled: Bool<\/Declaration>Note<\/bold>: Properties are only set if they are different (hence all the if<\/codeVoice> statements below) because some UIScrollView properties, even when set to the same value, can affect or stop scrolling if it is in progress. Hard to tell which across iOS versions, so just always be defensive.<\/Para><\/Abstract><\/CommentParts><\/Other>",
-                "key.doc.line" : 51,
-                "key.doc.name" : "isPagingEnabled",
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public static var defaultValue: `Self` { get }<\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 12297
+                  }
+                ],
+                "key.bodylength" : 33,
+                "key.bodyoffset" : 12336,
+                "key.doc.column" : 16,
+                "key.doc.declaration" : "static var defaultValue: Self { get }",
+                "key.doc.discussion" : [
+                  {
+                    "Note" : ""
+                  }
+                ],
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/SectionLayouts.swift",
+                "key.doc.full_as_xml" : "defaultValue<\/Name>s:10ListableUI19SectionLayoutsValueP07defaultE0xvpZ<\/USR>static var defaultValue: Self { get }<\/Declaration>The default value used when accessing the value, if none is set.<\/Para><\/Abstract>This documentation comment was inherited from SectionLayoutsValue<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Other>",
+                "key.doc.line" : 112,
+                "key.doc.name" : "defaultValue",
                 "key.doc.type" : "Other",
-                "key.doclength" : 313,
-                "key.docoffset" : 1416,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutScrollViewProperties.swift",
-                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> isPagingEnabled<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.local>",
-                "key.kind" : "source.lang.swift.decl.var.local",
-                "key.length" : 70,
-                "key.name" : "isPagingEnabled",
-                "key.namelength" : 15,
-                "key.nameoffset" : 1750,
-                "key.offset" : 1746,
-                "key.parsed_declaration" : "let isPagingEnabled = self.isPagingEnabled || behavior.isPagingEnabled",
-                "key.parsed_scope.end" : 51,
-                "key.parsed_scope.start" : 51,
-                "key.related_decls" : [
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> static<\/syntaxtype.keyword> var<\/syntaxtype.keyword> defaultValue<\/decl.name>: `Self`<\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.static>",
+                "key.kind" : "source.lang.swift.decl.var.static",
+                "key.length" : 66,
+                "key.name" : "defaultValue",
+                "key.namelength" : 12,
+                "key.nameoffset" : 12315,
+                "key.offset" : 12304,
+                "key.overrides" : [
                   {
-                    "key.annotated_decl" : "isPagingEnabled<\/RelatedName>"
+                    "key.usr" : "s:10ListableUI19SectionLayoutsValueP07defaultE0xvpZ"
+                  }
+                ],
+                "key.parsed_declaration" : "public static var defaultValue : Self",
+                "key.parsed_scope.end" : 199,
+                "key.parsed_scope.start" : 197,
+                "key.typename" : "TableAppearance.SectionLayout",
+                "key.typeusr" : "$s10ListableUI15TableAppearanceV13SectionLayoutVD",
+                "key.usr" : "s:10ListableUI19SectionLayoutsValueP07defaultE0xvpZ"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public struct TableAppearance<\/Type>.SectionLayout<\/Type>.Columns : Equatable<\/Type><\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 12388
+                  }
+                ],
+                "key.bodylength" : 984,
+                "key.bodyoffset" : 12431,
+                "key.elements" : [
+                  {
+                    "key.kind" : "source.lang.swift.structure.elem.typeref",
+                    "key.length" : 9,
+                    "key.offset" : 12412
+                  }
+                ],
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> TableAppearance<\/ref.struct>.SectionLayout<\/ref.struct>.Columns<\/decl.name> : Equatable<\/ref.protocol><\/decl.struct>",
+                "key.inheritedtypes" : [
+                  {
+                    "key.name" : "Equatable"
+                  }
+                ],
+                "key.kind" : "source.lang.swift.decl.struct",
+                "key.length" : 1021,
+                "key.name" : "Columns",
+                "key.namelength" : 7,
+                "key.nameoffset" : 12402,
+                "key.offset" : 12395,
+                "key.parsed_declaration" : "public struct Columns : Equatable",
+                "key.parsed_scope.end" : 231,
+                "key.parsed_scope.start" : 201,
+                "key.substructure" : [
+                  {
+                    "key.accessibility" : "source.lang.swift.accessibility.public",
+                    "key.annotated_decl" : "public var count: Int<\/Type><\/Declaration>",
+                    "key.attributes" : [
+                      {
+                        "key.attribute" : "source.decl.attribute.public",
+                        "key.length" : 6,
+                        "key.offset" : 12444
+                      }
+                    ],
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                    "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> count<\/decl.name>: Int<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+                    "key.kind" : "source.lang.swift.decl.var.instance",
+                    "key.length" : 15,
+                    "key.name" : "count",
+                    "key.namelength" : 5,
+                    "key.nameoffset" : 12455,
+                    "key.offset" : 12451,
+                    "key.parsed_declaration" : "public var count : Int",
+                    "key.parsed_scope.end" : 203,
+                    "key.parsed_scope.start" : 203,
+                    "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+                    "key.typename" : "Int",
+                    "key.typeusr" : "$sSiD",
+                    "key.usr" : "s:10ListableUI15TableAppearanceV13SectionLayoutV7ColumnsV5countSivp"
+                  },
+                  {
+                    "key.accessibility" : "source.lang.swift.accessibility.public",
+                    "key.annotated_decl" : "public var spacing: CGFloat<\/Type><\/Declaration>",
+                    "key.attributes" : [
+                      {
+                        "key.attribute" : "source.decl.attribute.public",
+                        "key.length" : 6,
+                        "key.offset" : 12479
+                      }
+                    ],
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                    "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> spacing<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+                    "key.kind" : "source.lang.swift.decl.var.instance",
+                    "key.length" : 21,
+                    "key.name" : "spacing",
+                    "key.namelength" : 7,
+                    "key.nameoffset" : 12490,
+                    "key.offset" : 12486,
+                    "key.parsed_declaration" : "public var spacing : CGFloat",
+                    "key.parsed_scope.end" : 204,
+                    "key.parsed_scope.start" : 204,
+                    "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+                    "key.typename" : "CGFloat",
+                    "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
+                    "key.usr" : "s:10ListableUI15TableAppearanceV13SectionLayoutV7ColumnsV7spacing12CoreGraphics7CGFloatVvp"
+                  },
+                  {
+                    "key.accessibility" : "source.lang.swift.accessibility.public",
+                    "key.annotated_decl" : "public static var one: Columns<\/Type> { get }<\/Declaration>",
+                    "key.attributes" : [
+                      {
+                        "key.attribute" : "source.decl.attribute.public",
+                        "key.length" : 6,
+                        "key.offset" : 12533
+                      }
+                    ],
+                    "key.bodylength" : 68,
+                    "key.bodyoffset" : 12566,
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                    "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> static<\/syntaxtype.keyword> var<\/syntaxtype.keyword> one<\/decl.name>: Columns<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.static>",
+                    "key.kind" : "source.lang.swift.decl.var.static",
+                    "key.length" : 95,
+                    "key.name" : "one",
+                    "key.namelength" : 3,
+                    "key.nameoffset" : 12551,
+                    "key.offset" : 12540,
+                    "key.parsed_declaration" : "public static var one : Columns",
+                    "key.parsed_scope.end" : 208,
+                    "key.parsed_scope.start" : 206,
+                    "key.typename" : "TableAppearance.SectionLayout.Columns",
+                    "key.typeusr" : "$s10ListableUI15TableAppearanceV13SectionLayoutV7ColumnsVD",
+                    "key.usr" : "s:10ListableUI15TableAppearanceV13SectionLayoutV7ColumnsV3oneAGvpZ"
+                  },
+                  {
+                    "key.accessibility" : "source.lang.swift.accessibility.public",
+                    "key.annotated_decl" : "public init(count: Int<\/Type> = 1, spacing: CGFloat<\/Type> = 0.0)<\/Declaration>",
+                    "key.attributes" : [
+                      {
+                        "key.attribute" : "source.decl.attribute.public",
+                        "key.length" : 6,
+                        "key.offset" : 12661
+                      }
+                    ],
+                    "key.bodylength" : 284,
+                    "key.bodyoffset" : 12728,
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                    "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(count<\/decl.var.parameter.argument_label>: Int<\/ref.struct><\/decl.var.parameter.type> = 1<\/decl.var.parameter>, spacing<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = 0.0<\/decl.var.parameter>)<\/decl.function.constructor>",
+                    "key.kind" : "source.lang.swift.decl.function.method.instance",
+                    "key.length" : 345,
+                    "key.name" : "init(count:spacing:)",
+                    "key.namelength" : 46,
+                    "key.nameoffset" : 12668,
+                    "key.offset" : 12668,
+                    "key.parsed_declaration" : "public init(count : Int = 1, spacing : CGFloat = 0.0)",
+                    "key.parsed_scope.end" : 217,
+                    "key.parsed_scope.start" : 210,
+                    "key.substructure" : [
+
+                    ],
+                    "key.typename" : "(TableAppearance.SectionLayout.Columns.Type) -> (Int, CGFloat) -> TableAppearance.SectionLayout.Columns",
+                    "key.typeusr" : "$s5count7spacing10ListableUI15TableAppearanceV13SectionLayoutV7ColumnsVSi_12CoreGraphics7CGFloatVtcD",
+                    "key.usr" : "s:10ListableUI15TableAppearanceV13SectionLayoutV7ColumnsV5count7spacingAGSi_12CoreGraphics7CGFloatVtcfc"
+                  },
+                  {
+                    "key.accessibility" : "source.lang.swift.accessibility.internal",
+                    "key.annotated_decl" : "func group<Value>(values: [Value<\/Type>]) -> [[Value<\/Type>]]<\/Declaration>",
+                    "key.bodylength" : 304,
+                    "key.bodyoffset" : 13101,
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                    "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> group<\/decl.name><Value<\/decl.generic_type_param.name><\/decl.generic_type_param>>(values<\/decl.var.parameter.argument_label>: [Value<\/ref.generic_type_param>]<\/decl.var.parameter.type><\/decl.var.parameter>) -> [[Value<\/ref.generic_type_param>]]<\/decl.function.returntype><\/decl.function.method.instance>",
+                    "key.kind" : "source.lang.swift.decl.function.method.instance",
+                    "key.length" : 367,
+                    "key.name" : "group(values:)",
+                    "key.namelength" : 30,
+                    "key.nameoffset" : 13044,
+                    "key.offset" : 13039,
+                    "key.parsed_declaration" : "func group(values : [Value]) -> [[Value]]",
+                    "key.parsed_scope.end" : 230,
+                    "key.parsed_scope.start" : 219,
+                    "key.substructure" : [
+                      {
+                        "key.annotated_decl" : "Value<\/Declaration>",
+                        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                        "key.fully_annotated_decl" : "Value<\/decl.generic_type_param.name><\/decl.generic_type_param>",
+                        "key.kind" : "source.lang.swift.decl.generic_type_param",
+                        "key.length" : 5,
+                        "key.name" : "Value",
+                        "key.namelength" : 5,
+                        "key.nameoffset" : 13050,
+                        "key.offset" : 13050,
+                        "key.parsed_declaration" : "func groupvar values: [Value]<\/Declaration>",
+                        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                        "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> values<\/decl.name>: [Value]<\/decl.var.type><\/decl.var.local>",
+                        "key.kind" : "source.lang.swift.decl.var.local",
+                        "key.length" : 19,
+                        "key.name" : "values",
+                        "key.namelength" : 6,
+                        "key.nameoffset" : 13122,
+                        "key.offset" : 13118,
+                        "key.parsed_declaration" : "var values = values",
+                        "key.parsed_scope.end" : 221,
+                        "key.parsed_scope.start" : 221,
+                        "key.typename" : "[Value]",
+                        "key.typeusr" : "$sSayxGD",
+                        "key.usr" : "s:10ListableUI15TableAppearanceV13SectionLayoutV7ColumnsV5group6valuesSaySayxGGAJ_tlFAIL0_AJvp"
+                      },
+                      {
+                        "key.annotated_decl" : "var grouped: [[Value<\/Type>]]<\/Declaration>",
+                        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                        "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> grouped<\/decl.name>: [[Value<\/ref.generic_type_param>]]<\/decl.var.type><\/decl.var.local>",
+                        "key.kind" : "source.lang.swift.decl.var.local",
+                        "key.length" : 28,
+                        "key.name" : "grouped",
+                        "key.namelength" : 7,
+                        "key.nameoffset" : 13175,
+                        "key.offset" : 13171,
+                        "key.parsed_declaration" : "var grouped : [[Value]] = []",
+                        "key.parsed_scope.end" : 223,
+                        "key.parsed_scope.start" : 223,
+                        "key.typename" : "[[Value]]",
+                        "key.typeusr" : "$sSaySayxGGD",
+                        "key.usr" : "s:10ListableUI15TableAppearanceV13SectionLayoutV7ColumnsV5group6valuesSaySayxGGAJ_tlF7groupedL_AKvp"
+                      }
+                    ],
+                    "key.typename" : " (TableAppearance.SectionLayout.Columns) -> ([Value]) -> [[Value]]",
+                    "key.typeusr" : "$s6valuesSaySayxGGAB_tcluD",
+                    "key.usr" : "s:10ListableUI15TableAppearanceV13SectionLayoutV7ColumnsV5group6valuesSaySayxGGAJ_tlF"
                   }
                 ],
-                "key.typename" : "Bool",
-                "key.typeusr" : "$sSbD",
-                "key.usr" : "s:10ListableUI30ListLayoutScrollViewPropertiesV5apply2to8behavior9direction05showsE10IndicatorsySo08UIScrollF0C_AA8BehaviorVAA0D9DirectionOSbtF15isPagingEnabledL_Sbvp"
-              },
-              {
-                "key.annotated_decl" : "let alwaysBounceVertical: Bool<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutScrollViewProperties.swift",
-                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> alwaysBounceVertical<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.local>",
-                "key.kind" : "source.lang.swift.decl.var.local",
-                "key.length" : 113,
-                "key.name" : "alwaysBounceVertical",
-                "key.namelength" : 20,
-                "key.nameoffset" : 2202,
-                "key.offset" : 2198,
-                "key.parsed_declaration" : "let alwaysBounceVertical = self.allowsBounceVertical && behavior.underflow.alwaysBounce && direction == .vertical",
-                "key.parsed_scope.end" : 61,
-                "key.parsed_scope.start" : 61,
-                "key.typename" : "Bool",
-                "key.typeusr" : "$sSbD",
-                "key.usr" : "s:10ListableUI30ListLayoutScrollViewPropertiesV5apply2to8behavior9direction05showsE10IndicatorsySo08UIScrollF0C_AA8BehaviorVAA0D9DirectionOSbtF20alwaysBounceVerticalL_Sbvp"
-              },
-              {
-                "key.annotated_decl" : "let alwaysBounceHorizontal: Bool<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutScrollViewProperties.swift",
-                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> alwaysBounceHorizontal<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.local>",
-                "key.kind" : "source.lang.swift.decl.var.local",
-                "key.length" : 119,
-                "key.name" : "alwaysBounceHorizontal",
-                "key.namelength" : 22,
-                "key.nameoffset" : 2324,
-                "key.offset" : 2320,
-                "key.parsed_declaration" : "let alwaysBounceHorizontal = self.allowsBounceHorizontal && behavior.underflow.alwaysBounce && direction == .horizontal",
-                "key.parsed_scope.end" : 62,
-                "key.parsed_scope.start" : 62,
-                "key.typename" : "Bool",
-                "key.typeusr" : "$sSbD",
-                "key.usr" : "s:10ListableUI30ListLayoutScrollViewPropertiesV5apply2to8behavior9direction05showsE10IndicatorsySo08UIScrollF0C_AA8BehaviorVAA0D9DirectionOSbtF22alwaysBounceHorizontalL_Sbvp"
-              },
-              {
-                "key.annotated_decl" : "let showsVerticalScrollIndicator: Bool<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutScrollViewProperties.swift",
-                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> showsVerticalScrollIndicator<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.local>",
-                "key.kind" : "source.lang.swift.decl.var.local",
-                "key.length" : 94,
-                "key.name" : "showsVerticalScrollIndicator",
-                "key.namelength" : 28,
-                "key.nameoffset" : 2755,
-                "key.offset" : 2751,
-                "key.parsed_declaration" : "let showsVerticalScrollIndicator = self.allowsVerticalScrollIndicator && showsScrollIndicators",
-                "key.parsed_scope.end" : 72,
-                "key.parsed_scope.start" : 72,
-                "key.typename" : "Bool",
-                "key.typeusr" : "$sSbD",
-                "key.usr" : "s:10ListableUI30ListLayoutScrollViewPropertiesV5apply2to8behavior9direction05showsE10IndicatorsySo08UIScrollF0C_AA8BehaviorVAA0D9DirectionOSbtF0l8VerticalE9IndicatorL_Sbvp"
-              },
-              {
-                "key.annotated_decl" : "let showsHorizontalScrollIndicator: Bool<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutScrollViewProperties.swift",
-                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> showsHorizontalScrollIndicator<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.local>",
-                "key.kind" : "source.lang.swift.decl.var.local",
-                "key.length" : 98,
-                "key.name" : "showsHorizontalScrollIndicator",
-                "key.namelength" : 30,
-                "key.nameoffset" : 2858,
-                "key.offset" : 2854,
-                "key.parsed_declaration" : "let showsHorizontalScrollIndicator = self.allowsHorizontalScrollIndicator && showsScrollIndicators",
-                "key.parsed_scope.end" : 73,
-                "key.parsed_scope.start" : 73,
-                "key.typename" : "Bool",
-                "key.typeusr" : "$sSbD",
-                "key.usr" : "s:10ListableUI30ListLayoutScrollViewPropertiesV5apply2to8behavior9direction05showsE10IndicatorsySo08UIScrollF0C_AA8BehaviorVAA0D9DirectionOSbtF0l10HorizontalE9IndicatorL_Sbvp"
+                "key.typename" : "TableAppearance.SectionLayout.Columns.Type",
+                "key.typeusr" : "$s10ListableUI15TableAppearanceV13SectionLayoutV7ColumnsVmD",
+                "key.usr" : "s:10ListableUI15TableAppearanceV13SectionLayoutV7ColumnsV"
               }
             ],
-            "key.typename" : "(ListLayoutScrollViewProperties) -> (UIScrollView, Behavior, LayoutDirection, Bool) -> ()",
-            "key.typeusr" : "$s2to8behavior9direction21showsScrollIndicatorsySo12UIScrollViewC_10ListableUI8BehaviorVAG15LayoutDirectionOSbtcD",
-            "key.usr" : "s:10ListableUI30ListLayoutScrollViewPropertiesV5apply2to8behavior9direction05showsE10IndicatorsySo08UIScrollF0C_AA8BehaviorVAA0D9DirectionOSbtF"
+            "key.typename" : "TableAppearance.SectionLayout.Type",
+            "key.typeusr" : "$s10ListableUI15TableAppearanceV13SectionLayoutVmD",
+            "key.usr" : "s:10ListableUI15TableAppearanceV13SectionLayoutV"
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public enum ListLayoutScrollViewProperties<\/Type>.ContentInsetAdjustmentBehavior : Equatable<\/Type><\/Declaration>",
+            "key.annotated_decl" : "public struct Sizing : Equatable<\/Type><\/Declaration>",
             "key.attributes" : [
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 3326
+                "key.offset" : 13469
               }
             ],
-            "key.bodylength" : 418,
-            "key.bodyoffset" : 3382,
+            "key.bodylength" : 1970,
+            "key.bodyoffset" : 13507,
+            "key.doc.column" : 19,
+            "key.doc.comment" : "Sizing options for the list.",
+            "key.doc.declaration" : "public struct Sizing : Equatable",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+            "key.doc.full_as_xml" : "Sizing<\/Name>s:10ListableUI15TableAppearanceV6SizingV<\/USR>public struct Sizing : Equatable<\/Declaration>Sizing options for the list.<\/Para><\/Abstract><\/CommentParts><\/Class>",
+            "key.doc.line" : 235,
+            "key.doc.name" : "Sizing",
+            "key.doc.type" : "Class",
+            "key.doclength" : 33,
+            "key.docoffset" : 13432,
             "key.elements" : [
               {
                 "key.kind" : "source.lang.swift.structure.elem.typeref",
                 "key.length" : 9,
-                "key.offset" : 3371
+                "key.offset" : 13492
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutScrollViewProperties.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> enum<\/syntaxtype.keyword> ListLayoutScrollViewProperties<\/ref.struct>.ContentInsetAdjustmentBehavior<\/decl.name> : Equatable<\/ref.protocol><\/decl.enum>",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> Sizing<\/decl.name> : Equatable<\/ref.protocol><\/decl.struct>",
             "key.inheritedtypes" : [
               {
                 "key.name" : "Equatable"
               }
             ],
-            "key.kind" : "source.lang.swift.decl.enum",
-            "key.length" : 468,
-            "key.name" : "ContentInsetAdjustmentBehavior",
-            "key.namelength" : 30,
-            "key.nameoffset" : 3338,
-            "key.offset" : 3333,
-            "key.parsed_declaration" : "public enum ContentInsetAdjustmentBehavior : Equatable",
-            "key.parsed_scope.end" : 98,
-            "key.parsed_scope.start" : 84,
+            "key.kind" : "source.lang.swift.decl.struct",
+            "key.length" : 2002,
+            "key.name" : "Sizing",
+            "key.namelength" : 6,
+            "key.nameoffset" : 13483,
+            "key.offset" : 13476,
+            "key.parsed_declaration" : "public struct Sizing : Equatable",
+            "key.parsed_scope.end" : 282,
+            "key.parsed_scope.start" : 235,
             "key.substructure" : [
               {
-                "key.kind" : "source.lang.swift.decl.enumcase",
-                "key.length" : 14,
-                "key.namelength" : 0,
-                "key.nameoffset" : 0,
-                "key.offset" : 3391,
-                "key.substructure" : [
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public var itemHeight: CGFloat<\/Type><\/Declaration>",
+                "key.attributes" : [
                   {
-                    "key.accessibility" : "source.lang.swift.accessibility.public",
-                    "key.annotated_decl" : "case automatic<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutScrollViewProperties.swift",
-                    "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> automatic<\/decl.name><\/decl.enumelement>",
-                    "key.kind" : "source.lang.swift.decl.enumelement",
-                    "key.length" : 9,
-                    "key.name" : "automatic",
-                    "key.namelength" : 9,
-                    "key.nameoffset" : 3396,
-                    "key.offset" : 3396,
-                    "key.parsed_declaration" : "case automatic",
-                    "key.parsed_scope.end" : 85,
-                    "key.parsed_scope.start" : 85,
-                    "key.typename" : "(ListLayoutScrollViewProperties.ContentInsetAdjustmentBehavior.Type) -> ListLayoutScrollViewProperties.ContentInsetAdjustmentBehavior",
-                    "key.typeusr" : "$sy10ListableUI30ListLayoutScrollViewPropertiesV30ContentInsetAdjustmentBehaviorOAEmcD",
-                    "key.usr" : "s:10ListableUI30ListLayoutScrollViewPropertiesV30ContentInsetAdjustmentBehaviorO9automaticyA2EmF"
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 13568
                   }
-                ]
+                ],
+                "key.doc.column" : 20,
+                "key.doc.comment" : "The default height for items in a list.",
+                "key.doc.declaration" : "public var itemHeight: CGFloat",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.doc.full_as_xml" : "itemHeight<\/Name>s:10ListableUI15TableAppearanceV6SizingV10itemHeight12CoreGraphics7CGFloatVvp<\/USR>public var itemHeight: CGFloat<\/Declaration>The default height for items in a list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.line" : 238,
+                "key.doc.name" : "itemHeight",
+                "key.doc.type" : "Other",
+                "key.doclength" : 44,
+                "key.docoffset" : 13516,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> itemHeight<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 24,
+                "key.name" : "itemHeight",
+                "key.namelength" : 10,
+                "key.nameoffset" : 13579,
+                "key.offset" : 13575,
+                "key.parsed_declaration" : "public var itemHeight : CGFloat",
+                "key.parsed_scope.end" : 238,
+                "key.parsed_scope.start" : 238,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+                "key.typename" : "CGFloat",
+                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
+                "key.usr" : "s:10ListableUI15TableAppearanceV6SizingV10itemHeight12CoreGraphics7CGFloatVvp"
               },
               {
-                "key.kind" : "source.lang.swift.decl.enumcase",
-                "key.length" : 19,
-                "key.namelength" : 0,
-                "key.nameoffset" : 0,
-                "key.offset" : 3414,
-                "key.substructure" : [
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public var sectionHeaderHeight: CGFloat<\/Type><\/Declaration>",
+                "key.attributes" : [
                   {
-                    "key.accessibility" : "source.lang.swift.accessibility.public",
-                    "key.annotated_decl" : "case scrollableAxes<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutScrollViewProperties.swift",
-                    "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> scrollableAxes<\/decl.name><\/decl.enumelement>",
-                    "key.kind" : "source.lang.swift.decl.enumelement",
-                    "key.length" : 14,
-                    "key.name" : "scrollableAxes",
-                    "key.namelength" : 14,
-                    "key.nameoffset" : 3419,
-                    "key.offset" : 3419,
-                    "key.parsed_declaration" : "case scrollableAxes",
-                    "key.parsed_scope.end" : 86,
-                    "key.parsed_scope.start" : 86,
-                    "key.typename" : "(ListLayoutScrollViewProperties.ContentInsetAdjustmentBehavior.Type) -> ListLayoutScrollViewProperties.ContentInsetAdjustmentBehavior",
-                    "key.typeusr" : "$sy10ListableUI30ListLayoutScrollViewPropertiesV30ContentInsetAdjustmentBehaviorOAEmcD",
-                    "key.usr" : "s:10ListableUI30ListLayoutScrollViewPropertiesV30ContentInsetAdjustmentBehaviorO14scrollableAxesyA2EmF"
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 13679
                   }
-                ]
+                ],
+                "key.doc.column" : 20,
+                "key.doc.comment" : "The default height for section headers in a list.",
+                "key.doc.declaration" : "public var sectionHeaderHeight: CGFloat",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.doc.full_as_xml" : "sectionHeaderHeight<\/Name>s:10ListableUI15TableAppearanceV6SizingV19sectionHeaderHeight12CoreGraphics7CGFloatVvp<\/USR>public var sectionHeaderHeight: CGFloat<\/Declaration>The default height for section headers in a list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.line" : 241,
+                "key.doc.name" : "sectionHeaderHeight",
+                "key.doc.type" : "Other",
+                "key.doclength" : 54,
+                "key.docoffset" : 13617,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> sectionHeaderHeight<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 33,
+                "key.name" : "sectionHeaderHeight",
+                "key.namelength" : 19,
+                "key.nameoffset" : 13690,
+                "key.offset" : 13686,
+                "key.parsed_declaration" : "public var sectionHeaderHeight : CGFloat",
+                "key.parsed_scope.end" : 241,
+                "key.parsed_scope.start" : 241,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+                "key.typename" : "CGFloat",
+                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
+                "key.usr" : "s:10ListableUI15TableAppearanceV6SizingV19sectionHeaderHeight12CoreGraphics7CGFloatVvp"
               },
               {
-                "key.kind" : "source.lang.swift.decl.enumcase",
-                "key.length" : 10,
-                "key.namelength" : 0,
-                "key.nameoffset" : 0,
-                "key.offset" : 3442,
-                "key.substructure" : [
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public var sectionFooterHeight: CGFloat<\/Type><\/Declaration>",
+                "key.attributes" : [
                   {
-                    "key.accessibility" : "source.lang.swift.accessibility.public",
-                    "key.annotated_decl" : "case never<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutScrollViewProperties.swift",
-                    "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> never<\/decl.name><\/decl.enumelement>",
-                    "key.kind" : "source.lang.swift.decl.enumelement",
-                    "key.length" : 5,
-                    "key.name" : "never",
-                    "key.namelength" : 5,
-                    "key.nameoffset" : 3447,
-                    "key.offset" : 3447,
-                    "key.parsed_declaration" : "case never",
-                    "key.parsed_scope.end" : 87,
-                    "key.parsed_scope.start" : 87,
-                    "key.typename" : "(ListLayoutScrollViewProperties.ContentInsetAdjustmentBehavior.Type) -> ListLayoutScrollViewProperties.ContentInsetAdjustmentBehavior",
-                    "key.typeusr" : "$sy10ListableUI30ListLayoutScrollViewPropertiesV30ContentInsetAdjustmentBehaviorOAEmcD",
-                    "key.usr" : "s:10ListableUI30ListLayoutScrollViewPropertiesV30ContentInsetAdjustmentBehaviorO5neveryA2EmF"
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 13789
                   }
-                ]
+                ],
+                "key.doc.column" : 20,
+                "key.doc.comment" : "The default height for section footer in a list.",
+                "key.doc.declaration" : "public var sectionFooterHeight: CGFloat",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.doc.full_as_xml" : "sectionFooterHeight<\/Name>s:10ListableUI15TableAppearanceV6SizingV19sectionFooterHeight12CoreGraphics7CGFloatVvp<\/USR>public var sectionFooterHeight: CGFloat<\/Declaration>The default height for section footer in a list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.line" : 243,
+                "key.doc.name" : "sectionFooterHeight",
+                "key.doc.type" : "Other",
+                "key.doclength" : 53,
+                "key.docoffset" : 13728,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> sectionFooterHeight<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 33,
+                "key.name" : "sectionFooterHeight",
+                "key.namelength" : 19,
+                "key.nameoffset" : 13800,
+                "key.offset" : 13796,
+                "key.parsed_declaration" : "public var sectionFooterHeight : CGFloat",
+                "key.parsed_scope.end" : 243,
+                "key.parsed_scope.start" : 243,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+                "key.typename" : "CGFloat",
+                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
+                "key.usr" : "s:10ListableUI15TableAppearanceV6SizingV19sectionFooterHeight12CoreGraphics7CGFloatVvp"
               },
               {
-                "key.kind" : "source.lang.swift.decl.enumcase",
-                "key.length" : 11,
-                "key.namelength" : 0,
-                "key.nameoffset" : 0,
-                "key.offset" : 3461,
-                "key.substructure" : [
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public var listHeaderHeight: CGFloat<\/Type><\/Declaration>",
+                "key.attributes" : [
                   {
-                    "key.accessibility" : "source.lang.swift.accessibility.public",
-                    "key.annotated_decl" : "case always<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutScrollViewProperties.swift",
-                    "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> always<\/decl.name><\/decl.enumelement>",
-                    "key.kind" : "source.lang.swift.decl.enumelement",
+                    "key.attribute" : "source.decl.attribute.public",
                     "key.length" : 6,
-                    "key.name" : "always",
-                    "key.namelength" : 6,
-                    "key.nameoffset" : 3466,
-                    "key.offset" : 3466,
-                    "key.parsed_declaration" : "case always",
-                    "key.parsed_scope.end" : 88,
-                    "key.parsed_scope.start" : 88,
-                    "key.typename" : "(ListLayoutScrollViewProperties.ContentInsetAdjustmentBehavior.Type) -> ListLayoutScrollViewProperties.ContentInsetAdjustmentBehavior",
-                    "key.typeusr" : "$sy10ListableUI30ListLayoutScrollViewPropertiesV30ContentInsetAdjustmentBehaviorOAEmcD",
-                    "key.usr" : "s:10ListableUI30ListLayoutScrollViewPropertiesV30ContentInsetAdjustmentBehaviorO6alwaysyA2EmF"
+                    "key.offset" : 13901
                   }
-                ]
+                ],
+                "key.doc.column" : 20,
+                "key.doc.comment" : "The default height for the list's header.",
+                "key.doc.declaration" : "public var listHeaderHeight: CGFloat",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.doc.full_as_xml" : "listHeaderHeight<\/Name>s:10ListableUI15TableAppearanceV6SizingV16listHeaderHeight12CoreGraphics7CGFloatVvp<\/USR>public var listHeaderHeight: CGFloat<\/Declaration>The default height for the list’s header.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.line" : 246,
+                "key.doc.name" : "listHeaderHeight",
+                "key.doc.type" : "Other",
+                "key.doclength" : 46,
+                "key.docoffset" : 13847,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> listHeaderHeight<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 30,
+                "key.name" : "listHeaderHeight",
+                "key.namelength" : 16,
+                "key.nameoffset" : 13912,
+                "key.offset" : 13908,
+                "key.parsed_declaration" : "public var listHeaderHeight : CGFloat",
+                "key.parsed_scope.end" : 246,
+                "key.parsed_scope.start" : 246,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+                "key.typename" : "CGFloat",
+                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
+                "key.usr" : "s:10ListableUI15TableAppearanceV6SizingV16listHeaderHeight12CoreGraphics7CGFloatVvp"
               },
               {
-                "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "var toUIScrollViewValue: UIScrollView<\/Type>.ContentInsetAdjustmentBehavior<\/Type> { get }<\/Declaration>",
-                "key.bodylength" : 233,
-                "key.bodyoffset" : 3561,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutScrollViewProperties.swift",
-                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> toUIScrollViewValue<\/decl.name>: UIScrollView<\/ref.class>.ContentInsetAdjustmentBehavior<\/ref.enum><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public var listFooterHeight: CGFloat<\/Type><\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 14001
+                  }
+                ],
+                "key.doc.column" : 20,
+                "key.doc.comment" : "The default height for the list's footer.",
+                "key.doc.declaration" : "public var listFooterHeight: CGFloat",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.doc.full_as_xml" : "listFooterHeight<\/Name>s:10ListableUI15TableAppearanceV6SizingV16listFooterHeight12CoreGraphics7CGFloatVvp<\/USR>public var listFooterHeight: CGFloat<\/Declaration>The default height for the list’s footer.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.line" : 248,
+                "key.doc.name" : "listFooterHeight",
+                "key.doc.type" : "Other",
+                "key.doclength" : 46,
+                "key.docoffset" : 13947,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> listFooterHeight<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 305,
-                "key.name" : "toUIScrollViewValue",
-                "key.namelength" : 19,
-                "key.nameoffset" : 3494,
-                "key.offset" : 3490,
-                "key.parsed_declaration" : "var toUIScrollViewValue : UIScrollView.ContentInsetAdjustmentBehavior",
-                "key.parsed_scope.end" : 97,
-                "key.parsed_scope.start" : 90,
-                "key.typename" : "UIScrollView.ContentInsetAdjustmentBehavior",
-                "key.typeusr" : "$sSo42UIScrollViewContentInsetAdjustmentBehaviorVD",
-                "key.usr" : "s:10ListableUI30ListLayoutScrollViewPropertiesV30ContentInsetAdjustmentBehaviorO010toUIScrollF5ValueSo0mfhijK0Vvp"
-              }
-            ],
-            "key.typename" : "ListLayoutScrollViewProperties.ContentInsetAdjustmentBehavior.Type",
-            "key.typeusr" : "$s10ListableUI30ListLayoutScrollViewPropertiesV30ContentInsetAdjustmentBehaviorOmD",
-            "key.usr" : "s:10ListableUI30ListLayoutScrollViewPropertiesV30ContentInsetAdjustmentBehaviorO"
-          }
-        ],
-        "key.typename" : "ListLayoutScrollViewProperties.Type",
-        "key.typeusr" : "$s10ListableUI30ListLayoutScrollViewPropertiesVmD",
-        "key.usr" : "s:10ListableUI30ListLayoutScrollViewPropertiesV"
-      }
-    ]
-  }
-}, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutValues.swift" : {
-    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
-    "key.length" : 1261,
-    "key.offset" : 0,
-    "key.substructure" : [
-      {
-        "key.accessibility" : "source.lang.swift.accessibility.public",
-        "key.annotated_decl" : "public struct ListLayoutPoint : Hashable<\/Type><\/Declaration>",
-        "key.attributes" : [
-          {
-            "key.attribute" : "source.decl.attribute.public",
-            "key.length" : 6,
-            "key.offset" : 113
-          }
-        ],
-        "key.bodylength" : 497,
-        "key.bodyoffset" : 155,
-        "key.elements" : [
-          {
-            "key.kind" : "source.lang.swift.structure.elem.typeref",
-            "key.length" : 8,
-            "key.offset" : 145
-          }
-        ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutValues.swift",
-        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> ListLayoutPoint<\/decl.name> : Hashable<\/ref.protocol><\/decl.struct>",
-        "key.inheritedtypes" : [
-          {
-            "key.name" : "Hashable"
-          }
-        ],
-        "key.kind" : "source.lang.swift.decl.struct",
-        "key.length" : 533,
-        "key.name" : "ListLayoutPoint",
-        "key.namelength" : 15,
-        "key.nameoffset" : 127,
-        "key.offset" : 120,
-        "key.parsed_declaration" : "public struct ListLayoutPoint : Hashable",
-        "key.parsed_scope.end" : 32,
-        "key.parsed_scope.start" : 11,
-        "key.substructure" : [
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public var x: CGFloat<\/Type><\/Declaration>",
-            "key.attributes" : [
+                "key.length" : 30,
+                "key.name" : "listFooterHeight",
+                "key.namelength" : 16,
+                "key.nameoffset" : 14012,
+                "key.offset" : 14008,
+                "key.parsed_declaration" : "public var listFooterHeight : CGFloat",
+                "key.parsed_scope.end" : 248,
+                "key.parsed_scope.start" : 248,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+                "key.typename" : "CGFloat",
+                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
+                "key.usr" : "s:10ListableUI15TableAppearanceV6SizingV16listFooterHeight12CoreGraphics7CGFloatVvp"
+              },
               {
-                "key.attribute" : "source.decl.attribute.public",
-                "key.length" : 6,
-                "key.offset" : 161
-              }
-            ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutValues.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> x<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 15,
-            "key.name" : "x",
-            "key.namelength" : 1,
-            "key.nameoffset" : 172,
-            "key.offset" : 168,
-            "key.parsed_declaration" : "public var x : CGFloat",
-            "key.parsed_scope.end" : 13,
-            "key.parsed_scope.start" : 13,
-            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-            "key.typename" : "CGFloat",
-            "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
-            "key.usr" : "s:10ListableUI15ListLayoutPointV1x12CoreGraphics7CGFloatVvp"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public var y: CGFloat<\/Type><\/Declaration>",
-            "key.attributes" : [
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public var overscrollFooterHeight: CGFloat<\/Type><\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 14112
+                  }
+                ],
+                "key.doc.column" : 20,
+                "key.doc.comment" : "The default height for the list's overscroll footer.",
+                "key.doc.declaration" : "public var overscrollFooterHeight: CGFloat",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.doc.full_as_xml" : "overscrollFooterHeight<\/Name>s:10ListableUI15TableAppearanceV6SizingV22overscrollFooterHeight12CoreGraphics7CGFloatVvp<\/USR>public var overscrollFooterHeight: CGFloat<\/Declaration>The default height for the list’s overscroll footer.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.line" : 250,
+                "key.doc.name" : "overscrollFooterHeight",
+                "key.doc.type" : "Other",
+                "key.doclength" : 57,
+                "key.docoffset" : 14047,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> overscrollFooterHeight<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 36,
+                "key.name" : "overscrollFooterHeight",
+                "key.namelength" : 22,
+                "key.nameoffset" : 14123,
+                "key.offset" : 14119,
+                "key.parsed_declaration" : "public var overscrollFooterHeight : CGFloat",
+                "key.parsed_scope.end" : 250,
+                "key.parsed_scope.start" : 250,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+                "key.typename" : "CGFloat",
+                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
+                "key.usr" : "s:10ListableUI15TableAppearanceV6SizingV22overscrollFooterHeight12CoreGraphics7CGFloatVvp"
+              },
               {
-                "key.attribute" : "source.decl.attribute.public",
-                "key.length" : 6,
-                "key.offset" : 188
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public var itemPositionGroupingHeight: CGFloat<\/Type><\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 14436
+                  }
+                ],
+                "key.doc.column" : 20,
+                "key.doc.comment" : "When providing the `ItemPosition` for items in a list, specifies the max spacing\nfor items to be considered in the same group. For example, if this value is 1, and\nitems are spaced 2pts apart, the items will be in a new group.",
+                "key.doc.declaration" : "public var itemPositionGroupingHeight: CGFloat",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.doc.full_as_xml" : "itemPositionGroupingHeight<\/Name>s:10ListableUI15TableAppearanceV6SizingV26itemPositionGroupingHeight12CoreGraphics7CGFloatVvp<\/USR>public var itemPositionGroupingHeight: CGFloat<\/Declaration>When providing the ItemPosition<\/codeVoice> for items in a list, specifies the max spacing for items to be considered in the same group. For example, if this value is 1, and items are spaced 2pts apart, the items will be in a new group.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.line" : 255,
+                "key.doc.name" : "itemPositionGroupingHeight",
+                "key.doc.type" : "Other",
+                "key.doclength" : 255,
+                "key.docoffset" : 14173,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> itemPositionGroupingHeight<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 40,
+                "key.name" : "itemPositionGroupingHeight",
+                "key.namelength" : 26,
+                "key.nameoffset" : 14447,
+                "key.offset" : 14443,
+                "key.parsed_declaration" : "public var itemPositionGroupingHeight : CGFloat",
+                "key.parsed_scope.end" : 255,
+                "key.parsed_scope.start" : 255,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+                "key.typename" : "CGFloat",
+                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
+                "key.usr" : "s:10ListableUI15TableAppearanceV6SizingV26itemPositionGroupingHeight12CoreGraphics7CGFloatVvp"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public init(itemHeight: CGFloat<\/Type> = 50.0, sectionHeaderHeight: CGFloat<\/Type> = 60.0, sectionFooterHeight: CGFloat<\/Type> = 40.0, listHeaderHeight: CGFloat<\/Type> = 60.0, listFooterHeight: CGFloat<\/Type> = 60.0, overscrollFooterHeight: CGFloat<\/Type> = 60.0, itemPositionGroupingHeight: CGFloat<\/Type> = 0.0)<\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 14505
+                  }
+                ],
+                "key.bodylength" : 412,
+                "key.bodyoffset" : 14880,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(itemHeight<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = 50.0<\/decl.var.parameter>, sectionHeaderHeight<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = 60.0<\/decl.var.parameter>, sectionFooterHeight<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = 40.0<\/decl.var.parameter>, listHeaderHeight<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = 60.0<\/decl.var.parameter>, listFooterHeight<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = 60.0<\/decl.var.parameter>, overscrollFooterHeight<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = 60.0<\/decl.var.parameter>, itemPositionGroupingHeight<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = 0.0<\/decl.var.parameter>)<\/decl.function.constructor>",
+                "key.kind" : "source.lang.swift.decl.function.method.instance",
+                "key.length" : 781,
+                "key.name" : "init(itemHeight:sectionHeaderHeight:sectionFooterHeight:listHeaderHeight:listFooterHeight:overscrollFooterHeight:itemPositionGroupingHeight:)",
+                "key.namelength" : 358,
+                "key.nameoffset" : 14512,
+                "key.offset" : 14512,
+                "key.parsed_declaration" : "public init(\n    itemHeight : CGFloat = 50.0,\n    sectionHeaderHeight : CGFloat = 60.0,\n    sectionFooterHeight : CGFloat = 40.0,\n    listHeaderHeight : CGFloat = 60.0,\n    listFooterHeight : CGFloat = 60.0,\n    overscrollFooterHeight : CGFloat = 60.0,\n    itemPositionGroupingHeight : CGFloat = 0.0\n)",
+                "key.parsed_scope.end" : 274,
+                "key.parsed_scope.start" : 257,
+                "key.substructure" : [
+
+                ],
+                "key.typename" : "(TableAppearance.Sizing.Type) -> (CGFloat, CGFloat, CGFloat, CGFloat, CGFloat, CGFloat, CGFloat) -> TableAppearance.Sizing",
+                "key.typeusr" : "$s10itemHeight013sectionHeaderB00c6FooterB004listdB00feB0010overscrolleB00a16PositionGroupingB010ListableUI15TableAppearanceV6SizingV12CoreGraphics7CGFloatV_A6OtcD",
+                "key.usr" : "s:10ListableUI15TableAppearanceV6SizingV10itemHeight013sectionHeaderG00h6FooterG004listiG00kjG0010overscrolljG00f16PositionGroupingG0AE12CoreGraphics7CGFloatV_A6Otcfc"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public mutating func set(with block: (inout Sizing<\/Type>) -> ())<\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.mutating",
+                    "key.length" : 8,
+                    "key.offset" : 15318
+                  },
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 15311
+                  }
+                ],
+                "key.bodylength" : 92,
+                "key.bodyoffset" : 15379,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> mutating<\/syntaxtype.keyword> func<\/syntaxtype.keyword> set<\/decl.name>(with<\/decl.var.parameter.argument_label> block<\/decl.var.parameter.name>: (inout<\/syntaxtype.keyword> Sizing<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
+                "key.kind" : "source.lang.swift.decl.function.method.instance",
+                "key.length" : 145,
+                "key.name" : "set(with:)",
+                "key.namelength" : 37,
+                "key.nameoffset" : 15332,
+                "key.offset" : 15327,
+                "key.parsed_declaration" : "public mutating func set(with block: (inout Sizing) -> ())",
+                "key.parsed_scope.end" : 281,
+                "key.parsed_scope.start" : 276,
+                "key.substructure" : [
+                  {
+                    "key.annotated_decl" : "var edited: TableAppearance<\/Type>.Sizing<\/Type><\/Declaration>",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                    "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> edited<\/decl.name>: TableAppearance<\/ref.struct>.Sizing<\/ref.struct><\/decl.var.type><\/decl.var.local>",
+                    "key.kind" : "source.lang.swift.decl.var.local",
+                    "key.length" : 17,
+                    "key.name" : "edited",
+                    "key.namelength" : 6,
+                    "key.nameoffset" : 15396,
+                    "key.offset" : 15392,
+                    "key.parsed_declaration" : "var edited = self",
+                    "key.parsed_scope.end" : 278,
+                    "key.parsed_scope.start" : 278,
+                    "key.typename" : "TableAppearance.Sizing",
+                    "key.typeusr" : "$s10ListableUI15TableAppearanceV6SizingVD",
+                    "key.usr" : "s:10ListableUI15TableAppearanceV6SizingV3set4withyyAEzXE_tF6editedL_AEvp"
+                  }
+                ],
+                "key.typename" : "(inout TableAppearance.Sizing) -> ((inout TableAppearance.Sizing) -> ()) -> ()",
+                "key.typeusr" : "$s4withyy10ListableUI15TableAppearanceV6SizingVzXE_tcD",
+                "key.usr" : "s:10ListableUI15TableAppearanceV6SizingV3set4withyyAEzXE_tF"
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutValues.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> y<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 15,
-            "key.name" : "y",
-            "key.namelength" : 1,
-            "key.nameoffset" : 199,
-            "key.offset" : 195,
-            "key.parsed_declaration" : "public var y : CGFloat",
-            "key.parsed_scope.end" : 14,
-            "key.parsed_scope.start" : 14,
-            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-            "key.typename" : "CGFloat",
-            "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
-            "key.usr" : "s:10ListableUI15ListLayoutPointV1y12CoreGraphics7CGFloatVvp"
+            "key.typename" : "TableAppearance.Sizing.Type",
+            "key.typeusr" : "$s10ListableUI15TableAppearanceV6SizingVmD",
+            "key.usr" : "s:10ListableUI15TableAppearanceV6SizingV"
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public var rotates: Bool<\/Type><\/Declaration>",
+            "key.annotated_decl" : "public struct Layout : Equatable<\/Type><\/Declaration>",
             "key.attributes" : [
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 220
+                "key.offset" : 15530
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutValues.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> rotates<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 18,
-            "key.name" : "rotates",
-            "key.namelength" : 7,
-            "key.nameoffset" : 231,
-            "key.offset" : 227,
-            "key.parsed_declaration" : "public var rotates : Bool",
-            "key.parsed_scope.end" : 16,
-            "key.parsed_scope.start" : 16,
-            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-            "key.typename" : "Bool",
-            "key.typeusr" : "$sSbD",
-            "key.usr" : "s:10ListableUI15ListLayoutPointV7rotatesSbvp"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public init(x: CGFloat<\/Type>, y: CGFloat<\/Type>, rotates: Bool<\/Type>)<\/Declaration>",
-            "key.attributes" : [
+            "key.bodylength" : 3263,
+            "key.bodyoffset" : 15568,
+            "key.doc.column" : 19,
+            "key.doc.comment" : "Layout options for the list.",
+            "key.doc.declaration" : "public struct Layout : Equatable",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+            "key.doc.full_as_xml" : "Layout<\/Name>s:10ListableUI15TableAppearanceV6LayoutV<\/USR>public struct Layout : Equatable<\/Declaration>Layout options for the list.<\/Para><\/Abstract><\/CommentParts><\/Class>",
+            "key.doc.line" : 286,
+            "key.doc.name" : "Layout",
+            "key.doc.type" : "Class",
+            "key.doclength" : 33,
+            "key.docoffset" : 15493,
+            "key.elements" : [
               {
-                "key.attribute" : "source.decl.attribute.public",
-                "key.length" : 6,
-                "key.offset" : 255
+                "key.kind" : "source.lang.swift.structure.elem.typeref",
+                "key.length" : 9,
+                "key.offset" : 15553
               }
             ],
-            "key.bodylength" : 74,
-            "key.bodyoffset" : 311,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutValues.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(x<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, y<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, rotates<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
-            "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 124,
-            "key.name" : "init(x:y:rotates:)",
-            "key.namelength" : 43,
-            "key.nameoffset" : 262,
-            "key.offset" : 262,
-            "key.parsed_declaration" : "public init(x: CGFloat, y: CGFloat, rotates: Bool)",
-            "key.parsed_scope.end" : 23,
-            "key.parsed_scope.start" : 18,
-            "key.substructure" : [
-
-            ],
-            "key.typename" : "(ListLayoutPoint.Type) -> (CGFloat, CGFloat, Bool) -> ListLayoutPoint",
-            "key.typeusr" : "$s1x1y7rotates10ListableUI15ListLayoutPointV12CoreGraphics7CGFloatV_AISbtcD",
-            "key.usr" : "s:10ListableUI15ListLayoutPointV1x1y7rotatesAC12CoreGraphics7CGFloatV_AISbtcfc"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public func CGPointValue(for direction: LayoutDirection<\/Type>) -> CGPoint<\/Type><\/Declaration>",
-            "key.attributes" : [
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> Layout<\/decl.name> : Equatable<\/ref.protocol><\/decl.struct>",
+            "key.inheritedtypes" : [
               {
-                "key.attribute" : "source.decl.attribute.public",
-                "key.length" : 6,
-                "key.offset" : 396
+                "key.name" : "Equatable"
               }
             ],
-            "key.bodylength" : 184,
-            "key.bodyoffset" : 466,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutValues.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> CGPointValue<\/decl.name>(for<\/decl.var.parameter.argument_label> direction<\/decl.var.parameter.name>: LayoutDirection<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGPoint<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
-            "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 248,
-            "key.name" : "CGPointValue(for:)",
-            "key.namelength" : 45,
-            "key.nameoffset" : 408,
-            "key.offset" : 403,
-            "key.parsed_declaration" : "public func CGPointValue(for direction : LayoutDirection) -> CGPoint",
-            "key.parsed_scope.end" : 31,
-            "key.parsed_scope.start" : 25,
+            "key.kind" : "source.lang.swift.decl.struct",
+            "key.length" : 3295,
+            "key.name" : "Layout",
+            "key.namelength" : 6,
+            "key.nameoffset" : 15544,
+            "key.offset" : 15537,
+            "key.parsed_declaration" : "public struct Layout : Equatable",
+            "key.parsed_scope.end" : 362,
+            "key.parsed_scope.start" : 286,
             "key.substructure" : [
-
-            ],
-            "key.typename" : "(ListLayoutPoint) -> (LayoutDirection) -> CGPoint",
-            "key.typeusr" : "$s3forSo7CGPointV10ListableUI15LayoutDirectionO_tcD",
-            "key.usr" : "s:10ListableUI15ListLayoutPointV12CGPointValue3forSo0F0VAA0D9DirectionO_tF"
-          }
-        ],
-        "key.typename" : "ListLayoutPoint.Type",
-        "key.typeusr" : "$s10ListableUI15ListLayoutPointVmD",
-        "key.usr" : "s:10ListableUI15ListLayoutPointV"
-      },
-      {
-        "key.accessibility" : "source.lang.swift.accessibility.public",
-        "key.annotated_decl" : "public struct ListLayoutSize : Hashable<\/Type><\/Declaration>",
-        "key.attributes" : [
-          {
-            "key.attribute" : "source.decl.attribute.public",
-            "key.length" : 6,
-            "key.offset" : 656
-          }
-        ],
-        "key.bodylength" : 562,
-        "key.bodyoffset" : 697,
-        "key.elements" : [
-          {
-            "key.kind" : "source.lang.swift.structure.elem.typeref",
-            "key.length" : 8,
-            "key.offset" : 687
-          }
-        ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutValues.swift",
-        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> ListLayoutSize<\/decl.name> : Hashable<\/ref.protocol><\/decl.struct>",
-        "key.inheritedtypes" : [
-          {
-            "key.name" : "Hashable"
-          }
-        ],
-        "key.kind" : "source.lang.swift.decl.struct",
-        "key.length" : 597,
-        "key.name" : "ListLayoutSize",
-        "key.namelength" : 14,
-        "key.nameoffset" : 670,
-        "key.offset" : 663,
-        "key.parsed_declaration" : "public struct ListLayoutSize : Hashable",
-        "key.parsed_scope.end" : 55,
-        "key.parsed_scope.start" : 35,
-        "key.substructure" : [
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public var width: CGFloat<\/Type><\/Declaration>",
-            "key.attributes" : [
               {
-                "key.attribute" : "source.decl.attribute.public",
-                "key.length" : 6,
-                "key.offset" : 703
-              }
-            ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutValues.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> width<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 19,
-            "key.name" : "width",
-            "key.namelength" : 5,
-            "key.nameoffset" : 714,
-            "key.offset" : 710,
-            "key.parsed_declaration" : "public var width : CGFloat",
-            "key.parsed_scope.end" : 37,
-            "key.parsed_scope.start" : 37,
-            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-            "key.typename" : "CGFloat",
-            "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
-            "key.usr" : "s:10ListableUI14ListLayoutSizeV5width12CoreGraphics7CGFloatVvp"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public var height: CGFloat<\/Type><\/Declaration>",
-            "key.attributes" : [
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public var padding: UIEdgeInsets<\/Type><\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 15657
+                  }
+                ],
+                "key.doc.column" : 20,
+                "key.doc.comment" : "The padding to place around the outside of the content of the list.",
+                "key.doc.declaration" : "public var padding: UIEdgeInsets",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.doc.full_as_xml" : "padding<\/Name>s:10ListableUI15TableAppearanceV6LayoutV7paddingSo12UIEdgeInsetsVvp<\/USR>public var padding: UIEdgeInsets<\/Declaration>The padding to place around the outside of the content of the list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.line" : 289,
+                "key.doc.name" : "padding",
+                "key.doc.type" : "Other",
+                "key.doclength" : 72,
+                "key.docoffset" : 15577,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> padding<\/decl.name>: UIEdgeInsets<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 26,
+                "key.name" : "padding",
+                "key.namelength" : 7,
+                "key.nameoffset" : 15668,
+                "key.offset" : 15664,
+                "key.parsed_declaration" : "public var padding : UIEdgeInsets",
+                "key.parsed_scope.end" : 289,
+                "key.parsed_scope.start" : 289,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+                "key.typename" : "UIEdgeInsets",
+                "key.typeusr" : "$sSo12UIEdgeInsetsVD",
+                "key.usr" : "s:10ListableUI15TableAppearanceV6LayoutV7paddingSo12UIEdgeInsetsVvp"
+              },
               {
-                "key.attribute" : "source.decl.attribute.public",
-                "key.length" : 6,
-                "key.offset" : 734
-              }
-            ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutValues.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> height<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 20,
-            "key.name" : "height",
-            "key.namelength" : 6,
-            "key.nameoffset" : 745,
-            "key.offset" : 741,
-            "key.parsed_declaration" : "public var height : CGFloat",
-            "key.parsed_scope.end" : 38,
-            "key.parsed_scope.start" : 38,
-            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-            "key.typename" : "CGFloat",
-            "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
-            "key.usr" : "s:10ListableUI14ListLayoutSizeV6height12CoreGraphics7CGFloatVvp"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public var rotates: Bool<\/Type><\/Declaration>",
-            "key.attributes" : [
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public var width: WidthConstraint<\/Type><\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 15786
+                  }
+                ],
+                "key.doc.column" : 20,
+                "key.doc.comment" : "The width of the content of the list, which can be optionally constrained.",
+                "key.doc.declaration" : "public var width: WidthConstraint",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.doc.full_as_xml" : "width<\/Name>s:10ListableUI15TableAppearanceV6LayoutV5widthAA15WidthConstraintOvp<\/USR>public var width: WidthConstraint<\/Declaration>The width of the content of the list, which can be optionally constrained.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.line" : 291,
+                "key.doc.name" : "width",
+                "key.doc.type" : "Other",
+                "key.doclength" : 79,
+                "key.docoffset" : 15699,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> width<\/decl.name>: WidthConstraint<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 27,
+                "key.name" : "width",
+                "key.namelength" : 5,
+                "key.nameoffset" : 15797,
+                "key.offset" : 15793,
+                "key.parsed_declaration" : "public var width : WidthConstraint",
+                "key.parsed_scope.end" : 291,
+                "key.parsed_scope.start" : 291,
+                "key.related_decls" : [
+                  {
+                    "key.annotated_decl" : "width(with:padding:constraint:)<\/RelatedName>"
+                  }
+                ],
+                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+                "key.typename" : "WidthConstraint",
+                "key.typeusr" : "$s10ListableUI15WidthConstraintOD",
+                "key.usr" : "s:10ListableUI15TableAppearanceV6LayoutV5widthAA15WidthConstraintOvp"
+              },
               {
-                "key.attribute" : "source.decl.attribute.public",
-                "key.length" : 6,
-                "key.offset" : 771
-              }
-            ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutValues.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> rotates<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 18,
-            "key.name" : "rotates",
-            "key.namelength" : 7,
-            "key.nameoffset" : 782,
-            "key.offset" : 778,
-            "key.parsed_declaration" : "public var rotates : Bool",
-            "key.parsed_scope.end" : 40,
-            "key.parsed_scope.start" : 40,
-            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-            "key.typename" : "Bool",
-            "key.typeusr" : "$sSbD",
-            "key.usr" : "s:10ListableUI14ListLayoutSizeV7rotatesSbvp"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public init(width: CGFloat<\/Type>, height: CGFloat<\/Type>, rotates: Bool<\/Type>)<\/Declaration>",
-            "key.attributes" : [
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public var headerToFirstSectionSpacing: CGFloat<\/Type><\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 15961
+                  }
+                ],
+                "key.doc.column" : 20,
+                "key.doc.comment" : "The spacing between the list header and the first section.\nNot applied if there is no list header.",
+                "key.doc.declaration" : "public var headerToFirstSectionSpacing: CGFloat",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.doc.full_as_xml" : "headerToFirstSectionSpacing<\/Name>s:10ListableUI15TableAppearanceV6LayoutV27headerToFirstSectionSpacing12CoreGraphics7CGFloatVvp<\/USR>public var headerToFirstSectionSpacing: CGFloat<\/Declaration>The spacing between the list header and the first section. Not applied if there is no list header.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.line" : 295,
+                "key.doc.name" : "headerToFirstSectionSpacing",
+                "key.doc.type" : "Other",
+                "key.doclength" : 115,
+                "key.docoffset" : 15838,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> headerToFirstSectionSpacing<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 41,
+                "key.name" : "headerToFirstSectionSpacing",
+                "key.namelength" : 27,
+                "key.nameoffset" : 15972,
+                "key.offset" : 15968,
+                "key.parsed_declaration" : "public var headerToFirstSectionSpacing : CGFloat",
+                "key.parsed_scope.end" : 295,
+                "key.parsed_scope.start" : 295,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+                "key.typename" : "CGFloat",
+                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
+                "key.usr" : "s:10ListableUI15TableAppearanceV6LayoutV27headerToFirstSectionSpacing12CoreGraphics7CGFloatVvp"
+              },
               {
-                "key.attribute" : "source.decl.attribute.public",
-                "key.length" : 6,
-                "key.offset" : 806
-              }
-            ],
-            "key.bodylength" : 92,
-            "key.bodyoffset" : 867,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutValues.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(width<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, height<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, rotates<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
-            "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 147,
-            "key.name" : "init(width:height:rotates:)",
-            "key.namelength" : 52,
-            "key.nameoffset" : 813,
-            "key.offset" : 813,
-            "key.parsed_declaration" : "public init(width: CGFloat, height: CGFloat, rotates: Bool)",
-            "key.parsed_scope.end" : 46,
-            "key.parsed_scope.start" : 42,
-            "key.substructure" : [
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public var interSectionSpacingWithNoFooter: CGFloat<\/Type><\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 16109
+                  }
+                ],
+                "key.doc.column" : 20,
+                "key.doc.comment" : "The spacing to apply between sections, if the previous section has no footer.",
+                "key.doc.declaration" : "public var interSectionSpacingWithNoFooter: CGFloat",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.doc.full_as_xml" : "interSectionSpacingWithNoFooter<\/Name>s:10ListableUI15TableAppearanceV6LayoutV31interSectionSpacingWithNoFooter12CoreGraphics7CGFloatVvp<\/USR>public var interSectionSpacingWithNoFooter: CGFloat<\/Declaration>The spacing to apply between sections, if the previous section has no footer.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.line" : 298,
+                "key.doc.name" : "interSectionSpacingWithNoFooter",
+                "key.doc.type" : "Other",
+                "key.doclength" : 82,
+                "key.docoffset" : 16019,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> interSectionSpacingWithNoFooter<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 45,
+                "key.name" : "interSectionSpacingWithNoFooter",
+                "key.namelength" : 31,
+                "key.nameoffset" : 16120,
+                "key.offset" : 16116,
+                "key.parsed_declaration" : "public var interSectionSpacingWithNoFooter : CGFloat",
+                "key.parsed_scope.end" : 298,
+                "key.parsed_scope.start" : 298,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+                "key.typename" : "CGFloat",
+                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
+                "key.usr" : "s:10ListableUI15TableAppearanceV6LayoutV31interSectionSpacingWithNoFooter12CoreGraphics7CGFloatVvp"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public var interSectionSpacingWithFooter: CGFloat<\/Type><\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 16259
+                  }
+                ],
+                "key.doc.column" : 20,
+                "key.doc.comment" : "The spacing to apply between sections, if the previous section has a footer.",
+                "key.doc.declaration" : "public var interSectionSpacingWithFooter: CGFloat",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.doc.full_as_xml" : "interSectionSpacingWithFooter<\/Name>s:10ListableUI15TableAppearanceV6LayoutV29interSectionSpacingWithFooter12CoreGraphics7CGFloatVvp<\/USR>public var interSectionSpacingWithFooter: CGFloat<\/Declaration>The spacing to apply between sections, if the previous section has a footer.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.line" : 300,
+                "key.doc.name" : "interSectionSpacingWithFooter",
+                "key.doc.type" : "Other",
+                "key.doclength" : 81,
+                "key.docoffset" : 16170,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> interSectionSpacingWithFooter<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 43,
+                "key.name" : "interSectionSpacingWithFooter",
+                "key.namelength" : 29,
+                "key.nameoffset" : 16270,
+                "key.offset" : 16266,
+                "key.parsed_declaration" : "public var interSectionSpacingWithFooter : CGFloat",
+                "key.parsed_scope.end" : 300,
+                "key.parsed_scope.start" : 300,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+                "key.typename" : "CGFloat",
+                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
+                "key.usr" : "s:10ListableUI15TableAppearanceV6LayoutV29interSectionSpacingWithFooter12CoreGraphics7CGFloatVvp"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public var sectionHeaderBottomSpacing: CGFloat<\/Type><\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 16457
+                  }
+                ],
+                "key.doc.column" : 20,
+                "key.doc.comment" : "The spacing to apply below a section header, before its items.\nNot applied if there is no section header.",
+                "key.doc.declaration" : "public var sectionHeaderBottomSpacing: CGFloat",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.doc.full_as_xml" : "sectionHeaderBottomSpacing<\/Name>s:10ListableUI15TableAppearanceV6LayoutV26sectionHeaderBottomSpacing12CoreGraphics7CGFloatVvp<\/USR>public var sectionHeaderBottomSpacing: CGFloat<\/Declaration>The spacing to apply below a section header, before its items. Not applied if there is no section header.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.line" : 304,
+                "key.doc.name" : "sectionHeaderBottomSpacing",
+                "key.doc.type" : "Other",
+                "key.doclength" : 122,
+                "key.docoffset" : 16327,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> sectionHeaderBottomSpacing<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 40,
+                "key.name" : "sectionHeaderBottomSpacing",
+                "key.namelength" : 26,
+                "key.nameoffset" : 16468,
+                "key.offset" : 16464,
+                "key.parsed_declaration" : "public var sectionHeaderBottomSpacing : CGFloat",
+                "key.parsed_scope.end" : 304,
+                "key.parsed_scope.start" : 304,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+                "key.typename" : "CGFloat",
+                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
+                "key.usr" : "s:10ListableUI15TableAppearanceV6LayoutV26sectionHeaderBottomSpacing12CoreGraphics7CGFloatVvp"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public var itemSpacing: CGFloat<\/Type><\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 16590
+                  }
+                ],
+                "key.doc.column" : 20,
+                "key.doc.comment" : "The spacing between individual items within a section in a list.",
+                "key.doc.declaration" : "public var itemSpacing: CGFloat",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.doc.full_as_xml" : "itemSpacing<\/Name>s:10ListableUI15TableAppearanceV6LayoutV11itemSpacing12CoreGraphics7CGFloatVvp<\/USR>public var itemSpacing: CGFloat<\/Declaration>The spacing between individual items within a section in a list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.line" : 306,
+                "key.doc.name" : "itemSpacing",
+                "key.doc.type" : "Other",
+                "key.doclength" : 69,
+                "key.docoffset" : 16513,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> itemSpacing<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 25,
+                "key.name" : "itemSpacing",
+                "key.namelength" : 11,
+                "key.nameoffset" : 16601,
+                "key.offset" : 16597,
+                "key.parsed_declaration" : "public var itemSpacing : CGFloat",
+                "key.parsed_scope.end" : 306,
+                "key.parsed_scope.start" : 306,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+                "key.typename" : "CGFloat",
+                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
+                "key.usr" : "s:10ListableUI15TableAppearanceV6LayoutV11itemSpacing12CoreGraphics7CGFloatVvp"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public var itemToSectionFooterSpacing: CGFloat<\/Type><\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 16763
+                  }
+                ],
+                "key.doc.column" : 20,
+                "key.doc.comment" : "The spacing between the last item in the section and the footer.\nNot applied if there is no section footer.",
+                "key.doc.declaration" : "public var itemToSectionFooterSpacing: CGFloat",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.doc.full_as_xml" : "itemToSectionFooterSpacing<\/Name>s:10ListableUI15TableAppearanceV6LayoutV26itemToSectionFooterSpacing12CoreGraphics7CGFloatVvp<\/USR>public var itemToSectionFooterSpacing: CGFloat<\/Declaration>The spacing between the last item in the section and the footer. Not applied if there is no section footer.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.line" : 309,
+                "key.doc.name" : "itemToSectionFooterSpacing",
+                "key.doc.type" : "Other",
+                "key.doclength" : 124,
+                "key.docoffset" : 16631,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> itemToSectionFooterSpacing<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 40,
+                "key.name" : "itemToSectionFooterSpacing",
+                "key.namelength" : 26,
+                "key.nameoffset" : 16774,
+                "key.offset" : 16770,
+                "key.parsed_declaration" : "public var itemToSectionFooterSpacing : CGFloat",
+                "key.parsed_scope.end" : 309,
+                "key.parsed_scope.start" : 309,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+                "key.typename" : "CGFloat",
+                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
+                "key.usr" : "s:10ListableUI15TableAppearanceV6LayoutV26itemToSectionFooterSpacing12CoreGraphics7CGFloatVvp"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public var lastSectionToFooterSpacing: CGFloat<\/Type><\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 16957
+                  }
+                ],
+                "key.doc.column" : 20,
+                "key.doc.comment" : "The spacing between the last section and the footer of the list.\nNot applied if there is no list footer.",
+                "key.doc.declaration" : "public var lastSectionToFooterSpacing: CGFloat",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.doc.full_as_xml" : "lastSectionToFooterSpacing<\/Name>s:10ListableUI15TableAppearanceV6LayoutV26lastSectionToFooterSpacing12CoreGraphics7CGFloatVvp<\/USR>public var lastSectionToFooterSpacing: CGFloat<\/Declaration>The spacing between the last section and the footer of the list. Not applied if there is no list footer.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.line" : 313,
+                "key.doc.name" : "lastSectionToFooterSpacing",
+                "key.doc.type" : "Other",
+                "key.doclength" : 121,
+                "key.docoffset" : 16828,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> lastSectionToFooterSpacing<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 40,
+                "key.name" : "lastSectionToFooterSpacing",
+                "key.namelength" : 26,
+                "key.nameoffset" : 16968,
+                "key.offset" : 16964,
+                "key.parsed_declaration" : "public var lastSectionToFooterSpacing : CGFloat",
+                "key.parsed_scope.end" : 313,
+                "key.parsed_scope.start" : 313,
+                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+                "key.typename" : "CGFloat",
+                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
+                "key.usr" : "s:10ListableUI15TableAppearanceV6LayoutV26lastSectionToFooterSpacing12CoreGraphics7CGFloatVvp"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public init(padding: UIEdgeInsets<\/Type> = .zero, width: WidthConstraint<\/Type> = .noConstraint, headerToFirstSectionSpacing: CGFloat<\/Type> = 0.0, interSectionSpacingWithNoFooter: CGFloat<\/Type> = 0.0, interSectionSpacingWithFooter: CGFloat<\/Type> = 0.0, sectionHeaderBottomSpacing: CGFloat<\/Type> = 0.0, itemSpacing: CGFloat<\/Type> = 0.0, itemToSectionFooterSpacing: CGFloat<\/Type> = 0.0, lastSectionToFooterSpacing: CGFloat<\/Type> = 0.0)<\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 17092
+                  }
+                ],
+                "key.bodylength" : 626,
+                "key.bodyoffset" : 17606,
+                "key.doc.column" : 16,
+                "key.doc.comment" : "Creates a new `Layout` with the provided options.",
+                "key.doc.declaration" : "public init(padding: UIEdgeInsets = .zero, width: WidthConstraint = .noConstraint, headerToFirstSectionSpacing: CGFloat = 0.0, interSectionSpacingWithNoFooter: CGFloat = 0.0, interSectionSpacingWithFooter: CGFloat = 0.0, sectionHeaderBottomSpacing: CGFloat = 0.0, itemSpacing: CGFloat = 0.0, itemToSectionFooterSpacing: CGFloat = 0.0, lastSectionToFooterSpacing: CGFloat = 0.0)",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.doc.full_as_xml" : "init(padding:width:headerToFirstSectionSpacing:interSectionSpacingWithNoFooter:interSectionSpacingWithFooter:sectionHeaderBottomSpacing:itemSpacing:itemToSectionFooterSpacing:lastSectionToFooterSpacing:)<\/Name>s:10ListableUI15TableAppearanceV6LayoutV7padding5width27headerToFirstSectionSpacing05interkL12WithNoFooter0mklnP0019sectionHeaderBottomL004itemL00tikpL004lastkipL0AESo12UIEdgeInsetsV_AA15WidthConstraintO12CoreGraphics7CGFloatVA6Utcfc<\/USR>public init(padding: UIEdgeInsets = .zero, width: WidthConstraint = .noConstraint, headerToFirstSectionSpacing: CGFloat = 0.0, interSectionSpacingWithNoFooter: CGFloat = 0.0, interSectionSpacingWithFooter: CGFloat = 0.0, sectionHeaderBottomSpacing: CGFloat = 0.0, itemSpacing: CGFloat = 0.0, itemToSectionFooterSpacing: CGFloat = 0.0, lastSectionToFooterSpacing: CGFloat = 0.0)<\/Declaration>Creates a new Layout<\/codeVoice> with the provided options.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+                "key.doc.line" : 316,
+                "key.doc.name" : "init(padding:width:headerToFirstSectionSpacing:interSectionSpacingWithNoFooter:interSectionSpacingWithFooter:sectionHeaderBottomSpacing:itemSpacing:itemToSectionFooterSpacing:lastSectionToFooterSpacing:)",
+                "key.doc.type" : "Function",
+                "key.doclength" : 54,
+                "key.docoffset" : 17030,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(padding<\/decl.var.parameter.argument_label>: UIEdgeInsets<\/ref.struct><\/decl.var.parameter.type> = .zero<\/decl.var.parameter>, width<\/decl.var.parameter.argument_label>: WidthConstraint<\/ref.enum><\/decl.var.parameter.type> = .noConstraint<\/decl.var.parameter>, headerToFirstSectionSpacing<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = 0.0<\/decl.var.parameter>, interSectionSpacingWithNoFooter<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = 0.0<\/decl.var.parameter>, interSectionSpacingWithFooter<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = 0.0<\/decl.var.parameter>, sectionHeaderBottomSpacing<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = 0.0<\/decl.var.parameter>, itemSpacing<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = 0.0<\/decl.var.parameter>, itemToSectionFooterSpacing<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = 0.0<\/decl.var.parameter>, lastSectionToFooterSpacing<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = 0.0<\/decl.var.parameter>)<\/decl.function.constructor>",
+                "key.kind" : "source.lang.swift.decl.function.method.instance",
+                "key.length" : 1134,
+                "key.name" : "init(padding:width:headerToFirstSectionSpacing:interSectionSpacingWithNoFooter:interSectionSpacingWithFooter:sectionHeaderBottomSpacing:itemSpacing:itemToSectionFooterSpacing:lastSectionToFooterSpacing:)",
+                "key.namelength" : 497,
+                "key.nameoffset" : 17099,
+                "key.offset" : 17099,
+                "key.parsed_declaration" : "public init(\n    padding : UIEdgeInsets = .zero,\n    width : WidthConstraint = .noConstraint,\n    headerToFirstSectionSpacing : CGFloat = 0.0,\n    interSectionSpacingWithNoFooter : CGFloat = 0.0,\n    interSectionSpacingWithFooter : CGFloat = 0.0,\n    sectionHeaderBottomSpacing : CGFloat = 0.0,\n    itemSpacing : CGFloat = 0.0,\n    itemToSectionFooterSpacing : CGFloat = 0.0,\n    lastSectionToFooterSpacing : CGFloat = 0.0\n)",
+                "key.parsed_scope.end" : 341,
+                "key.parsed_scope.start" : 316,
+                "key.substructure" : [
 
-            ],
-            "key.typename" : "(ListLayoutSize.Type) -> (CGFloat, CGFloat, Bool) -> ListLayoutSize",
-            "key.typeusr" : "$s5width6height7rotates10ListableUI14ListLayoutSizeV12CoreGraphics7CGFloatV_AISbtcD",
-            "key.usr" : "s:10ListableUI14ListLayoutSizeV5width6height7rotatesAC12CoreGraphics7CGFloatV_AISbtcfc"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public func CGPointValue(for direction: LayoutDirection<\/Type>) -> CGSize<\/Type><\/Declaration>",
-            "key.attributes" : [
+                ],
+                "key.typename" : "(TableAppearance.Layout.Type) -> (UIEdgeInsets, WidthConstraint, CGFloat, CGFloat, CGFloat, CGFloat, CGFloat, CGFloat, CGFloat) -> TableAppearance.Layout",
+                "key.typeusr" : "$s7padding5width27headerToFirstSectionSpacing05interfG12WithNoFooter0hfgiK0019sectionHeaderBottomG004itemG00odfkG004lastfdkG010ListableUI15TableAppearanceV6LayoutVSo12UIEdgeInsetsV_AJ15WidthConstraintO12CoreGraphics7CGFloatVA6UtcD",
+                "key.usr" : "s:10ListableUI15TableAppearanceV6LayoutV7padding5width27headerToFirstSectionSpacing05interkL12WithNoFooter0mklnP0019sectionHeaderBottomL004itemL00tikpL004lastkipL0AESo12UIEdgeInsetsV_AA15WidthConstraintO12CoreGraphics7CGFloatVA6Utcfc"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public mutating func set(with block: (inout Layout<\/Type>) -> ())<\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.mutating",
+                    "key.length" : 8,
+                    "key.offset" : 18299
+                  },
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 18292
+                  }
+                ],
+                "key.bodylength" : 92,
+                "key.bodyoffset" : 18361,
+                "key.doc.column" : 30,
+                "key.doc.comment" : "Easily mutate the `Layout` in place.",
+                "key.doc.declaration" : "public mutating func set(with block: (inout Layout) -> ())",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.doc.full_as_xml" : "set(with:)<\/Name>s:10ListableUI15TableAppearanceV6LayoutV3set4withyyAEzXE_tF<\/USR>public mutating func set(with block: (inout Layout) -> ())<\/Declaration>Easily mutate the Layout<\/codeVoice> in place.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+                "key.doc.line" : 344,
+                "key.doc.name" : "set(with:)",
+                "key.doc.type" : "Function",
+                "key.doclength" : 41,
+                "key.docoffset" : 18243,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> mutating<\/syntaxtype.keyword> func<\/syntaxtype.keyword> set<\/decl.name>(with<\/decl.var.parameter.argument_label> block<\/decl.var.parameter.name>: (inout<\/syntaxtype.keyword> Layout<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
+                "key.kind" : "source.lang.swift.decl.function.method.instance",
+                "key.length" : 146,
+                "key.name" : "set(with:)",
+                "key.namelength" : 38,
+                "key.nameoffset" : 18313,
+                "key.offset" : 18308,
+                "key.parsed_declaration" : "public mutating func set(with block : (inout Layout) -> ())",
+                "key.parsed_scope.end" : 349,
+                "key.parsed_scope.start" : 344,
+                "key.substructure" : [
+                  {
+                    "key.annotated_decl" : "var edited: TableAppearance<\/Type>.Layout<\/Type><\/Declaration>",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                    "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> edited<\/decl.name>: TableAppearance<\/ref.struct>.Layout<\/ref.struct><\/decl.var.type><\/decl.var.local>",
+                    "key.kind" : "source.lang.swift.decl.var.local",
+                    "key.length" : 17,
+                    "key.name" : "edited",
+                    "key.namelength" : 6,
+                    "key.nameoffset" : 18378,
+                    "key.offset" : 18374,
+                    "key.parsed_declaration" : "var edited = self",
+                    "key.parsed_scope.end" : 346,
+                    "key.parsed_scope.start" : 346,
+                    "key.typename" : "TableAppearance.Layout",
+                    "key.typeusr" : "$s10ListableUI15TableAppearanceV6LayoutVD",
+                    "key.usr" : "s:10ListableUI15TableAppearanceV6LayoutV3set4withyyAEzXE_tF6editedL_AEvp"
+                  }
+                ],
+                "key.typename" : "(inout TableAppearance.Layout) -> ((inout TableAppearance.Layout) -> ()) -> ()",
+                "key.typeusr" : "$s4withyy10ListableUI15TableAppearanceV6LayoutVzXE_tcD",
+                "key.usr" : "s:10ListableUI15TableAppearanceV6LayoutV3set4withyyAEzXE_tF"
+              },
               {
-                "key.attribute" : "source.decl.attribute.public",
-                "key.length" : 6,
-                "key.offset" : 970
+                "key.accessibility" : "source.lang.swift.accessibility.internal",
+                "key.annotated_decl" : "internal static func width(with width: CGFloat<\/Type>, padding: HorizontalPadding<\/Type>, constraint: WidthConstraint<\/Type>) -> CGFloat<\/Type><\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.internal",
+                    "key.length" : 8,
+                    "key.offset" : 18513
+                  }
+                ],
+                "key.bodylength" : 138,
+                "key.bodyoffset" : 18687,
+                "key.doc.column" : 30,
+                "key.doc.comment" : "Provides a width for layout.",
+                "key.doc.declaration" : "internal static func width(with width: CGFloat, padding: HorizontalPadding, constraint: WidthConstraint) -> CGFloat",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.doc.full_as_xml" : "width(with:padding:constraint:)<\/Name>s:10ListableUI15TableAppearanceV6LayoutV5width4with7padding10constraint12CoreGraphics7CGFloatVAL_AA17HorizontalPaddingVAA15WidthConstraintOtFZ<\/USR>internal static func width(with width: CGFloat, padding: HorizontalPadding, constraint: WidthConstraint) -> CGFloat<\/Declaration>Provides a width for layout.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+                "key.doc.line" : 352,
+                "key.doc.name" : "width(with:padding:constraint:)",
+                "key.doc.type" : "Function",
+                "key.doclength" : 33,
+                "key.docoffset" : 18472,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.fully_annotated_decl" : "internal<\/syntaxtype.keyword> static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> width<\/decl.name>(with<\/decl.var.parameter.argument_label> width<\/decl.var.parameter.name>: CGFloat<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, padding<\/decl.var.parameter.argument_label>: HorizontalPadding<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, constraint<\/decl.var.parameter.argument_label>: WidthConstraint<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGFloat<\/ref.struct><\/decl.function.returntype><\/decl.function.method.static>",
+                "key.kind" : "source.lang.swift.decl.function.method.static",
+                "key.length" : 304,
+                "key.name" : "width(with:padding:constraint:)",
+                "key.namelength" : 132,
+                "key.nameoffset" : 18534,
+                "key.offset" : 18522,
+                "key.parsed_declaration" : "internal static func width(\n    with width : CGFloat,\n    padding : HorizontalPadding,\n    constraint : WidthConstraint\n) -> CGFloat",
+                "key.parsed_scope.end" : 361,
+                "key.parsed_scope.start" : 352,
+                "key.related_decls" : [
+                  {
+                    "key.annotated_decl" : "width<\/RelatedName>"
+                  }
+                ],
+                "key.substructure" : [
+                  {
+                    "key.annotated_decl" : "let paddedWidth: CGFloat<\/Type><\/Declaration>",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                    "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> paddedWidth<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.local>",
+                    "key.kind" : "source.lang.swift.decl.var.local",
+                    "key.length" : 54,
+                    "key.name" : "paddedWidth",
+                    "key.namelength" : 11,
+                    "key.nameoffset" : 18704,
+                    "key.offset" : 18700,
+                    "key.parsed_declaration" : "let paddedWidth = width - padding.left - padding.right",
+                    "key.parsed_scope.end" : 358,
+                    "key.parsed_scope.start" : 358,
+                    "key.typename" : "CGFloat",
+                    "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
+                    "key.usr" : "s:10ListableUI15TableAppearanceV6LayoutV5width4with7padding10constraint12CoreGraphics7CGFloatVAL_AA17HorizontalPaddingVAA15WidthConstraintOtFZ06paddedO0L_ALvp"
+                  }
+                ],
+                "key.typename" : "(TableAppearance.Layout.Type) -> (CGFloat, HorizontalPadding, WidthConstraint) -> CGFloat",
+                "key.typeusr" : "$s4with7padding10constraint12CoreGraphics7CGFloatVAF_10ListableUI17HorizontalPaddingVAG15WidthConstraintOtcD",
+                "key.usr" : "s:10ListableUI15TableAppearanceV6LayoutV5width4with7padding10constraint12CoreGraphics7CGFloatVAL_AA17HorizontalPaddingVAA15WidthConstraintOtFZ"
               }
             ],
-            "key.bodylength" : 218,
-            "key.bodyoffset" : 1039,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutValues.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> CGPointValue<\/decl.name>(for<\/decl.var.parameter.argument_label> direction<\/decl.var.parameter.name>: LayoutDirection<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGSize<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
-            "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 281,
-            "key.name" : "CGPointValue(for:)",
-            "key.namelength" : 45,
-            "key.nameoffset" : 982,
-            "key.offset" : 977,
-            "key.parsed_declaration" : "public func CGPointValue(for direction : LayoutDirection) -> CGSize",
-            "key.parsed_scope.end" : 54,
-            "key.parsed_scope.start" : 48,
-            "key.substructure" : [
-
-            ],
-            "key.typename" : "(ListLayoutSize) -> (LayoutDirection) -> CGSize",
-            "key.typeusr" : "$s3forSo6CGSizeV10ListableUI15LayoutDirectionO_tcD",
-            "key.usr" : "s:10ListableUI14ListLayoutSizeV12CGPointValue3forSo6CGSizeVAA0D9DirectionO_tF"
+            "key.typename" : "TableAppearance.Layout.Type",
+            "key.typeusr" : "$s10ListableUI15TableAppearanceV6LayoutVmD",
+            "key.usr" : "s:10ListableUI15TableAppearanceV6LayoutV"
           }
         ],
-        "key.typename" : "ListLayoutSize.Type",
-        "key.typeusr" : "$s10ListableUI14ListLayoutSizeVmD",
-        "key.usr" : "s:10ListableUI14ListLayoutSizeV"
-      }
-    ]
-  }
-}, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift" : {
-    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
-    "key.length" : 6321,
-    "key.offset" : 0,
-    "key.substructure" : [
+        "key.typename" : "TableAppearance.Type",
+        "key.typeusr" : "$s10ListableUI15TableAppearanceVmD",
+        "key.usr" : "s:10ListableUI15TableAppearanceV"
+      },
       {
-        "key.accessibility" : "source.lang.swift.accessibility.public",
-        "key.annotated_decl" : "public struct LayoutDescription<\/Declaration>",
-        "key.attributes" : [
-          {
-            "key.attribute" : "source.decl.attribute.public",
-            "key.length" : 6,
-            "key.offset" : 93
-          }
-        ],
-        "key.bodylength" : 165,
-        "key.bodyoffset" : 129,
+        "key.annotated_decl" : "public struct ItemLayouts<\/Declaration>",
+        "key.bodylength" : 287,
+        "key.bodyoffset" : 18860,
         "key.doc.column" : 15,
-        "key.doc.declaration" : "public struct LayoutDescription",
+        "key.doc.declaration" : "public struct ItemLayouts",
         "key.doc.discussion" : [
           {
-            "Para" : "You use a `LayoutDescription` by passing a closure to its initializer, which you use to customize the `layoutAppearance` of the provided list type."
-          },
-          {
-            "Para" : "For example, to use a standard list layout, and customize the layout, your code would look something like this:"
+            "Para" : "For example, if you want to specify a custom layout for table layouts, you would do the following on your item:"
           },
           {
             "CodeListing" : ""
           },
           {
-            "Para" : "Or a layout for your own custom layout type would look somewhat like this:"
+            "Para" : "And then, when the `Item` is used within a `.table` style list layout, the provided layout will be used."
           },
           {
-            "CodeListing" : ""
+            "Para" : "If you plan on swapping between multiple `ListLayout` types on your list, you can provide multiple layouts. The correct one will be used at the correct time:"
           },
           {
-            "Para" : "Under the hood, Listable is smart, and will only re-create the underlying layout object when needed (when the layout type or layout appearance changes)."
-          }
-        ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
-        "key.doc.full_as_xml" : "LayoutDescription<\/Name>s:10ListableUI17LayoutDescriptionV<\/USR>public struct LayoutDescription<\/Declaration>A LayoutDescription<\/codeVoice>, well, describes the type of and properties of a layout to apply to a list view.<\/Para><\/Abstract>You use a LayoutDescription<\/codeVoice> by passing a closure to its initializer, which you use to customize the layoutAppearance<\/codeVoice> of the provided list type.<\/Para>For example, to use a standard list layout, and customize the layout, your code would look something like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>Or a layout for your own custom layout type would look somewhat like this:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>]]><\/rawHTML>Note]]><\/rawHTML>Under the hood, Listable is smart, and will only re-create the underlying layout object when needed (when the layout type or layout appearance changes).<\/Para><\/Discussion><\/CommentParts><\/Class>",
-        "key.doc.line" : 42,
-        "key.doc.name" : "LayoutDescription",
-        "key.doc.type" : "Class",
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/ListLayout\/LayoutDescription.swift",
-        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> LayoutDescription<\/decl.name><\/decl.struct>",
-        "key.kind" : "source.lang.swift.decl.extension",
-        "key.length" : 195,
-        "key.name" : "LayoutDescription",
-        "key.namelength" : 17,
-        "key.nameoffset" : 110,
-        "key.offset" : 100,
-        "key.parsed_declaration" : "public extension LayoutDescription",
-        "key.parsed_scope.end" : 15,
-        "key.parsed_scope.start" : 9,
-        "key.substructure" : [
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "static func paged(_ configure: @escaping (inout PagedAppearance<\/Type>) -> () = { _ in }) -> LayoutDescription<\/Type><\/Declaration>",
-            "key.bodylength" : 61,
-            "key.bodyoffset" : 231,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
-            "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> paged<\/decl.name>(_<\/decl.var.parameter.argument_label> configure<\/decl.var.parameter.name>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> (inout<\/syntaxtype.keyword> PagedAppearance<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type> = { _ in }<\/decl.var.parameter>) -> LayoutDescription<\/ref.struct><\/decl.function.returntype><\/decl.function.method.static>",
-            "key.kind" : "source.lang.swift.decl.function.method.static",
-            "key.length" : 159,
-            "key.name" : "paged(_:)",
-            "key.namelength" : 71,
-            "key.nameoffset" : 146,
-            "key.offset" : 134,
-            "key.parsed_declaration" : "static func paged(_ configure : @escaping (inout PagedAppearance) -> () = { _ in }) -> Self",
-            "key.parsed_scope.end" : 14,
-            "key.parsed_scope.start" : 11,
-            "key.substructure" : [
-
-            ],
-            "key.typename" : "(LayoutDescription.Type) -> (@escaping (inout PagedAppearance) -> ()) -> LayoutDescription",
-            "key.typeusr" : "$sy10ListableUI17LayoutDescriptionVyAA15PagedAppearanceVzccD",
-            "key.usr" : "s:10ListableUI17LayoutDescriptionV5pagedyACyAA15PagedAppearanceVzcFZ"
-          }
-        ],
-        "key.typename" : "LayoutDescription.Type",
-        "key.typeusr" : "$s10ListableUI17LayoutDescriptionVmD",
-        "key.usr" : "s:10ListableUI17LayoutDescriptionV"
-      },
-      {
-        "key.accessibility" : "source.lang.swift.accessibility.public",
-        "key.annotated_decl" : "public struct PagedAppearance : ListLayoutAppearance<\/Type><\/Declaration>",
-        "key.attributes" : [
-          {
-            "key.attribute" : "source.decl.attribute.public",
-            "key.length" : 6,
-            "key.offset" : 2151
-          }
-        ],
-        "key.bodylength" : 1493,
-        "key.bodyoffset" : 2205,
-        "key.doc.column" : 15,
-        "key.doc.comment" : "Describes the available appearance configuration options for a paged list layout.\nPaged list layouts lay out the headers, footers, and items in a list in a paged layout,\nsimilar to how UIPageViewController works.\n\nYou can control the direction via the `direction` property, and you can control\nthe inset on each page via the `itemInsets` property. You may also optionally show\nthe scroll indicators with the `showsScrollIndicators` property.\n\nNote\n----\nDo not edit this ASCII diagram directly.\nEdit the `PagedAppearance.monopic` file in this directory using Monodraw.\n```\n┌─────────────────────────────────┐\n│          itemInsets.top         │\n│   ┌─────────────────────────┐ i │\n│ i │                         │ t │\n│ t │                         │ e │\n│ e │                         │ m │\n│ m │                         │ I │\n│ I │                         │ n │\n│ n │                         │ s │\n│ s │                         │ e │\n│ e │                         │ t │\n│ t │                         │ s │\n│ s │                         │ . │\n│ . │                         │ r │\n│ l │                         │ i │\n│ e │                         │ g │\n│ f │                         │ h │\n│ t │                         │ t │\n│   └─────────────────────────┘   │\n│        itemInsets.bottom        │\n└─────────────────────────────────┘\n```",
-        "key.doc.declaration" : "public struct PagedAppearance : ListLayoutAppearance",
-        "key.doc.discussion" : [
-          {
-            "Para" : "You can control the direction via the `direction` property, and you can control the inset on each page via the `itemInsets` property. You may also optionally show the scroll indicators with the `showsScrollIndicators` property."
+            "CodeListing" : ""
           },
           {
-            "Para" : "Do not edit this ASCII diagram directly. Edit the `PagedAppearance.monopic` file in this directory using Monodraw."
+            "Para" : "When implementing your own custom layout, you should add an extension to `ItemLayouts`, to provide easier access to your layout-specific `ItemLayoutsValue` type, like so:"
           },
           {
             "CodeListing" : ""
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
-        "key.doc.full_as_xml" : "PagedAppearance<\/Name>s:10ListableUI15PagedAppearanceV<\/USR>public struct PagedAppearance : ListLayoutAppearance<\/Declaration>Describes the available appearance configuration options for a paged list layout. Paged list layouts lay out the headers, footers, and items in a list in a paged layout, similar to how UIPageViewController works.<\/Para><\/Abstract>You can control the direction via the direction<\/codeVoice> property, and you can control the inset on each page via the itemInsets<\/codeVoice> property. You may also optionally show the scroll indicators with the showsScrollIndicators<\/codeVoice> property.<\/Para>]]><\/rawHTML>Note]]><\/rawHTML>Do not edit this ASCII diagram directly. Edit the PagedAppearance.monopic<\/codeVoice> file in this directory using Monodraw.<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Class>",
-        "key.doc.line" : 52,
-        "key.doc.name" : "PagedAppearance",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemLayouts.swift",
+        "key.doc.full_as_xml" : "ItemLayouts<\/Name>s:10ListableUI11ItemLayoutsV<\/USR>public struct ItemLayouts<\/Declaration>ItemLayouts<\/codeVoice> allows you to provide ListLayout<\/codeVoice>-specific layout configuration for individual items within a list. Eg, customize the layout for an item when it is in a table, a grid, etc.<\/Para><\/Abstract>For example, if you want to specify a custom layout for table layouts, you would do the following on your item:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>And then, when the Item<\/codeVoice> is used within a .table<\/codeVoice> style list layout, the provided layout will be used.<\/Para>If you plan on swapping between multiple ListLayout<\/codeVoice> types on your list, you can provide multiple layouts. The correct one will be used at the correct time:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>]]><\/rawHTML>Note]]><\/rawHTML>When implementing your own custom layout, you should add an extension to ItemLayouts<\/codeVoice>, to provide easier access to your layout-specific ItemLayoutsValue<\/codeVoice> type, like so:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.line" : 54,
+        "key.doc.name" : "ItemLayouts",
         "key.doc.type" : "Class",
-        "key.doclength" : 1854,
-        "key.docoffset" : 297,
-        "key.elements" : [
-          {
-            "key.kind" : "source.lang.swift.structure.elem.typeref",
-            "key.length" : 20,
-            "key.offset" : 2183
-          }
-        ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
-        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> PagedAppearance<\/decl.name> : ListLayoutAppearance<\/ref.protocol><\/decl.struct>",
-        "key.inheritedtypes" : [
-          {
-            "key.name" : "ListLayoutAppearance"
-          }
-        ],
-        "key.kind" : "source.lang.swift.decl.struct",
-        "key.length" : 1541,
-        "key.name" : "PagedAppearance",
-        "key.namelength" : 15,
-        "key.nameoffset" : 2165,
-        "key.offset" : 2158,
-        "key.parsed_declaration" : "public struct PagedAppearance : ListLayoutAppearance",
-        "key.parsed_scope.end" : 99,
-        "key.parsed_scope.start" : 52,
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/ItemLayouts.swift",
+        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> ItemLayouts<\/decl.name><\/decl.struct>",
+        "key.kind" : "source.lang.swift.decl.extension",
+        "key.length" : 311,
+        "key.name" : "ItemLayouts",
+        "key.namelength" : 11,
+        "key.nameoffset" : 18847,
+        "key.offset" : 18837,
+        "key.parsed_declaration" : "extension ItemLayouts",
+        "key.parsed_scope.end" : 373,
+        "key.parsed_scope.start" : 366,
         "key.substructure" : [
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public static var `default`: PagedAppearance<\/Type> { get }<\/Declaration>",
-            "key.attributes" : [
-              {
-                "key.attribute" : "source.decl.attribute.public",
-                "key.length" : 6,
-                "key.offset" : 2210
-              }
-            ],
-            "key.bodylength" : 25,
-            "key.bodyoffset" : 2256,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> static<\/syntaxtype.keyword> var<\/syntaxtype.keyword> `default`<\/decl.name>: PagedAppearance<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.static>",
-            "key.kind" : "source.lang.swift.decl.var.static",
-            "key.length" : 65,
-            "key.name" : "default",
-            "key.namelength" : 7,
-            "key.nameoffset" : 2228,
-            "key.offset" : 2217,
-            "key.overrides" : [
-              {
-                "key.usr" : "s:10ListableUI20ListLayoutAppearanceP7defaultxvpZ"
-              }
-            ],
-            "key.parsed_declaration" : "public static var `default`: PagedAppearance",
-            "key.parsed_scope.end" : 56,
-            "key.parsed_scope.start" : 54,
-            "key.typename" : "PagedAppearance",
-            "key.typeusr" : "$s10ListableUI15PagedAppearanceVD",
-            "key.usr" : "s:10ListableUI15PagedAppearanceV7defaultACvpZ"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public var direction: LayoutDirection<\/Type><\/Declaration>",
+            "key.annotated_decl" : "public var table: TableAppearance<\/Type>.ItemLayout<\/Type> { get set }<\/Declaration>",
             "key.attributes" : [
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 2373
+                "key.offset" : 18974
               }
             ],
+            "key.bodylength" : 124,
+            "key.bodyoffset" : 19021,
             "key.doc.column" : 16,
-            "key.doc.comment" : "The direction the paging layout should occur in. Defaults to `vertical`.",
-            "key.doc.declaration" : "public var direction: LayoutDirection",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
-            "key.doc.full_as_xml" : "direction<\/Name>s:10ListableUI15PagedAppearanceV9directionAA15LayoutDirectionOvp<\/USR>public var direction: LayoutDirection<\/Declaration>The direction the paging layout should occur in. Defaults to vertical<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Other>",
-            "key.doc.line" : 59,
-            "key.doc.name" : "direction",
+            "key.doc.comment" : "Allows customization of an `Item`'s layout when it is presented within a `.table` style layout.",
+            "key.doc.declaration" : "public var table: TableAppearance.ItemLayout { get set }",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+            "key.doc.full_as_xml" : "table<\/Name>s:10ListableUI11ItemLayoutsV5tableAA15TableAppearanceV0C6LayoutVvp<\/USR>public var table: TableAppearance.ItemLayout { get set }<\/Declaration>Allows customization of an Item<\/codeVoice>’s layout when it is presented within a .table<\/codeVoice> style layout.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.line" : 369,
+            "key.doc.name" : "table",
             "key.doc.type" : "Other",
-            "key.doclength" : 77,
-            "key.docoffset" : 2292,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> direction<\/decl.name>: LayoutDirection<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
+            "key.doclength" : 100,
+            "key.docoffset" : 18870,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> table<\/decl.name>: TableAppearance<\/ref.struct>.ItemLayout<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 30,
-            "key.name" : "direction",
-            "key.namelength" : 9,
-            "key.nameoffset" : 2384,
-            "key.offset" : 2380,
-            "key.overrides" : [
-              {
-                "key.usr" : "s:10ListableUI20ListLayoutAppearanceP9directionAA0D9DirectionOvp"
-              }
-            ],
-            "key.parsed_declaration" : "public var direction: LayoutDirection",
-            "key.parsed_scope.end" : 59,
-            "key.parsed_scope.start" : 59,
+            "key.length" : 165,
+            "key.name" : "table",
+            "key.namelength" : 5,
+            "key.nameoffset" : 18985,
+            "key.offset" : 18981,
+            "key.parsed_declaration" : "public var table : TableAppearance.ItemLayout",
+            "key.parsed_scope.end" : 372,
+            "key.parsed_scope.start" : 369,
             "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-            "key.typename" : "LayoutDirection",
-            "key.typeusr" : "$s10ListableUI15LayoutDirectionOD",
-            "key.usr" : "s:10ListableUI15PagedAppearanceV9directionAA15LayoutDirectionOvp"
+            "key.typename" : "TableAppearance.ItemLayout",
+            "key.typeusr" : "$s10ListableUI15TableAppearanceV10ItemLayoutVD",
+            "key.usr" : "s:10ListableUI11ItemLayoutsV5tableAA15TableAppearanceV0C6LayoutVvp"
+          }
+        ],
+        "key.typename" : "ItemLayouts.Type",
+        "key.typeusr" : "$s10ListableUI11ItemLayoutsVmD",
+        "key.usr" : "s:10ListableUI11ItemLayoutsV"
+      },
+      {
+        "key.annotated_decl" : "public struct HeaderFooterLayouts<\/Declaration>",
+        "key.bodylength" : 318,
+        "key.bodyoffset" : 19182,
+        "key.doc.column" : 15,
+        "key.doc.declaration" : "public struct HeaderFooterLayouts",
+        "key.doc.discussion" : [
+          {
+            "Para" : "For example, if you want to specify a custom layout for table layouts, you would do the following on your header:"
           },
           {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public let stickySectionHeaders: Bool<\/Type><\/Declaration>",
-            "key.attributes" : [
-              {
-                "key.attribute" : "source.decl.attribute.public",
-                "key.length" : 6,
-                "key.offset" : 2420
-              }
-            ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> let<\/syntaxtype.keyword> stickySectionHeaders<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 38,
-            "key.name" : "stickySectionHeaders",
-            "key.namelength" : 20,
-            "key.nameoffset" : 2431,
-            "key.offset" : 2427,
-            "key.overrides" : [
-              {
-                "key.usr" : "s:10ListableUI20ListLayoutAppearanceP20stickySectionHeadersSbvp"
-              }
-            ],
-            "key.parsed_declaration" : "public let stickySectionHeaders: Bool = false",
-            "key.parsed_scope.end" : 61,
-            "key.parsed_scope.start" : 61,
-            "key.typename" : "Bool",
-            "key.typeusr" : "$sSbD",
-            "key.usr" : "s:10ListableUI15PagedAppearanceV20stickySectionHeadersSbvp"
+            "CodeListing" : ""
           },
           {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public var showsScrollIndicators: Bool<\/Type><\/Declaration>",
-            "key.attributes" : [
-              {
-                "key.attribute" : "source.decl.attribute.public",
-                "key.length" : 6,
-                "key.offset" : 2549
-              }
-            ],
-            "key.doc.column" : 16,
-            "key.doc.comment" : "If scroll indicators should be visible along the scrollable axis.",
-            "key.doc.declaration" : "public var showsScrollIndicators: Bool",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
-            "key.doc.full_as_xml" : "showsScrollIndicators<\/Name>s:10ListableUI15PagedAppearanceV21showsScrollIndicatorsSbvp<\/USR>public var showsScrollIndicators: Bool<\/Declaration>If scroll indicators should be visible along the scrollable axis.<\/Para><\/Abstract><\/CommentParts><\/Other>",
-            "key.doc.line" : 64,
-            "key.doc.name" : "showsScrollIndicators",
-            "key.doc.type" : "Other",
-            "key.doclength" : 70,
-            "key.docoffset" : 2475,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> showsScrollIndicators<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 32,
-            "key.name" : "showsScrollIndicators",
-            "key.namelength" : 21,
-            "key.nameoffset" : 2560,
-            "key.offset" : 2556,
-            "key.parsed_declaration" : "public var showsScrollIndicators : Bool",
-            "key.parsed_scope.end" : 64,
-            "key.parsed_scope.start" : 64,
-            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-            "key.typename" : "Bool",
-            "key.typeusr" : "$sSbD",
-            "key.usr" : "s:10ListableUI15PagedAppearanceV21showsScrollIndicatorsSbvp"
+            "Para" : "And then, when the `HeaderFooter` is used within a `.table` style list layout, the provided layout will be used."
           },
           {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public var itemInsets: UIEdgeInsets<\/Type><\/Declaration>",
-            "key.attributes" : [
-              {
-                "key.attribute" : "source.decl.attribute.public",
-                "key.length" : 6,
-                "key.offset" : 2680
-              }
-            ],
-            "key.doc.column" : 16,
-            "key.doc.comment" : "How far each item in the list should be inset from the edges of the view.",
-            "key.doc.declaration" : "public var itemInsets: UIEdgeInsets",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
-            "key.doc.full_as_xml" : "itemInsets<\/Name>s:10ListableUI15PagedAppearanceV10itemInsetsSo06UIEdgeF0Vvp<\/USR>public var itemInsets: UIEdgeInsets<\/Declaration>How far each item in the list should be inset from the edges of the view.<\/Para><\/Abstract><\/CommentParts><\/Other>",
-            "key.doc.line" : 67,
-            "key.doc.name" : "itemInsets",
-            "key.doc.type" : "Other",
-            "key.doclength" : 78,
-            "key.docoffset" : 2598,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> itemInsets<\/decl.name>: UIEdgeInsets<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 29,
-            "key.name" : "itemInsets",
-            "key.namelength" : 10,
-            "key.nameoffset" : 2691,
-            "key.offset" : 2687,
-            "key.parsed_declaration" : "public var itemInsets : UIEdgeInsets",
-            "key.parsed_scope.end" : 67,
-            "key.parsed_scope.start" : 67,
-            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-            "key.typename" : "UIEdgeInsets",
-            "key.typeusr" : "$sSo12UIEdgeInsetsVD",
-            "key.usr" : "s:10ListableUI15PagedAppearanceV10itemInsetsSo06UIEdgeF0Vvp"
+            "Para" : "If you plan on swapping between multiple `ListLayout` types on your list, you can provide multiple layouts. The correct one will be used at the correct time:"
           },
           {
-            "key.accessibility" : "source.lang.swift.accessibility.internal",
-            "key.annotated_decl" : "internal var pagingSize: PagingSize<\/Type><\/Declaration>",
-            "key.attributes" : [
-              {
-                "key.attribute" : "source.decl.attribute.internal",
-                "key.length" : 8,
-                "key.offset" : 2775
-              }
-            ],
-            "key.doc.column" : 18,
-            "key.doc.comment" : "Internal property for test harness only.",
-            "key.doc.declaration" : "internal var pagingSize: PagingSize",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
-            "key.doc.full_as_xml" : "pagingSize<\/Name>s:10ListableUI15PagedAppearanceV10pagingSizeAC06PagingF0Ovp<\/USR>internal var pagingSize: PagingSize<\/Declaration>Internal property for test harness only.<\/Para><\/Abstract><\/CommentParts><\/Other>",
-            "key.doc.line" : 70,
-            "key.doc.name" : "pagingSize",
-            "key.doc.type" : "Other",
-            "key.doclength" : 45,
-            "key.docoffset" : 2726,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
-            "key.fully_annotated_decl" : "internal<\/syntaxtype.keyword> var<\/syntaxtype.keyword> pagingSize<\/decl.name>: PagingSize<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 27,
-            "key.name" : "pagingSize",
-            "key.namelength" : 10,
-            "key.nameoffset" : 2788,
-            "key.offset" : 2784,
-            "key.parsed_declaration" : "internal var pagingSize : PagingSize",
-            "key.parsed_scope.end" : 70,
-            "key.parsed_scope.start" : 70,
-            "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
-            "key.typename" : "PagedAppearance.PagingSize",
-            "key.typeusr" : "$s10ListableUI15PagedAppearanceV10PagingSizeOD",
-            "key.usr" : "s:10ListableUI15PagedAppearanceV10pagingSizeAC06PagingF0Ovp"
+            "CodeListing" : ""
           },
           {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public init(direction: LayoutDirection<\/Type> = .vertical, showsScrollIndicators: Bool<\/Type> = false, itemInsets: UIEdgeInsets<\/Type> = .zero)<\/Declaration>",
-            "key.attributes" : [
-              {
-                "key.attribute" : "source.decl.attribute.public",
-                "key.length" : 6,
-                "key.offset" : 2821
-              }
-            ],
-            "key.bodylength" : 177,
-            "key.bodyoffset" : 2977,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(direction<\/decl.var.parameter.argument_label>: LayoutDirection<\/ref.enum><\/decl.var.parameter.type> = .vertical<\/decl.var.parameter>, showsScrollIndicators<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type> = false<\/decl.var.parameter>, itemInsets<\/decl.var.parameter.argument_label>: UIEdgeInsets<\/ref.struct><\/decl.var.parameter.type> = .zero<\/decl.var.parameter>)<\/decl.function.constructor>",
-            "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 327,
-            "key.name" : "init(direction:showsScrollIndicators:itemInsets:)",
-            "key.namelength" : 147,
-            "key.nameoffset" : 2828,
-            "key.offset" : 2828,
-            "key.parsed_declaration" : "public init(\n    direction: LayoutDirection = .vertical,\n    showsScrollIndicators : Bool = false,\n    itemInsets : UIEdgeInsets = .zero\n)",
-            "key.parsed_scope.end" : 82,
-            "key.parsed_scope.start" : 72,
-            "key.substructure" : [
-
-            ],
-            "key.typename" : "(PagedAppearance.Type) -> (LayoutDirection, Bool, UIEdgeInsets) -> PagedAppearance",
-            "key.typeusr" : "$s9direction21showsScrollIndicators10itemInsets10ListableUI15PagedAppearanceVAD15LayoutDirectionO_SbSo06UIEdgeF0VtcD",
-            "key.usr" : "s:10ListableUI15PagedAppearanceV9direction21showsScrollIndicators10itemInsetsAcA15LayoutDirectionO_SbSo06UIEdgeJ0Vtcfc"
+            "Para" : "When implementing your own custom layout, you should add an extension to `HeaderFooterLayouts`, to provide easier access to your layout-specific `HeaderFooterLayoutsValue` type, like so:"
           },
           {
-            "key.accessibility" : "source.lang.swift.accessibility.internal",
-            "key.annotated_decl" : "enum PagedAppearance<\/Type>.PagingSize : Equatable<\/Type><\/Declaration>",
-            "key.bodylength" : 502,
-            "key.bodyoffset" : 3194,
-            "key.elements" : [
-              {
-                "key.kind" : "source.lang.swift.structure.elem.typeref",
-                "key.length" : 9,
-                "key.offset" : 3183
-              }
-            ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
-            "key.fully_annotated_decl" : "enum<\/syntaxtype.keyword> PagedAppearance<\/ref.struct>.PagingSize<\/decl.name> : Equatable<\/ref.protocol><\/decl.enum>",
-            "key.inheritedtypes" : [
-              {
-                "key.name" : "Equatable"
-              }
-            ],
-            "key.kind" : "source.lang.swift.decl.enum",
-            "key.length" : 532,
-            "key.name" : "PagingSize",
-            "key.namelength" : 10,
-            "key.nameoffset" : 3170,
-            "key.offset" : 3165,
-            "key.parsed_declaration" : "enum PagingSize : Equatable",
-            "key.parsed_scope.end" : 98,
-            "key.parsed_scope.start" : 84,
-            "key.substructure" : [
-              {
-                "key.kind" : "source.lang.swift.decl.enumcase",
-                "key.length" : 9,
-                "key.namelength" : 0,
-                "key.nameoffset" : 0,
-                "key.offset" : 3203,
-                "key.substructure" : [
-                  {
-                    "key.accessibility" : "source.lang.swift.accessibility.internal",
-                    "key.annotated_decl" : "case view<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
-                    "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> view<\/decl.name><\/decl.enumelement>",
-                    "key.kind" : "source.lang.swift.decl.enumelement",
-                    "key.length" : 4,
-                    "key.name" : "view",
-                    "key.namelength" : 4,
-                    "key.nameoffset" : 3208,
-                    "key.offset" : 3208,
-                    "key.parsed_declaration" : "case view",
-                    "key.parsed_scope.end" : 85,
-                    "key.parsed_scope.start" : 85,
-                    "key.typename" : "(PagedAppearance.PagingSize.Type) -> PagedAppearance.PagingSize",
-                    "key.typeusr" : "$sy10ListableUI15PagedAppearanceV10PagingSizeOAEmcD",
-                    "key.usr" : "s:10ListableUI15PagedAppearanceV10PagingSizeO4viewyA2EmF"
-                  }
-                ]
-              },
-              {
-                "key.kind" : "source.lang.swift.decl.enumcase",
-                "key.length" : 19,
-                "key.namelength" : 0,
-                "key.nameoffset" : 0,
-                "key.offset" : 3221,
-                "key.substructure" : [
-                  {
-                    "key.accessibility" : "source.lang.swift.accessibility.internal",
-                    "key.annotated_decl" : "case fixed(CGFloat<\/Type>)<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
-                    "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> fixed<\/decl.name>(CGFloat<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.enumelement>",
-                    "key.kind" : "source.lang.swift.decl.enumelement",
-                    "key.length" : 14,
-                    "key.name" : "fixed(_:)",
-                    "key.namelength" : 14,
-                    "key.nameoffset" : 3226,
-                    "key.offset" : 3226,
-                    "key.parsed_declaration" : "case fixed(CGFloat)",
-                    "key.parsed_scope.end" : 86,
-                    "key.parsed_scope.start" : 86,
-                    "key.substructure" : [
-
-                    ],
-                    "key.typename" : "(PagedAppearance.PagingSize.Type) -> (CGFloat) -> PagedAppearance.PagingSize",
-                    "key.typeusr" : "$sy10ListableUI15PagedAppearanceV10PagingSizeO12CoreGraphics7CGFloatVcAEmcD",
-                    "key.usr" : "s:10ListableUI15PagedAppearanceV10PagingSizeO5fixedyAE12CoreGraphics7CGFloatVcAEmF"
-                  }
-                ]
-              },
+            "CodeListing" : ""
+          }
+        ],
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterLayouts.swift",
+        "key.doc.full_as_xml" : "HeaderFooterLayouts<\/Name>s:10ListableUI19HeaderFooterLayoutsV<\/USR>public struct HeaderFooterLayouts<\/Declaration>HeaderFooterLayouts<\/codeVoice> allows you to provide ListLayout<\/codeVoice>-specific layout configuration for individual headers and footers within a list. Eg, customize the layout for a header when it is in a table, a grid, etc.<\/Para><\/Abstract>For example, if you want to specify a custom layout for table layouts, you would do the following on your header:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>And then, when the HeaderFooter<\/codeVoice> is used within a .table<\/codeVoice> style list layout, the provided layout will be used.<\/Para>If you plan on swapping between multiple ListLayout<\/codeVoice> types on your list, you can provide multiple layouts. The correct one will be used at the correct time:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>]]><\/rawHTML>Note]]><\/rawHTML>When implementing your own custom layout, you should add an extension to HeaderFooterLayouts<\/codeVoice>, to provide easier access to your layout-specific HeaderFooterLayoutsValue<\/codeVoice> type, like so:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.line" : 55,
+        "key.doc.name" : "HeaderFooterLayouts",
+        "key.doc.type" : "Class",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/HeaderFooter\/HeaderFooterLayouts.swift",
+        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> HeaderFooterLayouts<\/decl.name><\/decl.struct>",
+        "key.kind" : "source.lang.swift.decl.extension",
+        "key.length" : 350,
+        "key.name" : "HeaderFooterLayouts",
+        "key.namelength" : 19,
+        "key.nameoffset" : 19161,
+        "key.offset" : 19151,
+        "key.parsed_declaration" : "extension HeaderFooterLayouts",
+        "key.parsed_scope.end" : 383,
+        "key.parsed_scope.start" : 376,
+        "key.substructure" : [
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "public var table: TableAppearance<\/Type>.HeaderFooterLayout<\/Type> { get set }<\/Declaration>",
+            "key.attributes" : [
               {
-                "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "func size(for view: UIView<\/Type>, direction: LayoutDirection<\/Type>) -> CGSize<\/Type><\/Declaration>",
-                "key.bodylength" : 363,
-                "key.bodyoffset" : 3327,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
-                "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> size<\/decl.name>(for<\/decl.var.parameter.argument_label> view<\/decl.var.parameter.name>: UIView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, direction<\/decl.var.parameter.argument_label>: LayoutDirection<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGSize<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
-                "key.kind" : "source.lang.swift.decl.function.method.instance",
-                "key.length" : 433,
-                "key.name" : "size(for:direction:)",
-                "key.namelength" : 52,
-                "key.nameoffset" : 3263,
-                "key.offset" : 3258,
-                "key.parsed_declaration" : "func size(for view : UIView, direction : LayoutDirection) -> CGSize",
-                "key.parsed_scope.end" : 97,
-                "key.parsed_scope.start" : 88,
-                "key.substructure" : [
-
-                ],
-                "key.typename" : "(PagedAppearance.PagingSize) -> (UIView, LayoutDirection) -> CGSize",
-                "key.typeusr" : "$s3for9directionSo6CGSizeVSo6UIViewC_10ListableUI15LayoutDirectionOtcD",
-                "key.usr" : "s:10ListableUI15PagedAppearanceV10PagingSizeO4size3for9directionSo6CGSizeVSo6UIViewC_AA15LayoutDirectionOtF"
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 19303
               }
             ],
-            "key.typename" : "PagedAppearance.PagingSize.Type",
-            "key.typeusr" : "$s10ListableUI15PagedAppearanceV10PagingSizeOmD",
-            "key.usr" : "s:10ListableUI15PagedAppearanceV10PagingSizeO"
+            "key.bodylength" : 140,
+            "key.bodyoffset" : 19358,
+            "key.doc.column" : 16,
+            "key.doc.comment" : "Allows customization of a `HeaderFooter`'s layout when it is presented within a `.table` style layout.",
+            "key.doc.declaration" : "public var table: TableAppearance.HeaderFooterLayout { get set }",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+            "key.doc.full_as_xml" : "table<\/Name>s:10ListableUI19HeaderFooterLayoutsV5tableAA15TableAppearanceV0cD6LayoutVvp<\/USR>public var table: TableAppearance.HeaderFooterLayout { get set }<\/Declaration>Allows customization of a HeaderFooter<\/codeVoice>’s layout when it is presented within a .table<\/codeVoice> style layout.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.line" : 379,
+            "key.doc.name" : "table",
+            "key.doc.type" : "Other",
+            "key.doclength" : 107,
+            "key.docoffset" : 19192,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> table<\/decl.name>: TableAppearance<\/ref.struct>.HeaderFooterLayout<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 189,
+            "key.name" : "table",
+            "key.namelength" : 5,
+            "key.nameoffset" : 19314,
+            "key.offset" : 19310,
+            "key.parsed_declaration" : "public var table : TableAppearance.HeaderFooterLayout",
+            "key.parsed_scope.end" : 382,
+            "key.parsed_scope.start" : 379,
+            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+            "key.typename" : "TableAppearance.HeaderFooterLayout",
+            "key.typeusr" : "$s10ListableUI15TableAppearanceV18HeaderFooterLayoutVD",
+            "key.usr" : "s:10ListableUI19HeaderFooterLayoutsV5tableAA15TableAppearanceV0cD6LayoutVvp"
           }
         ],
-        "key.typename" : "PagedAppearance.Type",
-        "key.typeusr" : "$s10ListableUI15PagedAppearanceVmD",
-        "key.usr" : "s:10ListableUI15PagedAppearanceV"
+        "key.typename" : "HeaderFooterLayouts.Type",
+        "key.typeusr" : "$s10ListableUI19HeaderFooterLayoutsVmD",
+        "key.usr" : "s:10ListableUI19HeaderFooterLayoutsV"
+      },
+      {
+        "key.annotated_decl" : "public struct SectionLayouts<\/Declaration>",
+        "key.bodylength" : 298,
+        "key.bodyoffset" : 19530,
+        "key.doc.column" : 15,
+        "key.doc.declaration" : "public struct SectionLayouts",
+        "key.doc.discussion" : [
+          {
+            "Para" : "For example, if you want to specify a custom layout for table layouts, you would do the following on your section:"
+          },
+          {
+            "CodeListing" : ""
+          },
+          {
+            "Para" : "And then, when the `Section` is used within a `.table` style list layout, the provided layout will be used."
+          },
+          {
+            "Para" : "If you plan on swapping between multiple `ListLayout` types on your list, you can provide multiple layouts. The correct one will be used at the correct time:"
+          },
+          {
+            "CodeListing" : ""
+          },
+          {
+            "Para" : "When implementing your own custom layout, you should add an extension to `SectionLayouts`, to provide easier access to your layout-specific `SectionLayoutsValue` type, like so:"
+          },
+          {
+            "CodeListing" : ""
+          }
+        ],
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/SectionLayouts.swift",
+        "key.doc.full_as_xml" : "SectionLayouts<\/Name>s:10ListableUI14SectionLayoutsV<\/USR>public struct SectionLayouts<\/Declaration>SectionLayouts<\/codeVoice> allows you to provide ListLayout<\/codeVoice>-specific layout configuration for individual sections within a list. Eg, customize the layout for a section when it is in a table, a grid, etc.<\/Para><\/Abstract>For example, if you want to specify a custom layout for table layouts, you would do the following on your section:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>And then, when the Section<\/codeVoice> is used within a .table<\/codeVoice> style list layout, the provided layout will be used.<\/Para>If you plan on swapping between multiple ListLayout<\/codeVoice> types on your list, you can provide multiple layouts. The correct one will be used at the correct time:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>]]><\/rawHTML>Note]]><\/rawHTML>When implementing your own custom layout, you should add an extension to SectionLayouts<\/codeVoice>, to provide easier access to your layout-specific SectionLayoutsValue<\/codeVoice> type, like so:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.line" : 54,
+        "key.doc.name" : "SectionLayouts",
+        "key.doc.type" : "Class",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/SectionLayouts.swift",
+        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> SectionLayouts<\/decl.name><\/decl.struct>",
+        "key.kind" : "source.lang.swift.decl.extension",
+        "key.length" : 325,
+        "key.name" : "SectionLayouts",
+        "key.namelength" : 14,
+        "key.nameoffset" : 19514,
+        "key.offset" : 19504,
+        "key.parsed_declaration" : "extension SectionLayouts",
+        "key.parsed_scope.end" : 393,
+        "key.parsed_scope.start" : 386,
+        "key.substructure" : [
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "public var table: TableAppearance<\/Type>.SectionLayout<\/Type> { get set }<\/Declaration>",
+            "key.attributes" : [
+              {
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 19646
+              }
+            ],
+            "key.bodylength" : 130,
+            "key.bodyoffset" : 19696,
+            "key.doc.column" : 16,
+            "key.doc.comment" : "Allows customization of a `Section`'s layout when it is presented within a `.table` style layout.",
+            "key.doc.declaration" : "public var table: TableAppearance.SectionLayout { get set }",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+            "key.doc.full_as_xml" : "table<\/Name>s:10ListableUI14SectionLayoutsV5tableAA15TableAppearanceV0C6LayoutVvp<\/USR>public var table: TableAppearance.SectionLayout { get set }<\/Declaration>Allows customization of a Section<\/codeVoice>’s layout when it is presented within a .table<\/codeVoice> style layout.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.line" : 389,
+            "key.doc.name" : "table",
+            "key.doc.type" : "Other",
+            "key.doclength" : 102,
+            "key.docoffset" : 19540,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> table<\/decl.name>: TableAppearance<\/ref.struct>.SectionLayout<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 174,
+            "key.name" : "table",
+            "key.namelength" : 5,
+            "key.nameoffset" : 19657,
+            "key.offset" : 19653,
+            "key.parsed_declaration" : "public var table : TableAppearance.SectionLayout",
+            "key.parsed_scope.end" : 392,
+            "key.parsed_scope.start" : 389,
+            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+            "key.typename" : "TableAppearance.SectionLayout",
+            "key.typeusr" : "$s10ListableUI15TableAppearanceV13SectionLayoutVD",
+            "key.usr" : "s:10ListableUI14SectionLayoutsV5tableAA15TableAppearanceV0C6LayoutVvp"
+          }
+        ],
+        "key.typename" : "SectionLayouts.Type",
+        "key.typeusr" : "$s10ListableUI14SectionLayoutsVmD",
+        "key.usr" : "s:10ListableUI14SectionLayoutsV"
       },
       {
         "key.accessibility" : "source.lang.swift.accessibility.internal",
-        "key.annotated_decl" : "final class PagedListLayout : ListLayout<\/Type><\/Declaration>",
+        "key.annotated_decl" : "final class TableListLayout : ListLayout<\/Type><\/Declaration>",
         "key.attributes" : [
           {
             "key.attribute" : "source.decl.attribute.final",
             "key.length" : 5,
-            "key.offset" : 3702
+            "key.offset" : 19832
           }
         ],
-        "key.bodylength" : 2575,
-        "key.bodyoffset" : 3744,
+        "key.bodylength" : 13481,
+        "key.bodyoffset" : 19874,
         "key.elements" : [
           {
             "key.kind" : "source.lang.swift.structure.elem.typeref",
             "key.length" : 10,
-            "key.offset" : 3732
+            "key.offset" : 19862
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
-        "key.fully_annotated_decl" : "final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> PagedListLayout<\/decl.name> : ListLayout<\/ref.protocol><\/decl.class>",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+        "key.fully_annotated_decl" : "final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> TableListLayout<\/decl.name> : ListLayout<\/ref.protocol><\/decl.class>",
         "key.inheritedtypes" : [
           {
             "key.name" : "ListLayout"
           }
         ],
         "key.kind" : "source.lang.swift.decl.class",
-        "key.length" : 2612,
-        "key.name" : "PagedListLayout",
+        "key.length" : 13518,
+        "key.name" : "TableListLayout",
         "key.namelength" : 15,
-        "key.nameoffset" : 3714,
-        "key.offset" : 3708,
-        "key.parsed_declaration" : "final class PagedListLayout : ListLayout",
-        "key.parsed_scope.end" : 184,
-        "key.parsed_scope.start" : 102,
+        "key.nameoffset" : 19844,
+        "key.offset" : 19838,
+        "key.parsed_declaration" : "final class TableListLayout : ListLayout",
+        "key.parsed_scope.end" : 751,
+        "key.parsed_scope.start" : 396,
         "key.substructure" : [
           {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public typealias PagedListLayout<\/Type>.LayoutAppearance = PagedAppearance<\/Type><\/Declaration>",
-            "key.attributes" : [
-              {
-                "key.attribute" : "source.decl.attribute.public",
-                "key.length" : 6,
-                "key.offset" : 3749
-              }
-            ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> typealias<\/syntaxtype.keyword> PagedListLayout<\/ref.class>.LayoutAppearance<\/decl.name> = PagedAppearance<\/ref.struct><\/decl.typealias>",
+            "key.accessibility" : "source.lang.swift.accessibility.internal",
+            "key.annotated_decl" : "typealias TableListLayout<\/Type>.LayoutAppearance = TableAppearance<\/Type><\/Declaration>",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+            "key.fully_annotated_decl" : "typealias<\/syntaxtype.keyword> TableListLayout<\/ref.class>.LayoutAppearance<\/decl.name> = TableAppearance<\/ref.struct><\/decl.typealias>",
             "key.kind" : "source.lang.swift.decl.typealias",
             "key.length" : 44,
             "key.name" : "LayoutAppearance",
             "key.namelength" : 16,
-            "key.nameoffset" : 3766,
-            "key.offset" : 3756,
+            "key.nameoffset" : 19889,
+            "key.offset" : 19879,
             "key.overrides" : [
               {
                 "key.usr" : "s:10ListableUI10ListLayoutP0D10AppearanceQa"
               }
             ],
-            "key.parsed_declaration" : "public typealias LayoutAppearance = PagedAppearance",
-            "key.parsed_scope.end" : 104,
-            "key.parsed_scope.start" : 104,
-            "key.typename" : "PagedAppearance.Type",
-            "key.typeusr" : "$s10ListableUI15PagedAppearanceVmD",
-            "key.usr" : "s:10ListableUI15PagedListLayoutC0E10Appearancea"
+            "key.parsed_declaration" : "typealias LayoutAppearance = TableAppearance",
+            "key.parsed_scope.end" : 398,
+            "key.parsed_scope.start" : 398,
+            "key.typename" : "TableAppearance.Type",
+            "key.typeusr" : "$s10ListableUI15TableAppearanceVmD",
+            "key.usr" : "s:10ListableUI15TableListLayoutC0E10Appearancea"
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "static var defaults: ListLayoutDefaults<\/Type> { get }<\/Declaration>",
-            "key.bodylength" : 62,
-            "key.bodyoffset" : 3851,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
+            "key.bodylength" : 56,
+            "key.bodyoffset" : 19974,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
             "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> var<\/syntaxtype.keyword> defaults<\/decl.name>: ListLayoutDefaults<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.static>",
             "key.kind" : "source.lang.swift.decl.var.static",
-            "key.length" : 104,
+            "key.length" : 98,
             "key.name" : "defaults",
             "key.namelength" : 8,
-            "key.nameoffset" : 3821,
-            "key.offset" : 3810,
+            "key.nameoffset" : 19944,
+            "key.offset" : 19933,
             "key.overrides" : [
               {
                 "key.usr" : "s:10ListableUI10ListLayoutP8defaultsAA0cD8DefaultsVvpZ"
               }
             ],
             "key.parsed_declaration" : "static var defaults: ListLayoutDefaults",
-            "key.parsed_scope.end" : 108,
-            "key.parsed_scope.start" : 106,
+            "key.parsed_scope.end" : 402,
+            "key.parsed_scope.start" : 400,
             "key.typename" : "ListLayoutDefaults",
             "key.typeusr" : "$s10ListableUI18ListLayoutDefaultsVD",
-            "key.usr" : "s:10ListableUI15PagedListLayoutC8defaultsAA0dE8DefaultsVvpZ"
+            "key.usr" : "s:10ListableUI15TableListLayoutC8defaultsAA0dE8DefaultsVvpZ"
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
-            "key.annotated_decl" : "var layoutAppearance: PagedAppearance<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
-            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> layoutAppearance<\/decl.name>: PagedAppearance<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+            "key.annotated_decl" : "var layoutAppearance: TableAppearance<\/Type><\/Declaration>",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+            "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> layoutAppearance<\/decl.name>: TableAppearance<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 37,
             "key.name" : "layoutAppearance",
             "key.namelength" : 16,
-            "key.nameoffset" : 3928,
-            "key.offset" : 3924,
+            "key.nameoffset" : 20045,
+            "key.offset" : 20041,
             "key.overrides" : [
               {
                 "key.usr" : "s:10ListableUI10ListLayoutP16layoutAppearance0dF0Qzvp"
               }
             ],
-            "key.parsed_declaration" : "var layoutAppearance: PagedAppearance",
-            "key.parsed_scope.end" : 110,
-            "key.parsed_scope.start" : 110,
+            "key.parsed_declaration" : "var layoutAppearance: TableAppearance",
+            "key.parsed_scope.end" : 404,
+            "key.parsed_scope.start" : 404,
             "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
-            "key.typename" : "PagedAppearance",
-            "key.typeusr" : "$s10ListableUI15PagedAppearanceVD",
-            "key.usr" : "s:10ListableUI15PagedListLayoutC16layoutAppearanceAA0cG0Vvp"
+            "key.typename" : "TableAppearance",
+            "key.typeusr" : "$s10ListableUI15TableAppearanceVD",
+            "key.usr" : "s:10ListableUI15TableListLayoutC16layoutAppearanceAA0cG0Vvp"
+          },
+          {
+            "key.kind" : "source.lang.swift.syntaxtype.comment.mark",
+            "key.length" : 23,
+            "key.name" : "MARK: Public Properties",
+            "key.namelength" : 0,
+            "key.nameoffset" : 0,
+            "key.offset" : 20098
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "let appearance: Appearance<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> appearance<\/decl.name>: Appearance<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 26,
+            "key.length" : 27,
             "key.name" : "appearance",
             "key.namelength" : 10,
-            "key.nameoffset" : 3975,
-            "key.offset" : 3971,
+            "key.nameoffset" : 20142,
+            "key.offset" : 20138,
             "key.overrides" : [
               {
                 "key.usr" : "s:10ListableUI13AnyListLayoutP10appearanceAA10AppearanceVvp"
               }
             ],
-            "key.parsed_declaration" : "let appearance: Appearance",
-            "key.parsed_scope.end" : 112,
-            "key.parsed_scope.start" : 112,
+            "key.parsed_declaration" : "let appearance : Appearance",
+            "key.parsed_scope.end" : 410,
+            "key.parsed_scope.start" : 410,
             "key.typename" : "Appearance",
             "key.typeusr" : "$s10ListableUI10AppearanceVD",
-            "key.usr" : "s:10ListableUI15PagedListLayoutC10appearanceAA10AppearanceVvp"
+            "key.usr" : "s:10ListableUI15TableListLayoutC10appearanceAA10AppearanceVvp"
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "let behavior: Behavior<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> behavior<\/decl.name>: Behavior<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 22,
+            "key.length" : 23,
             "key.name" : "behavior",
             "key.namelength" : 8,
-            "key.nameoffset" : 4006,
-            "key.offset" : 4002,
+            "key.nameoffset" : 20174,
+            "key.offset" : 20170,
             "key.overrides" : [
               {
                 "key.usr" : "s:10ListableUI13AnyListLayoutP8behaviorAA8BehaviorVvp"
               }
             ],
-            "key.parsed_declaration" : "let behavior: Behavior",
-            "key.parsed_scope.end" : 113,
-            "key.parsed_scope.start" : 113,
+            "key.parsed_declaration" : "let behavior : Behavior",
+            "key.parsed_scope.end" : 411,
+            "key.parsed_scope.start" : 411,
             "key.typename" : "Behavior",
             "key.typeusr" : "$s10ListableUI8BehaviorVD",
-            "key.usr" : "s:10ListableUI15PagedListLayoutC8behaviorAA8BehaviorVvp"
+            "key.usr" : "s:10ListableUI15TableListLayoutC8behaviorAA8BehaviorVvp"
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "let content: ListLayoutContent<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> content<\/decl.name>: ListLayoutContent<\/ref.class><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 30,
+            "key.length" : 31,
             "key.name" : "content",
             "key.namelength" : 7,
-            "key.nameoffset" : 4033,
-            "key.offset" : 4029,
+            "key.nameoffset" : 20207,
+            "key.offset" : 20203,
             "key.overrides" : [
               {
                 "key.usr" : "s:10ListableUI13AnyListLayoutP7contentAA0dE7ContentCvp"
               }
             ],
-            "key.parsed_declaration" : "let content: ListLayoutContent",
-            "key.parsed_scope.end" : 114,
-            "key.parsed_scope.start" : 114,
+            "key.parsed_declaration" : "let content : ListLayoutContent",
+            "key.parsed_scope.end" : 413,
+            "key.parsed_scope.start" : 413,
             "key.typename" : "ListLayoutContent",
             "key.typeusr" : "$s10ListableUI17ListLayoutContentCD",
-            "key.usr" : "s:10ListableUI15PagedListLayoutC7contentAA0dE7ContentCvp"
+            "key.usr" : "s:10ListableUI15TableListLayoutC7contentAA0dE7ContentCvp"
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "var scrollViewProperties: ListLayoutScrollViewProperties<\/Type> { get }<\/Declaration>",
-            "key.bodylength" : 415,
-            "key.bodyoffset" : 4135,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
+            "key.bodylength" : 303,
+            "key.bodyoffset" : 20310,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> scrollViewProperties<\/decl.name>: ListLayoutScrollViewProperties<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 474,
+            "key.length" : 362,
             "key.name" : "scrollViewProperties",
             "key.namelength" : 20,
-            "key.nameoffset" : 4081,
-            "key.offset" : 4077,
+            "key.nameoffset" : 20256,
+            "key.offset" : 20252,
             "key.overrides" : [
               {
                 "key.usr" : "s:10ListableUI13AnyListLayoutP20scrollViewPropertiesAA0de6ScrollgH0Vvp"
               }
             ],
             "key.parsed_declaration" : "var scrollViewProperties: ListLayoutScrollViewProperties",
-            "key.parsed_scope.end" : 125,
-            "key.parsed_scope.start" : 116,
+            "key.parsed_scope.end" : 424,
+            "key.parsed_scope.start" : 415,
             "key.typename" : "ListLayoutScrollViewProperties",
             "key.typeusr" : "$s10ListableUI30ListLayoutScrollViewPropertiesVD",
-            "key.usr" : "s:10ListableUI15PagedListLayoutC20scrollViewPropertiesAA0de6ScrollgH0Vvp"
+            "key.usr" : "s:10ListableUI15TableListLayoutC20scrollViewPropertiesAA0de6ScrollgH0Vvp"
           },
           {
             "key.kind" : "source.lang.swift.syntaxtype.comment.mark",
@@ -48318,35 +50053,35 @@
             "key.name" : "MARK: Initialization",
             "key.namelength" : 0,
             "key.nameoffset" : 0,
-            "key.offset" : 4571
+            "key.offset" : 20638
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
-            "key.annotated_decl" : "init(layoutAppearance: PagedAppearance<\/Type>, appearance: Appearance<\/Type>, behavior: Behavior<\/Type>, content: ListLayoutContent<\/Type>)<\/Declaration>",
-            "key.bodylength" : 172,
-            "key.bodyoffset" : 4759,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
-            "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(layoutAppearance<\/decl.var.parameter.argument_label>: PagedAppearance<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, appearance<\/decl.var.parameter.argument_label>: Appearance<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, behavior<\/decl.var.parameter.argument_label>: Behavior<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, content<\/decl.var.parameter.argument_label>: ListLayoutContent<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
+            "key.annotated_decl" : "init(layoutAppearance: LayoutAppearance<\/Type>, appearance: Appearance<\/Type>, behavior: Behavior<\/Type>, content: ListLayoutContent<\/Type>)<\/Declaration>",
+            "key.bodylength" : 164,
+            "key.bodyoffset" : 20831,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+            "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(layoutAppearance<\/decl.var.parameter.argument_label>: LayoutAppearance<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>, appearance<\/decl.var.parameter.argument_label>: Appearance<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, behavior<\/decl.var.parameter.argument_label>: Behavior<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, content<\/decl.var.parameter.argument_label>: ListLayoutContent<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 324,
+            "key.length" : 321,
             "key.name" : "init(layoutAppearance:appearance:behavior:content:)",
-            "key.namelength" : 149,
-            "key.nameoffset" : 4608,
-            "key.offset" : 4608,
+            "key.namelength" : 154,
+            "key.nameoffset" : 20675,
+            "key.offset" : 20675,
             "key.overrides" : [
               {
                 "key.usr" : "s:10ListableUI10ListLayoutP16layoutAppearance10appearance8behavior7contentx0dF0Qz_AA0F0VAA8BehaviorVAA0cD7ContentCtcfc"
               }
             ],
-            "key.parsed_declaration" : "init(\n    layoutAppearance: PagedAppearance,\n    appearance: Appearance,\n    behavior: Behavior,\n    content: ListLayoutContent\n)",
-            "key.parsed_scope.end" : 142,
-            "key.parsed_scope.start" : 131,
+            "key.parsed_declaration" : "init(\n    layoutAppearance : LayoutAppearance,\n    appearance : Appearance,\n    behavior : Behavior,\n    content : ListLayoutContent\n)",
+            "key.parsed_scope.end" : 441,
+            "key.parsed_scope.start" : 430,
             "key.substructure" : [
 
             ],
-            "key.typename" : "(PagedListLayout.Type) -> (PagedAppearance, Appearance, Behavior, ListLayoutContent) -> PagedListLayout",
-            "key.typeusr" : "$s16layoutAppearance10appearance8behavior7content10ListableUI15PagedListLayoutCAE0hB0V_AE0B0VAE8BehaviorVAE0iJ7ContentCtcD",
-            "key.usr" : "s:10ListableUI15PagedListLayoutC16layoutAppearance10appearance8behavior7contentAcA0cG0V_AA0G0VAA8BehaviorVAA0dE7ContentCtcfc"
+            "key.typename" : "(TableListLayout.Type) -> (TableAppearance, Appearance, Behavior, ListLayoutContent) -> TableListLayout",
+            "key.typeusr" : "$s16layoutAppearance10appearance8behavior7content10ListableUI15TableListLayoutCAE0hB0V_AE0B0VAE8BehaviorVAE0iJ7ContentCtcD",
+            "key.usr" : "s:10ListableUI15TableListLayoutC16layoutAppearance10appearance8behavior7contentAcA0cG0V_AA0G0VAA8BehaviorVAA0dE7ContentCtcfc"
           },
           {
             "key.kind" : "source.lang.swift.syntaxtype.comment.mark",
@@ -48354,349 +50089,625 @@
             "key.name" : "MARK: Performing Layouts",
             "key.namelength" : 0,
             "key.nameoffset" : 0,
-            "key.offset" : 4952
+            "key.offset" : 21016
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "func updateLayout(in collectionView: UICollectionView<\/Type>)<\/Declaration>",
-            "key.bodylength" : 32,
-            "key.bodyoffset" : 5054,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
+            "key.bodylength" : 14,
+            "key.bodyoffset" : 21118,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> updateLayout<\/decl.name>(in<\/decl.var.parameter.argument_label> collectionView<\/decl.var.parameter.name>: UICollectionView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 94,
+            "key.length" : 76,
             "key.name" : "updateLayout(in:)",
             "key.namelength" : 50,
-            "key.nameoffset" : 4998,
-            "key.offset" : 4993,
+            "key.nameoffset" : 21062,
+            "key.offset" : 21057,
             "key.overrides" : [
               {
                 "key.usr" : "s:10ListableUI13AnyListLayoutP06updateE02inySo16UICollectionViewC_tF"
               }
             ],
             "key.parsed_declaration" : "func updateLayout(in collectionView : UICollectionView)",
-            "key.parsed_scope.end" : 151,
-            "key.parsed_scope.start" : 148,
+            "key.parsed_scope.end" : 450,
+            "key.parsed_scope.start" : 447,
             "key.substructure" : [
 
             ],
-            "key.typename" : "(PagedListLayout) -> (UICollectionView) -> ()",
+            "key.typename" : "(TableListLayout) -> (UICollectionView) -> ()",
             "key.typeusr" : "$s2inySo16UICollectionViewC_tcD",
-            "key.usr" : "s:10ListableUI15PagedListLayoutC06updateE02inySo16UICollectionViewC_tF"
+            "key.usr" : "s:10ListableUI15TableListLayoutC06updateE02inySo16UICollectionViewC_tF"
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "func layout(delegate: CollectionViewLayoutDelegate<\/Type>, in collectionView: UICollectionView<\/Type>)<\/Declaration>",
-            "key.bodylength" : 1104,
-            "key.bodyoffset" : 5213,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
+            "key.bodylength" : 11916,
+            "key.bodyoffset" : 21257,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> layout<\/decl.name>(delegate<\/decl.var.parameter.argument_label>: CollectionViewLayoutDelegate<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>, in<\/decl.var.parameter.argument_label> collectionView<\/decl.var.parameter.name>: UICollectionView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 1221,
+            "key.length" : 12031,
             "key.name" : "layout(delegate:in:)",
-            "key.namelength" : 109,
-            "key.nameoffset" : 5102,
-            "key.offset" : 5097,
+            "key.namelength" : 107,
+            "key.nameoffset" : 21148,
+            "key.offset" : 21143,
             "key.overrides" : [
               {
                 "key.usr" : "s:10ListableUI13AnyListLayoutP6layout8delegate2inyAA014CollectionViewE8Delegate_p_So012UICollectionJ0CtF"
               }
             ],
-            "key.parsed_declaration" : "func layout(\n    delegate : CollectionViewLayoutDelegate,\n    in collectionView : UICollectionView  \n)",
-            "key.parsed_scope.end" : 183,
-            "key.parsed_scope.start" : 153,
+            "key.parsed_declaration" : "func layout(\n    delegate : CollectionViewLayoutDelegate,\n    in collectionView : UICollectionView\n)",
+            "key.parsed_scope.end" : 743,
+            "key.parsed_scope.start" : 452,
             "key.substructure" : [
+              {
+                "key.annotated_decl" : "let layout: TableAppearance<\/Type>.Layout<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> layout<\/decl.name>: TableAppearance<\/ref.struct>.Layout<\/ref.struct><\/decl.var.type><\/decl.var.local>",
+                "key.kind" : "source.lang.swift.decl.var.local",
+                "key.length" : 41,
+                "key.name" : "layout",
+                "key.namelength" : 6,
+                "key.nameoffset" : 21270,
+                "key.offset" : 21266,
+                "key.parsed_declaration" : "let layout = self.layoutAppearance.layout",
+                "key.parsed_scope.end" : 456,
+                "key.parsed_scope.start" : 456,
+                "key.related_decls" : [
+                  {
+                    "key.annotated_decl" : "layout(delegate:in:)<\/RelatedName>"
+                  }
+                ],
+                "key.typename" : "TableAppearance.Layout",
+                "key.typeusr" : "$s10ListableUI15TableAppearanceV6LayoutVD",
+                "key.usr" : "s:10ListableUI15TableListLayoutC6layout8delegate2inyAA014CollectionViewE8Delegate_p_So012UICollectionJ0CtFADL_AA0C10AppearanceV0E0Vvp"
+              },
+              {
+                "key.annotated_decl" : "let sizing: TableAppearance<\/Type>.Sizing<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> sizing<\/decl.name>: TableAppearance<\/ref.struct>.Sizing<\/ref.struct><\/decl.var.type><\/decl.var.local>",
+                "key.kind" : "source.lang.swift.decl.var.local",
+                "key.length" : 41,
+                "key.name" : "sizing",
+                "key.namelength" : 6,
+                "key.nameoffset" : 21320,
+                "key.offset" : 21316,
+                "key.parsed_declaration" : "let sizing = self.layoutAppearance.sizing",
+                "key.parsed_scope.end" : 457,
+                "key.parsed_scope.start" : 457,
+                "key.typename" : "TableAppearance.Sizing",
+                "key.typeusr" : "$s10ListableUI15TableAppearanceV6SizingVD",
+                "key.usr" : "s:10ListableUI15TableListLayoutC6layout8delegate2inyAA014CollectionViewE8Delegate_p_So012UICollectionJ0CtF6sizingL_AA0C10AppearanceV6SizingVvp"
+              },
               {
                 "key.annotated_decl" : "let viewSize: CGSize<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> viewSize<\/decl.name>: CGSize<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
-                "key.length" : 100,
+                "key.length" : 41,
                 "key.name" : "viewSize",
                 "key.namelength" : 8,
-                "key.nameoffset" : 5226,
-                "key.offset" : 5222,
-                "key.parsed_declaration" : "let viewSize = self.layoutAppearance.pagingSize.size(for: collectionView, direction: self.direction)",
-                "key.parsed_scope.end" : 157,
-                "key.parsed_scope.start" : 157,
+                "key.nameoffset" : 21379,
+                "key.offset" : 21375,
+                "key.parsed_declaration" : "let viewSize = collectionView.bounds.size",
+                "key.parsed_scope.end" : 459,
+                "key.parsed_scope.start" : 459,
                 "key.typename" : "CGSize",
                 "key.typeusr" : "$sSo6CGSizeVD",
-                "key.usr" : "s:10ListableUI15PagedListLayoutC6layout8delegate2inyAA014CollectionViewE8Delegate_p_So012UICollectionJ0CtF8viewSizeL_So6CGSizeVvp"
+                "key.usr" : "s:10ListableUI15TableListLayoutC6layout8delegate2inyAA014CollectionViewE8Delegate_p_So012UICollectionJ0CtF8viewSizeL_So6CGSizeVvp"
               },
               {
-                "key.annotated_decl" : "var lastMaxY: CGFloat<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/Paged\/PagedListLayout.swift",
-                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> lastMaxY<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.local>",
+                "key.annotated_decl" : "let viewWidth: CGFloat<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> viewWidth<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
-                "key.length" : 28,
-                "key.name" : "lastMaxY",
-                "key.namelength" : 8,
-                "key.nameoffset" : 5344,
-                "key.offset" : 5340,
-                "key.parsed_declaration" : "var lastMaxY : CGFloat = 0.0",
-                "key.parsed_scope.end" : 159,
-                "key.parsed_scope.start" : 159,
+                "key.length" : 43,
+                "key.name" : "viewWidth",
+                "key.namelength" : 9,
+                "key.nameoffset" : 21438,
+                "key.offset" : 21434,
+                "key.parsed_declaration" : "let viewWidth = collectionView.bounds.width",
+                "key.parsed_scope.end" : 461,
+                "key.parsed_scope.start" : 461,
                 "key.typename" : "CGFloat",
                 "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
-                "key.usr" : "s:10ListableUI15PagedListLayoutC6layout8delegate2inyAA014CollectionViewE8Delegate_p_So012UICollectionJ0CtF8lastMaxYL_12CoreGraphics7CGFloatVvp"
+                "key.usr" : "s:10ListableUI15TableListLayoutC6layout8delegate2inyAA014CollectionViewE8Delegate_p_So012UICollectionJ0CtF9viewWidthL_12CoreGraphics7CGFloatVvp"
+              },
+              {
+                "key.annotated_decl" : "let rootWidth: CGFloat<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> rootWidth<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.local>",
+                "key.kind" : "source.lang.swift.decl.var.local",
+                "key.length" : 222,
+                "key.name" : "rootWidth",
+                "key.namelength" : 9,
+                "key.nameoffset" : 21499,
+                "key.offset" : 21495,
+                "key.parsed_declaration" : "let rootWidth = TableAppearance.Layout.width(\n    with: viewSize.width,\n    padding: HorizontalPadding(left: layout.padding.left, right: layout.padding.right),\n    constraint: layout.width\n)",
+                "key.parsed_scope.end" : 463,
+                "key.parsed_scope.start" : 463,
+                "key.typename" : "CGFloat",
+                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
+                "key.usr" : "s:10ListableUI15TableListLayoutC6layout8delegate2inyAA014CollectionViewE8Delegate_p_So012UICollectionJ0CtF9rootWidthL_12CoreGraphics7CGFloatVvp"
+              },
+              {
+                "key.annotated_decl" : "var lastContentMaxY: CGFloat<\/Type><\/Declaration>",
+                "key.doc.comment" : "Item positions are set and sent to the delegate first,\nin case the position affects the height calculation later in the layout pass.",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> lastContentMaxY<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.local>",
+                "key.kind" : "source.lang.swift.decl.var.local",
+                "key.length" : 35,
+                "key.name" : "lastContentMaxY",
+                "key.namelength" : 15,
+                "key.nameoffset" : 22167,
+                "key.offset" : 22163,
+                "key.parsed_declaration" : "var lastContentMaxY : CGFloat = 0.0",
+                "key.parsed_scope.end" : 485,
+                "key.parsed_scope.start" : 485,
+                "key.typename" : "CGFloat",
+                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
+                "key.usr" : "s:10ListableUI15TableListLayoutC6layout8delegate2inyAA014CollectionViewE8Delegate_p_So012UICollectionJ0CtF15lastContentMaxYL_12CoreGraphics7CGFloatVvp"
               }
             ],
-            "key.typename" : "(PagedListLayout) -> (CollectionViewLayoutDelegate, UICollectionView) -> ()",
+            "key.typename" : "(TableListLayout) -> (CollectionViewLayoutDelegate, UICollectionView) -> ()",
             "key.typeusr" : "$s8delegate2iny10ListableUI28CollectionViewLayoutDelegate_p_So012UICollectionF0CtcD",
-            "key.usr" : "s:10ListableUI15PagedListLayoutC6layout8delegate2inyAA014CollectionViewE8Delegate_p_So012UICollectionJ0CtF"
+            "key.usr" : "s:10ListableUI15TableListLayoutC6layout8delegate2inyAA014CollectionViewE8Delegate_p_So012UICollectionJ0CtF"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.private",
+            "key.annotated_decl" : "private func setItemPositions()<\/Declaration>",
+            "key.attributes" : [
+              {
+                "key.attribute" : "source.decl.attribute.private",
+                "key.length" : 7,
+                "key.offset" : 33184
+              }
+            ],
+            "key.bodylength" : 132,
+            "key.bodyoffset" : 33221,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+            "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> func<\/syntaxtype.keyword> setItemPositions<\/decl.name>()<\/decl.function.method.instance>",
+            "key.kind" : "source.lang.swift.decl.function.method.instance",
+            "key.length" : 162,
+            "key.name" : "setItemPositions()",
+            "key.namelength" : 18,
+            "key.nameoffset" : 33197,
+            "key.offset" : 33192,
+            "key.parsed_declaration" : "private func setItemPositions()",
+            "key.parsed_scope.end" : 750,
+            "key.parsed_scope.start" : 745,
+            "key.substructure" : [
+
+            ],
+            "key.typename" : "(TableListLayout) -> () -> ()",
+            "key.typeusr" : "$syycD",
+            "key.usr" : "s:10ListableUI15TableListLayoutC16setItemPositions33_E71D3D96C42690D19F7CD02522C562C9LLyyF"
           }
         ],
-        "key.typename" : "PagedListLayout.Type",
-        "key.typeusr" : "$s10ListableUI15PagedListLayoutCmD",
-        "key.usr" : "s:10ListableUI15PagedListLayoutC"
-      }
-    ]
-  }
-}, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/SupplementaryKind.swift" : {
-    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
-    "key.length" : 887,
-    "key.offset" : 0,
-    "key.substructure" : [
+        "key.typename" : "TableListLayout.Type",
+        "key.typeusr" : "$s10ListableUI15TableListLayoutCmD",
+        "key.usr" : "s:10ListableUI15TableListLayoutC"
+      },
       {
-        "key.accessibility" : "source.lang.swift.accessibility.internal",
-        "key.annotated_decl" : "enum SupplementaryKind : String<\/Type>, CaseIterable<\/Type><\/Declaration>",
-        "key.bodylength" : 724,
-        "key.bodyoffset" : 161,
-        "key.elements" : [
+        "key.accessibility" : "source.lang.swift.accessibility.fileprivate",
+        "key.annotated_decl" : "final class SectionInfo<\/Declaration>",
+        "key.attributes" : [
+          {
+            "key.attribute" : "source.decl.attribute.fileprivate",
+            "key.length" : 11,
+            "key.offset" : 33359
+          }
+        ],
+        "key.bodylength" : 2164,
+        "key.bodyoffset" : 33412,
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/ListLayout\/ListLayoutContent.swift",
+        "key.fully_annotated_decl" : "final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> SectionInfo<\/decl.name><\/decl.class>",
+        "key.kind" : "source.lang.swift.decl.extension",
+        "key.length" : 2206,
+        "key.name" : "ListLayoutContent.SectionInfo",
+        "key.namelength" : 29,
+        "key.nameoffset" : 33381,
+        "key.offset" : 33371,
+        "key.parsed_declaration" : "fileprivate extension ListLayoutContent.SectionInfo",
+        "key.parsed_scope.end" : 817,
+        "key.parsed_scope.start" : 754,
+        "key.substructure" : [
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.fileprivate",
+            "key.annotated_decl" : "func setItemPositions(with appearance: TableAppearance<\/Type>)<\/Declaration>",
+            "key.bodylength" : 1202,
+            "key.bodyoffset" : 33479,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> setItemPositions<\/decl.name>(with<\/decl.var.parameter.argument_label> appearance<\/decl.var.parameter.name>: TableAppearance<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
+            "key.kind" : "source.lang.swift.decl.function.method.instance",
+            "key.length" : 1265,
+            "key.name" : "setItemPositions(with:)",
+            "key.namelength" : 51,
+            "key.nameoffset" : 33422,
+            "key.offset" : 33417,
+            "key.parsed_declaration" : "func setItemPositions(with appearance : TableAppearance)",
+            "key.parsed_scope.end" : 789,
+            "key.parsed_scope.start" : 756,
+            "key.substructure" : [
+
+            ],
+            "key.typename" : "(ListLayoutContent.SectionInfo) -> (TableAppearance) -> ()",
+            "key.typeusr" : "$s4withy10ListableUI15TableAppearanceV_tcD",
+            "key.usr" : "s:10ListableUI17ListLayoutContentC11SectionInfoC16setItemPositions33_E71D3D96C42690D19F7CD02522C562C9LL4withyAA15TableAppearanceV_tF"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.private",
+            "key.annotated_decl" : "private static func grouped(items: [ListLayoutContent<\/Type>.ItemInfo<\/Type>], groupingHeight: CGFloat<\/Type>, appearance: TableAppearance<\/Type>) -> [[ListLayoutContent<\/Type>.ItemInfo<\/Type>]]<\/Declaration>",
+            "key.attributes" : [
+              {
+                "key.attribute" : "source.decl.attribute.private",
+                "key.length" : 7,
+                "key.offset" : 34692
+              }
+            ],
+            "key.bodylength" : 721,
+            "key.bodyoffset" : 34853,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+            "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> grouped<\/decl.name>(items<\/decl.var.parameter.argument_label>: [ListLayoutContent<\/ref.class>.ItemInfo<\/ref.class>]<\/decl.var.parameter.type><\/decl.var.parameter>, groupingHeight<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, appearance<\/decl.var.parameter.argument_label>: TableAppearance<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> [[ListLayoutContent<\/ref.class>.ItemInfo<\/ref.class>]]<\/decl.function.returntype><\/decl.function.method.static>",
+            "key.kind" : "source.lang.swift.decl.function.method.static",
+            "key.length" : 875,
+            "key.name" : "grouped(items:groupingHeight:appearance:)",
+            "key.namelength" : 101,
+            "key.nameoffset" : 34712,
+            "key.offset" : 34700,
+            "key.parsed_declaration" : "private static func grouped(items : [ListLayoutContent.ItemInfo], groupingHeight : CGFloat, appearance : TableAppearance) -> [[ListLayoutContent.ItemInfo]]",
+            "key.parsed_scope.end" : 816,
+            "key.parsed_scope.start" : 791,
+            "key.substructure" : [
+              {
+                "key.annotated_decl" : "var all: [[ListLayoutContent<\/Type>.ItemInfo<\/Type>]]<\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> all<\/decl.name>: [[ListLayoutContent<\/ref.class>.ItemInfo<\/ref.class>]]<\/decl.var.type><\/decl.var.local>",
+                "key.kind" : "source.lang.swift.decl.var.local",
+                "key.length" : 42,
+                "key.name" : "all",
+                "key.namelength" : 3,
+                "key.nameoffset" : 34866,
+                "key.offset" : 34862,
+                "key.parsed_declaration" : "var all = [[ListLayoutContent.ItemInfo]]()",
+                "key.parsed_scope.end" : 793,
+                "key.parsed_scope.start" : 793,
+                "key.related_decls" : [
+                  {
+                    "key.annotated_decl" : "all<\/RelatedName>"
+                  }
+                ],
+                "key.typename" : "[[ListLayoutContent.ItemInfo]]",
+                "key.typeusr" : "$sSaySay10ListableUI17ListLayoutContentC8ItemInfoCGGD",
+                "key.usr" : "s:10ListableUI17ListLayoutContentC11SectionInfoC7grouped33_E71D3D96C42690D19F7CD02522C562C9LL5items14groupingHeight10appearanceSaySayAC04ItemG0CGGAM_12CoreGraphics7CGFloatVAA15TableAppearanceVtFZ3allL_ANvp"
+              },
+              {
+                "key.annotated_decl" : "var current: [ListLayoutContent<\/Type>.ItemInfo<\/Type>]<\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> current<\/decl.name>: [ListLayoutContent<\/ref.class>.ItemInfo<\/ref.class>]<\/decl.var.type><\/decl.var.local>",
+                "key.kind" : "source.lang.swift.decl.var.local",
+                "key.length" : 44,
+                "key.name" : "current",
+                "key.namelength" : 7,
+                "key.nameoffset" : 34917,
+                "key.offset" : 34913,
+                "key.parsed_declaration" : "var current = [ListLayoutContent.ItemInfo]()",
+                "key.parsed_scope.end" : 794,
+                "key.parsed_scope.start" : 794,
+                "key.typename" : "[ListLayoutContent.ItemInfo]",
+                "key.typeusr" : "$sSay10ListableUI17ListLayoutContentC8ItemInfoCGD",
+                "key.usr" : "s:10ListableUI17ListLayoutContentC11SectionInfoC7grouped33_E71D3D96C42690D19F7CD02522C562C9LL5items14groupingHeight10appearanceSaySayAC04ItemG0CGGAM_12CoreGraphics7CGFloatVAA15TableAppearanceVtFZ7currentL_AMvp"
+              },
+              {
+                "key.annotated_decl" : "var lastSpacing: CGFloat<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> lastSpacing<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.local>",
+                "key.kind" : "source.lang.swift.decl.var.local",
+                "key.length" : 31,
+                "key.name" : "lastSpacing",
+                "key.namelength" : 11,
+                "key.nameoffset" : 34979,
+                "key.offset" : 34975,
+                "key.parsed_declaration" : "var lastSpacing : CGFloat = 0.0",
+                "key.parsed_scope.end" : 796,
+                "key.parsed_scope.start" : 796,
+                "key.typename" : "CGFloat",
+                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
+                "key.usr" : "s:10ListableUI17ListLayoutContentC11SectionInfoC7grouped33_E71D3D96C42690D19F7CD02522C562C9LL5items14groupingHeight10appearanceSaySayAC04ItemG0CGGAM_12CoreGraphics7CGFloatVAA15TableAppearanceVtFZ11lastSpacingL_AQvp"
+              }
+            ],
+            "key.typename" : "(ListLayoutContent.SectionInfo.Type) -> ([ListLayoutContent.ItemInfo], CGFloat, TableAppearance) -> [[ListLayoutContent.ItemInfo]]",
+            "key.typeusr" : "$s5items14groupingHeight10appearanceSaySay10ListableUI17ListLayoutContentC8ItemInfoCGGAI_12CoreGraphics7CGFloatVAD15TableAppearanceVtcD",
+            "key.usr" : "s:10ListableUI17ListLayoutContentC11SectionInfoC7grouped33_E71D3D96C42690D19F7CD02522C562C9LL5items14groupingHeight10appearanceSaySayAC04ItemG0CGGAM_12CoreGraphics7CGFloatVAA15TableAppearanceVtFZ"
+          }
+        ],
+        "key.typename" : "ListLayoutContent.SectionInfo.Type",
+        "key.typeusr" : "$s10ListableUI17ListLayoutContentC11SectionInfoCmD",
+        "key.usr" : "s:10ListableUI17ListLayoutContentC11SectionInfoC"
+      },
+      {
+        "key.accessibility" : "source.lang.swift.accessibility.fileprivate",
+        "key.annotated_decl" : "@frozen struct Array<Element> : _DestructorSafeContainer<\/Type><\/Declaration>",
+        "key.attributes" : [
+          {
+            "key.attribute" : "source.decl.attribute.fileprivate",
+            "key.length" : 11,
+            "key.offset" : 35580
+          }
+        ],
+        "key.bodylength" : 250,
+        "key.bodyoffset" : 35609,
+        "key.doc.declaration" : "@frozen struct Array",
+        "key.doc.discussion" : [
+          {
+            "Para" : "Arrays are one of the most commonly used data types in an app. You use arrays to organize your app’s data. Specifically, you use the `Array` type to hold elements of a single type, the array’s `Element` type. An array can store any kind of elements—from integers to strings to classes."
+          },
+          {
+            "Para" : "Swift makes it easy to create arrays in your code using an array literal: simply surround a comma-separated list of values with square brackets. Without any other information, Swift creates an array that includes the specified values, automatically inferring the array’s `Element` type. For example:"
+          },
+          {
+            "CodeListing" : ""
+          },
+          {
+            "Para" : "You can create an empty array by specifying the `Element` type of your array in the declaration. For example:"
+          },
+          {
+            "CodeListing" : ""
+          },
+          {
+            "Para" : "If you need an array that is preinitialized with a fixed number of default values, use the `Array(repeating:count:)` initializer."
+          },
+          {
+            "CodeListing" : ""
+          },
+          {
+            "Para" : "When you need to perform an operation on all of an array’s elements, use a `for`-`in` loop to iterate through the array’s contents."
+          },
+          {
+            "CodeListing" : ""
+          },
+          {
+            "Para" : "Use the `isEmpty` property to check quickly whether an array has any elements, or use the `count` property to find the number of elements in the array."
+          },
+          {
+            "CodeListing" : ""
+          },
+          {
+            "Para" : "Use the `first` and `last` properties for safe access to the value of the array’s first and last elements. If the array is empty, these properties are `nil`."
+          },
+          {
+            "CodeListing" : ""
+          },
+          {
+            "Para" : "You can access individual array elements through a subscript. The first element of a nonempty array is always at index zero. You can subscript an array with any integer from zero up to, but not including, the count of the array. Using a negative number or an index equal to or greater than `count` triggers a runtime error. For example:"
+          },
+          {
+            "CodeListing" : ""
+          },
+          {
+            "Para" : "Suppose you need to store a list of the names of students that are signed up for a class you’re teaching. During the registration period, you need to add and remove names as students add and drop the class."
+          },
+          {
+            "CodeListing" : ""
+          },
+          {
+            "Para" : "To add single elements to the end of an array, use the `append(_:)` method. Add multiple elements at the same time by passing another array or a sequence of any kind to the `append(contentsOf:)` method."
+          },
+          {
+            "CodeListing" : ""
+          },
+          {
+            "Para" : "You can add new elements in the middle of an array by using the `insert(_:at:)` method for single elements and by using `insert(contentsOf:at:)` to insert multiple elements from another collection or array literal. The elements at that index and later indices are shifted back to make room."
+          },
+          {
+            "CodeListing" : ""
+          },
+          {
+            "Para" : "To remove elements from an array, use the `remove(at:)`, `removeSubrange(_:)`, and `removeLast()` methods."
+          },
+          {
+            "CodeListing" : ""
+          },
           {
-            "key.kind" : "source.lang.swift.structure.elem.typeref",
-            "key.length" : 6,
-            "key.offset" : 139
+            "Para" : "You can replace an existing element with a new value by assigning the new value to the subscript."
           },
           {
-            "key.kind" : "source.lang.swift.structure.elem.typeref",
-            "key.length" : 12,
-            "key.offset" : 147
-          }
-        ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/SupplementaryKind.swift",
-        "key.fully_annotated_decl" : "enum<\/syntaxtype.keyword> SupplementaryKind<\/decl.name> : String<\/ref.struct>, CaseIterable<\/ref.protocol><\/decl.enum>",
-        "key.inheritedtypes" : [
+            "CodeListing" : ""
+          },
           {
-            "key.name" : "String"
+            "Para" : "Every array reserves a specific amount of memory to hold its contents. When you add elements to an array and that array begins to exceed its reserved capacity, the array allocates a larger region of memory and copies its elements into the new storage. The new storage is a multiple of the old storage’s size. This exponential growth strategy means that appending an element happens in constant time, averaging the performance of many append operations. Append operations that trigger reallocation have a performance cost, but they occur less and less often as the array grows larger."
           },
           {
-            "key.name" : "CaseIterable"
-          }
-        ],
-        "key.kind" : "source.lang.swift.decl.enum",
-        "key.length" : 772,
-        "key.name" : "SupplementaryKind",
-        "key.namelength" : 17,
-        "key.nameoffset" : 119,
-        "key.offset" : 114,
-        "key.parsed_declaration" : "enum SupplementaryKind : String, CaseIterable",
-        "key.parsed_scope.end" : 33,
-        "key.parsed_scope.start" : 11,
-        "key.substructure" : [
+            "Para" : "If you know approximately how many elements you will need to store, use the `reserveCapacity(_:)` method before appending to the array to avoid intermediate reallocations. Use the `capacity` and `count` properties to determine how many more elements the array can store without allocating larger storage."
+          },
           {
-            "key.kind" : "source.lang.swift.decl.enumcase",
-            "key.length" : 39,
-            "key.namelength" : 0,
-            "key.nameoffset" : 0,
-            "key.offset" : 166,
-            "key.substructure" : [
-              {
-                "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "case listHeader = "Listable.ListHeader"<\/Declaration>",
-                "key.elements" : [
-                  {
-                    "key.kind" : "source.lang.swift.structure.elem.init_expr",
-                    "key.length" : 21,
-                    "key.offset" : 184
-                  }
-                ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/SupplementaryKind.swift",
-                "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> listHeader<\/decl.name> = "Listable.ListHeader"<\/syntaxtype.string><\/decl.enumelement>",
-                "key.kind" : "source.lang.swift.decl.enumelement",
-                "key.length" : 34,
-                "key.name" : "listHeader",
-                "key.namelength" : 10,
-                "key.nameoffset" : 171,
-                "key.offset" : 171,
-                "key.parsed_declaration" : "case listHeader = \"Listable.ListHeader\"",
-                "key.parsed_scope.end" : 13,
-                "key.parsed_scope.start" : 13,
-                "key.typename" : "(SupplementaryKind.Type) -> SupplementaryKind",
-                "key.typeusr" : "$sy10ListableUI17SupplementaryKindOACmcD",
-                "key.usr" : "s:10ListableUI17SupplementaryKindO10listHeaderyA2CmF"
-              }
-            ]
+            "Para" : "For arrays of most `Element` types, this storage is a contiguous block of memory. For arrays with an `Element` type that is a class or `@objc` protocol type, this storage can be a contiguous block of memory or an instance of `NSArray`. Because any arbitrary subclass of `NSArray` can become an `Array`, there are no guarantees about representation or efficiency in this case."
           },
           {
-            "key.kind" : "source.lang.swift.decl.enumcase",
-            "key.length" : 39,
-            "key.namelength" : 0,
-            "key.nameoffset" : 0,
-            "key.offset" : 210,
-            "key.substructure" : [
-              {
-                "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "case listFooter = "Listable.ListFooter"<\/Declaration>",
-                "key.elements" : [
-                  {
-                    "key.kind" : "source.lang.swift.structure.elem.init_expr",
-                    "key.length" : 21,
-                    "key.offset" : 228
-                  }
-                ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/SupplementaryKind.swift",
-                "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> listFooter<\/decl.name> = "Listable.ListFooter"<\/syntaxtype.string><\/decl.enumelement>",
-                "key.kind" : "source.lang.swift.decl.enumelement",
-                "key.length" : 34,
-                "key.name" : "listFooter",
-                "key.namelength" : 10,
-                "key.nameoffset" : 215,
-                "key.offset" : 215,
-                "key.parsed_declaration" : "case listFooter = \"Listable.ListFooter\"",
-                "key.parsed_scope.end" : 14,
-                "key.parsed_scope.start" : 14,
-                "key.typename" : "(SupplementaryKind.Type) -> SupplementaryKind",
-                "key.typeusr" : "$sy10ListableUI17SupplementaryKindOACmcD",
-                "key.usr" : "s:10ListableUI17SupplementaryKindO10listFooteryA2CmF"
-              }
-            ]
+            "Para" : "Each array has an independent value that includes the values of all of its elements. For simple types such as integers and other structures, this means that when you change a value in one array, the value of that element does not change in any copies of the array. For example:"
           },
           {
-            "key.kind" : "source.lang.swift.decl.enumcase",
-            "key.length" : 45,
-            "key.namelength" : 0,
-            "key.nameoffset" : 0,
-            "key.offset" : 259,
-            "key.substructure" : [
-              {
-                "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "case sectionHeader = "Listable.SectionHeader"<\/Declaration>",
-                "key.elements" : [
-                  {
-                    "key.kind" : "source.lang.swift.structure.elem.init_expr",
-                    "key.length" : 24,
-                    "key.offset" : 280
-                  }
-                ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/SupplementaryKind.swift",
-                "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> sectionHeader<\/decl.name> = "Listable.SectionHeader"<\/syntaxtype.string><\/decl.enumelement>",
-                "key.kind" : "source.lang.swift.decl.enumelement",
-                "key.length" : 40,
-                "key.name" : "sectionHeader",
-                "key.namelength" : 13,
-                "key.nameoffset" : 264,
-                "key.offset" : 264,
-                "key.parsed_declaration" : "case sectionHeader = \"Listable.SectionHeader\"",
-                "key.parsed_scope.end" : 16,
-                "key.parsed_scope.start" : 16,
-                "key.typename" : "(SupplementaryKind.Type) -> SupplementaryKind",
-                "key.typeusr" : "$sy10ListableUI17SupplementaryKindOACmcD",
-                "key.usr" : "s:10ListableUI17SupplementaryKindO13sectionHeaderyA2CmF"
-              }
-            ]
+            "CodeListing" : ""
           },
           {
-            "key.kind" : "source.lang.swift.decl.enumcase",
-            "key.length" : 45,
-            "key.namelength" : 0,
-            "key.nameoffset" : 0,
-            "key.offset" : 309,
-            "key.substructure" : [
-              {
-                "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "case sectionFooter = "Listable.SectionFooter"<\/Declaration>",
-                "key.elements" : [
-                  {
-                    "key.kind" : "source.lang.swift.structure.elem.init_expr",
-                    "key.length" : 24,
-                    "key.offset" : 330
-                  }
-                ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/SupplementaryKind.swift",
-                "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> sectionFooter<\/decl.name> = "Listable.SectionFooter"<\/syntaxtype.string><\/decl.enumelement>",
-                "key.kind" : "source.lang.swift.decl.enumelement",
-                "key.length" : 40,
-                "key.name" : "sectionFooter",
-                "key.namelength" : 13,
-                "key.nameoffset" : 314,
-                "key.offset" : 314,
-                "key.parsed_declaration" : "case sectionFooter = \"Listable.SectionFooter\"",
-                "key.parsed_scope.end" : 17,
-                "key.parsed_scope.start" : 17,
-                "key.typename" : "(SupplementaryKind.Type) -> SupplementaryKind",
-                "key.typeusr" : "$sy10ListableUI17SupplementaryKindOACmcD",
-                "key.usr" : "s:10ListableUI17SupplementaryKindO13sectionFooteryA2CmF"
-              }
-            ]
+            "Para" : "If the elements in an array are instances of a class, the semantics are the same, though they might appear different at first. In this case, the values stored in the array are references to objects that live outside the array. If you change a reference to an object in one array, only that array has a reference to the new object. However, if two arrays contain references to the same object, you can observe changes to that object’s properties from both arrays. For example:"
           },
           {
-            "key.kind" : "source.lang.swift.decl.enumcase",
-            "key.length" : 51,
-            "key.namelength" : 0,
-            "key.nameoffset" : 0,
-            "key.offset" : 364,
-            "key.substructure" : [
-              {
-                "key.accessibility" : "source.lang.swift.accessibility.internal",
-                "key.annotated_decl" : "case overscrollFooter = "Listable.OverscrollFooter"<\/Declaration>",
-                "key.elements" : [
-                  {
-                    "key.kind" : "source.lang.swift.structure.elem.init_expr",
-                    "key.length" : 27,
-                    "key.offset" : 388
-                  }
-                ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/SupplementaryKind.swift",
-                "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> overscrollFooter<\/decl.name> = "Listable.OverscrollFooter"<\/syntaxtype.string><\/decl.enumelement>",
-                "key.kind" : "source.lang.swift.decl.enumelement",
-                "key.length" : 46,
-                "key.name" : "overscrollFooter",
-                "key.namelength" : 16,
-                "key.nameoffset" : 369,
-                "key.offset" : 369,
-                "key.parsed_declaration" : "case overscrollFooter = \"Listable.OverscrollFooter\"",
-                "key.parsed_scope.end" : 19,
-                "key.parsed_scope.start" : 19,
-                "key.typename" : "(SupplementaryKind.Type) -> SupplementaryKind",
-                "key.typeusr" : "$sy10ListableUI17SupplementaryKindOACmcD",
-                "key.usr" : "s:10ListableUI17SupplementaryKindO16overscrollFooteryA2CmF"
-              }
-            ]
+            "CodeListing" : ""
           },
           {
-            "key.accessibility" : "source.lang.swift.accessibility.internal",
-            "key.annotated_decl" : "func indexPath(in section: Int<\/Type>) -> IndexPath<\/Type><\/Declaration>",
-            "key.bodylength" : 407,
-            "key.bodyoffset" : 476,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Layout\/SupplementaryKind.swift",
-            "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> indexPath<\/decl.name>(in<\/decl.var.parameter.argument_label> section<\/decl.var.parameter.name>: Int<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> IndexPath<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
+            "Para" : "Arrays, like all variable-size collections in the standard library, use copy-on-write optimization. Multiple copies of an array share the same storage until you modify one of the copies. When that happens, the array being modified replaces its storage with a uniquely owned copy of itself, which is then modified in place. Optimizations are sometimes applied that can reduce the amount of copying."
+          },
+          {
+            "Para" : "This means that if an array is sharing storage with other copies, the first mutating operation on that array incurs the cost of copying the array. An array that is the sole owner of its storage can perform mutating operations in place."
+          },
+          {
+            "Para" : "In the example below, a `numbers` array is created along with two copies that share the same storage. When the original `numbers` array is modified, it makes a unique copy of its storage before making the modification. Further modifications to `numbers` are made in place, while the two copies continue to share the original storage."
+          },
+          {
+            "CodeListing" : ""
+          },
+          {
+            "Para" : "When you need to access APIs that require data in an `NSArray` instance instead of `Array`, use the type-cast operator (`as`) to bridge your instance. For bridging to be possible, the `Element` type of your array must be a class, an `@objc` protocol (a protocol imported from Objective-C or marked with the `@objc` attribute), or a type that bridges to a Foundation type."
+          },
+          {
+            "Para" : "The following example shows how you can bridge an `Array` instance to `NSArray` to use the `write(to:atomically:)` method. In this example, the `colors` array can be bridged to `NSArray` because the `colors` array’s `String` elements bridge to `NSString`. The compiler prevents bridging the `moreColors` array, on the other hand, because its `Element` type is `Optional`, which does  bridge to a Foundation type."
+          },
+          {
+            "CodeListing" : ""
+          },
+          {
+            "Para" : "Bridging from `Array` to `NSArray` takes O(1) time and O(1) space if the array’s elements are already instances of a class or an `@objc` protocol; otherwise, it takes O() time and space."
+          },
+          {
+            "Para" : "When the destination array’s element type is a class or an `@objc` protocol, bridging from `NSArray` to `Array` first calls the `copy(with:)` (`- copyWithZone:` in Objective-C) method on the array to get an immutable copy and then performs additional Swift bookkeeping work that takes O(1) time. For instances of `NSArray` that are already immutable, `copy(with:)` usually returns the same array in O(1) time; otherwise, the copying performance is unspecified. If `copy(with:)` returns the same array, the instances of `NSArray` and `Array` share storage using the same copy-on-write optimization that is used when two instances of `Array` share storage."
+          },
+          {
+            "Para" : "When the destination array’s element type is a nonclass type that bridges to a Foundation type, bridging from `NSArray` to `Array` performs a bridging copy of the elements to contiguous storage in O() time. For example, bridging from `NSArray` to `Array` performs such a copy. No further bridging is required when accessing elements of the `Array` instance."
+          },
+          {
+            "Note" : ""
+          }
+        ],
+        "key.doc.full_as_xml" : "Array<\/Name>s:Sa<\/USR>@frozen struct Array<Element><\/Declaration>An ordered, random-access collection.<\/Para><\/Abstract>Arrays are one of the most commonly used data types in an app. You use arrays to organize your app’s data. Specifically, you use the Array<\/codeVoice> type to hold elements of a single type, the array’s Element<\/codeVoice> type. An array can store any kind of elements—from integers to strings to classes.<\/Para>Swift makes it easy to create arrays in your code using an array literal: simply surround a comma-separated list of values with square brackets. Without any other information, Swift creates an array that includes the specified values, automatically inferring the array’s Element<\/codeVoice> type. For example:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>You can create an empty array by specifying the Element<\/codeVoice> type of your array in the declaration. For example:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered> = Array()]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>If you need an array that is preinitialized with a fixed number of default values, use the Array(repeating:count:)<\/codeVoice> initializer.<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>]]><\/rawHTML>Accessing Array Values]]><\/rawHTML>When you need to perform an operation on all of an array’s elements, use a for<\/codeVoice>-in<\/codeVoice> loop to iterate through the array’s contents.<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>Use the isEmpty<\/codeVoice> property to check quickly whether an array has any elements, or use the count<\/codeVoice> property to find the number of elements in the array.<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>Use the first<\/codeVoice> and last<\/codeVoice> properties for safe access to the value of the array’s first and last elements. If the array is empty, these properties are nil<\/codeVoice>.<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>You can access individual array elements through a subscript. The first element of a nonempty array is always at index zero. You can subscript an array with any integer from zero up to, but not including, the count of the array. Using a negative number or an index equal to or greater than count<\/codeVoice> triggers a runtime error. For example:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>]]><\/rawHTML>Adding and Removing Elements]]><\/rawHTML>Suppose you need to store a list of the names of students that are signed up for a class you’re teaching. During the registration period, you need to add and remove names as students add and drop the class.<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>To add single elements to the end of an array, use the append(_:)<\/codeVoice> method. Add multiple elements at the same time by passing another array or a sequence of any kind to the append(contentsOf:)<\/codeVoice> method.<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>You can add new elements in the middle of an array by using the insert(_:at:)<\/codeVoice> method for single elements and by using insert(contentsOf:at:)<\/codeVoice> to insert multiple elements from another collection or array literal. The elements at that index and later indices are shifted back to make room.<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>To remove elements from an array, use the remove(at:)<\/codeVoice>, removeSubrange(_:)<\/codeVoice>, and removeLast()<\/codeVoice> methods.<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>You can replace an existing element with a new value by assigning the new value to the subscript.<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>]]><\/rawHTML>Growing the Size of an Array]]><\/rawHTML>Every array reserves a specific amount of memory to hold its contents. When you add elements to an array and that array begins to exceed its reserved capacity, the array allocates a larger region of memory and copies its elements into the new storage. The new storage is a multiple of the old storage’s size. This exponential growth strategy means that appending an element happens in constant time, averaging the performance of many append operations. Append operations that trigger reallocation have a performance cost, but they occur less and less often as the array grows larger.<\/Para>If you know approximately how many elements you will need to store, use the reserveCapacity(_:)<\/codeVoice> method before appending to the array to avoid intermediate reallocations. Use the capacity<\/codeVoice> and count<\/codeVoice> properties to determine how many more elements the array can store without allocating larger storage.<\/Para>For arrays of most Element<\/codeVoice> types, this storage is a contiguous block of memory. For arrays with an Element<\/codeVoice> type that is a class or @objc<\/codeVoice> protocol type, this storage can be a contiguous block of memory or an instance of NSArray<\/codeVoice>. Because any arbitrary subclass of NSArray<\/codeVoice> can become an Array<\/codeVoice>, there are no guarantees about representation or efficiency in this case.<\/Para>]]><\/rawHTML>Modifying Copies of Arrays]]><\/rawHTML>Each array has an independent value that includes the values of all of its elements. For simple types such as integers and other structures, this means that when you change a value in one array, the value of that element does not change in any copies of the array. For example:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>If the elements in an array are instances of a class, the semantics are the same, though they might appear different at first. In this case, the values stored in the array are references to objects that live outside the array. If you change a reference to an object in one array, only that array has a reference to the new object. However, if two arrays contain references to the same object, you can observe changes to that object’s properties from both arrays. For example:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>Arrays, like all variable-size collections in the standard library, use copy-on-write optimization. Multiple copies of an array share the same storage until you modify one of the copies. When that happens, the array being modified replaces its storage with a uniquely owned copy of itself, which is then modified in place. Optimizations are sometimes applied that can reduce the amount of copying.<\/Para>This means that if an array is sharing storage with other copies, the first mutating operation on that array incurs the cost of copying the array. An array that is the sole owner of its storage can perform mutating operations in place.<\/Para>In the example below, a numbers<\/codeVoice> array is created along with two copies that share the same storage. When the original numbers<\/codeVoice> array is modified, it makes a unique copy of its storage before making the modification. Further modifications to numbers<\/codeVoice> are made in place, while the two copies continue to share the original storage.<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>]]><\/rawHTML>Bridging Between Array and NSArray]]><\/rawHTML>When you need to access APIs that require data in an NSArray<\/codeVoice> instance instead of Array<\/codeVoice>, use the type-cast operator (as<\/codeVoice>) to bridge your instance. For bridging to be possible, the Element<\/codeVoice> type of your array must be a class, an @objc<\/codeVoice> protocol (a protocol imported from Objective-C or marked with the @objc<\/codeVoice> attribute), or a type that bridges to a Foundation type.<\/Para>The following example shows how you can bridge an Array<\/codeVoice> instance to NSArray<\/codeVoice> to use the write(to:atomically:)<\/codeVoice> method. In this example, the colors<\/codeVoice> array can be bridged to NSArray<\/codeVoice> because the colors<\/codeVoice> array’s String<\/codeVoice> elements bridge to NSString<\/codeVoice>. The compiler prevents bridging the moreColors<\/codeVoice> array, on the other hand, because its Element<\/codeVoice> type is Optional<String><\/codeVoice>, which does not<\/emphasis> bridge to a Foundation type.<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>Bridging from Array<\/codeVoice> to NSArray<\/codeVoice> takes O(1) time and O(1) space if the array’s elements are already instances of a class or an @objc<\/codeVoice> protocol; otherwise, it takes O(n<\/emphasis>) time and space.<\/Para>When the destination array’s element type is a class or an @objc<\/codeVoice> protocol, bridging from NSArray<\/codeVoice> to Array<\/codeVoice> first calls the copy(with:)<\/codeVoice> (- copyWithZone:<\/codeVoice> in Objective-C) method on the array to get an immutable copy and then performs additional Swift bookkeeping work that takes O(1) time. For instances of NSArray<\/codeVoice> that are already immutable, copy(with:)<\/codeVoice> usually returns the same array in O(1) time; otherwise, the copying performance is unspecified. If copy(with:)<\/codeVoice> returns the same array, the instances of NSArray<\/codeVoice> and Array<\/codeVoice> share storage using the same copy-on-write optimization that is used when two instances of Array<\/codeVoice> share storage.<\/Para>When the destination array’s element type is a nonclass type that bridges to a Foundation type, bridging from NSArray<\/codeVoice> to Array<\/codeVoice> performs a bridging copy of the elements to contiguous storage in O(n<\/emphasis>) time. For example, bridging from NSArray<\/codeVoice> to Array<Int><\/codeVoice> performs such a copy. No further bridging is required when accessing elements of the Array<\/codeVoice> instance.<\/Para>The ContiguousArray<\/codeVoice> and ArraySlice<\/codeVoice> types are not bridged; instances of those types always have a contiguous block of memory as their storage.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.name" : "Array",
+        "key.doc.type" : "Class",
+        "key.fully_annotated_decl" : "@frozen<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> struct<\/syntaxtype.keyword> Array<\/decl.name><Element<\/decl.generic_type_param.name><\/decl.generic_type_param>> : _DestructorSafeContainer<\/ref.protocol><\/decl.struct>",
+        "key.groupname" : "Collection\/Array",
+        "key.is_system" : true,
+        "key.kind" : "source.lang.swift.decl.extension",
+        "key.length" : 268,
+        "key.modulename" : "Swift",
+        "key.name" : "Array",
+        "key.namelength" : 5,
+        "key.nameoffset" : 35602,
+        "key.offset" : 35592,
+        "key.parsed_declaration" : "fileprivate extension Array",
+        "key.parsed_scope.end" : 831,
+        "key.parsed_scope.start" : 820,
+        "key.substructure" : [
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.fileprivate",
+            "key.annotated_decl" : "mutating func safeDropFirst(_ count: Int<\/Type>) -> [Element<\/Type>]<\/Declaration>",
+            "key.attributes" : [
+              {
+                "key.attribute" : "source.decl.attribute.mutating",
+                "key.length" : 8,
+                "key.offset" : 35614
+              }
+            ],
+            "key.bodylength" : 182,
+            "key.bodyoffset" : 35675,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+            "key.fully_annotated_decl" : "mutating<\/syntaxtype.keyword> func<\/syntaxtype.keyword> safeDropFirst<\/decl.name>(_<\/decl.var.parameter.argument_label> count<\/decl.var.parameter.name>: Int<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> [Element<\/ref.generic_type_param>]<\/decl.function.returntype><\/decl.function.method.instance>",
+            "key.groupname" : "Collection\/Array",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 459,
-            "key.name" : "indexPath(in:)",
-            "key.namelength" : 27,
-            "key.nameoffset" : 430,
-            "key.offset" : 425,
-            "key.parsed_declaration" : "func indexPath(in section : Int) -> IndexPath",
-            "key.parsed_scope.end" : 32,
-            "key.parsed_scope.start" : 21,
+            "key.length" : 235,
+            "key.name" : "safeDropFirst(_:)",
+            "key.namelength" : 28,
+            "key.nameoffset" : 35628,
+            "key.offset" : 35623,
+            "key.parsed_declaration" : "mutating func safeDropFirst(_ count : Int) -> [Element]",
+            "key.parsed_scope.end" : 830,
+            "key.parsed_scope.start" : 822,
             "key.substructure" : [
-
+              {
+                "key.annotated_decl" : "let safeCount: Int<\/Type><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> safeCount<\/decl.name>: Int<\/ref.struct><\/decl.var.type><\/decl.var.local>",
+                "key.groupname" : "Collection\/Array",
+                "key.kind" : "source.lang.swift.decl.var.local",
+                "key.length" : 44,
+                "key.name" : "safeCount",
+                "key.namelength" : 9,
+                "key.nameoffset" : 35688,
+                "key.offset" : 35684,
+                "key.parsed_declaration" : "let safeCount = Swift.min(self.count, count)",
+                "key.parsed_scope.end" : 824,
+                "key.parsed_scope.start" : 824,
+                "key.typename" : "Int",
+                "key.typeusr" : "$sSiD",
+                "key.usr" : "s:Sa10ListableUIE13safeDropFirst33_E71D3D96C42690D19F7CD02522C562C9LLySayxGSiF0C5CountL_Sivp"
+              },
+              {
+                "key.annotated_decl" : "let values: ArraySlice<\/Type><Element><\/Declaration>",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+                "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> values<\/decl.name>: ArraySlice<\/ref.struct><Element><\/decl.var.type><\/decl.var.local>",
+                "key.groupname" : "Collection\/Array",
+                "key.kind" : "source.lang.swift.decl.var.local",
+                "key.length" : 32,
+                "key.name" : "values",
+                "key.namelength" : 6,
+                "key.nameoffset" : 35741,
+                "key.offset" : 35737,
+                "key.parsed_declaration" : "let values = self[0..",
+                "key.typeusr" : "$ss10ArraySliceVyxGD",
+                "key.usr" : "s:Sa10ListableUIE13safeDropFirst33_E71D3D96C42690D19F7CD02522C562C9LLySayxGSiF6valuesL_s10ArraySliceVyxGvp"
+              }
             ],
-            "key.typename" : "(SupplementaryKind) -> (Int) -> IndexPath",
-            "key.typeusr" : "$s2in10Foundation9IndexPathVSi_tcD",
-            "key.usr" : "s:10ListableUI17SupplementaryKindO9indexPath2in10Foundation05IndexF0VSi_tF"
+            "key.typename" : " (inout Array) -> (Int) -> [Element]",
+            "key.typeusr" : "$sySayxGSicD",
+            "key.usr" : "s:Sa10ListableUIE13safeDropFirst33_E71D3D96C42690D19F7CD02522C562C9LLySayxGSiF"
           }
         ],
-        "key.typename" : "SupplementaryKind.Type",
-        "key.typeusr" : "$s10ListableUI17SupplementaryKindOmD",
-        "key.usr" : "s:10ListableUI17SupplementaryKindO"
+        "key.typename" : "Array.Type",
+        "key.typeusr" : "$sSayxGmD",
+        "key.usr" : "s:Sa"
+      },
+      {
+        "key.accessibility" : "source.lang.swift.accessibility.fileprivate",
+        "key.annotated_decl" : "fileprivate func performLayout<Input>(for input: Input<\/Type>, _ block: (Input<\/Type>) -> ())<\/Declaration>",
+        "key.attributes" : [
+          {
+            "key.attribute" : "source.decl.attribute.fileprivate",
+            "key.length" : 11,
+            "key.offset" : 35863
+          }
+        ],
+        "key.bodylength" : 18,
+        "key.bodyoffset" : 35946,
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+        "key.fully_annotated_decl" : "fileprivate<\/syntaxtype.keyword> func<\/syntaxtype.keyword> performLayout<\/decl.name><Input<\/decl.generic_type_param.name><\/decl.generic_type_param>>(for<\/decl.var.parameter.argument_label> input<\/decl.var.parameter.name>: Input<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, _<\/decl.var.parameter.argument_label> block<\/decl.var.parameter.name>: (Input<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.free>",
+        "key.kind" : "source.lang.swift.decl.function.free",
+        "key.length" : 90,
+        "key.name" : "performLayout(for:_:)",
+        "key.namelength" : 64,
+        "key.nameoffset" : 35880,
+        "key.offset" : 35875,
+        "key.parsed_declaration" : "fileprivate func performLayout(for input : Input, _ block : (Input) -> ())",
+        "key.parsed_scope.end" : 837,
+        "key.parsed_scope.start" : 834,
+        "key.substructure" : [
+          {
+            "key.annotated_decl" : "Input<\/Declaration>",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Layout\/Table\/TableListLayout.swift",
+            "key.fully_annotated_decl" : "Input<\/decl.generic_type_param.name><\/decl.generic_type_param>",
+            "key.kind" : "source.lang.swift.decl.generic_type_param",
+            "key.length" : 5,
+            "key.name" : "Input",
+            "key.namelength" : 5,
+            "key.nameoffset" : 35894,
+            "key.offset" : 35894,
+            "key.parsed_declaration" : "fileprivate func performLayout (for: Input, (Input) -> ()) -> ()",
+        "key.typeusr" : "$s3for_yx_yxXEtcluD",
+        "key.usr" : "s:10ListableUI13performLayout33_E71D3D96C42690D19F7CD02522C562C9LL3for_yx_yxXEtlF"
       }
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LayoutDirection.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LayoutDirection.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 7174,
     "key.offset" : 0,
@@ -48727,8 +50738,8 @@
             "Para" : "When writing custom list layouts, `LayoutDirection` provides many helper methods to convert the coordinates of `CGSize`, `CGPoint`, `CGRect`, etc, to horizontal or vertical layout directions. See the extensions in this file for more details."
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LayoutDirection.swift",
-        "key.doc.full_as_xml" : "LayoutDirection<\/Name>s:10ListableUI15LayoutDirectionO<\/USR>public enum LayoutDirection : Hashable<\/Declaration>Describes the given direction \/ axis that a layout uses when flowing its content.<\/Para><\/Abstract>Traditional table views \/ lists you see use a .vertical<\/codeVoice> layout direction, however, you may want to use .horizontal<\/codeVoice> for embedded lists that scroll horizontally in a larger vertical list, similar to what you would see in the iOS App Store, or for a list that users can scroll left to right.<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>When writing custom list layouts, LayoutDirection<\/codeVoice> provides many helper methods to convert the coordinates of CGSize<\/codeVoice>, CGPoint<\/codeVoice>, CGRect<\/codeVoice>, etc, to horizontal or vertical layout directions. See the extensions in this file for more details.<\/Para><\/Discussion><\/CommentParts><\/Other>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LayoutDirection.swift",
+        "key.doc.full_as_xml" : "LayoutDirection<\/Name>s:10ListableUI15LayoutDirectionO<\/USR>public enum LayoutDirection : Hashable<\/Declaration>Describes the given direction \/ axis that a layout uses when flowing its content.<\/Para><\/Abstract>Traditional table views \/ lists you see use a .vertical<\/codeVoice> layout direction, however, you may want to use .horizontal<\/codeVoice> for embedded lists that scroll horizontally in a larger vertical list, similar to what you would see in the iOS App Store, or for a list that users can scroll left to right.<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>When writing custom list layouts, LayoutDirection<\/codeVoice> provides many helper methods to convert the coordinates of CGSize<\/codeVoice>, CGPoint<\/codeVoice>, CGRect<\/codeVoice>, etc, to horizontal or vertical layout directions. See the extensions in this file for more details.<\/Para><\/Discussion><\/CommentParts><\/Other>",
         "key.doc.line" : 42,
         "key.doc.name" : "LayoutDirection",
         "key.doc.type" : "Other",
@@ -48741,7 +50752,7 @@
             "key.offset" : 1576
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LayoutDirection.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LayoutDirection.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> enum<\/syntaxtype.keyword> LayoutDirection<\/decl.name> : Hashable<\/ref.protocol><\/decl.enum>",
         "key.inheritedtypes" : [
           {
@@ -48776,14 +50787,14 @@
                     "CodeListing" : ""
                   }
                 ],
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LayoutDirection.swift",
-                "key.doc.full_as_xml" : "vertical<\/Name>s:10ListableUI15LayoutDirectionO8verticalyA2CmF<\/USR><\/Declaration>A list layout which lays out top to bottom.<\/Para><\/Abstract><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Other>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LayoutDirection.swift",
+                "key.doc.full_as_xml" : "vertical<\/Name>s:10ListableUI15LayoutDirectionO8verticalyA2CmF<\/USR><\/Declaration>A list layout which lays out top to bottom.<\/Para><\/Abstract><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Other>",
                 "key.doc.line" : 58,
                 "key.doc.name" : "vertical",
                 "key.doc.type" : "Other",
                 "key.doclength" : 492,
                 "key.docoffset" : 1591,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LayoutDirection.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LayoutDirection.swift",
                 "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> vertical<\/decl.name><\/decl.enumelement>",
                 "key.kind" : "source.lang.swift.decl.enumelement",
                 "key.length" : 8,
@@ -48818,14 +50829,14 @@
                     "CodeListing" : ""
                   }
                 ],
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LayoutDirection.swift",
-                "key.doc.full_as_xml" : "horizontal<\/Name>s:10ListableUI15LayoutDirectionO10horizontalyA2CmF<\/USR><\/Declaration>A list layout which lays out left to right (or leading to trailing, depending on implementation).<\/Para><\/Abstract><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Other>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LayoutDirection.swift",
+                "key.doc.full_as_xml" : "horizontal<\/Name>s:10ListableUI15LayoutDirectionO10horizontalyA2CmF<\/USR><\/Declaration>A list layout which lays out left to right (or leading to trailing, depending on implementation).<\/Para><\/Abstract><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Other>",
                 "key.doc.line" : 69,
                 "key.doc.name" : "horizontal",
                 "key.doc.type" : "Other",
                 "key.doclength" : 512,
                 "key.docoffset" : 2110,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LayoutDirection.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LayoutDirection.swift",
                 "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> horizontal<\/decl.name><\/decl.enumelement>",
                 "key.kind" : "source.lang.swift.decl.enumelement",
                 "key.length" : 10,
@@ -48864,12 +50875,12 @@
             "Para" : "When writing custom list layouts, `LayoutDirection` provides many helper methods to convert the coordinates of `CGSize`, `CGPoint`, `CGRect`, etc, to horizontal or vertical layout directions. See the extensions in this file for more details."
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LayoutDirection.swift",
-        "key.doc.full_as_xml" : "LayoutDirection<\/Name>s:10ListableUI15LayoutDirectionO<\/USR>public enum LayoutDirection : Hashable<\/Declaration>Describes the given direction \/ axis that a layout uses when flowing its content.<\/Para><\/Abstract>Traditional table views \/ lists you see use a .vertical<\/codeVoice> layout direction, however, you may want to use .horizontal<\/codeVoice> for embedded lists that scroll horizontally in a larger vertical list, similar to what you would see in the iOS App Store, or for a list that users can scroll left to right.<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>When writing custom list layouts, LayoutDirection<\/codeVoice> provides many helper methods to convert the coordinates of CGSize<\/codeVoice>, CGPoint<\/codeVoice>, CGRect<\/codeVoice>, etc, to horizontal or vertical layout directions. See the extensions in this file for more details.<\/Para><\/Discussion><\/CommentParts><\/Other>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LayoutDirection.swift",
+        "key.doc.full_as_xml" : "LayoutDirection<\/Name>s:10ListableUI15LayoutDirectionO<\/USR>public enum LayoutDirection : Hashable<\/Declaration>Describes the given direction \/ axis that a layout uses when flowing its content.<\/Para><\/Abstract>Traditional table views \/ lists you see use a .vertical<\/codeVoice> layout direction, however, you may want to use .horizontal<\/codeVoice> for embedded lists that scroll horizontally in a larger vertical list, similar to what you would see in the iOS App Store, or for a list that users can scroll left to right.<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>When writing custom list layouts, LayoutDirection<\/codeVoice> provides many helper methods to convert the coordinates of CGSize<\/codeVoice>, CGPoint<\/codeVoice>, CGRect<\/codeVoice>, etc, to horizontal or vertical layout directions. See the extensions in this file for more details.<\/Para><\/Discussion><\/CommentParts><\/Other>",
         "key.doc.line" : 42,
         "key.doc.name" : "LayoutDirection",
         "key.doc.type" : "Other",
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LayoutDirection.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LayoutDirection.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> enum<\/syntaxtype.keyword> LayoutDirection<\/decl.name> : Hashable<\/ref.protocol><\/decl.enum>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 878,
@@ -48896,14 +50907,14 @@
             "key.doc.column" : 17,
             "key.doc.comment" : "When writing a layout, use this method to return differing values based on\nthe direction. The passed closures will only be evaluated if they are for the current direction.",
             "key.doc.declaration" : "public func `switch`(vertical: () -> Value, horizontal: () -> Value) -> Value",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LayoutDirection.swift",
-            "key.doc.full_as_xml" : "switch(vertical:horizontal:)<\/Name>s:10ListableUI15LayoutDirectionO6switch8vertical10horizontalxxyXE_xyXEtlF<\/USR>public func `switch`<Value>(vertical: () -> Value, horizontal: () -> Value) -> Value<\/Declaration>When writing a layout, use this method to return differing values based on the direction. The passed closures will only be evaluated if they are for the current direction.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LayoutDirection.swift",
+            "key.doc.full_as_xml" : "switch(vertical:horizontal:)<\/Name>s:10ListableUI15LayoutDirectionO6switch8vertical10horizontalxxyXE_xyXEtlF<\/USR>public func `switch`<Value>(vertical: () -> Value, horizontal: () -> Value) -> Value<\/Declaration>When writing a layout, use this method to return differing values based on the direction. The passed closures will only be evaluated if they are for the current direction.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 77,
             "key.doc.name" : "switch(vertical:horizontal:)",
             "key.doc.type" : "Function",
             "key.doclength" : 184,
             "key.docoffset" : 2678,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LayoutDirection.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LayoutDirection.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> `switch`<\/decl.name><Value<\/decl.generic_type_param.name><\/decl.generic_type_param>>(vertical<\/decl.var.parameter.argument_label>: () -> Value<\/ref.generic_type_param><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>, horizontal<\/decl.var.parameter.argument_label>: () -> Value<\/ref.generic_type_param><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>) -> Value<\/ref.generic_type_param><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 207,
@@ -48922,7 +50933,7 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "Value<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LayoutDirection.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LayoutDirection.swift",
                 "key.fully_annotated_decl" : "Value<\/decl.generic_type_param.name><\/decl.generic_type_param>",
                 "key.kind" : "source.lang.swift.decl.generic_type_param",
                 "key.length" : 5,
@@ -48957,14 +50968,14 @@
             "key.doc.column" : 17,
             "key.doc.comment" : "When writing a layout, use this method to return differing values based on\nthe direction. The passed autoclosures will only be evaluated if they are for the current direction.",
             "key.doc.declaration" : "public func `switch`(vertical: @autoclosure () -> Value, horizontal: @autoclosure () -> Value) -> Value",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LayoutDirection.swift",
-            "key.doc.full_as_xml" : "switch(vertical:horizontal:)<\/Name>s:10ListableUI15LayoutDirectionO6switch8vertical10horizontalxxyXK_xyXKtlF<\/USR>public func `switch`<Value>(vertical: @autoclosure () -> Value, horizontal: @autoclosure () -> Value) -> Value<\/Declaration>When writing a layout, use this method to return differing values based on the direction. The passed autoclosures will only be evaluated if they are for the current direction.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LayoutDirection.swift",
+            "key.doc.full_as_xml" : "switch(vertical:horizontal:)<\/Name>s:10ListableUI15LayoutDirectionO6switch8vertical10horizontalxxyXK_xyXKtlF<\/USR>public func `switch`<Value>(vertical: @autoclosure () -> Value, horizontal: @autoclosure () -> Value) -> Value<\/Declaration>When writing a layout, use this method to return differing values based on the direction. The passed autoclosures will only be evaluated if they are for the current direction.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 86,
             "key.doc.name" : "switch(vertical:horizontal:)",
             "key.doc.type" : "Function",
             "key.doclength" : 188,
             "key.docoffset" : 3090,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LayoutDirection.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LayoutDirection.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> `switch`<\/decl.name><Value<\/decl.generic_type_param.name><\/decl.generic_type_param>>(vertical<\/decl.var.parameter.argument_label>: @autoclosure<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> () -> Value<\/ref.generic_type_param><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>, horizontal<\/decl.var.parameter.argument_label>: @autoclosure<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> () -> Value<\/ref.generic_type_param><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>) -> Value<\/ref.generic_type_param><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 233,
@@ -48983,7 +50994,7 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "Value<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LayoutDirection.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LayoutDirection.swift",
                 "key.fully_annotated_decl" : "Value<\/decl.generic_type_param.name><\/decl.generic_type_param>",
                 "key.kind" : "source.lang.swift.decl.generic_type_param",
                 "key.length" : 5,
@@ -49025,12 +51036,12 @@
             "Para" : "When writing custom list layouts, `LayoutDirection` provides many helper methods to convert the coordinates of `CGSize`, `CGPoint`, `CGRect`, etc, to horizontal or vertical layout directions. See the extensions in this file for more details."
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LayoutDirection.swift",
-        "key.doc.full_as_xml" : "LayoutDirection<\/Name>s:10ListableUI15LayoutDirectionO<\/USR>public enum LayoutDirection : Hashable<\/Declaration>Describes the given direction \/ axis that a layout uses when flowing its content.<\/Para><\/Abstract>Traditional table views \/ lists you see use a .vertical<\/codeVoice> layout direction, however, you may want to use .horizontal<\/codeVoice> for embedded lists that scroll horizontally in a larger vertical list, similar to what you would see in the iOS App Store, or for a list that users can scroll left to right.<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>When writing custom list layouts, LayoutDirection<\/codeVoice> provides many helper methods to convert the coordinates of CGSize<\/codeVoice>, CGPoint<\/codeVoice>, CGRect<\/codeVoice>, etc, to horizontal or vertical layout directions. See the extensions in this file for more details.<\/Para><\/Discussion><\/CommentParts><\/Other>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LayoutDirection.swift",
+        "key.doc.full_as_xml" : "LayoutDirection<\/Name>s:10ListableUI15LayoutDirectionO<\/USR>public enum LayoutDirection : Hashable<\/Declaration>Describes the given direction \/ axis that a layout uses when flowing its content.<\/Para><\/Abstract>Traditional table views \/ lists you see use a .vertical<\/codeVoice> layout direction, however, you may want to use .horizontal<\/codeVoice> for embedded lists that scroll horizontally in a larger vertical list, similar to what you would see in the iOS App Store, or for a list that users can scroll left to right.<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>When writing custom list layouts, LayoutDirection<\/codeVoice> provides many helper methods to convert the coordinates of CGSize<\/codeVoice>, CGPoint<\/codeVoice>, CGRect<\/codeVoice>, etc, to horizontal or vertical layout directions. See the extensions in this file for more details.<\/Para><\/Discussion><\/CommentParts><\/Other>",
         "key.doc.line" : 42,
         "key.doc.name" : "LayoutDirection",
         "key.doc.type" : "Other",
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LayoutDirection.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LayoutDirection.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> enum<\/syntaxtype.keyword> LayoutDirection<\/decl.name> : Hashable<\/ref.protocol><\/decl.enum>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 3646,
@@ -49065,14 +51076,14 @@
             "key.doc.column" : 17,
             "key.doc.comment" : "`.vertical`: Returns the **height** of the provided size.\n`.horizontal`: Returns the **width** of the provided size.",
             "key.doc.declaration" : "public func height(for size: CGSize) -> CGFloat",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LayoutDirection.swift",
-            "key.doc.full_as_xml" : "height(for:)<\/Name>s:10ListableUI15LayoutDirectionO6height3for12CoreGraphics7CGFloatVSo6CGSizeV_tF<\/USR>public func height(for size: CGSize) -> CGFloat<\/Declaration>.vertical<\/codeVoice>: Returns the height<\/bold> of the provided size. .horizontal<\/codeVoice>: Returns the width<\/bold> of the provided size.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LayoutDirection.swift",
+            "key.doc.full_as_xml" : "height(for:)<\/Name>s:10ListableUI15LayoutDirectionO6height3for12CoreGraphics7CGFloatVSo6CGSizeV_tF<\/USR>public func height(for size: CGSize) -> CGFloat<\/Declaration>.vertical<\/codeVoice>: Returns the height<\/bold> of the provided size. .horizontal<\/codeVoice>: Returns the width<\/bold> of the provided size.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 103,
             "key.doc.name" : "height(for:)",
             "key.doc.type" : "Function",
             "key.doclength" : 129,
             "key.docoffset" : 3617,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LayoutDirection.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LayoutDirection.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> height<\/decl.name>(for<\/decl.var.parameter.argument_label> size<\/decl.var.parameter.name>: CGSize<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGFloat<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 172,
@@ -49105,14 +51116,14 @@
             "key.doc.column" : 17,
             "key.doc.comment" : "`.vertical`: Returns the **width** of the provided size.\n`.horizontal`: Returns the **height** of the provided size.",
             "key.doc.declaration" : "public func width(for size: CGSize) -> CGFloat",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LayoutDirection.swift",
-            "key.doc.full_as_xml" : "width(for:)<\/Name>s:10ListableUI15LayoutDirectionO5width3for12CoreGraphics7CGFloatVSo6CGSizeV_tF<\/USR>public func width(for size: CGSize) -> CGFloat<\/Declaration>.vertical<\/codeVoice>: Returns the width<\/bold> of the provided size. .horizontal<\/codeVoice>: Returns the height<\/bold> of the provided size.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LayoutDirection.swift",
+            "key.doc.full_as_xml" : "width(for:)<\/Name>s:10ListableUI15LayoutDirectionO5width3for12CoreGraphics7CGFloatVSo6CGSizeV_tF<\/USR>public func width(for size: CGSize) -> CGFloat<\/Declaration>.vertical<\/codeVoice>: Returns the width<\/bold> of the provided size. .horizontal<\/codeVoice>: Returns the height<\/bold> of the provided size.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 113,
             "key.doc.name" : "width(for:)",
             "key.doc.type" : "Function",
             "key.doclength" : 129,
             "key.docoffset" : 3939,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LayoutDirection.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LayoutDirection.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> width<\/decl.name>(for<\/decl.var.parameter.argument_label> size<\/decl.var.parameter.name>: CGSize<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGFloat<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 171,
@@ -49145,14 +51156,14 @@
             "key.doc.column" : 17,
             "key.doc.comment" : "`.vertical`: Returns a `CGPoint` made with `(x, y)`.\n`.horizontal`: Returns a `CGPoint` made with `(y, x)`.",
             "key.doc.declaration" : "public func point(x: CGFloat, y: CGFloat) -> CGPoint",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LayoutDirection.swift",
-            "key.doc.full_as_xml" : "point(x:y:)<\/Name>s:10ListableUI15LayoutDirectionO5point1x1ySo7CGPointV12CoreGraphics7CGFloatV_AKtF<\/USR>public func point(x: CGFloat, y: CGFloat) -> CGPoint<\/Declaration>.vertical<\/codeVoice>: Returns a CGPoint<\/codeVoice> made with (x, y)<\/codeVoice>. .horizontal<\/codeVoice>: Returns a CGPoint<\/codeVoice> made with (y, x)<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LayoutDirection.swift",
+            "key.doc.full_as_xml" : "point(x:y:)<\/Name>s:10ListableUI15LayoutDirectionO5point1x1ySo7CGPointV12CoreGraphics7CGFloatV_AKtF<\/USR>public func point(x: CGFloat, y: CGFloat) -> CGPoint<\/Declaration>.vertical<\/codeVoice>: Returns a CGPoint<\/codeVoice> made with (x, y)<\/codeVoice>. .horizontal<\/codeVoice>: Returns a CGPoint<\/codeVoice> made with (y, x)<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 123,
             "key.doc.name" : "point(x:y:)",
             "key.doc.type" : "Function",
             "key.doclength" : 120,
             "key.docoffset" : 4260,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LayoutDirection.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LayoutDirection.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> point<\/decl.name>(x<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, y<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGPoint<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 195,
@@ -49185,14 +51196,14 @@
             "key.doc.column" : 17,
             "key.doc.comment" : "`.vertical`: Returns the provided size.\n`.horizontal`: Returns a size created by swapping the width and height.",
             "key.doc.declaration" : "public func size(for size: CGSize) -> CGSize",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LayoutDirection.swift",
-            "key.doc.full_as_xml" : "size(for:)<\/Name>s:10ListableUI15LayoutDirectionO4size3forSo6CGSizeVAG_tF<\/USR>public func size(for size: CGSize) -> CGSize<\/Declaration>.vertical<\/codeVoice>: Returns the provided size. .horizontal<\/codeVoice>: Returns a size created by swapping the width and height.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LayoutDirection.swift",
+            "key.doc.full_as_xml" : "size(for:)<\/Name>s:10ListableUI15LayoutDirectionO4size3forSo6CGSizeVAG_tF<\/USR>public func size(for size: CGSize) -> CGSize<\/Declaration>.vertical<\/codeVoice>: Returns the provided size. .horizontal<\/codeVoice>: Returns a size created by swapping the width and height.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 133,
             "key.doc.name" : "size(for:)",
             "key.doc.type" : "Function",
             "key.doclength" : 124,
             "key.docoffset" : 4596,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LayoutDirection.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LayoutDirection.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> size<\/decl.name>(for<\/decl.var.parameter.argument_label> size<\/decl.var.parameter.name>: CGSize<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGSize<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 240,
@@ -49230,14 +51241,14 @@
             "key.doc.column" : 17,
             "key.doc.comment" : "`.vertical`: Returns a `CGSize` made with `(width, height)`.\n`.horizontal`: Returns a `CGSize` made with `(height, width)`.",
             "key.doc.declaration" : "public func size(width: CGFloat, height: CGFloat) -> CGSize",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LayoutDirection.swift",
-            "key.doc.full_as_xml" : "size(width:height:)<\/Name>s:10ListableUI15LayoutDirectionO4size5width6heightSo6CGSizeV12CoreGraphics7CGFloatV_AKtF<\/USR>public func size(width: CGFloat, height: CGFloat) -> CGSize<\/Declaration>.vertical<\/codeVoice>: Returns a CGSize<\/codeVoice> made with (width, height)<\/codeVoice>. .horizontal<\/codeVoice>: Returns a CGSize<\/codeVoice> made with (height, width)<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LayoutDirection.swift",
+            "key.doc.full_as_xml" : "size(width:height:)<\/Name>s:10ListableUI15LayoutDirectionO4size5width6heightSo6CGSizeV12CoreGraphics7CGFloatV_AKtF<\/USR>public func size(width: CGFloat, height: CGFloat) -> CGSize<\/Declaration>.vertical<\/codeVoice>: Returns a CGSize<\/codeVoice> made with (width, height)<\/codeVoice>. .horizontal<\/codeVoice>: Returns a CGSize<\/codeVoice> made with (height, width)<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 143,
             "key.doc.name" : "size(width:height:)",
             "key.doc.type" : "Function",
             "key.doclength" : 136,
             "key.docoffset" : 4981,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LayoutDirection.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LayoutDirection.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> size<\/decl.name>(width<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, height<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGSize<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 236,
@@ -49275,14 +51286,14 @@
             "key.doc.column" : 17,
             "key.doc.comment" : "`.vertical`: Returns the **maxY** of the frame.\n`.horizontal`: Returns the **maxX** of the frame.",
             "key.doc.declaration" : "public func maxY(for frame: CGRect) -> CGFloat",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LayoutDirection.swift",
-            "key.doc.full_as_xml" : "maxY(for:)<\/Name>s:10ListableUI15LayoutDirectionO4maxY3for12CoreGraphics7CGFloatVSo6CGRectV_tF<\/USR>public func maxY(for frame: CGRect) -> CGFloat<\/Declaration>.vertical<\/codeVoice>: Returns the maxY<\/bold> of the frame. .horizontal<\/codeVoice>: Returns the maxX<\/bold> of the frame.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LayoutDirection.swift",
+            "key.doc.full_as_xml" : "maxY(for:)<\/Name>s:10ListableUI15LayoutDirectionO4maxY3for12CoreGraphics7CGFloatVSo6CGRectV_tF<\/USR>public func maxY(for frame: CGRect) -> CGFloat<\/Declaration>.vertical<\/codeVoice>: Returns the maxY<\/bold> of the frame. .horizontal<\/codeVoice>: Returns the maxX<\/bold> of the frame.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 153,
             "key.doc.name" : "maxY(for:)",
             "key.doc.type" : "Function",
             "key.doclength" : 110,
             "key.docoffset" : 5374,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LayoutDirection.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LayoutDirection.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> maxY<\/decl.name>(for<\/decl.var.parameter.argument_label> frame<\/decl.var.parameter.name>: CGRect<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGFloat<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 170,
@@ -49315,14 +51326,14 @@
             "key.doc.column" : 17,
             "key.doc.comment" : "`.vertical`: Returns the **maxX** of the frame.\n`.horizontal`: Returns the **maxY** of the frame.",
             "key.doc.declaration" : "public func maxX(for frame: CGRect) -> CGFloat",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LayoutDirection.swift",
-            "key.doc.full_as_xml" : "maxX(for:)<\/Name>s:10ListableUI15LayoutDirectionO4maxX3for12CoreGraphics7CGFloatVSo6CGRectV_tF<\/USR>public func maxX(for frame: CGRect) -> CGFloat<\/Declaration>.vertical<\/codeVoice>: Returns the maxX<\/bold> of the frame. .horizontal<\/codeVoice>: Returns the maxY<\/bold> of the frame.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LayoutDirection.swift",
+            "key.doc.full_as_xml" : "maxX(for:)<\/Name>s:10ListableUI15LayoutDirectionO4maxX3for12CoreGraphics7CGFloatVSo6CGRectV_tF<\/USR>public func maxX(for frame: CGRect) -> CGFloat<\/Declaration>.vertical<\/codeVoice>: Returns the maxX<\/bold> of the frame. .horizontal<\/codeVoice>: Returns the maxY<\/bold> of the frame.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 163,
             "key.doc.name" : "maxX(for:)",
             "key.doc.type" : "Function",
             "key.doclength" : 110,
             "key.docoffset" : 5675,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LayoutDirection.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LayoutDirection.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> maxX<\/decl.name>(for<\/decl.var.parameter.argument_label> frame<\/decl.var.parameter.name>: CGRect<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGFloat<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 170,
@@ -49355,14 +51366,14 @@
             "key.doc.column" : 17,
             "key.doc.comment" : "`.vertical`: Returns the **x** of the point.\n`.horizontal`: Returns the **y** of the point.",
             "key.doc.declaration" : "public func x(for point: CGPoint) -> CGFloat",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LayoutDirection.swift",
-            "key.doc.full_as_xml" : "x(for:)<\/Name>s:10ListableUI15LayoutDirectionO1x3for12CoreGraphics7CGFloatVSo7CGPointV_tF<\/USR>public func x(for point: CGPoint) -> CGFloat<\/Declaration>.vertical<\/codeVoice>: Returns the x<\/bold> of the point. .horizontal<\/codeVoice>: Returns the y<\/bold> of the point.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LayoutDirection.swift",
+            "key.doc.full_as_xml" : "x(for:)<\/Name>s:10ListableUI15LayoutDirectionO1x3for12CoreGraphics7CGFloatVSo7CGPointV_tF<\/USR>public func x(for point: CGPoint) -> CGFloat<\/Declaration>.vertical<\/codeVoice>: Returns the x<\/bold> of the point. .horizontal<\/codeVoice>: Returns the y<\/bold> of the point.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 173,
             "key.doc.name" : "x(for:)",
             "key.doc.type" : "Function",
             "key.doclength" : 104,
             "key.docoffset" : 5976,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LayoutDirection.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LayoutDirection.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> x<\/decl.name>(for<\/decl.var.parameter.argument_label> point<\/decl.var.parameter.name>: CGPoint<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGFloat<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 162,
@@ -49395,14 +51406,14 @@
             "key.doc.column" : 17,
             "key.doc.comment" : "`.vertical`: Returns the **y** of the point.\n`.horizontal`: Returns the **x** of the point.",
             "key.doc.declaration" : "public func y(for point: CGPoint) -> CGFloat",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LayoutDirection.swift",
-            "key.doc.full_as_xml" : "y(for:)<\/Name>s:10ListableUI15LayoutDirectionO1y3for12CoreGraphics7CGFloatVSo7CGPointV_tF<\/USR>public func y(for point: CGPoint) -> CGFloat<\/Declaration>.vertical<\/codeVoice>: Returns the y<\/bold> of the point. .horizontal<\/codeVoice>: Returns the x<\/bold> of the point.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LayoutDirection.swift",
+            "key.doc.full_as_xml" : "y(for:)<\/Name>s:10ListableUI15LayoutDirectionO1y3for12CoreGraphics7CGFloatVSo7CGPointV_tF<\/USR>public func y(for point: CGPoint) -> CGFloat<\/Declaration>.vertical<\/codeVoice>: Returns the y<\/bold> of the point. .horizontal<\/codeVoice>: Returns the x<\/bold> of the point.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 183,
             "key.doc.name" : "y(for:)",
             "key.doc.type" : "Function",
             "key.doclength" : 104,
             "key.docoffset" : 6263,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LayoutDirection.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LayoutDirection.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> y<\/decl.name>(for<\/decl.var.parameter.argument_label> point<\/decl.var.parameter.name>: CGPoint<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGFloat<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 162,
@@ -49435,14 +51446,14 @@
             "key.doc.column" : 17,
             "key.doc.comment" : "`.vertical`: Returns the **top** of the insets.\n`.horizontal`: Returns the **left** of the insets.",
             "key.doc.declaration" : "public func top(with insets: UIEdgeInsets) -> CGFloat",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LayoutDirection.swift",
-            "key.doc.full_as_xml" : "top(with:)<\/Name>s:10ListableUI15LayoutDirectionO3top4with12CoreGraphics7CGFloatVSo12UIEdgeInsetsV_tF<\/USR>public func top(with insets: UIEdgeInsets) -> CGFloat<\/Declaration>.vertical<\/codeVoice>: Returns the top<\/bold> of the insets. .horizontal<\/codeVoice>: Returns the left<\/bold> of the insets.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LayoutDirection.swift",
+            "key.doc.full_as_xml" : "top(with:)<\/Name>s:10ListableUI15LayoutDirectionO3top4with12CoreGraphics7CGFloatVSo12UIEdgeInsetsV_tF<\/USR>public func top(with insets: UIEdgeInsets) -> CGFloat<\/Declaration>.vertical<\/codeVoice>: Returns the top<\/bold> of the insets. .horizontal<\/codeVoice>: Returns the left<\/bold> of the insets.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 193,
             "key.doc.name" : "top(with:)",
             "key.doc.type" : "Function",
             "key.doclength" : 111,
             "key.docoffset" : 6550,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LayoutDirection.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LayoutDirection.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> top<\/decl.name>(with<\/decl.var.parameter.argument_label> insets<\/decl.var.parameter.name>: UIEdgeInsets<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGFloat<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 178,
@@ -49475,14 +51486,14 @@
             "key.doc.column" : 17,
             "key.doc.comment" : "`.vertical`: Returns the **bottom** of the insets.\n`.horizontal`: Returns the **right** of the insets.",
             "key.doc.declaration" : "public func bottom(with insets: UIEdgeInsets) -> CGFloat",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LayoutDirection.swift",
-            "key.doc.full_as_xml" : "bottom(with:)<\/Name>s:10ListableUI15LayoutDirectionO6bottom4with12CoreGraphics7CGFloatVSo12UIEdgeInsetsV_tF<\/USR>public func bottom(with insets: UIEdgeInsets) -> CGFloat<\/Declaration>.vertical<\/codeVoice>: Returns the bottom<\/bold> of the insets. .horizontal<\/codeVoice>: Returns the right<\/bold> of the insets.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LayoutDirection.swift",
+            "key.doc.full_as_xml" : "bottom(with:)<\/Name>s:10ListableUI15LayoutDirectionO6bottom4with12CoreGraphics7CGFloatVSo12UIEdgeInsetsV_tF<\/USR>public func bottom(with insets: UIEdgeInsets) -> CGFloat<\/Declaration>.vertical<\/codeVoice>: Returns the bottom<\/bold> of the insets. .horizontal<\/codeVoice>: Returns the right<\/bold> of the insets.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 203,
             "key.doc.name" : "bottom(with:)",
             "key.doc.type" : "Function",
             "key.doclength" : 115,
             "key.docoffset" : 6860,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LayoutDirection.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LayoutDirection.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> bottom<\/decl.name>(with<\/decl.var.parameter.argument_label> insets<\/decl.var.parameter.name>: UIEdgeInsets<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGFloat<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 185,
@@ -49508,7 +51519,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListActions.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListActions.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 6530,
     "key.offset" : 0,
@@ -49550,14 +51561,14 @@
             "CodeListing" : ""
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListActions.swift",
-        "key.doc.full_as_xml" : "ListActions<\/Name>s:10ListableUI11ListActionsC<\/USR>public final class ListActions<\/Declaration>ListActions<\/codeVoice> is an type that you can use to gain access to actions to perform on a List<\/codeVoice> (for example, scrolling to a given item in the list) when used when you otherwise do not have a reference to the underlying list view (for example, when using ListViewController<\/codeVoice> or BlueprintUILists<\/codeVoice>).<\/Para><\/Abstract>You also gain access to a ListActions<\/codeVoice> instance when using ListStateObserver<\/codeVoice>, in each registered callback.<\/Para>You usually use ListActions<\/codeVoice> by keeping an instance on your view controller, and then assign it when providing list content. Once the list is updated with the content, the ListActions<\/codeVoice> will be registered with the list to perform actions.<\/Para>A ListActions<\/codeVoice> behaviors are split into internal sub-objects, such as Scrolling<\/codeVoice> and ViewControllerTransitioning<\/codeVoice>. You can pass these separate objects around if your code invokes actions from several different places.<\/Para>Only one ListActions<\/codeVoice> can be registered in a list at a time. If you register a new one, it replaces the last one, and any actions performed on the last instance become no-ops.<\/Para>]]><\/rawHTML>Example]]><\/rawHTML><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListActions.swift",
+        "key.doc.full_as_xml" : "ListActions<\/Name>s:10ListableUI11ListActionsC<\/USR>public final class ListActions<\/Declaration>ListActions<\/codeVoice> is an type that you can use to gain access to actions to perform on a List<\/codeVoice> (for example, scrolling to a given item in the list) when used when you otherwise do not have a reference to the underlying list view (for example, when using ListViewController<\/codeVoice> or BlueprintUILists<\/codeVoice>).<\/Para><\/Abstract>You also gain access to a ListActions<\/codeVoice> instance when using ListStateObserver<\/codeVoice>, in each registered callback.<\/Para>You usually use ListActions<\/codeVoice> by keeping an instance on your view controller, and then assign it when providing list content. Once the list is updated with the content, the ListActions<\/codeVoice> will be registered with the list to perform actions.<\/Para>A ListActions<\/codeVoice> behaviors are split into internal sub-objects, such as Scrolling<\/codeVoice> and ViewControllerTransitioning<\/codeVoice>. You can pass these separate objects around if your code invokes actions from several different places.<\/Para>Only one ListActions<\/codeVoice> can be registered in a list at a time. If you register a new one, it replaces the last one, and any actions performed on the last instance become no-ops.<\/Para>]]><\/rawHTML>Example]]><\/rawHTML><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 58,
         "key.doc.name" : "ListActions",
         "key.doc.type" : "Class",
         "key.doclength" : 1986,
         "key.docoffset" : 109,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListActions.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListActions.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> ListActions<\/decl.name><\/decl.class>",
         "key.kind" : "source.lang.swift.decl.class",
         "key.length" : 4421,
@@ -49582,14 +51593,14 @@
             "key.doc.column" : 16,
             "key.doc.comment" : "Actions which allow scrolling to individual items in a list.",
             "key.doc.declaration" : "public let scrolling: Scrolling",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListActions.swift",
-            "key.doc.full_as_xml" : "scrolling<\/Name>s:10ListableUI11ListActionsC9scrollingAC9ScrollingCvp<\/USR>public let scrolling: Scrolling<\/Declaration>Actions which allow scrolling to individual items in a list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListActions.swift",
+            "key.doc.full_as_xml" : "scrolling<\/Name>s:10ListableUI11ListActionsC9scrollingAC9ScrollingCvp<\/USR>public let scrolling: Scrolling<\/Declaration>Actions which allow scrolling to individual items in a list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 61,
             "key.doc.name" : "scrolling",
             "key.doc.type" : "Other",
             "key.doclength" : 65,
             "key.docoffset" : 2141,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListActions.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListActions.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> let<\/syntaxtype.keyword> scrolling<\/decl.name>: Scrolling<\/ref.class><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 25,
@@ -49617,14 +51628,14 @@
             "key.doc.column" : 16,
             "key.doc.comment" : "Actions which allow hooking up your list to the view controller transitioning APIs.",
             "key.doc.declaration" : "public let viewControllerTransitioning: ViewControllerTransitioning",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListActions.swift",
-            "key.doc.full_as_xml" : "viewControllerTransitioning<\/Name>s:10ListableUI11ListActionsC27viewControllerTransitioningAC04ViewfG0Cvp<\/USR>public let viewControllerTransitioning: ViewControllerTransitioning<\/Declaration>Actions which allow hooking up your list to the view controller transitioning APIs.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListActions.swift",
+            "key.doc.full_as_xml" : "viewControllerTransitioning<\/Name>s:10ListableUI11ListActionsC27viewControllerTransitioningAC04ViewfG0Cvp<\/USR>public let viewControllerTransitioning: ViewControllerTransitioning<\/Declaration>Actions which allow hooking up your list to the view controller transitioning APIs.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 64,
             "key.doc.name" : "viewControllerTransitioning",
             "key.doc.type" : "Other",
             "key.doclength" : 88,
             "key.docoffset" : 2252,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListActions.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListActions.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> let<\/syntaxtype.keyword> viewControllerTransitioning<\/decl.name>: ViewControllerTransitioning<\/ref.class><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 61,
@@ -49654,14 +51665,14 @@
             "key.doc.column" : 12,
             "key.doc.comment" : "Creates and returns an actions object which can be registered with a list view.",
             "key.doc.declaration" : "public init()",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListActions.swift",
-            "key.doc.full_as_xml" : "init()<\/Name>s:10ListableUI11ListActionsCACycfc<\/USR>public init()<\/Declaration>Creates and returns an actions object which can be registered with a list view.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListActions.swift",
+            "key.doc.full_as_xml" : "init()<\/Name>s:10ListableUI11ListActionsCACycfc<\/USR>public init()<\/Declaration>Creates and returns an actions object which can be registered with a list view.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 67,
             "key.doc.name" : "init()",
             "key.doc.type" : "Function",
             "key.doclength" : 84,
             "key.docoffset" : 2422,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListActions.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListActions.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>()<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 124,
@@ -49691,7 +51702,7 @@
             ],
             "key.bodylength" : 154,
             "key.bodyoffset" : 2682,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListActions.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListActions.swift",
             "key.fully_annotated_decl" : "weak<\/syntaxtype.keyword> var<\/syntaxtype.keyword> listView<\/decl.name>: ListView<\/ref.class><\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 181,
@@ -49727,14 +51738,14 @@
             "key.doc.column" : 24,
             "key.doc.comment" : "Provides access to scrolling actions within a list view.",
             "key.doc.declaration" : "public final class ListableUI.ListActions.Scrolling",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListActions.swift",
-            "key.doc.full_as_xml" : "Scrolling<\/Name>s:10ListableUI11ListActionsC9ScrollingC<\/USR>public final class ListableUI.ListActions.Scrolling<\/Declaration>Provides access to scrolling actions within a list view.<\/Para><\/Abstract><\/CommentParts><\/Class>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListActions.swift",
+            "key.doc.full_as_xml" : "Scrolling<\/Name>s:10ListableUI11ListActionsC9ScrollingC<\/USR>public final class ListableUI.ListActions.Scrolling<\/Declaration>Provides access to scrolling actions within a list view.<\/Para><\/Abstract><\/CommentParts><\/Class>",
             "key.doc.line" : 80,
             "key.doc.name" : "Scrolling",
             "key.doc.type" : "Class",
             "key.doclength" : 61,
             "key.docoffset" : 2843,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListActions.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListActions.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> ListActions<\/ref.class>.Scrolling<\/decl.name><\/decl.class>",
             "key.kind" : "source.lang.swift.decl.class",
             "key.length" : 3013,
@@ -49758,7 +51769,7 @@
                 ],
                 "key.bodylength" : 0,
                 "key.bodyoffset" : 2971,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListActions.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListActions.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>()<\/decl.function.constructor>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 9,
@@ -49788,7 +51799,7 @@
                     "key.offset" : 2990
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListActions.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListActions.swift",
                 "key.fully_annotated_decl" : "fileprivate<\/syntaxtype.keyword> weak<\/syntaxtype.keyword> var<\/syntaxtype.keyword> listView<\/decl.name>: ListView<\/ref.class><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 24,
@@ -49814,7 +51825,7 @@
                     "key.offset" : 3049
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListActions.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListActions.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> typealias<\/syntaxtype.keyword> ListActions<\/ref.class>.Scrolling<\/ref.class>.ScrollCompletion<\/decl.name> = ListView<\/ref.class>.ScrollCompletion<\/ref.typealias><\/decl.typealias>",
                 "key.kind" : "source.lang.swift.decl.typealias",
                 "key.length" : 54,
@@ -49849,14 +51860,14 @@
                 "key.doc.column" : 21,
                 "key.doc.comment" : "\nScrolls to the provided item, with the provided positioning.\nIf the item is contained in the list, true is returned. If it is not, false is returned.",
                 "key.doc.declaration" : "public func scrollTo(item: AnyItem, position: ScrollPosition, animation: ScrollAnimation = .none, completion: @escaping ScrollCompletion = { _ in }) -> Bool",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListActions.swift",
-                "key.doc.full_as_xml" : "scrollTo(item:position:animation:completion:)<\/Name>s:10ListableUI11ListActionsC9ScrollingC8scrollTo4item8position9animation10completionSbAA7AnyItem_p_AA14ScrollPositionVAA0N9AnimationOySbctF<\/USR>public func scrollTo(item: AnyItem, position: ScrollPosition, animation: ScrollAnimation = .none, completion: @escaping ScrollCompletion = { _ in }) -> Bool<\/Declaration>Scrolls to the provided item, with the provided positioning. If the item is contained in the list, true is returned. If it is not, false is returned.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListActions.swift",
+                "key.doc.full_as_xml" : "scrollTo(item:position:animation:completion:)<\/Name>s:10ListableUI11ListActionsC9ScrollingC8scrollTo4item8position9animation10completionSbAA7AnyItem_p_AA14ScrollPositionVAA0N9AnimationOySbctF<\/USR>public func scrollTo(item: AnyItem, position: ScrollPosition, animation: ScrollAnimation = .none, completion: @escaping ScrollCompletion = { _ in }) -> Bool<\/Declaration>Scrolls to the provided item, with the provided positioning. If the item is contained in the list, true is returned. If it is not, false is returned.<\/Para><\/Abstract><\/CommentParts><\/Function>",
                 "key.doc.line" : 93,
                 "key.doc.name" : "scrollTo(item:position:animation:completion:)",
                 "key.doc.type" : "Function",
                 "key.doclength" : 190,
                 "key.docoffset" : 3128,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListActions.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListActions.swift",
                 "key.fully_annotated_decl" : "@discardableResult<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> scrollTo<\/decl.name>(item<\/decl.var.parameter.argument_label>: AnyItem<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>, position<\/decl.var.parameter.argument_label>: ScrollPosition<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, animation<\/decl.var.parameter.argument_label>: ScrollAnimation<\/ref.enum><\/decl.var.parameter.type> = .none<\/decl.var.parameter>, completion<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> ScrollCompletion<\/ref.typealias><\/decl.var.parameter.type> = { _ in }<\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 534,
@@ -49899,14 +51910,14 @@
                 "key.doc.column" : 21,
                 "key.doc.comment" : "\nScrolls to the item with the provided identifier, with the provided positioning.\nIf there is more than one item with the same identifier, the list scrolls to the first.\nIf the item is contained in the list, true is returned. If it is not, false is returned.",
                 "key.doc.declaration" : "public func scrollTo(item: AnyIdentifier, position: ScrollPosition, animation: ScrollAnimation = .none, completion: @escaping ScrollCompletion = { _ in }) -> Bool",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListActions.swift",
-                "key.doc.full_as_xml" : "scrollTo(item:position:animation:completion:)<\/Name>s:10ListableUI11ListActionsC9ScrollingC8scrollTo4item8position9animation10completionSbAA13AnyIdentifierC_AA14ScrollPositionVAA0N9AnimationOySbctF<\/USR>public func scrollTo(item: AnyIdentifier, position: ScrollPosition, animation: ScrollAnimation = .none, completion: @escaping ScrollCompletion = { _ in }) -> Bool<\/Declaration>Scrolls to the item with the provided identifier, with the provided positioning. If there is more than one item with the same identifier, the list scrolls to the first. If the item is contained in the list, true is returned. If it is not, false is returned.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListActions.swift",
+                "key.doc.full_as_xml" : "scrollTo(item:position:animation:completion:)<\/Name>s:10ListableUI11ListActionsC9ScrollingC8scrollTo4item8position9animation10completionSbAA13AnyIdentifierC_AA14ScrollPositionVAA0N9AnimationOySbctF<\/USR>public func scrollTo(item: AnyIdentifier, position: ScrollPosition, animation: ScrollAnimation = .none, completion: @escaping ScrollCompletion = { _ in }) -> Bool<\/Declaration>Scrolls to the item with the provided identifier, with the provided positioning. If there is more than one item with the same identifier, the list scrolls to the first. If the item is contained in the list, true is returned. If it is not, false is returned.<\/Para><\/Abstract><\/CommentParts><\/Function>",
                 "key.doc.line" : 118,
                 "key.doc.name" : "scrollTo(item:position:animation:completion:)",
                 "key.doc.type" : "Function",
                 "key.doclength" : 310,
                 "key.docoffset" : 3912,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListActions.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListActions.swift",
                 "key.fully_annotated_decl" : "@discardableResult<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> scrollTo<\/decl.name>(item<\/decl.var.parameter.argument_label>: AnyIdentifier<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, position<\/decl.var.parameter.argument_label>: ScrollPosition<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, animation<\/decl.var.parameter.argument_label>: ScrollAnimation<\/ref.enum><\/decl.var.parameter.type> = .none<\/decl.var.parameter>, completion<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> ScrollCompletion<\/ref.typealias><\/decl.var.parameter.type> = { _ in }<\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 544,
@@ -49949,14 +51960,14 @@
                 "key.doc.column" : 21,
                 "key.doc.comment" : "Scrolls to the very top of the list, which includes displaying the list header.",
                 "key.doc.declaration" : "public func scrollToTop(animation: ScrollAnimation = .none, completion: @escaping ScrollCompletion = { _ in }) -> Bool",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListActions.swift",
-                "key.doc.full_as_xml" : "scrollToTop(animation:completion:)<\/Name>s:10ListableUI11ListActionsC9ScrollingC11scrollToTop9animation10completionSbAA15ScrollAnimationO_ySbctF<\/USR>public func scrollToTop(animation: ScrollAnimation = .none, completion: @escaping ScrollCompletion = { _ in }) -> Bool<\/Declaration>Scrolls to the very top of the list, which includes displaying the list header.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListActions.swift",
+                "key.doc.full_as_xml" : "scrollToTop(animation:completion:)<\/Name>s:10ListableUI11ListActionsC9ScrollingC11scrollToTop9animation10completionSbAA15ScrollAnimationO_ySbctF<\/USR>public func scrollToTop(animation: ScrollAnimation = .none, completion: @escaping ScrollCompletion = { _ in }) -> Bool<\/Declaration>Scrolls to the very top of the list, which includes displaying the list header.<\/Para><\/Abstract><\/CommentParts><\/Function>",
                 "key.doc.line" : 139,
                 "key.doc.name" : "scrollToTop(animation:completion:)",
                 "key.doc.type" : "Function",
                 "key.doclength" : 84,
                 "key.docoffset" : 4826,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListActions.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListActions.swift",
                 "key.fully_annotated_decl" : "@discardableResult<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> scrollToTop<\/decl.name>(animation<\/decl.var.parameter.argument_label>: ScrollAnimation<\/ref.enum><\/decl.var.parameter.type> = .none<\/decl.var.parameter>, completion<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> ScrollCompletion<\/ref.typealias><\/decl.var.parameter.type> = { _ in }<\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 409,
@@ -49994,14 +52005,14 @@
                 "key.doc.column" : 21,
                 "key.doc.comment" : "Scrolls to the last item in the list. If the list contains no items, no action is performed.",
                 "key.doc.declaration" : "public func scrollToLastItem(animation: ScrollAnimation = .none, completion: @escaping ScrollCompletion = { _ in }) -> Bool",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListActions.swift",
-                "key.doc.full_as_xml" : "scrollToLastItem(animation:completion:)<\/Name>s:10ListableUI11ListActionsC9ScrollingC16scrollToLastItem9animation10completionSbAA15ScrollAnimationO_ySbctF<\/USR>public func scrollToLastItem(animation: ScrollAnimation = .none, completion: @escaping ScrollCompletion = { _ in }) -> Bool<\/Declaration>Scrolls to the last item in the list. If the list contains no items, no action is performed.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListActions.swift",
+                "key.doc.full_as_xml" : "scrollToLastItem(animation:completion:)<\/Name>s:10ListableUI11ListActionsC9ScrollingC16scrollToLastItem9animation10completionSbAA15ScrollAnimationO_ySbctF<\/USR>public func scrollToLastItem(animation: ScrollAnimation = .none, completion: @escaping ScrollCompletion = { _ in }) -> Bool<\/Declaration>Scrolls to the last item in the list. If the list contains no items, no action is performed.<\/Para><\/Abstract><\/CommentParts><\/Function>",
                 "key.doc.line" : 156,
                 "key.doc.name" : "scrollToLastItem(animation:completion:)",
                 "key.doc.type" : "Function",
                 "key.doclength" : 97,
                 "key.docoffset" : 5371,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListActions.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListActions.swift",
                 "key.fully_annotated_decl" : "@discardableResult<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> scrollToLastItem<\/decl.name>(animation<\/decl.var.parameter.argument_label>: ScrollAnimation<\/ref.enum><\/decl.var.parameter.type> = .none<\/decl.var.parameter>, completion<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> ScrollCompletion<\/ref.typealias><\/decl.var.parameter.type> = { _ in }<\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 418,
@@ -50044,14 +52055,14 @@
             "key.doc.column" : 24,
             "key.doc.comment" : "Provides access to view controller transitioning options in a list.",
             "key.doc.declaration" : "public final class ListableUI.ListActions.ViewControllerTransitioning",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListActions.swift",
-            "key.doc.full_as_xml" : "ViewControllerTransitioning<\/Name>s:10ListableUI11ListActionsC27ViewControllerTransitioningC<\/USR>public final class ListableUI.ListActions.ViewControllerTransitioning<\/Declaration>Provides access to view controller transitioning options in a list.<\/Para><\/Abstract><\/CommentParts><\/Class>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListActions.swift",
+            "key.doc.full_as_xml" : "ViewControllerTransitioning<\/Name>s:10ListableUI11ListActionsC27ViewControllerTransitioningC<\/USR>public final class ListableUI.ListActions.ViewControllerTransitioning<\/Declaration>Provides access to view controller transitioning options in a list.<\/Para><\/Abstract><\/CommentParts><\/Class>",
             "key.doc.line" : 173,
             "key.doc.name" : "ViewControllerTransitioning",
             "key.doc.type" : "Class",
             "key.doclength" : 72,
             "key.docoffset" : 5944,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListActions.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListActions.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> ListActions<\/ref.class>.ViewControllerTransitioning<\/decl.name><\/decl.class>",
             "key.kind" : "source.lang.swift.decl.class",
             "key.length" : 494,
@@ -50075,7 +52086,7 @@
                 ],
                 "key.bodylength" : 0,
                 "key.bodyoffset" : 6101,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListActions.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListActions.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>()<\/decl.function.constructor>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 9,
@@ -50105,7 +52116,7 @@
                     "key.offset" : 6120
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListActions.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListActions.swift",
                 "key.fully_annotated_decl" : "fileprivate<\/syntaxtype.keyword> weak<\/syntaxtype.keyword> var<\/syntaxtype.keyword> listView<\/decl.name>: ListView<\/ref.class><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 24,
@@ -50126,7 +52137,7 @@
                 "key.annotated_decl" : "func clearSelectionDuringViewWillAppear(alongside coordinator: UIViewControllerTransitionCoordinator<\/Type>?, animated: Bool<\/Type>)<\/Declaration>",
                 "key.bodylength" : 212,
                 "key.bodyoffset" : 6308,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListActions.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListActions.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> clearSelectionDuringViewWillAppear<\/decl.name>(alongside<\/decl.var.parameter.argument_label> coordinator<\/decl.var.parameter.name>: UIViewControllerTransitionCoordinator<\/ref.protocol>?<\/decl.var.parameter.type><\/decl.var.parameter>, animated<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 342,
@@ -50157,7 +52168,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListEnvironment.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListEnvironment.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 2283,
     "key.offset" : 0,
@@ -50191,14 +52202,14 @@
             "CodeListing" : ""
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListEnvironment.swift",
-        "key.doc.full_as_xml" : "ListEnvironment<\/Name>s:10ListableUI15ListEnvironmentV<\/USR>public struct ListEnvironment<\/Declaration>An environment of keys and values that are passed to every ItemContent<\/codeVoice> and HeaderFooter<\/codeVoice> during layout and measurement, to allow passing down data.<\/Para><\/Abstract>This type is similar to the SwiftUI or Blueprint Environment<\/codeVoice>, where you define a ListEnvironmentKey<\/codeVoice>, and then provide a custom getter and setter to read and write the content:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>You can retrieve the ListEnvironment<\/codeVoice> through the info<\/codeVoice> object passed in ItemContent<\/codeVoice> and HeaderFooter<\/codeVoice>’s apply(to:for:with:)<\/codeVoice> methods.<\/Para><\/zCodeLineNumbered>,]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListEnvironment.swift",
+        "key.doc.full_as_xml" : "ListEnvironment<\/Name>s:10ListableUI15ListEnvironmentV<\/USR>public struct ListEnvironment<\/Declaration>An environment of keys and values that are passed to every ItemContent<\/codeVoice> and HeaderFooter<\/codeVoice> during layout and measurement, to allow passing down data.<\/Para><\/Abstract>This type is similar to the SwiftUI or Blueprint Environment<\/codeVoice>, where you define a ListEnvironmentKey<\/codeVoice>, and then provide a custom getter and setter to read and write the content:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>You can retrieve the ListEnvironment<\/codeVoice> through the info<\/codeVoice> object passed in ItemContent<\/codeVoice> and HeaderFooter<\/codeVoice>’s apply(to:for:with:)<\/codeVoice> methods.<\/Para><\/zCodeLineNumbered>,]]><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 44,
         "key.doc.name" : "ListEnvironment",
         "key.doc.type" : "Class",
         "key.doclength" : 1092,
         "key.docoffset" : 95,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListEnvironment.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListEnvironment.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> ListEnvironment<\/decl.name><\/decl.struct>",
         "key.kind" : "source.lang.swift.decl.struct",
         "key.length" : 690,
@@ -50223,14 +52234,14 @@
             "key.doc.column" : 23,
             "key.doc.comment" : "A default \"empty\" environment, with no values overridden.\nEach key will return its default value.",
             "key.doc.declaration" : "public static let empty: ListableUI.ListEnvironment",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListEnvironment.swift",
-            "key.doc.full_as_xml" : "empty<\/Name>s:10ListableUI15ListEnvironmentV5emptyACvpZ<\/USR>public static let empty: ListableUI.ListEnvironment<\/Declaration>A default “empty” environment, with no values overridden. Each key will return its default value.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListEnvironment.swift",
+            "key.doc.full_as_xml" : "empty<\/Name>s:10ListableUI15ListEnvironmentV5emptyACvpZ<\/USR>public static let empty: ListableUI.ListEnvironment<\/Declaration>A default “empty” environment, with no values overridden. Each key will return its default value.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 48,
             "key.doc.name" : "empty",
             "key.doc.type" : "Other",
             "key.doclength" : 110,
             "key.docoffset" : 1228,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListEnvironment.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListEnvironment.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> static<\/syntaxtype.keyword> let<\/syntaxtype.keyword> empty<\/decl.name>: ListEnvironment<\/ref.struct><\/decl.var.type><\/decl.var.static>",
             "key.kind" : "source.lang.swift.decl.var.static",
             "key.length" : 36,
@@ -50260,14 +52271,14 @@
             "key.doc.column" : 12,
             "key.doc.comment" : "Gets or sets an environment value by its key.",
             "key.doc.declaration" : "public subscript(key: Key.Type) -> Key.Value where Key : ListableUI.ListEnvironmentKey { get set }",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListEnvironment.swift",
-            "key.doc.full_as_xml" : "subscript(_:)<\/Name>s:10ListableUI15ListEnvironmentVy5ValueQzxmcAA0cD3KeyRzluip<\/USR>public subscript<Key>(key: Key.Type) -> Key.Value where Key : ListableUI.ListEnvironmentKey { get set }<\/Declaration>Gets or sets an environment value by its key.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListEnvironment.swift",
+            "key.doc.full_as_xml" : "subscript(_:)<\/Name>s:10ListableUI15ListEnvironmentVy5ValueQzxmcAA0cD3KeyRzluip<\/USR>public subscript<Key>(key: Key.Type) -> Key.Value where Key : ListableUI.ListEnvironmentKey { get set }<\/Declaration>Gets or sets an environment value by its key.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 51,
             "key.doc.name" : "subscript(_:)",
             "key.doc.type" : "Other",
             "key.doclength" : 50,
             "key.docoffset" : 1391,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListEnvironment.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListEnvironment.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> subscript<\/syntaxtype.keyword><Key<\/decl.generic_type_param.name><\/decl.generic_type_param>>(key<\/decl.var.parameter.name>: Key<\/ref.generic_type_param>.Type<\/decl.var.parameter.type><\/decl.var.parameter>) -> Key<\/ref.generic_type_param>.Value<\/ref.associatedtype><\/decl.function.returntype> where<\/syntaxtype.keyword> Key : ListEnvironmentKey<\/ref.protocol><\/decl.generic_type_requirement> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.function.subscript>",
             "key.kind" : "source.lang.swift.decl.function.subscript",
             "key.length" : 371,
@@ -50282,7 +52293,7 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "Key<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListEnvironment.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListEnvironment.swift",
                 "key.fully_annotated_decl" : "Key<\/decl.generic_type_param.name><\/decl.generic_type_param>",
                 "key.kind" : "source.lang.swift.decl.generic_type_param",
                 "key.length" : 3,
@@ -50304,7 +52315,7 @@
           },
           {
             "key.annotated_decl" : "let objectId: ObjectIdentifier<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListEnvironment.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListEnvironment.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> objectId<\/decl.name>: ObjectIdentifier<\/ref.struct><\/decl.var.type><\/decl.var.local>",
             "key.kind" : "source.lang.swift.decl.var.local",
             "key.length" : 36,
@@ -50329,7 +52340,7 @@
                 "key.offset" : 1833
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListEnvironment.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListEnvironment.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> var<\/syntaxtype.keyword> values<\/decl.name>: [ObjectIdentifier<\/ref.struct> : Any<\/syntaxtype.keyword>]<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 41,
@@ -50370,14 +52381,14 @@
             "Para" : "See `ListEnvironment` for more info and examples."
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListEnvironment.swift",
-        "key.doc.full_as_xml" : "ListEnvironmentKey<\/Name>s:10ListableUI18ListEnvironmentKeyP<\/USR>public protocol ListEnvironmentKey<\/Declaration>Defines a value stored in the ListEnvironment<\/codeVoice> of a list.<\/Para><\/Abstract>See ListEnvironment<\/codeVoice> for more info and examples.<\/Para><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListEnvironment.swift",
+        "key.doc.full_as_xml" : "ListEnvironmentKey<\/Name>s:10ListableUI18ListEnvironmentKeyP<\/USR>public protocol ListEnvironmentKey<\/Declaration>Defines a value stored in the ListEnvironment<\/codeVoice> of a list.<\/Para><\/Abstract>See ListEnvironment<\/codeVoice> for more info and examples.<\/Para><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 73,
         "key.doc.name" : "ListEnvironmentKey",
         "key.doc.type" : "Class",
         "key.doclength" : 121,
         "key.docoffset" : 1887,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListEnvironment.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListEnvironment.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> ListEnvironmentKey<\/decl.name><\/decl.protocol>",
         "key.kind" : "source.lang.swift.decl.protocol",
         "key.length" : 267,
@@ -50395,14 +52406,14 @@
             "key.doc.column" : 20,
             "key.doc.comment" : "The type of value stored by this key.",
             "key.doc.declaration" : "associatedtype Value",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListEnvironment.swift",
-            "key.doc.full_as_xml" : "Value<\/Name>s:10ListableUI18ListEnvironmentKeyP5ValueQa<\/USR>associatedtype Value<\/Declaration>The type of value stored by this key.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListEnvironment.swift",
+            "key.doc.full_as_xml" : "Value<\/Name>s:10ListableUI18ListEnvironmentKeyP5ValueQa<\/USR>associatedtype Value<\/Declaration>The type of value stored by this key.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 76,
             "key.doc.name" : "Value",
             "key.doc.type" : "Other",
             "key.doclength" : 42,
             "key.docoffset" : 2054,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListEnvironment.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListEnvironment.swift",
             "key.fully_annotated_decl" : "associatedtype<\/syntaxtype.keyword> Value<\/decl.name><\/decl.associatedtype>",
             "key.kind" : "source.lang.swift.decl.associatedtype",
             "key.length" : 20,
@@ -50425,14 +52436,14 @@
             "key.doc.column" : 16,
             "key.doc.comment" : "The default value that will be vended by an `Environment` for this key if no other value has been set.",
             "key.doc.declaration" : "static var defaultValue: Self.Value { get }",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListEnvironment.swift",
-            "key.doc.full_as_xml" : "defaultValue<\/Name>s:10ListableUI18ListEnvironmentKeyP12defaultValue0G0QzvpZ<\/USR>static var defaultValue: Self.Value { get }<\/Declaration>The default value that will be vended by an Environment<\/codeVoice> for this key if no other value has been set.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListEnvironment.swift",
+            "key.doc.full_as_xml" : "defaultValue<\/Name>s:10ListableUI18ListEnvironmentKeyP12defaultValue0G0QzvpZ<\/USR>static var defaultValue: Self.Value { get }<\/Declaration>The default value that will be vended by an Environment<\/codeVoice> for this key if no other value has been set.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 79,
             "key.doc.name" : "defaultValue",
             "key.doc.type" : "Other",
             "key.doclength" : 107,
             "key.docoffset" : 2126,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListEnvironment.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListEnvironment.swift",
             "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> var<\/syntaxtype.keyword> defaultValue<\/decl.name>: Self<\/ref.generic_type_param>.Value<\/ref.associatedtype><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.static>",
             "key.kind" : "source.lang.swift.decl.var.static",
             "key.length" : 43,
@@ -50455,9 +52466,9 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListProperties.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListProperties.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
-    "key.length" : 8126,
+    "key.length" : 8179,
     "key.offset" : 0,
     "key.substructure" : [
       {
@@ -50470,7 +52481,7 @@
             "key.offset" : 1370
           }
         ],
-        "key.bodylength" : 6723,
+        "key.bodylength" : 6776,
         "key.bodyoffset" : 1400,
         "key.doc.column" : 15,
         "key.doc.comment" : "\nThe `ListProperties` object describes all of the given values needed to configure\nand display a list on screen. It is usually used in declarative APIs which deal in descriptions of views\n(eg, Blueprint, SwiftUI, `ListViewController`) in place of referencing and managing a view directly.\n\nFor example, in `BlueprintUILists`, you create a Listable `List` element like so:\n```\nList { list in\n    list.appearance = .myAppearance\n    list.layout = .myLayout\n\n    list(\"first section\") { section in\n        section += MyItem()\n        section += MyItem()\n    }\n}\n```\nIn this example, the `list` parameter to the trailing closure is a `ListProperties` object.\n\nOther Uses\n----------\nYou may even find using `ListProperties` useful if you do have a reference to the underlying `ListView`\ninstance (eg in your own `UIViewController`).\n\nIn these cases, you can apply `ListProperties` to a `ListView` by calling one of the\navailable `func configure(with:)` methods. Having a separate method which describes and provides\nall the properties to configure your `ListView` allows for a more singular flow of data through your application,\nand eases in testability.",
@@ -50492,17 +52503,17 @@
             "Para" : "In these cases, you can apply `ListProperties` to a `ListView` by calling one of the available `func configure(with:)` methods. Having a separate method which describes and provides all the properties to configure your `ListView` allows for a more singular flow of data through your application, and eases in testability."
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListProperties.swift",
-        "key.doc.full_as_xml" : "ListProperties<\/Name>s:10ListableUI14ListPropertiesV<\/USR>public struct ListProperties<\/Declaration>The ListProperties<\/codeVoice> object describes all of the given values needed to configure and display a list on screen. It is usually used in declarative APIs which deal in descriptions of views (eg, Blueprint, SwiftUI, ListViewController<\/codeVoice>) in place of referencing and managing a view directly.<\/Para><\/Abstract>For example, in BlueprintUILists<\/codeVoice>, you create a Listable List<\/codeVoice> element like so:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>In this example, the list<\/codeVoice> parameter to the trailing closure is a ListProperties<\/codeVoice> object.<\/Para>]]><\/rawHTML>Other Uses]]><\/rawHTML>You may even find using ListProperties<\/codeVoice> useful if you do have a reference to the underlying ListView<\/codeVoice> instance (eg in your own UIViewController<\/codeVoice>).<\/Para>In these cases, you can apply ListProperties<\/codeVoice> to a ListView<\/codeVoice> by calling one of the available func configure(with:)<\/codeVoice> methods. Having a separate method which describes and provides all the properties to configure your ListView<\/codeVoice> allows for a more singular flow of data through your application, and eases in testability.<\/Para><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListProperties.swift",
+        "key.doc.full_as_xml" : "ListProperties<\/Name>s:10ListableUI14ListPropertiesV<\/USR>public struct ListProperties<\/Declaration>The ListProperties<\/codeVoice> object describes all of the given values needed to configure and display a list on screen. It is usually used in declarative APIs which deal in descriptions of views (eg, Blueprint, SwiftUI, ListViewController<\/codeVoice>) in place of referencing and managing a view directly.<\/Para><\/Abstract>For example, in BlueprintUILists<\/codeVoice>, you create a Listable List<\/codeVoice> element like so:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>In this example, the list<\/codeVoice> parameter to the trailing closure is a ListProperties<\/codeVoice> object.<\/Para>]]><\/rawHTML>Other Uses]]><\/rawHTML>You may even find using ListProperties<\/codeVoice> useful if you do have a reference to the underlying ListView<\/codeVoice> instance (eg in your own UIViewController<\/codeVoice>).<\/Para>In these cases, you can apply ListProperties<\/codeVoice> to a ListView<\/codeVoice> by calling one of the available func configure(with:)<\/codeVoice> methods. Having a separate method which describes and provides all the properties to configure your ListView<\/codeVoice> allows for a more singular flow of data through your application, and eases in testability.<\/Para><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 39,
         "key.doc.name" : "ListProperties",
         "key.doc.type" : "Class",
         "key.doclength" : 1258,
         "key.docoffset" : 112,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListProperties.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListProperties.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> ListProperties<\/decl.name><\/decl.struct>",
         "key.kind" : "source.lang.swift.decl.struct",
-        "key.length" : 6747,
+        "key.length" : 6800,
         "key.name" : "ListProperties",
         "key.namelength" : 14,
         "key.nameoffset" : 1384,
@@ -50532,14 +52543,14 @@
             "key.doc.column" : 16,
             "key.doc.comment" : "If the changes applied should be animated or not.\nDefaults to `true` if `ListProperties` is created inside an existing `UIView` animation block.",
             "key.doc.declaration" : "public var animatesChanges: Bool",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListProperties.swift",
-            "key.doc.full_as_xml" : "animatesChanges<\/Name>s:10ListableUI14ListPropertiesV15animatesChangesSbvp<\/USR>public var animatesChanges: Bool<\/Declaration>If the changes applied should be animated or not. Defaults to true<\/codeVoice> if ListProperties<\/codeVoice> is created inside an existing UIView<\/codeVoice> animation block.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListProperties.swift",
+            "key.doc.full_as_xml" : "animatesChanges<\/Name>s:10ListableUI14ListPropertiesV15animatesChangesSbvp<\/USR>public var animatesChanges: Bool<\/Declaration>If the changes applied should be animated or not. Defaults to true<\/codeVoice> if ListProperties<\/codeVoice> is created inside an existing UIView<\/codeVoice> animation block.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 47,
             "key.doc.name" : "animatesChanges",
             "key.doc.type" : "Other",
             "key.doclength" : 157,
             "key.docoffset" : 1454,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListProperties.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListProperties.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> animatesChanges<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 26,
@@ -50581,14 +52592,14 @@
                 "CodeListing" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListProperties.swift",
-            "key.doc.full_as_xml" : "content<\/Name>s:10ListableUI14ListPropertiesV7contentAA7ContentVvp<\/USR>public var content: Content<\/Declaration>The content displayed by the list. Note that you do not need to reference list.content<\/codeVoice> to add sections to the content. ListProperties<\/codeVoice> has helper methods which allow directly adding sections to the list<\/codeVoice>:<\/Para><\/Abstract><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListProperties.swift",
+            "key.doc.full_as_xml" : "content<\/Name>s:10ListableUI14ListPropertiesV7contentAA7ContentVvp<\/USR>public var content: Content<\/Declaration>The content displayed by the list. Note that you do not need to reference list.content<\/codeVoice> to add sections to the content. ListProperties<\/codeVoice> has helper methods which allow directly adding sections to the list<\/codeVoice>:<\/Para><\/Abstract><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Other>",
             "key.doc.line" : 67,
             "key.doc.name" : "content",
             "key.doc.type" : "Other",
             "key.doclength" : 438,
             "key.docoffset" : 1703,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListProperties.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListProperties.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> content<\/decl.name>: Content<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 21,
@@ -50617,14 +52628,14 @@
             "key.doc.column" : 16,
             "key.doc.comment" : "The environment associated with the List.",
             "key.doc.declaration" : "public var environment: ListEnvironment",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListProperties.swift",
-            "key.doc.full_as_xml" : "environment<\/Name>s:10ListableUI14ListPropertiesV11environmentAA0C11EnvironmentVvp<\/USR>public var environment: ListEnvironment<\/Declaration>The environment associated with the List.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListProperties.swift",
+            "key.doc.full_as_xml" : "environment<\/Name>s:10ListableUI14ListPropertiesV11environmentAA0C11EnvironmentVvp<\/USR>public var environment: ListEnvironment<\/Declaration>The environment associated with the List.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 70,
             "key.doc.name" : "environment",
             "key.doc.type" : "Other",
             "key.doclength" : 46,
             "key.docoffset" : 2183,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListProperties.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListProperties.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> environment<\/decl.name>: ListEnvironment<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 33,
@@ -50655,11 +52666,11 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 2891
+                "key.offset" : 2927
               }
             ],
             "key.doc.column" : 16,
-            "key.doc.comment" : "The layout type to use with the list. Defaults to `.list()`, aka a list\nwith no spacing and full width headers, footers, and content.\n\nIf you would like to change the layout to either a new type, or provide\na `list` with different configuration options, assign it here.\n\n```\nlist.layout = .list {\n    $0.stickySectionHeaders = true\n\n    $0.layout.padding = UIEdgeInsets(top: 10, left: 10, bottom: 10, right: 10)\n    $0.layout.itemSpacing = 10.0\n}\n```",
+            "key.doc.comment" : "The layout type to use with the list. Defaults to `.table()`, aka a table\nwith no spacing and full width headers, footers, and content – basically a plain table view.\n\nIf you would like to change the layout to either a new type, or provide\na `list` with different configuration options, assign it here.\n\n```\nlist.layout = .table {\n    $0.stickySectionHeaders = true\n\n    $0.layout.padding = UIEdgeInsets(top: 10, left: 10, bottom: 10, right: 10)\n    $0.layout.itemSpacing = 10.0\n}\n```",
             "key.doc.declaration" : "public var layout: LayoutDescription",
             "key.doc.discussion" : [
               {
@@ -50669,21 +52680,21 @@
                 "CodeListing" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListProperties.swift",
-            "key.doc.full_as_xml" : "layout<\/Name>s:10ListableUI14ListPropertiesV6layoutAA17LayoutDescriptionVvp<\/USR>public var layout: LayoutDescription<\/Declaration>The layout type to use with the list. Defaults to .list()<\/codeVoice>, aka a list with no spacing and full width headers, footers, and content.<\/Para><\/Abstract>If you would like to change the layout to either a new type, or provide a list<\/codeVoice> with different configuration options, assign it here.<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListProperties.swift",
+            "key.doc.full_as_xml" : "layout<\/Name>s:10ListableUI14ListPropertiesV6layoutAA17LayoutDescriptionVvp<\/USR>public var layout: LayoutDescription<\/Declaration>The layout type to use with the list. Defaults to .table()<\/codeVoice>, aka a table with no spacing and full width headers, footers, and content – basically a plain table view.<\/Para><\/Abstract>If you would like to change the layout to either a new type, or provide a list<\/codeVoice> with different configuration options, assign it here.<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Other>",
             "key.doc.line" : 90,
             "key.doc.name" : "layout",
             "key.doc.type" : "Other",
-            "key.doclength" : 556,
+            "key.doclength" : 592,
             "key.docoffset" : 2331,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListProperties.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListProperties.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> layout<\/decl.name>: LayoutDescription<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 30,
             "key.name" : "layout",
             "key.namelength" : 6,
-            "key.nameoffset" : 2902,
-            "key.offset" : 2898,
+            "key.nameoffset" : 2938,
+            "key.offset" : 2934,
             "key.parsed_declaration" : "public var layout : LayoutDescription",
             "key.parsed_scope.end" : 90,
             "key.parsed_scope.start" : 90,
@@ -50699,27 +52710,27 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 2983
+                "key.offset" : 3019
               }
             ],
             "key.doc.column" : 16,
             "key.doc.comment" : "The appearance to use with the list.",
             "key.doc.declaration" : "public var appearance: Appearance",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListProperties.swift",
-            "key.doc.full_as_xml" : "appearance<\/Name>s:10ListableUI14ListPropertiesV10appearanceAA10AppearanceVvp<\/USR>public var appearance: Appearance<\/Declaration>The appearance to use with the list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListProperties.swift",
+            "key.doc.full_as_xml" : "appearance<\/Name>s:10ListableUI14ListPropertiesV10appearanceAA10AppearanceVvp<\/USR>public var appearance: Appearance<\/Declaration>The appearance to use with the list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 93,
             "key.doc.name" : "appearance",
             "key.doc.type" : "Other",
             "key.doclength" : 41,
-            "key.docoffset" : 2938,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListProperties.swift",
+            "key.docoffset" : 2974,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListProperties.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> appearance<\/decl.name>: Appearance<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 27,
             "key.name" : "appearance",
             "key.namelength" : 10,
-            "key.nameoffset" : 2994,
-            "key.offset" : 2990,
+            "key.nameoffset" : 3030,
+            "key.offset" : 3026,
             "key.parsed_declaration" : "public var appearance : Appearance",
             "key.parsed_scope.end" : 93,
             "key.parsed_scope.start" : 93,
@@ -50735,27 +52746,27 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 3080
+                "key.offset" : 3116
               }
             ],
             "key.doc.column" : 16,
             "key.doc.comment" : "The scroll insets to apply to the list view.",
             "key.doc.declaration" : "public var scrollIndicatorInsets: UIEdgeInsets",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListProperties.swift",
-            "key.doc.full_as_xml" : "scrollIndicatorInsets<\/Name>s:10ListableUI14ListPropertiesV21scrollIndicatorInsetsSo06UIEdgeG0Vvp<\/USR>public var scrollIndicatorInsets: UIEdgeInsets<\/Declaration>The scroll insets to apply to the list view.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListProperties.swift",
+            "key.doc.full_as_xml" : "scrollIndicatorInsets<\/Name>s:10ListableUI14ListPropertiesV21scrollIndicatorInsetsSo06UIEdgeG0Vvp<\/USR>public var scrollIndicatorInsets: UIEdgeInsets<\/Declaration>The scroll insets to apply to the list view.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 96,
             "key.doc.name" : "scrollIndicatorInsets",
             "key.doc.type" : "Other",
             "key.doclength" : 49,
-            "key.docoffset" : 3027,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListProperties.swift",
+            "key.docoffset" : 3063,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListProperties.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> scrollIndicatorInsets<\/decl.name>: UIEdgeInsets<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 40,
             "key.name" : "scrollIndicatorInsets",
             "key.namelength" : 21,
-            "key.nameoffset" : 3091,
-            "key.offset" : 3087,
+            "key.nameoffset" : 3127,
+            "key.offset" : 3123,
             "key.parsed_declaration" : "public var scrollIndicatorInsets : UIEdgeInsets",
             "key.parsed_scope.end" : 96,
             "key.parsed_scope.start" : 96,
@@ -50770,7 +52781,7 @@
             "key.name" : "MARK: Behavior",
             "key.namelength" : 0,
             "key.nameoffset" : 0,
-            "key.offset" : 3147
+            "key.offset" : 3183
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
@@ -50779,7 +52790,7 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 3645
+                "key.offset" : 3681
               }
             ],
             "key.doc.column" : 16,
@@ -50790,21 +52801,21 @@
                 "Para" : "Note that some of the parameters within `Behavior` are not authoritative; they may be overridden by the provided `layout`. For example, even if your `behavior` disables scroll view paging, the `.paged` layout will enable it."
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListProperties.swift",
-            "key.doc.full_as_xml" : "behavior<\/Name>s:10ListableUI14ListPropertiesV8behaviorAA8BehaviorVvp<\/USR>public var behavior: Behavior<\/Declaration>The various behavior options to apply to the list, which affect how the user will interact with the list view. This includes keyboard dismissal, selection mode, underflow behavior, etc.<\/Para><\/Abstract>Note that some of the parameters within Behavior<\/codeVoice> are not authoritative; they may be overridden by the provided layout<\/codeVoice>. For example, even if your behavior<\/codeVoice> disables scroll view paging, the .paged<\/codeVoice> layout will enable it.<\/Para><\/Discussion><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListProperties.swift",
+            "key.doc.full_as_xml" : "behavior<\/Name>s:10ListableUI14ListPropertiesV8behaviorAA8BehaviorVvp<\/USR>public var behavior: Behavior<\/Declaration>The various behavior options to apply to the list, which affect how the user will interact with the list view. This includes keyboard dismissal, selection mode, underflow behavior, etc.<\/Para><\/Abstract>Note that some of the parameters within Behavior<\/codeVoice> are not authoritative; they may be overridden by the provided layout<\/codeVoice>. For example, even if your behavior<\/codeVoice> disables scroll view paging, the .paged<\/codeVoice> layout will enable it.<\/Para><\/Discussion><\/CommentParts><\/Other>",
             "key.doc.line" : 109,
             "key.doc.name" : "behavior",
             "key.doc.type" : "Other",
             "key.doclength" : 463,
-            "key.docoffset" : 3178,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListProperties.swift",
+            "key.docoffset" : 3214,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListProperties.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> behavior<\/decl.name>: Behavior<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 23,
             "key.name" : "behavior",
             "key.namelength" : 8,
-            "key.nameoffset" : 3656,
-            "key.offset" : 3652,
+            "key.nameoffset" : 3692,
+            "key.offset" : 3688,
             "key.parsed_declaration" : "public var behavior : Behavior",
             "key.parsed_scope.end" : 109,
             "key.parsed_scope.start" : 109,
@@ -50819,7 +52830,7 @@
             "key.name" : "MARK: Reading State & Performing Actions",
             "key.namelength" : 0,
             "key.nameoffset" : 0,
-            "key.offset" : 3695
+            "key.offset" : 3731
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
@@ -50828,27 +52839,27 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 4023
+                "key.offset" : 4059
               }
             ],
             "key.doc.column" : 16,
             "key.doc.comment" : "The state reader to use with your list. A `ListStateObserver`\nallows for observing changes to the list as they happen,\neither due to user interaction, content update, view hierarchy changes, etc.\nSee the `ListStateObserver` type for more.",
             "key.doc.declaration" : "public var stateObserver: ListStateObserver",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListProperties.swift",
-            "key.doc.full_as_xml" : "stateObserver<\/Name>s:10ListableUI14ListPropertiesV13stateObserverAA0c5StateF0Vvp<\/USR>public var stateObserver: ListStateObserver<\/Declaration>The state reader to use with your list. A ListStateObserver<\/codeVoice> allows for observing changes to the list as they happen, either due to user interaction, content update, view hierarchy changes, etc. See the ListStateObserver<\/codeVoice> type for more.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListProperties.swift",
+            "key.doc.full_as_xml" : "stateObserver<\/Name>s:10ListableUI14ListPropertiesV13stateObserverAA0c5StateF0Vvp<\/USR>public var stateObserver: ListStateObserver<\/Declaration>The state reader to use with your list. A ListStateObserver<\/codeVoice> allows for observing changes to the list as they happen, either due to user interaction, content update, view hierarchy changes, etc. See the ListStateObserver<\/codeVoice> type for more.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 119,
             "key.doc.name" : "stateObserver",
             "key.doc.type" : "Other",
             "key.doclength" : 267,
-            "key.docoffset" : 3752,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListProperties.swift",
+            "key.docoffset" : 3788,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListProperties.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> stateObserver<\/decl.name>: ListStateObserver<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 37,
             "key.name" : "stateObserver",
             "key.namelength" : 13,
-            "key.nameoffset" : 4034,
-            "key.offset" : 4030,
+            "key.nameoffset" : 4070,
+            "key.offset" : 4066,
             "key.parsed_declaration" : "public var stateObserver : ListStateObserver",
             "key.parsed_scope.end" : 119,
             "key.parsed_scope.start" : 119,
@@ -50864,7 +52875,7 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 4501
+                "key.offset" : 4537
               }
             ],
             "key.doc.column" : 16,
@@ -50875,21 +52886,21 @@
                 "Para" : "Note that you can only associate one `ListActions` with a list at a given time. When a new instance is provided, the old one becomes a no-op instance; calling methods on it will have no effect."
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListProperties.swift",
-            "key.doc.full_as_xml" : "actions<\/Name>s:10ListableUI14ListPropertiesV7actionsAA0C7ActionsCSgvp<\/USR>public var actions: ListActions?<\/Declaration>The actions instance to use to control the list, eg to scroll to a given row or enable interactive view transitions. See the ListActions<\/codeVoice> type for more information.<\/Para><\/Abstract>Note that you can only associate one ListActions<\/codeVoice> with a list at a given time. When a new instance is provided, the old one becomes a no-op instance; calling methods on it will have no effect.<\/Para><\/Discussion><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListProperties.swift",
+            "key.doc.full_as_xml" : "actions<\/Name>s:10ListableUI14ListPropertiesV7actionsAA0C7ActionsCSgvp<\/USR>public var actions: ListActions?<\/Declaration>The actions instance to use to control the list, eg to scroll to a given row or enable interactive view transitions. See the ListActions<\/codeVoice> type for more information.<\/Para><\/Abstract>Note that you can only associate one ListActions<\/codeVoice> with a list at a given time. When a new instance is provided, the old one becomes a no-op instance; calling methods on it will have no effect.<\/Para><\/Discussion><\/CommentParts><\/Other>",
             "key.doc.line" : 129,
             "key.doc.name" : "actions",
             "key.doc.type" : "Other",
             "key.doclength" : 420,
-            "key.docoffset" : 4077,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListProperties.swift",
+            "key.docoffset" : 4113,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListProperties.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> actions<\/decl.name>: ListActions<\/ref.class>?<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 26,
             "key.name" : "actions",
             "key.namelength" : 7,
-            "key.nameoffset" : 4512,
-            "key.offset" : 4508,
+            "key.nameoffset" : 4548,
+            "key.offset" : 4544,
             "key.parsed_declaration" : "public var actions : ListActions?",
             "key.parsed_scope.end" : 129,
             "key.parsed_scope.start" : 129,
@@ -50905,27 +52916,27 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 4709
+                "key.offset" : 4745
               }
             ],
             "key.doc.column" : 16,
             "key.doc.comment" : "The auto scroll action to apply to the list. This allows you to\nscroll to a given item on insert depending on the current state\nof the view.",
             "key.doc.declaration" : "public var autoScrollAction: AutoScrollAction",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListProperties.swift",
-            "key.doc.full_as_xml" : "autoScrollAction<\/Name>s:10ListableUI14ListPropertiesV16autoScrollActionAA04AutofG0Ovp<\/USR>public var autoScrollAction: AutoScrollAction<\/Declaration>The auto scroll action to apply to the list. This allows you to scroll to a given item on insert depending on the current state of the view.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListProperties.swift",
+            "key.doc.full_as_xml" : "autoScrollAction<\/Name>s:10ListableUI14ListPropertiesV16autoScrollActionAA04AutofG0Ovp<\/USR>public var autoScrollAction: AutoScrollAction<\/Declaration>The auto scroll action to apply to the list. This allows you to scroll to a given item on insert depending on the current state of the view.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 134,
             "key.doc.name" : "autoScrollAction",
             "key.doc.type" : "Other",
             "key.doclength" : 161,
-            "key.docoffset" : 4544,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListProperties.swift",
+            "key.docoffset" : 4580,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListProperties.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> autoScrollAction<\/decl.name>: AutoScrollAction<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 39,
             "key.name" : "autoScrollAction",
             "key.namelength" : 16,
-            "key.nameoffset" : 4720,
-            "key.offset" : 4716,
+            "key.nameoffset" : 4756,
+            "key.offset" : 4752,
             "key.parsed_declaration" : "public var autoScrollAction : AutoScrollAction",
             "key.parsed_scope.end" : 134,
             "key.parsed_scope.start" : 134,
@@ -50940,7 +52951,7 @@
             "key.name" : "MARK: Identifiers",
             "key.namelength" : 0,
             "key.nameoffset" : 0,
-            "key.offset" : 4775
+            "key.offset" : 4811
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
@@ -50949,27 +52960,27 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 4888
+                "key.offset" : 4924
               }
             ],
             "key.doc.column" : 16,
             "key.doc.comment" : "The accessibility identifier assigned to the inner `UICollectionView`.",
             "key.doc.declaration" : "public var accessibilityIdentifier: String?",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListProperties.swift",
-            "key.doc.full_as_xml" : "accessibilityIdentifier<\/Name>s:10ListableUI14ListPropertiesV23accessibilityIdentifierSSSgvp<\/USR>public var accessibilityIdentifier: String?<\/Declaration>The accessibility identifier assigned to the inner UICollectionView<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListProperties.swift",
+            "key.doc.full_as_xml" : "accessibilityIdentifier<\/Name>s:10ListableUI14ListPropertiesV23accessibilityIdentifierSSSgvp<\/USR>public var accessibilityIdentifier: String?<\/Declaration>The accessibility identifier assigned to the inner UICollectionView<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 141,
             "key.doc.name" : "accessibilityIdentifier",
             "key.doc.type" : "Other",
             "key.doclength" : 75,
-            "key.docoffset" : 4809,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListProperties.swift",
+            "key.docoffset" : 4845,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListProperties.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> accessibilityIdentifier<\/decl.name>: String<\/ref.struct>?<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 36,
             "key.name" : "accessibilityIdentifier",
             "key.namelength" : 23,
-            "key.nameoffset" : 4899,
-            "key.offset" : 4895,
+            "key.nameoffset" : 4935,
+            "key.offset" : 4931,
             "key.parsed_declaration" : "public var accessibilityIdentifier: String?",
             "key.parsed_scope.end" : 141,
             "key.parsed_scope.start" : 141,
@@ -50985,27 +52996,27 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 5080
+                "key.offset" : 5116
               }
             ],
             "key.doc.column" : 16,
             "key.doc.comment" : "The debugging identifier assigned to the list. Used for `os_signpost` integration\nyou can observe through Instruments.app.",
             "key.doc.declaration" : "public var debuggingIdentifier: String?",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListProperties.swift",
-            "key.doc.full_as_xml" : "debuggingIdentifier<\/Name>s:10ListableUI14ListPropertiesV19debuggingIdentifierSSSgvp<\/USR>public var debuggingIdentifier: String?<\/Declaration>The debugging identifier assigned to the list. Used for os_signpost<\/codeVoice> integration you can observe through Instruments.app.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListProperties.swift",
+            "key.doc.full_as_xml" : "debuggingIdentifier<\/Name>s:10ListableUI14ListPropertiesV19debuggingIdentifierSSSgvp<\/USR>public var debuggingIdentifier: String?<\/Declaration>The debugging identifier assigned to the list. Used for os_signpost<\/codeVoice> integration you can observe through Instruments.app.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 145,
             "key.doc.name" : "debuggingIdentifier",
             "key.doc.type" : "Other",
             "key.doclength" : 135,
-            "key.docoffset" : 4941,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListProperties.swift",
+            "key.docoffset" : 4977,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListProperties.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> debuggingIdentifier<\/decl.name>: String<\/ref.struct>?<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 32,
             "key.name" : "debuggingIdentifier",
             "key.namelength" : 19,
-            "key.nameoffset" : 5091,
-            "key.offset" : 5087,
+            "key.nameoffset" : 5127,
+            "key.offset" : 5123,
             "key.parsed_declaration" : "public var debuggingIdentifier: String?",
             "key.parsed_scope.end" : 145,
             "key.parsed_scope.start" : 145,
@@ -51020,7 +53031,7 @@
             "key.name" : "MARK: Initialization",
             "key.namelength" : 0,
             "key.nameoffset" : 0,
-            "key.offset" : 5139
+            "key.offset" : 5175
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
@@ -51029,17 +53040,17 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 5172
+                "key.offset" : 5208
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListProperties.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListProperties.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> typealias<\/syntaxtype.keyword> ListProperties<\/ref.struct>.Build<\/decl.name> = (inout<\/syntaxtype.keyword> ListProperties<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.typealias>",
             "key.kind" : "source.lang.swift.decl.typealias",
             "key.length" : 46,
             "key.name" : "Build",
             "key.namelength" : 5,
-            "key.nameoffset" : 5189,
-            "key.offset" : 5179,
+            "key.nameoffset" : 5225,
+            "key.offset" : 5215,
             "key.parsed_declaration" : "public typealias Build = (inout ListProperties) -> ()",
             "key.parsed_scope.end" : 151,
             "key.parsed_scope.start" : 151,
@@ -51054,29 +53065,29 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 5305
+                "key.offset" : 5341
               }
             ],
-            "key.bodylength" : 378,
-            "key.bodyoffset" : 5376,
+            "key.bodylength" : 379,
+            "key.bodyoffset" : 5412,
             "key.doc.column" : 24,
             "key.doc.comment" : "An instance of `ListProperties` with sensible default values.",
             "key.doc.declaration" : "public static func `default`(with builder: Build = { _ in }) -> ListableUI.ListProperties",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListProperties.swift",
-            "key.doc.full_as_xml" : "default(with:)<\/Name>s:10ListableUI14ListPropertiesV7default4withACyACzXE_tFZ<\/USR>public static func `default`(with builder: Build = { _ in }) -> ListableUI.ListProperties<\/Declaration>An instance of ListProperties<\/codeVoice> with sensible default values.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListProperties.swift",
+            "key.doc.full_as_xml" : "default(with:)<\/Name>s:10ListableUI14ListPropertiesV7default4withACyACzXE_tFZ<\/USR>public static func `default`(with builder: Build = { _ in }) -> ListableUI.ListProperties<\/Declaration>An instance of ListProperties<\/codeVoice> with sensible default values.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 154,
             "key.doc.name" : "default(with:)",
             "key.doc.type" : "Function",
             "key.doclength" : 66,
-            "key.docoffset" : 5235,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListProperties.swift",
+            "key.docoffset" : 5271,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListProperties.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> `default`<\/decl.name>(with<\/decl.var.parameter.argument_label> builder<\/decl.var.parameter.name>: Build<\/ref.typealias><\/decl.var.parameter.type> = { _ in }<\/decl.var.parameter>) -> ListProperties<\/ref.struct><\/decl.function.returntype><\/decl.function.method.static>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
-            "key.length" : 443,
+            "key.length" : 444,
             "key.name" : "default(with:)",
             "key.namelength" : 42,
-            "key.nameoffset" : 5324,
-            "key.offset" : 5312,
+            "key.nameoffset" : 5360,
+            "key.offset" : 5348,
             "key.parsed_declaration" : "public static func `default`(with builder : Build = { _ in }) -> Self",
             "key.parsed_scope.end" : 166,
             "key.parsed_scope.start" : 154,
@@ -51094,29 +53105,29 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 5841
+                "key.offset" : 5878
               }
             ],
             "key.bodylength" : 544,
-            "key.bodyoffset" : 6183,
+            "key.bodyoffset" : 6220,
             "key.doc.column" : 12,
             "key.doc.comment" : "Create a new instance of `ListProperties` with the provided values.",
             "key.doc.declaration" : "public init(animatesChanges: Bool, layout: LayoutDescription, appearance: Appearance, scrollIndicatorInsets: UIEdgeInsets, behavior: Behavior, autoScrollAction: AutoScrollAction, accessibilityIdentifier: String?, debuggingIdentifier: String?, build: Build)",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListProperties.swift",
-            "key.doc.full_as_xml" : "init(animatesChanges:layout:appearance:scrollIndicatorInsets:behavior:autoScrollAction:accessibilityIdentifier:debuggingIdentifier:build:)<\/Name>s:10ListableUI14ListPropertiesV15animatesChanges6layout10appearance21scrollIndicatorInsets8behavior16autoScrollAction23accessibilityIdentifier09debuggingQ05buildACSb_AA17LayoutDescriptionVAA10AppearanceVSo06UIEdgeK0VAA8BehaviorVAA04AutonO0OSSSgAWyACzXEtcfc<\/USR>public init(animatesChanges: Bool, layout: LayoutDescription, appearance: Appearance, scrollIndicatorInsets: UIEdgeInsets, behavior: Behavior, autoScrollAction: AutoScrollAction, accessibilityIdentifier: String?, debuggingIdentifier: String?, build: Build)<\/Declaration>Create a new instance of ListProperties<\/codeVoice> with the provided values.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListProperties.swift",
+            "key.doc.full_as_xml" : "init(animatesChanges:layout:appearance:scrollIndicatorInsets:behavior:autoScrollAction:accessibilityIdentifier:debuggingIdentifier:build:)<\/Name>s:10ListableUI14ListPropertiesV15animatesChanges6layout10appearance21scrollIndicatorInsets8behavior16autoScrollAction23accessibilityIdentifier09debuggingQ05buildACSb_AA17LayoutDescriptionVAA10AppearanceVSo06UIEdgeK0VAA8BehaviorVAA04AutonO0OSSSgAWyACzXEtcfc<\/USR>public init(animatesChanges: Bool, layout: LayoutDescription, appearance: Appearance, scrollIndicatorInsets: UIEdgeInsets, behavior: Behavior, autoScrollAction: AutoScrollAction, accessibilityIdentifier: String?, debuggingIdentifier: String?, build: Build)<\/Declaration>Create a new instance of ListProperties<\/codeVoice> with the provided values.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 169,
             "key.doc.name" : "init(animatesChanges:layout:appearance:scrollIndicatorInsets:behavior:autoScrollAction:accessibilityIdentifier:debuggingIdentifier:build:)",
             "key.doc.type" : "Function",
             "key.doclength" : 72,
-            "key.docoffset" : 5765,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListProperties.swift",
+            "key.docoffset" : 5802,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListProperties.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(animatesChanges<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, layout<\/decl.var.parameter.argument_label>: LayoutDescription<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, appearance<\/decl.var.parameter.argument_label>: Appearance<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, scrollIndicatorInsets<\/decl.var.parameter.argument_label>: UIEdgeInsets<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, behavior<\/decl.var.parameter.argument_label>: Behavior<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, autoScrollAction<\/decl.var.parameter.argument_label>: AutoScrollAction<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>, accessibilityIdentifier<\/decl.var.parameter.argument_label>: String<\/ref.struct>?<\/decl.var.parameter.type><\/decl.var.parameter>, debuggingIdentifier<\/decl.var.parameter.argument_label>: String<\/ref.struct>?<\/decl.var.parameter.type><\/decl.var.parameter>, build<\/decl.var.parameter.argument_label>: Build<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 880,
             "key.name" : "init(animatesChanges:layout:appearance:scrollIndicatorInsets:behavior:autoScrollAction:accessibilityIdentifier:debuggingIdentifier:build:)",
             "key.namelength" : 333,
-            "key.nameoffset" : 5848,
-            "key.offset" : 5848,
+            "key.nameoffset" : 5885,
+            "key.offset" : 5885,
             "key.parsed_declaration" : "public init(\n    animatesChanges: Bool,\n    layout : LayoutDescription,\n    appearance : Appearance,\n    scrollIndicatorInsets : UIEdgeInsets,\n    behavior : Behavior,\n    autoScrollAction : AutoScrollAction,\n    accessibilityIdentifier: String?,\n    debuggingIdentifier: String?,\n    build : Build\n)",
             "key.parsed_scope.end" : 195,
             "key.parsed_scope.start" : 169,
@@ -51133,7 +53144,7 @@
             "key.name" : "MARK: Mutating Content",
             "key.namelength" : 0,
             "key.nameoffset" : 0,
-            "key.offset" : 6748
+            "key.offset" : 6785
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
@@ -51142,34 +53153,34 @@
               {
                 "key.attribute" : "source.decl.attribute.mutating",
                 "key.length" : 8,
-                "key.offset" : 6880
+                "key.offset" : 6917
               },
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 6873
+                "key.offset" : 6910
               }
             ],
             "key.bodylength" : 28,
-            "key.bodyoffset" : 6925,
+            "key.bodyoffset" : 6962,
             "key.doc.column" : 26,
             "key.doc.comment" : "Updates the `ListProperties` object with the changes in the provided builder.",
             "key.doc.declaration" : "public mutating func modify(using builder: Build)",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListProperties.swift",
-            "key.doc.full_as_xml" : "modify(using:)<\/Name>s:10ListableUI14ListPropertiesV6modify5usingyyACzXE_tF<\/USR>public mutating func modify(using builder: Build)<\/Declaration>Updates the ListProperties<\/codeVoice> object with the changes in the provided builder.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListProperties.swift",
+            "key.doc.full_as_xml" : "modify(using:)<\/Name>s:10ListableUI14ListPropertiesV6modify5usingyyACzXE_tF<\/USR>public mutating func modify(using builder: Build)<\/Declaration>Updates the ListProperties<\/codeVoice> object with the changes in the provided builder.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 202,
             "key.doc.name" : "modify(using:)",
             "key.doc.type" : "Function",
             "key.doclength" : 82,
-            "key.docoffset" : 6787,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListProperties.swift",
+            "key.docoffset" : 6824,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListProperties.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> mutating<\/syntaxtype.keyword> func<\/syntaxtype.keyword> modify<\/decl.name>(using<\/decl.var.parameter.argument_label> builder<\/decl.var.parameter.name>: Build<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 65,
             "key.name" : "modify(using:)",
             "key.namelength" : 29,
-            "key.nameoffset" : 6894,
-            "key.offset" : 6889,
+            "key.nameoffset" : 6931,
+            "key.offset" : 6926,
             "key.parsed_declaration" : "public mutating func modify(using builder : Build)",
             "key.parsed_scope.end" : 204,
             "key.parsed_scope.start" : 202,
@@ -51187,43 +53198,43 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 7059
+                "key.offset" : 7096
               }
             ],
             "key.bodylength" : 72,
-            "key.bodyoffset" : 7122,
+            "key.bodyoffset" : 7159,
             "key.doc.column" : 17,
             "key.doc.comment" : "Creates a new `ListProperties` object modified by the changes in the provided builder.",
             "key.doc.declaration" : "public func modified(using builder: Build) -> ListProperties",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListProperties.swift",
-            "key.doc.full_as_xml" : "modified(using:)<\/Name>s:10ListableUI14ListPropertiesV8modified5usingACyACzXE_tF<\/USR>public func modified(using builder: Build) -> ListProperties<\/Declaration>Creates a new ListProperties<\/codeVoice> object modified by the changes in the provided builder.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListProperties.swift",
+            "key.doc.full_as_xml" : "modified(using:)<\/Name>s:10ListableUI14ListPropertiesV8modified5usingACyACzXE_tF<\/USR>public func modified(using builder: Build) -> ListProperties<\/Declaration>Creates a new ListProperties<\/codeVoice> object modified by the changes in the provided builder.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 207,
             "key.doc.name" : "modified(using:)",
             "key.doc.type" : "Function",
             "key.doclength" : 91,
-            "key.docoffset" : 6964,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListProperties.swift",
+            "key.docoffset" : 7001,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListProperties.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> modified<\/decl.name>(using<\/decl.var.parameter.argument_label> builder<\/decl.var.parameter.name>: Build<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>) -> ListProperties<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 129,
             "key.name" : "modified(using:)",
             "key.namelength" : 31,
-            "key.nameoffset" : 7071,
-            "key.offset" : 7066,
+            "key.nameoffset" : 7108,
+            "key.offset" : 7103,
             "key.parsed_declaration" : "public func modified(using builder : Build) -> ListProperties",
             "key.parsed_scope.end" : 211,
             "key.parsed_scope.start" : 207,
             "key.substructure" : [
               {
                 "key.annotated_decl" : "var copy: ListProperties<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListProperties.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListProperties.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> copy<\/decl.name>: ListProperties<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 15,
                 "key.name" : "copy",
                 "key.namelength" : 4,
-                "key.nameoffset" : 7135,
-                "key.offset" : 7131,
+                "key.nameoffset" : 7172,
+                "key.offset" : 7168,
                 "key.parsed_declaration" : "var copy = self",
                 "key.parsed_scope.end" : 208,
                 "key.parsed_scope.start" : 208,
@@ -51243,34 +53254,34 @@
               {
                 "key.attribute" : "source.decl.attribute.mutating",
                 "key.length" : 8,
-                "key.offset" : 7257
+                "key.offset" : 7294
               },
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 7250
+                "key.offset" : 7287
               }
             ],
             "key.bodylength" : 51,
-            "key.bodyoffset" : 7301,
+            "key.bodyoffset" : 7338,
             "key.doc.column" : 26,
             "key.doc.comment" : "Adds a new section to the `content`.",
             "key.doc.declaration" : "public mutating func add(_ section: Section)",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListProperties.swift",
-            "key.doc.full_as_xml" : "add(_:)<\/Name>s:10ListableUI14ListPropertiesV3addyyAA7SectionVF<\/USR>public mutating func add(_ section: Section)<\/Declaration>Adds a new section to the content<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListProperties.swift",
+            "key.doc.full_as_xml" : "add(_:)<\/Name>s:10ListableUI14ListPropertiesV3addyyAA7SectionVF<\/USR>public mutating func add(_ section: Section)<\/Declaration>Adds a new section to the content<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 214,
             "key.doc.name" : "add(_:)",
             "key.doc.type" : "Function",
             "key.doclength" : 41,
-            "key.docoffset" : 7205,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListProperties.swift",
+            "key.docoffset" : 7242,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListProperties.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> mutating<\/syntaxtype.keyword> func<\/syntaxtype.keyword> add<\/decl.name>(_<\/decl.var.parameter.argument_label> section<\/decl.var.parameter.name>: Section<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 87,
             "key.name" : "add(_:)",
             "key.namelength" : 24,
-            "key.nameoffset" : 7271,
-            "key.offset" : 7266,
+            "key.nameoffset" : 7308,
+            "key.offset" : 7303,
             "key.parsed_declaration" : "public mutating func add(_ section : Section)",
             "key.parsed_scope.end" : 217,
             "key.parsed_scope.start" : 214,
@@ -51288,29 +53299,29 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 7408
+                "key.offset" : 7445
               }
             ],
             "key.bodylength" : 26,
-            "key.bodyoffset" : 7479,
+            "key.bodyoffset" : 7516,
             "key.doc.column" : 24,
             "key.doc.comment" : "Adds a new section to the `content`.",
             "key.doc.declaration" : "public static func += (lhs: inout ListProperties, rhs: Section)",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListProperties.swift",
-            "key.doc.full_as_xml" : "+=(_:_:)<\/Name>s:10ListableUI14ListPropertiesV2peoiyyACz_AA7SectionVtFZ<\/USR>public static func += (lhs: inout ListProperties, rhs: Section)<\/Declaration>Adds a new section to the content<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListProperties.swift",
+            "key.doc.full_as_xml" : "+=(_:_:)<\/Name>s:10ListableUI14ListPropertiesV2peoiyyACz_AA7SectionVtFZ<\/USR>public static func += (lhs: inout ListProperties, rhs: Section)<\/Declaration>Adds a new section to the content<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 220,
             "key.doc.name" : "+=(_:_:)",
             "key.doc.type" : "Function",
             "key.doclength" : 41,
-            "key.docoffset" : 7363,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListProperties.swift",
+            "key.docoffset" : 7400,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListProperties.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> += <\/decl.name>(lhs<\/decl.var.parameter.name>: inout<\/syntaxtype.keyword> ListProperties<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, rhs<\/decl.var.parameter.name>: Section<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.operator.infix>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
             "key.length" : 91,
             "key.name" : "+=(_:_:)",
             "key.namelength" : 46,
-            "key.nameoffset" : 7427,
-            "key.offset" : 7415,
+            "key.nameoffset" : 7464,
+            "key.offset" : 7452,
             "key.parsed_declaration" : "public static func += (lhs : inout ListProperties, rhs : Section)",
             "key.parsed_scope.end" : 223,
             "key.parsed_scope.start" : 220,
@@ -51445,13 +53456,13 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "var lhs: inout ListProperties<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListProperties.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListProperties.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> lhs<\/decl.var.parameter.name>: inout<\/syntaxtype.keyword> ListProperties<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>",
                 "key.kind" : "source.lang.swift.decl.var.parameter",
                 "key.length" : 3,
                 "key.name" : "lhs",
-                "key.offset" : 7431,
-                "key.parent_loc" : 7427,
+                "key.offset" : 7468,
+                "key.parent_loc" : 7464,
                 "key.parsed_declaration" : "public static func += (lhs",
                 "key.parsed_scope.end" : 220,
                 "key.parsed_scope.start" : 220,
@@ -51471,29 +53482,29 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 7570
+                "key.offset" : 7607
               }
             ],
             "key.bodylength" : 41,
-            "key.bodyoffset" : 7643,
+            "key.bodyoffset" : 7680,
             "key.doc.column" : 24,
             "key.doc.comment" : "Adds a list of new sections to the `content`.",
             "key.doc.declaration" : "public static func += (lhs: inout ListProperties, rhs: [Section])",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListProperties.swift",
-            "key.doc.full_as_xml" : "+=(_:_:)<\/Name>s:10ListableUI14ListPropertiesV2peoiyyACz_SayAA7SectionVGtFZ<\/USR>public static func += (lhs: inout ListProperties, rhs: [Section])<\/Declaration>Adds a list of new sections to the content<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListProperties.swift",
+            "key.doc.full_as_xml" : "+=(_:_:)<\/Name>s:10ListableUI14ListPropertiesV2peoiyyACz_SayAA7SectionVGtFZ<\/USR>public static func += (lhs: inout ListProperties, rhs: [Section])<\/Declaration>Adds a list of new sections to the content<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 226,
             "key.doc.name" : "+=(_:_:)",
             "key.doc.type" : "Function",
             "key.doclength" : 50,
-            "key.docoffset" : 7516,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListProperties.swift",
+            "key.docoffset" : 7553,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListProperties.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> += <\/decl.name>(lhs<\/decl.var.parameter.name>: inout<\/syntaxtype.keyword> ListProperties<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, rhs<\/decl.var.parameter.name>: [Section<\/ref.struct>]<\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.operator.infix>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
             "key.length" : 108,
             "key.name" : "+=(_:_:)",
             "key.namelength" : 48,
-            "key.nameoffset" : 7589,
-            "key.offset" : 7577,
+            "key.nameoffset" : 7626,
+            "key.offset" : 7614,
             "key.parsed_declaration" : "public static func += (lhs : inout ListProperties, rhs : [Section])",
             "key.parsed_scope.end" : 229,
             "key.parsed_scope.start" : 226,
@@ -51628,13 +53639,13 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "var lhs: inout ListProperties<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListProperties.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListProperties.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> lhs<\/decl.var.parameter.name>: inout<\/syntaxtype.keyword> ListProperties<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>",
                 "key.kind" : "source.lang.swift.decl.var.parameter",
                 "key.length" : 3,
                 "key.name" : "lhs",
-                "key.offset" : 7593,
-                "key.parent_loc" : 7589,
+                "key.offset" : 7630,
+                "key.parent_loc" : 7626,
                 "key.parsed_declaration" : "public static func += (lhs",
                 "key.parsed_scope.end" : 226,
                 "key.parsed_scope.start" : 226,
@@ -51649,45 +53660,45 @@
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public mutating func callAsFunction<Identifier>(_ identifier: Identifier<\/Type>, build: Section<\/Type>.Build<\/Type>) where Identifier : Hashable<\/Type><\/Declaration>",
+            "key.annotated_decl" : "public mutating func callAsFunction<Identifier>(_ identifier: Identifier<\/Type>, configure: Section<\/Type>.Configure<\/Type>) where Identifier : Hashable<\/Type><\/Declaration>",
             "key.attributes" : [
               {
                 "key.attribute" : "source.decl.attribute.mutating",
                 "key.length" : 8,
-                "key.offset" : 7961
+                "key.offset" : 7998
               },
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 7954
+                "key.offset" : 7991
               }
             ],
-            "key.bodylength" : 55,
-            "key.bodyoffset" : 8066,
+            "key.bodylength" : 63,
+            "key.bodyoffset" : 8111,
             "key.doc.column" : 26,
             "key.doc.comment" : "Allows streamlined creation of sections when building a list.\n\nExample\n-------\n```\nlistView.configure { list in\n    list(\"section-id\") { section in\n        ...\n    }\n}\n```",
-            "key.doc.declaration" : "public mutating func callAsFunction(_ identifier: Identifier, build: Section.Build) where Identifier : Hashable",
+            "key.doc.declaration" : "public mutating func callAsFunction(_ identifier: Identifier, configure: Section.Configure) where Identifier : Hashable",
             "key.doc.discussion" : [
               {
                 "CodeListing" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListProperties.swift",
-            "key.doc.full_as_xml" : "callAsFunction(_:build:)<\/Name>s:10ListableUI14ListPropertiesV14callAsFunction_5buildyx_yAA7SectionVzXEtSHRzlF<\/USR>public mutating func callAsFunction<Identifier>(_ identifier: Identifier, build: Section.Build) where Identifier : Hashable<\/Declaration>Allows streamlined creation of sections when building a list.<\/Para><\/Abstract>]]><\/rawHTML>Example]]><\/rawHTML><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListProperties.swift",
+            "key.doc.full_as_xml" : "callAsFunction(_:configure:)<\/Name>s:10ListableUI14ListPropertiesV14callAsFunction_9configureyx_yAA7SectionVzXEtSHRzlF<\/USR>public mutating func callAsFunction<Identifier>(_ identifier: Identifier, configure: Section.Configure) where Identifier : Hashable<\/Declaration>Allows streamlined creation of sections when building a list.<\/Para><\/Abstract>]]><\/rawHTML>Example]]><\/rawHTML><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 242,
-            "key.doc.name" : "callAsFunction(_:build:)",
+            "key.doc.name" : "callAsFunction(_:configure:)",
             "key.doc.type" : "Function",
             "key.doclength" : 255,
-            "key.docoffset" : 7695,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListProperties.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> mutating<\/syntaxtype.keyword> func<\/syntaxtype.keyword> callAsFunction<\/decl.name><Identifier<\/decl.generic_type_param.name><\/decl.generic_type_param>>(_<\/decl.var.parameter.argument_label> identifier<\/decl.var.parameter.name>: Identifier<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, build<\/decl.var.parameter.argument_label>: Section<\/ref.struct>.Build<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>) where<\/syntaxtype.keyword> Identifier : Hashable<\/ref.protocol><\/decl.generic_type_requirement><\/decl.function.method.instance>",
+            "key.docoffset" : 7732,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListProperties.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> mutating<\/syntaxtype.keyword> func<\/syntaxtype.keyword> callAsFunction<\/decl.name><Identifier<\/decl.generic_type_param.name><\/decl.generic_type_param>>(_<\/decl.var.parameter.argument_label> identifier<\/decl.var.parameter.name>: Identifier<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, configure<\/decl.var.parameter.argument_label>: Section<\/ref.struct>.Configure<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>) where<\/syntaxtype.keyword> Identifier : Hashable<\/ref.protocol><\/decl.generic_type_requirement><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 152,
-            "key.name" : "callAsFunction(_:build:)",
-            "key.namelength" : 85,
-            "key.nameoffset" : 7975,
-            "key.offset" : 7970,
-            "key.parsed_declaration" : "public mutating func callAsFunction(_ identifier : Identifier, build : Section.Build)",
+            "key.length" : 168,
+            "key.name" : "callAsFunction(_:configure:)",
+            "key.namelength" : 93,
+            "key.nameoffset" : 8012,
+            "key.offset" : 8007,
+            "key.parsed_declaration" : "public mutating func callAsFunction(_ identifier : Identifier, configure : Section.Configure)",
             "key.parsed_scope.end" : 245,
             "key.parsed_scope.start" : 242,
             "key.substructure" : [
@@ -51697,10 +53708,10 @@
                   {
                     "key.kind" : "source.lang.swift.structure.elem.typeref",
                     "key.length" : 8,
-                    "key.offset" : 8001
+                    "key.offset" : 8038
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListProperties.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListProperties.swift",
                 "key.fully_annotated_decl" : "Identifier<\/decl.generic_type_param.name> : Hashable<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
                 "key.inheritedtypes" : [
                   {
@@ -51711,19 +53722,19 @@
                 "key.length" : 19,
                 "key.name" : "Identifier",
                 "key.namelength" : 10,
-                "key.nameoffset" : 7990,
-                "key.offset" : 7990,
+                "key.nameoffset" : 8027,
+                "key.offset" : 8027,
                 "key.parsed_declaration" : "public mutating func callAsFunction (inout ListProperties) -> (Identifier, (inout Section) -> ()) -> ()",
-            "key.typeusr" : "$s_5buildyx_y10ListableUI7SectionVzXEtcSHRzluD",
-            "key.usr" : "s:10ListableUI14ListPropertiesV14callAsFunction_5buildyx_yAA7SectionVzXEtSHRzlF"
+            "key.typeusr" : "$s_9configureyx_y10ListableUI7SectionVzXEtcSHRzluD",
+            "key.usr" : "s:10ListableUI14ListPropertiesV14callAsFunction_9configureyx_yAA7SectionVzXEtSHRzlF"
           }
         ],
         "key.typename" : "ListProperties.Type",
@@ -51733,7 +53744,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListScrollPositionInfo.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListScrollPositionInfo.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 6910,
     "key.offset" : 0,
@@ -51758,8 +53769,8 @@
             "Para" : "This is useful within callback APIs where you as a developer may want to perform different behavior based on the position of the list, eg, do you want to allow an auto-scroll action, etc."
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListScrollPositionInfo.swift",
-        "key.doc.full_as_xml" : "ListScrollPositionInfo<\/Name>s:10ListableUI22ListScrollPositionInfoV<\/USR>public struct ListScrollPositionInfo : Equatable<\/Declaration>Information about the current scroll position of a list, including which edges of the list are visible, and which items are visible.<\/Para><\/Abstract>This is useful within callback APIs where you as a developer may want to perform different behavior based on the position of the list, eg, do you want to allow an auto-scroll action, etc.<\/Para><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListScrollPositionInfo.swift",
+        "key.doc.full_as_xml" : "ListScrollPositionInfo<\/Name>s:10ListableUI22ListScrollPositionInfoV<\/USR>public struct ListScrollPositionInfo : Equatable<\/Declaration>Information about the current scroll position of a list, including which edges of the list are visible, and which items are visible.<\/Para><\/Abstract>This is useful within callback APIs where you as a developer may want to perform different behavior based on the position of the list, eg, do you want to allow an auto-scroll action, etc.<\/Para><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 17,
         "key.doc.name" : "ListScrollPositionInfo",
         "key.doc.type" : "Class",
@@ -51772,7 +53783,7 @@
             "key.offset" : 503
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListScrollPositionInfo.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListScrollPositionInfo.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> ListScrollPositionInfo<\/decl.name> : Equatable<\/ref.protocol><\/decl.struct>",
         "key.inheritedtypes" : [
           {
@@ -51810,14 +53821,14 @@
             "key.doc.column" : 16,
             "key.doc.comment" : "Which items within the list are currently visible.",
             "key.doc.declaration" : "public var visibleItems: Set",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListScrollPositionInfo.swift",
-            "key.doc.full_as_xml" : "visibleItems<\/Name>s:10ListableUI22ListScrollPositionInfoV12visibleItemsShyAA13AnyIdentifierCGvp<\/USR>public var visibleItems: Set<AnyIdentifier><\/Declaration>Which items within the list are currently visible.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListScrollPositionInfo.swift",
+            "key.doc.full_as_xml" : "visibleItems<\/Name>s:10ListableUI22ListScrollPositionInfoV12visibleItemsShyAA13AnyIdentifierCGvp<\/USR>public var visibleItems: Set<AnyIdentifier><\/Declaration>Which items within the list are currently visible.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 24,
             "key.doc.name" : "visibleItems",
             "key.doc.type" : "Other",
             "key.doclength" : 55,
             "key.docoffset" : 563,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListScrollPositionInfo.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListScrollPositionInfo.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> visibleItems<\/decl.name>: Set<\/ref.struct><AnyIdentifier<\/ref.class>><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 37,
@@ -51846,14 +53857,14 @@
             "key.doc.column" : 16,
             "key.doc.comment" : "If the first item list is partially visible.",
             "key.doc.declaration" : "public var isFirstItemVisible: Bool",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListScrollPositionInfo.swift",
-            "key.doc.full_as_xml" : "isFirstItemVisible<\/Name>s:10ListableUI22ListScrollPositionInfoV18isFirstItemVisibleSbvp<\/USR>public var isFirstItemVisible: Bool<\/Declaration>If the first item list is partially visible.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListScrollPositionInfo.swift",
+            "key.doc.full_as_xml" : "isFirstItemVisible<\/Name>s:10ListableUI22ListScrollPositionInfoV18isFirstItemVisibleSbvp<\/USR>public var isFirstItemVisible: Bool<\/Declaration>If the first item list is partially visible.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 27,
             "key.doc.name" : "isFirstItemVisible",
             "key.doc.type" : "Other",
             "key.doclength" : 49,
             "key.docoffset" : 676,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListScrollPositionInfo.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListScrollPositionInfo.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> isFirstItemVisible<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 29,
@@ -51882,14 +53893,14 @@
             "key.doc.column" : 16,
             "key.doc.comment" : "If the last item list is partially visible.",
             "key.doc.declaration" : "public var isLastItemVisible: Bool",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListScrollPositionInfo.swift",
-            "key.doc.full_as_xml" : "isLastItemVisible<\/Name>s:10ListableUI22ListScrollPositionInfoV17isLastItemVisibleSbvp<\/USR>public var isLastItemVisible: Bool<\/Declaration>If the last item list is partially visible.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListScrollPositionInfo.swift",
+            "key.doc.full_as_xml" : "isLastItemVisible<\/Name>s:10ListableUI22ListScrollPositionInfoV17isLastItemVisibleSbvp<\/USR>public var isLastItemVisible: Bool<\/Declaration>If the last item list is partially visible.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 30,
             "key.doc.name" : "isLastItemVisible",
             "key.doc.type" : "Other",
             "key.doclength" : 48,
             "key.docoffset" : 775,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListScrollPositionInfo.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListScrollPositionInfo.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> isLastItemVisible<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 28,
@@ -51940,14 +53951,14 @@
                 "Para" : "Generally, you want to include the `safeAreaInsets` for the top, left, and right, but may want to exclude the bottom if you consider the bottom edge visible if it’s visible below the home indicator on a home button-less iPhone or iPad."
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListScrollPositionInfo.swift",
-            "key.doc.full_as_xml" : "visibleContentEdges(includingSafeAreaEdges:)<\/Name>s:10ListableUI22ListScrollPositionInfoV19visibleContentEdges017includingSafeAreaI0So10UIRectEdgeVAG_tF<\/USR>public func visibleContentEdges(includingSafeAreaEdges safeAreaEdges: UIRectEdge = .all) -> UIRectEdge<\/Declaration>Used to retrieve the visible content edges for the list’s content.<\/Para><\/Abstract>Eg, for vertical lists:<\/Para>If the list is scrolled all the way to the bottom, the visible edges are the left, right, and bottom.<\/Para><\/Item>If the list is scrolled all the way to the top, the visible edges are the left, right, and top.<\/Para><\/Item><\/List-Bullet>You can use this method to determine how and where the list is scrolled if you want to modify behavior based on the current scroll position.<\/Para>]]><\/rawHTML>Examples]]><\/rawHTML><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>]]><\/rawHTML>Safe Area Insets]]><\/rawHTML>You can control whether safeAreaInsets<\/codeVoice> should be taken into account via the includingSafeAreaEdges<\/codeVoice> parameter.<\/Para>Generally, you want to include the safeAreaInsets<\/codeVoice> for the top, left, and right, but may want to exclude the bottom if you consider the bottom edge visible if it’s visible below the home indicator on a home button-less iPhone or iPad.<\/Para><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListScrollPositionInfo.swift",
+            "key.doc.full_as_xml" : "visibleContentEdges(includingSafeAreaEdges:)<\/Name>s:10ListableUI22ListScrollPositionInfoV19visibleContentEdges017includingSafeAreaI0So10UIRectEdgeVAG_tF<\/USR>public func visibleContentEdges(includingSafeAreaEdges safeAreaEdges: UIRectEdge = .all) -> UIRectEdge<\/Declaration>Used to retrieve the visible content edges for the list’s content.<\/Para><\/Abstract>Eg, for vertical lists:<\/Para>If the list is scrolled all the way to the bottom, the visible edges are the left, right, and bottom.<\/Para><\/Item>If the list is scrolled all the way to the top, the visible edges are the left, right, and top.<\/Para><\/Item><\/List-Bullet>You can use this method to determine how and where the list is scrolled if you want to modify behavior based on the current scroll position.<\/Para>]]><\/rawHTML>Examples]]><\/rawHTML><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>]]><\/rawHTML>Safe Area Insets]]><\/rawHTML>You can control whether safeAreaInsets<\/codeVoice> should be taken into account via the includingSafeAreaEdges<\/codeVoice> parameter.<\/Para>Generally, you want to include the safeAreaInsets<\/codeVoice> for the top, left, and right, but may want to exclude the bottom if you consider the bottom edge visible if it’s visible below the home indicator on a home button-less iPhone or iPad.<\/Para><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 74,
             "key.doc.name" : "visibleContentEdges(includingSafeAreaEdges:)",
             "key.doc.type" : "Function",
             "key.doclength" : 2921,
             "key.docoffset" : 872,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListScrollPositionInfo.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListScrollPositionInfo.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> visibleContentEdges<\/decl.name>(includingSafeAreaEdges<\/decl.var.parameter.argument_label> safeAreaEdges<\/decl.var.parameter.name>: UIRectEdge<\/ref.struct><\/decl.var.parameter.type> = .all<\/decl.var.parameter>) -> UIRectEdge<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 414,
@@ -51961,7 +53972,7 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let safeArea: UIEdgeInsets<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListScrollPositionInfo.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListScrollPositionInfo.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> safeArea<\/decl.name>: UIEdgeInsets<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 76,
@@ -51999,7 +54010,7 @@
                 "key.offset" : 4268
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListScrollPositionInfo.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListScrollPositionInfo.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> let<\/syntaxtype.keyword> scrollViewState<\/decl.name>: ScrollViewState<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 37,
@@ -52029,14 +54040,14 @@
             "key.doc.column" : 12,
             "key.doc.comment" : "Creates a `ListScrollPositionInfo` for the provided scroll view.",
             "key.doc.declaration" : "public init(scrollView: UIScrollView, visibleItems: Set, isFirstItemVisible: Bool, isLastItemVisible: Bool)",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListScrollPositionInfo.swift",
-            "key.doc.full_as_xml" : "init(scrollView:visibleItems:isFirstItemVisible:isLastItemVisible:)<\/Name>s:10ListableUI22ListScrollPositionInfoV10scrollView12visibleItems18isFirstItemVisible0k4LastmN0ACSo08UIScrollH0C_ShyAA13AnyIdentifierCGS2btcfc<\/USR>public init(scrollView: UIScrollView, visibleItems: Set<AnyIdentifier>, isFirstItemVisible: Bool, isLastItemVisible: Bool)<\/Declaration>Creates a ListScrollPositionInfo<\/codeVoice> for the provided scroll view.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListScrollPositionInfo.swift",
+            "key.doc.full_as_xml" : "init(scrollView:visibleItems:isFirstItemVisible:isLastItemVisible:)<\/Name>s:10ListableUI22ListScrollPositionInfoV10scrollView12visibleItems18isFirstItemVisible0k4LastmN0ACSo08UIScrollH0C_ShyAA13AnyIdentifierCGS2btcfc<\/USR>public init(scrollView: UIScrollView, visibleItems: Set<AnyIdentifier>, isFirstItemVisible: Bool, isLastItemVisible: Bool)<\/Declaration>Creates a ListScrollPositionInfo<\/codeVoice> for the provided scroll view.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 92,
             "key.doc.name" : "init(scrollView:visibleItems:isFirstItemVisible:isLastItemVisible:)",
             "key.doc.type" : "Function",
             "key.doclength" : 69,
             "key.docoffset" : 4323,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListScrollPositionInfo.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListScrollPositionInfo.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(scrollView<\/decl.var.parameter.argument_label>: UIScrollView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, visibleItems<\/decl.var.parameter.argument_label>: Set<\/ref.struct><AnyIdentifier<\/ref.class>><\/decl.var.parameter.type><\/decl.var.parameter>, isFirstItemVisible<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, isLastItemVisible<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 529,
@@ -52066,7 +54077,7 @@
                 "key.offset" : 4967
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListScrollPositionInfo.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListScrollPositionInfo.swift",
             "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> ListScrollPositionInfo<\/ref.struct>.ScrollViewState<\/decl.name> : Equatable<\/ref.protocol><\/decl.struct>",
             "key.inheritedtypes" : [
               {
@@ -52086,7 +54097,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var bounds: CGRect<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListScrollPositionInfo.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListScrollPositionInfo.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> bounds<\/decl.name>: CGRect<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 19,
@@ -52105,7 +54116,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var contentSize: CGSize<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListScrollPositionInfo.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListScrollPositionInfo.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> contentSize<\/decl.name>: CGSize<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 24,
@@ -52124,7 +54135,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var safeAreaInsets: UIEdgeInsets<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListScrollPositionInfo.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListScrollPositionInfo.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> safeAreaInsets<\/decl.name>: UIEdgeInsets<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 33,
@@ -52172,7 +54183,7 @@
             "key.annotated_decl" : "func masked(by edges: UIRectEdge<\/Type>) -> UIEdgeInsets<\/Type><\/Declaration>",
             "key.bodylength" : 438,
             "key.bodyoffset" : 5180,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListScrollPositionInfo.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListScrollPositionInfo.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> masked<\/decl.name>(by<\/decl.var.parameter.argument_label> edges<\/decl.var.parameter.name>: UIRectEdge<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> UIEdgeInsets<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 495,
@@ -52186,7 +54197,7 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "var insets: UIEdgeInsets<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListScrollPositionInfo.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListScrollPositionInfo.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> insets<\/decl.name>: UIEdgeInsets<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 27,
@@ -52245,7 +54256,7 @@
             "key.annotated_decl" : "static func visibleScrollViewContentEdges(bounds: CGRect<\/Type>, contentSize: CGSize<\/Type>, safeAreaInsets: UIEdgeInsets<\/Type>) -> UIRectEdge<\/Type><\/Declaration>",
             "key.bodylength" : 539,
             "key.bodyoffset" : 5842,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListScrollPositionInfo.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListScrollPositionInfo.swift",
             "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> visibleScrollViewContentEdges<\/decl.name>(bounds<\/decl.var.parameter.argument_label>: CGRect<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, contentSize<\/decl.var.parameter.argument_label>: CGSize<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, safeAreaInsets<\/decl.var.parameter.argument_label>: UIEdgeInsets<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> UIRectEdge<\/ref.struct><\/decl.function.returntype><\/decl.function.method.static>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
             "key.length" : 701,
@@ -52259,7 +54270,7 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let insetBounds: CGRect<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListScrollPositionInfo.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListScrollPositionInfo.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> insetBounds<\/decl.name>: CGRect<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 50,
@@ -52276,7 +54287,7 @@
               },
               {
                 "key.annotated_decl" : "var edges: UIRectEdge<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListScrollPositionInfo.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListScrollPositionInfo.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> edges<\/decl.name>: UIRectEdge<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 24,
@@ -52326,7 +54337,7 @@
             "key.doc.full_as_xml" : "debugDescription<\/Name>s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp<\/USR>var debugDescription: String { get }<\/Declaration>A textual representation of this instance, suitable for debugging.<\/Para><\/Abstract>Calling this property directly is discouraged. Instead, convert an instance of any type to a string by using the String(reflecting:)<\/codeVoice> initializer. This initializer works with any type, and uses the custom debugDescription<\/codeVoice> property for types that conform to CustomDebugStringConvertible<\/codeVoice>:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>The conversion of p<\/codeVoice> to a string in the assignment to s<\/codeVoice> uses the Point<\/codeVoice> type’s debugDescription<\/codeVoice> property.<\/Para>This documentation comment was inherited from CustomDebugStringConvertible<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Other>",
             "key.doc.name" : "debugDescription",
             "key.doc.type" : "Other",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListScrollPositionInfo.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListScrollPositionInfo.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> debugDescription<\/decl.name>: String<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 508,
@@ -52348,7 +54359,7 @@
           },
           {
             "key.annotated_decl" : "var components: [String<\/Type>]<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListScrollPositionInfo.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListScrollPositionInfo.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> components<\/decl.name>: [String<\/ref.struct>]<\/decl.var.type><\/decl.var.local>",
             "key.kind" : "source.lang.swift.decl.var.local",
             "key.length" : 27,
@@ -52371,9 +54382,9 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
-    "key.length" : 6380,
+    "key.length" : 7339,
     "key.offset" : 0,
     "key.substructure" : [
       {
@@ -52408,14 +54419,14 @@
             "Para" : "Note that the duration of performing all callbacks is logged to `os_signpost`. If you find that your application is running slowly, and you have registered `ListStateObserver` callbacks, use Instruments.app to see what callback is slow."
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
-        "key.doc.full_as_xml" : "ListStateObserver<\/Name>s:10ListableUI17ListStateObserverV<\/USR>public struct ListStateObserver<\/Declaration>Allows reading state and events based on state changes within the list view. For example, you can determine when a user scrolls, when the content of a list changes, etc.<\/Para><\/Abstract>This is useful if you want to log these events to a logging or debugging system, or potentially perform actions on the list based on some change.<\/Para>Every callback has its own data type, filled with information relevant to that callback. Every callback also contains a ListActions<\/codeVoice> to perform actions back on the list.<\/Para>You can register for each callback type multiple times – eg to split apart different pieces of functionality. Eg, two calls to onDidScroll<\/codeVoice> registers two callbacks.<\/Para>]]><\/rawHTML>Example]]><\/rawHTML><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>Note that the duration of performing all callbacks is logged to os_signpost<\/codeVoice>. If you find that your application is running slowly, and you have registered ListStateObserver<\/codeVoice> callbacks, use Instruments.app to see what callback is slow.<\/Para><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
+        "key.doc.full_as_xml" : "ListStateObserver<\/Name>s:10ListableUI17ListStateObserverV<\/USR>public struct ListStateObserver<\/Declaration>Allows reading state and events based on state changes within the list view. For example, you can determine when a user scrolls, when the content of a list changes, etc.<\/Para><\/Abstract>This is useful if you want to log these events to a logging or debugging system, or potentially perform actions on the list based on some change.<\/Para>Every callback has its own data type, filled with information relevant to that callback. Every callback also contains a ListActions<\/codeVoice> to perform actions back on the list.<\/Para>You can register for each callback type multiple times – eg to split apart different pieces of functionality. Eg, two calls to onDidScroll<\/codeVoice> registers two callbacks.<\/Para>]]><\/rawHTML>Example]]><\/rawHTML><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>Note that the duration of performing all callbacks is logged to os_signpost<\/codeVoice>. If you find that your application is running slowly, and you have registered ListStateObserver<\/codeVoice> callbacks, use Instruments.app to see what callback is slow.<\/Para><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 41,
         "key.doc.name" : "ListStateObserver",
         "key.doc.type" : "Class",
         "key.doclength" : 1260,
         "key.docoffset" : 114,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> ListStateObserver<\/decl.name><\/decl.struct>",
         "key.kind" : "source.lang.swift.decl.struct",
         "key.length" : 3624,
@@ -52442,14 +54453,14 @@
             "key.doc.column" : 12,
             "key.doc.comment" : "Creates and optionally allows you to configure an observer.",
             "key.doc.declaration" : "public init(_ configure: (inout ListStateObserver) -> () = { _ in })",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
-            "key.doc.full_as_xml" : "init(_:)<\/Name>s:10ListableUI17ListStateObserverVyACyACzXEcfc<\/USR>public init(_ configure: (inout ListStateObserver) -> () = { _ in })<\/Declaration>Creates and optionally allows you to configure an observer.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
+            "key.doc.full_as_xml" : "init(_:)<\/Name>s:10ListableUI17ListStateObserverVyACyACzXEcfc<\/USR>public init(_ configure: (inout ListStateObserver) -> () = { _ in })<\/Declaration>Creates and optionally allows you to configure an observer.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 44,
             "key.doc.name" : "init(_:)",
             "key.doc.type" : "Function",
             "key.doclength" : 64,
             "key.docoffset" : 1417,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(_<\/decl.var.parameter.argument_label> configure<\/decl.var.parameter.name>: (inout<\/syntaxtype.keyword> ListStateObserver<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type> = { _ in }<\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 99,
@@ -52485,7 +54496,7 @@
                 "key.offset" : 1657
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> typealias<\/syntaxtype.keyword> ListStateObserver<\/ref.struct>.OnDidScroll<\/decl.name> = (DidScroll<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.typealias>",
             "key.kind" : "source.lang.swift.decl.typealias",
             "key.length" : 41,
@@ -52525,14 +54536,14 @@
                 "Para" : " This callback is called very frequently when the user is scrolling the list. As such, make sure any work you do in the callback is efficient."
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
-            "key.doc.full_as_xml" : "onDidScroll(_:)<\/Name>s:10ListableUI17ListStateObserverV11onDidScrollyyyAC0gH0VcF<\/USR>public mutating func onDidScroll(_ callback: @escaping OnDidScroll)<\/Declaration>Registers a callback which will be called when the list view is scrolled, or is scrolled to top.<\/Para><\/Abstract>Note<\/bold> This callback is called very frequently when the user is scrolling the list. As such, make sure any work you do in the callback is efficient.<\/Para><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
+            "key.doc.full_as_xml" : "onDidScroll(_:)<\/Name>s:10ListableUI17ListStateObserverV11onDidScrollyyyAC0gH0VcF<\/USR>public mutating func onDidScroll(_ callback: @escaping OnDidScroll)<\/Declaration>Registers a callback which will be called when the list view is scrolled, or is scrolled to top.<\/Para><\/Abstract>Note<\/bold> This callback is called very frequently when the user is scrolling the list. As such, make sure any work you do in the callback is efficient.<\/Para><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 60,
             "key.doc.name" : "onDidScroll(_:)",
             "key.doc.type" : "Function",
             "key.doclength" : 284,
             "key.docoffset" : 1711,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> mutating<\/syntaxtype.keyword> func<\/syntaxtype.keyword> onDidScroll<\/decl.name>(_<\/decl.var.parameter.argument_label> callback<\/decl.var.parameter.name>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> OnDidScroll<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 107,
@@ -52565,7 +54576,7 @@
                 "key.offset" : 2132
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword>(set) var<\/syntaxtype.keyword> onDidScroll<\/decl.name>: [OnDidScroll<\/ref.typealias>]<\/decl.var.type> { get }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 36,
@@ -52604,7 +54615,7 @@
                 "key.offset" : 2253
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> typealias<\/syntaxtype.keyword> ListStateObserver<\/ref.struct>.OnContentUpdated<\/decl.name> = (ContentUpdated<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.typealias>",
             "key.kind" : "source.lang.swift.decl.typealias",
             "key.length" : 51,
@@ -52644,14 +54655,14 @@
                 "Para" : ": This method is called even if there were no actual changes made during the `setContent` call. To see if there were changes, check the `hadChanges` property on `ContentUpdated`."
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
-            "key.doc.full_as_xml" : "onContentUpdated(_:)<\/Name>s:10ListableUI17ListStateObserverV16onContentUpdatedyyyAC0gH0VcF<\/USR>public mutating func onContentUpdated(_ callback: @escaping OnContentUpdated)<\/Declaration>Registers a callback which will be called when the list view’s content is updated due to a call to setContent<\/codeVoice>.<\/Para><\/Abstract>Note<\/bold>: This method is called even if there were no actual changes made during the setContent<\/codeVoice> call. To see if there were changes, check the hadChanges<\/codeVoice> property on ContentUpdated<\/codeVoice>.<\/Para><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
+            "key.doc.full_as_xml" : "onContentUpdated(_:)<\/Name>s:10ListableUI17ListStateObserverV16onContentUpdatedyyyAC0gH0VcF<\/USR>public mutating func onContentUpdated(_ callback: @escaping OnContentUpdated)<\/Declaration>Registers a callback which will be called when the list view’s content is updated due to a call to setContent<\/codeVoice>.<\/Para><\/Abstract>Note<\/bold>: This method is called even if there were no actual changes made during the setContent<\/codeVoice> call. To see if there were changes, check the hadChanges<\/codeVoice> property on ContentUpdated<\/codeVoice>.<\/Para><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 78,
             "key.doc.name" : "onContentUpdated(_:)",
             "key.doc.type" : "Function",
             "key.doclength" : 336,
             "key.docoffset" : 2321,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> mutating<\/syntaxtype.keyword> func<\/syntaxtype.keyword> onContentUpdated<\/decl.name>(_<\/decl.var.parameter.argument_label> callback<\/decl.var.parameter.name>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> OnContentUpdated<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 122,
@@ -52684,7 +54695,7 @@
                 "key.offset" : 2809
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword>(set) var<\/syntaxtype.keyword> onContentUpdated<\/decl.name>: [OnContentUpdated<\/ref.typealias>]<\/decl.var.type> { get }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 46,
@@ -52723,7 +54734,7 @@
                 "key.offset" : 2943
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> typealias<\/syntaxtype.keyword> ListStateObserver<\/ref.struct>.OnVisibilityChanged<\/decl.name> = (VisibilityChanged<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.typealias>",
             "key.kind" : "source.lang.swift.decl.typealias",
             "key.length" : 57,
@@ -52758,14 +54769,14 @@
             "key.doc.column" : 26,
             "key.doc.comment" : "Registers a callback which will be called when the list view's content is changed – eg through\ninserted, removed, updated, moved items or sections.",
             "key.doc.declaration" : "public mutating func onVisibilityChanged(_ callback: @escaping OnVisibilityChanged)",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
-            "key.doc.full_as_xml" : "onVisibilityChanged(_:)<\/Name>s:10ListableUI17ListStateObserverV19onVisibilityChangedyyyAC0gH0VcF<\/USR>public mutating func onVisibilityChanged(_ callback: @escaping OnVisibilityChanged)<\/Declaration>Registers a callback which will be called when the list view’s content is changed – eg through inserted, removed, updated, moved items or sections.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
+            "key.doc.full_as_xml" : "onVisibilityChanged(_:)<\/Name>s:10ListableUI17ListStateObserverV19onVisibilityChangedyyyAC0gH0VcF<\/USR>public mutating func onVisibilityChanged(_ callback: @escaping OnVisibilityChanged)<\/Declaration>Registers a callback which will be called when the list view’s content is changed – eg through inserted, removed, updated, moved items or sections.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 93,
             "key.doc.name" : "onVisibilityChanged(_:)",
             "key.doc.type" : "Function",
             "key.doclength" : 162,
             "key.docoffset" : 3017,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> mutating<\/syntaxtype.keyword> func<\/syntaxtype.keyword> onVisibilityChanged<\/decl.name>(_<\/decl.var.parameter.argument_label> callback<\/decl.var.parameter.name>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> OnVisibilityChanged<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 131,
@@ -52798,7 +54809,7 @@
                 "key.offset" : 3340
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword>(set) var<\/syntaxtype.keyword> onVisibilityChanged<\/decl.name>: [OnVisibilityChanged<\/ref.typealias>]<\/decl.var.type> { get }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 52,
@@ -52837,7 +54848,7 @@
                 "key.offset" : 3475
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> typealias<\/syntaxtype.keyword> ListStateObserver<\/ref.struct>.OnFrameChanged<\/decl.name> = (FrameChanged<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.typealias>",
             "key.kind" : "source.lang.swift.decl.typealias",
             "key.length" : 47,
@@ -52872,14 +54883,14 @@
             "key.doc.column" : 26,
             "key.doc.comment" : "Registers a callback which will be called when the list view's frame is changed.",
             "key.doc.declaration" : "public mutating func onFrameChanged(_ callback: @escaping OnFrameChanged)",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
-            "key.doc.full_as_xml" : "onFrameChanged(_:)<\/Name>s:10ListableUI17ListStateObserverV14onFrameChangedyyyAC0gH0VcF<\/USR>public mutating func onFrameChanged(_ callback: @escaping OnFrameChanged)<\/Declaration>Registers a callback which will be called when the list view’s frame is changed.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
+            "key.doc.full_as_xml" : "onFrameChanged(_:)<\/Name>s:10ListableUI17ListStateObserverV14onFrameChangedyyyAC0gH0VcF<\/USR>public mutating func onFrameChanged(_ callback: @escaping OnFrameChanged)<\/Declaration>Registers a callback which will be called when the list view’s frame is changed.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 107,
             "key.doc.name" : "onFrameChanged(_:)",
             "key.doc.type" : "Function",
             "key.doclength" : 85,
             "key.docoffset" : 3539,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> mutating<\/syntaxtype.keyword> func<\/syntaxtype.keyword> onFrameChanged<\/decl.name>(_<\/decl.var.parameter.argument_label> callback<\/decl.var.parameter.name>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> OnFrameChanged<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 115,
@@ -52912,7 +54923,7 @@
                 "key.offset" : 3769
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword>(set) var<\/syntaxtype.keyword> onFrameChanged<\/decl.name>: [OnFrameChanged<\/ref.typealias>]<\/decl.var.type> { get }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 42,
@@ -52951,7 +54962,7 @@
                 "key.offset" : 3898
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> typealias<\/syntaxtype.keyword> ListStateObserver<\/ref.struct>.OnSelectionChanged<\/decl.name> = (SelectionChanged<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.typealias>",
             "key.kind" : "source.lang.swift.decl.typealias",
             "key.length" : 55,
@@ -52986,14 +54997,14 @@
             "key.doc.column" : 26,
             "key.doc.comment" : "Registers a callback which will be called when the list view's selected items are changed by the user.",
             "key.doc.declaration" : "public mutating func onSelectionChanged(_ callback: @escaping OnSelectionChanged)",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
-            "key.doc.full_as_xml" : "onSelectionChanged(_:)<\/Name>s:10ListableUI17ListStateObserverV18onSelectionChangedyyyAC0gH0VcF<\/USR>public mutating func onSelectionChanged(_ callback: @escaping OnSelectionChanged)<\/Declaration>Registers a callback which will be called when the list view’s selected items are changed by the user.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
+            "key.doc.full_as_xml" : "onSelectionChanged(_:)<\/Name>s:10ListableUI17ListStateObserverV18onSelectionChangedyyyAC0gH0VcF<\/USR>public mutating func onSelectionChanged(_ callback: @escaping OnSelectionChanged)<\/Declaration>Registers a callback which will be called when the list view’s selected items are changed by the user.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 121,
             "key.doc.name" : "onSelectionChanged(_:)",
             "key.doc.type" : "Function",
             "key.doclength" : 107,
             "key.docoffset" : 3970,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> mutating<\/syntaxtype.keyword> func<\/syntaxtype.keyword> onSelectionChanged<\/decl.name>(_<\/decl.var.parameter.argument_label> callback<\/decl.var.parameter.name>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> OnSelectionChanged<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 127,
@@ -53026,7 +55037,7 @@
                 "key.offset" : 4234
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword>(set) var<\/syntaxtype.keyword> onSelectionChanged<\/decl.name>: [OnSelectionChanged<\/ref.typealias>]<\/decl.var.type> { get }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 50,
@@ -53060,7 +55071,7 @@
             "key.annotated_decl" : "static func perform<CallbackInfo>(_ callbacks: Array<\/Type><(CallbackInfo<\/Type>) -> ()>, _ loggingName: StaticString<\/Type>, with listView: ListView<\/Type>, makeInfo: (ListActions<\/Type>) -> (CallbackInfo<\/Type>))<\/Declaration>",
             "key.bodylength" : 439,
             "key.bodyoffset" : 4563,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
             "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> perform<\/decl.name><CallbackInfo<\/decl.generic_type_param.name><\/decl.generic_type_param>>(_<\/decl.var.parameter.argument_label> callbacks<\/decl.var.parameter.name>: Array<\/ref.struct><(CallbackInfo<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype>><\/decl.var.parameter.type><\/decl.var.parameter>, _<\/decl.var.parameter.argument_label> loggingName<\/decl.var.parameter.name>: StaticString<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, with<\/decl.var.parameter.argument_label> listView<\/decl.var.parameter.name>: ListView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, makeInfo<\/decl.var.parameter.argument_label>: (ListActions<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>) -> (CallbackInfo<\/ref.generic_type_param><\/tuple.element.type><\/tuple.element>)<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.static>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
             "key.length" : 647,
@@ -53074,7 +55085,7 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "CallbackInfo<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
                 "key.fully_annotated_decl" : "CallbackInfo<\/decl.generic_type_param.name><\/decl.generic_type_param>",
                 "key.kind" : "source.lang.swift.decl.generic_type_param",
                 "key.length" : 12,
@@ -53091,7 +55102,7 @@
               },
               {
                 "key.annotated_decl" : "let actions: ListActions<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> actions<\/decl.name>: ListActions<\/ref.class><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 27,
@@ -53108,7 +55119,7 @@
               },
               {
                 "key.annotated_decl" : "let callbackInfo: (CallbackInfo)<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> callbackInfo<\/decl.name>: (CallbackInfo)<\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 36,
@@ -53135,7 +55146,7 @@
       },
       {
         "key.annotated_decl" : "public struct ListStateObserver<\/Declaration>",
-        "key.bodylength" : 1341,
+        "key.bodylength" : 2300,
         "key.bodyoffset" : 5037,
         "key.doc.column" : 15,
         "key.doc.declaration" : "public struct ListStateObserver",
@@ -53156,21 +55167,21 @@
             "Para" : "Note that the duration of performing all callbacks is logged to `os_signpost`. If you find that your application is running slowly, and you have registered `ListStateObserver` callbacks, use Instruments.app to see what callback is slow."
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
-        "key.doc.full_as_xml" : "ListStateObserver<\/Name>s:10ListableUI17ListStateObserverV<\/USR>public struct ListStateObserver<\/Declaration>Allows reading state and events based on state changes within the list view. For example, you can determine when a user scrolls, when the content of a list changes, etc.<\/Para><\/Abstract>This is useful if you want to log these events to a logging or debugging system, or potentially perform actions on the list based on some change.<\/Para>Every callback has its own data type, filled with information relevant to that callback. Every callback also contains a ListActions<\/codeVoice> to perform actions back on the list.<\/Para>You can register for each callback type multiple times – eg to split apart different pieces of functionality. Eg, two calls to onDidScroll<\/codeVoice> registers two callbacks.<\/Para>]]><\/rawHTML>Example]]><\/rawHTML><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>Note that the duration of performing all callbacks is logged to os_signpost<\/codeVoice>. If you find that your application is running slowly, and you have registered ListStateObserver<\/codeVoice> callbacks, use Instruments.app to see what callback is slow.<\/Para><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
+        "key.doc.full_as_xml" : "ListStateObserver<\/Name>s:10ListableUI17ListStateObserverV<\/USR>public struct ListStateObserver<\/Declaration>Allows reading state and events based on state changes within the list view. For example, you can determine when a user scrolls, when the content of a list changes, etc.<\/Para><\/Abstract>This is useful if you want to log these events to a logging or debugging system, or potentially perform actions on the list based on some change.<\/Para>Every callback has its own data type, filled with information relevant to that callback. Every callback also contains a ListActions<\/codeVoice> to perform actions back on the list.<\/Para>You can register for each callback type multiple times – eg to split apart different pieces of functionality. Eg, two calls to onDidScroll<\/codeVoice> registers two callbacks.<\/Para>]]><\/rawHTML>Example]]><\/rawHTML><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>Note that the duration of performing all callbacks is logged to os_signpost<\/codeVoice>. If you find that your application is running slowly, and you have registered ListStateObserver<\/codeVoice> callbacks, use Instruments.app to see what callback is slow.<\/Para><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 41,
         "key.doc.name" : "ListStateObserver",
         "key.doc.type" : "Class",
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> ListStateObserver<\/decl.name><\/decl.struct>",
         "key.kind" : "source.lang.swift.decl.extension",
-        "key.length" : 1371,
+        "key.length" : 2330,
         "key.name" : "ListStateObserver",
         "key.namelength" : 17,
         "key.nameoffset" : 5018,
         "key.offset" : 5008,
         "key.parsed_declaration" : "extension ListStateObserver",
-        "key.parsed_scope.end" : 203,
+        "key.parsed_scope.end" : 229,
         "key.parsed_scope.start" : 157,
         "key.substructure" : [
           {
@@ -53188,14 +55199,14 @@
             "key.doc.column" : 19,
             "key.doc.comment" : "Parameters available for `OnDidScroll` callbacks.",
             "key.doc.declaration" : "public struct DidScroll",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
-            "key.doc.full_as_xml" : "DidScroll<\/Name>s:10ListableUI17ListStateObserverV9DidScrollV<\/USR>public struct DidScroll<\/Declaration>Parameters available for OnDidScroll<\/codeVoice> callbacks.<\/Para><\/Abstract><\/CommentParts><\/Class>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
+            "key.doc.full_as_xml" : "DidScroll<\/Name>s:10ListableUI17ListStateObserverV9DidScrollV<\/USR>public struct DidScroll<\/Declaration>Parameters available for OnDidScroll<\/codeVoice> callbacks.<\/Para><\/Abstract><\/CommentParts><\/Class>",
             "key.doc.line" : 160,
             "key.doc.name" : "DidScroll",
             "key.doc.type" : "Class",
             "key.doclength" : 54,
             "key.docoffset" : 5042,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> DidScroll<\/decl.name><\/decl.struct>",
             "key.kind" : "source.lang.swift.decl.struct",
             "key.length" : 122,
@@ -53217,7 +55228,7 @@
                     "key.offset" : 5134
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> let<\/syntaxtype.keyword> actions<\/decl.name>: ListActions<\/ref.class><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 25,
@@ -53242,7 +55253,7 @@
                     "key.offset" : 5175
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> let<\/syntaxtype.keyword> positionInfo<\/decl.name>: ListScrollPositionInfo<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 41,
@@ -53272,28 +55283,28 @@
                 "key.offset" : 5307
               }
             ],
-            "key.bodylength" : 149,
+            "key.bodylength" : 1108,
             "key.bodyoffset" : 5337,
             "key.doc.column" : 19,
             "key.doc.comment" : "Parameters available for `OnContentUpdated` callbacks.",
             "key.doc.declaration" : "public struct ContentUpdated",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
-            "key.doc.full_as_xml" : "ContentUpdated<\/Name>s:10ListableUI17ListStateObserverV14ContentUpdatedV<\/USR>public struct ContentUpdated<\/Declaration>Parameters available for OnContentUpdated<\/codeVoice> callbacks.<\/Para><\/Abstract><\/CommentParts><\/Class>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
+            "key.doc.full_as_xml" : "ContentUpdated<\/Name>s:10ListableUI17ListStateObserverV14ContentUpdatedV<\/USR>public struct ContentUpdated<\/Declaration>Parameters available for OnContentUpdated<\/codeVoice> callbacks.<\/Para><\/Abstract><\/CommentParts><\/Class>",
             "key.doc.line" : 167,
             "key.doc.name" : "ContentUpdated",
             "key.doc.type" : "Class",
             "key.doclength" : 59,
             "key.docoffset" : 5244,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> ContentUpdated<\/decl.name><\/decl.struct>",
             "key.kind" : "source.lang.swift.decl.struct",
-            "key.length" : 173,
+            "key.length" : 1132,
             "key.name" : "ContentUpdated",
             "key.namelength" : 14,
             "key.nameoffset" : 5321,
             "key.offset" : 5314,
             "key.parsed_declaration" : "public struct ContentUpdated",
-            "key.parsed_scope.end" : 172,
+            "key.parsed_scope.end" : 198,
             "key.parsed_scope.start" : 167,
             "key.substructure" : [
               {
@@ -53303,27 +55314,27 @@
                   {
                     "key.attribute" : "source.decl.attribute.public",
                     "key.length" : 6,
-                    "key.offset" : 5346
+                    "key.offset" : 5355
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> let<\/syntaxtype.keyword> hadChanges<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 21,
                 "key.name" : "hadChanges",
                 "key.namelength" : 10,
-                "key.nameoffset" : 5357,
-                "key.offset" : 5353,
+                "key.nameoffset" : 5366,
+                "key.offset" : 5362,
                 "key.parsed_declaration" : "public let hadChanges : Bool",
-                "key.parsed_scope.end" : 168,
-                "key.parsed_scope.start" : 168,
+                "key.parsed_scope.end" : 169,
+                "key.parsed_scope.start" : 169,
                 "key.typename" : "Bool",
                 "key.typeusr" : "$sSbD",
                 "key.usr" : "s:10ListableUI17ListStateObserverV14ContentUpdatedV10hadChangesSbvp"
               },
               {
                 "key.accessibility" : "source.lang.swift.accessibility.public",
-                "key.annotated_decl" : "public let actions: ListActions<\/Type><\/Declaration>",
+                "key.annotated_decl" : "public let insertionsAndRemovals: InsertionsAndRemovals<\/Type><\/Declaration>",
                 "key.attributes" : [
                   {
                     "key.attribute" : "source.decl.attribute.public",
@@ -53331,17 +55342,42 @@
                     "key.offset" : 5392
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> let<\/syntaxtype.keyword> insertionsAndRemovals<\/decl.name>: InsertionsAndRemovals<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+                "key.kind" : "source.lang.swift.decl.var.instance",
+                "key.length" : 49,
+                "key.name" : "insertionsAndRemovals",
+                "key.namelength" : 21,
+                "key.nameoffset" : 5403,
+                "key.offset" : 5399,
+                "key.parsed_declaration" : "public let insertionsAndRemovals : InsertionsAndRemovals",
+                "key.parsed_scope.end" : 170,
+                "key.parsed_scope.start" : 170,
+                "key.typename" : "ListStateObserver.ContentUpdated.InsertionsAndRemovals",
+                "key.typeusr" : "$s10ListableUI17ListStateObserverV14ContentUpdatedV21InsertionsAndRemovalsVD",
+                "key.usr" : "s:10ListableUI17ListStateObserverV14ContentUpdatedV21insertionsAndRemovalsAE010InsertionsiJ0Vvp"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public let actions: ListActions<\/Type><\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 5466
+                  }
+                ],
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> let<\/syntaxtype.keyword> actions<\/decl.name>: ListActions<\/ref.class><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 25,
                 "key.name" : "actions",
                 "key.namelength" : 7,
-                "key.nameoffset" : 5403,
-                "key.offset" : 5399,
+                "key.nameoffset" : 5477,
+                "key.offset" : 5473,
                 "key.parsed_declaration" : "public let actions : ListActions",
-                "key.parsed_scope.end" : 170,
-                "key.parsed_scope.start" : 170,
+                "key.parsed_scope.end" : 172,
+                "key.parsed_scope.start" : 172,
                 "key.typename" : "ListActions",
                 "key.typeusr" : "$s10ListableUI11ListActionsCD",
                 "key.usr" : "s:10ListableUI17ListStateObserverV14ContentUpdatedV7actionsAA0C7ActionsCvp"
@@ -53353,23 +55389,208 @@
                   {
                     "key.attribute" : "source.decl.attribute.public",
                     "key.length" : 6,
-                    "key.offset" : 5433
+                    "key.offset" : 5507
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> let<\/syntaxtype.keyword> positionInfo<\/decl.name>: ListScrollPositionInfo<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 41,
                 "key.name" : "positionInfo",
                 "key.namelength" : 12,
-                "key.nameoffset" : 5444,
-                "key.offset" : 5440,
+                "key.nameoffset" : 5518,
+                "key.offset" : 5514,
                 "key.parsed_declaration" : "public let positionInfo : ListScrollPositionInfo",
-                "key.parsed_scope.end" : 171,
-                "key.parsed_scope.start" : 171,
+                "key.parsed_scope.end" : 173,
+                "key.parsed_scope.start" : 173,
                 "key.typename" : "ListScrollPositionInfo",
                 "key.typeusr" : "$s10ListableUI22ListScrollPositionInfoVD",
                 "key.usr" : "s:10ListableUI17ListStateObserverV14ContentUpdatedV12positionInfoAA0c14ScrollPositionI0Vvp"
+              },
+              {
+                "key.accessibility" : "source.lang.swift.accessibility.public",
+                "key.annotated_decl" : "public struct ListStateObserver<\/Type>.ContentUpdated<\/Type>.InsertionsAndRemovals<\/Declaration>",
+                "key.attributes" : [
+                  {
+                    "key.attribute" : "source.decl.attribute.public",
+                    "key.length" : 6,
+                    "key.offset" : 5573
+                  }
+                ],
+                "key.bodylength" : 829,
+                "key.bodyoffset" : 5610,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
+                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> ListStateObserver<\/ref.struct>.ContentUpdated<\/ref.struct>.InsertionsAndRemovals<\/decl.name><\/decl.struct>",
+                "key.kind" : "source.lang.swift.decl.struct",
+                "key.length" : 860,
+                "key.name" : "InsertionsAndRemovals",
+                "key.namelength" : 21,
+                "key.nameoffset" : 5587,
+                "key.offset" : 5580,
+                "key.parsed_declaration" : "public struct InsertionsAndRemovals",
+                "key.parsed_scope.end" : 197,
+                "key.parsed_scope.start" : 175,
+                "key.substructure" : [
+                  {
+                    "key.accessibility" : "source.lang.swift.accessibility.public",
+                    "key.annotated_decl" : "public var sections: ChangedIDs<\/Type><\/Declaration>",
+                    "key.attributes" : [
+                      {
+                        "key.attribute" : "source.decl.attribute.public",
+                        "key.length" : 6,
+                        "key.offset" : 5624
+                      }
+                    ],
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
+                    "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> sections<\/decl.name>: ChangedIDs<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+                    "key.kind" : "source.lang.swift.decl.var.instance",
+                    "key.length" : 25,
+                    "key.name" : "sections",
+                    "key.namelength" : 8,
+                    "key.nameoffset" : 5635,
+                    "key.offset" : 5631,
+                    "key.parsed_declaration" : "public var sections : ChangedIDs",
+                    "key.parsed_scope.end" : 177,
+                    "key.parsed_scope.start" : 177,
+                    "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+                    "key.typename" : "ListStateObserver.ContentUpdated.InsertionsAndRemovals.ChangedIDs",
+                    "key.typeusr" : "$s10ListableUI17ListStateObserverV14ContentUpdatedV21InsertionsAndRemovalsV10ChangedIDsVD",
+                    "key.usr" : "s:10ListableUI17ListStateObserverV14ContentUpdatedV21InsertionsAndRemovalsV8sectionsAG10ChangedIDsVvp"
+                  },
+                  {
+                    "key.accessibility" : "source.lang.swift.accessibility.public",
+                    "key.annotated_decl" : "public var items: ChangedIDs<\/Type><\/Declaration>",
+                    "key.attributes" : [
+                      {
+                        "key.attribute" : "source.decl.attribute.public",
+                        "key.length" : 6,
+                        "key.offset" : 5669
+                      }
+                    ],
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
+                    "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> items<\/decl.name>: ChangedIDs<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+                    "key.kind" : "source.lang.swift.decl.var.instance",
+                    "key.length" : 22,
+                    "key.name" : "items",
+                    "key.namelength" : 5,
+                    "key.nameoffset" : 5680,
+                    "key.offset" : 5676,
+                    "key.parsed_declaration" : "public var items : ChangedIDs",
+                    "key.parsed_scope.end" : 178,
+                    "key.parsed_scope.start" : 178,
+                    "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+                    "key.typename" : "ListStateObserver.ContentUpdated.InsertionsAndRemovals.ChangedIDs",
+                    "key.typeusr" : "$s10ListableUI17ListStateObserverV14ContentUpdatedV21InsertionsAndRemovalsV10ChangedIDsVD",
+                    "key.usr" : "s:10ListableUI17ListStateObserverV14ContentUpdatedV21InsertionsAndRemovalsV5itemsAG10ChangedIDsVvp"
+                  },
+                  {
+                    "key.accessibility" : "source.lang.swift.accessibility.internal",
+                    "key.annotated_decl" : "init(diff: SectionedDiff<\/Type><Section<\/Type>, AnyIdentifier<\/Type>, AnyItem<\/Type>, AnyIdentifier<\/Type>>)<\/Declaration>",
+                    "key.bodylength" : 450,
+                    "key.bodyoffset" : 5800,
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
+                    "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(diff<\/decl.var.parameter.argument_label>: SectionedDiff<\/ref.struct><Section<\/ref.struct>, AnyIdentifier<\/ref.class>, AnyItem<\/ref.protocol>, AnyIdentifier<\/ref.class>><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
+                    "key.kind" : "source.lang.swift.decl.function.method.instance",
+                    "key.length" : 527,
+                    "key.name" : "init(diff:)",
+                    "key.namelength" : 74,
+                    "key.nameoffset" : 5724,
+                    "key.offset" : 5724,
+                    "key.parsed_declaration" : "init(diff : SectionedDiff)",
+                    "key.parsed_scope.end" : 191,
+                    "key.parsed_scope.start" : 180,
+                    "key.substructure" : [
+
+                    ],
+                    "key.typename" : "(ListStateObserver.ContentUpdated.InsertionsAndRemovals.Type) -> (SectionedDiff) -> ListStateObserver.ContentUpdated.InsertionsAndRemovals",
+                    "key.typeusr" : "$s4diff10ListableUI17ListStateObserverV14ContentUpdatedV21InsertionsAndRemovalsVAB13SectionedDiffVyAB7SectionVAB13AnyIdentifierCAB0O4Item_pANG_tcD",
+                    "key.usr" : "s:10ListableUI17ListStateObserverV14ContentUpdatedV21InsertionsAndRemovalsV4diffAgA13SectionedDiffVyAA7SectionVAA13AnyIdentifierCAA0O4Item_pANG_tcfc"
+                  },
+                  {
+                    "key.accessibility" : "source.lang.swift.accessibility.public",
+                    "key.annotated_decl" : "public struct ListStateObserver<\/Type>.ContentUpdated<\/Type>.InsertionsAndRemovals<\/Type>.ChangedIDs<\/Declaration>",
+                    "key.attributes" : [
+                      {
+                        "key.attribute" : "source.decl.attribute.public",
+                        "key.length" : 6,
+                        "key.offset" : 6277
+                      }
+                    ],
+                    "key.bodylength" : 126,
+                    "key.bodyoffset" : 6303,
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
+                    "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> ListStateObserver<\/ref.struct>.ContentUpdated<\/ref.struct>.InsertionsAndRemovals<\/ref.struct>.ChangedIDs<\/decl.name><\/decl.struct>",
+                    "key.kind" : "source.lang.swift.decl.struct",
+                    "key.length" : 146,
+                    "key.name" : "ChangedIDs",
+                    "key.namelength" : 10,
+                    "key.nameoffset" : 6291,
+                    "key.offset" : 6284,
+                    "key.parsed_declaration" : "public struct ChangedIDs",
+                    "key.parsed_scope.end" : 196,
+                    "key.parsed_scope.start" : 193,
+                    "key.substructure" : [
+                      {
+                        "key.accessibility" : "source.lang.swift.accessibility.public",
+                        "key.annotated_decl" : "public var inserted: Set<\/Type><AnyIdentifier<\/Type>><\/Declaration>",
+                        "key.attributes" : [
+                          {
+                            "key.attribute" : "source.decl.attribute.public",
+                            "key.length" : 6,
+                            "key.offset" : 6320
+                          }
+                        ],
+                        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
+                        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> inserted<\/decl.name>: Set<\/ref.struct><AnyIdentifier<\/ref.class>><\/decl.var.type><\/decl.var.instance>",
+                        "key.kind" : "source.lang.swift.decl.var.instance",
+                        "key.length" : 33,
+                        "key.name" : "inserted",
+                        "key.namelength" : 8,
+                        "key.nameoffset" : 6331,
+                        "key.offset" : 6327,
+                        "key.parsed_declaration" : "public var inserted : Set",
+                        "key.parsed_scope.end" : 194,
+                        "key.parsed_scope.start" : 194,
+                        "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+                        "key.typename" : "Set",
+                        "key.typeusr" : "$sShy10ListableUI13AnyIdentifierCGD",
+                        "key.usr" : "s:10ListableUI17ListStateObserverV14ContentUpdatedV21InsertionsAndRemovalsV10ChangedIDsV8insertedShyAA13AnyIdentifierCGvp"
+                      },
+                      {
+                        "key.accessibility" : "source.lang.swift.accessibility.public",
+                        "key.annotated_decl" : "public var removed: Set<\/Type><AnyIdentifier<\/Type>><\/Declaration>",
+                        "key.attributes" : [
+                          {
+                            "key.attribute" : "source.decl.attribute.public",
+                            "key.length" : 6,
+                            "key.offset" : 6377
+                          }
+                        ],
+                        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
+                        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> removed<\/decl.name>: Set<\/ref.struct><AnyIdentifier<\/ref.class>><\/decl.var.type><\/decl.var.instance>",
+                        "key.kind" : "source.lang.swift.decl.var.instance",
+                        "key.length" : 32,
+                        "key.name" : "removed",
+                        "key.namelength" : 7,
+                        "key.nameoffset" : 6388,
+                        "key.offset" : 6384,
+                        "key.parsed_declaration" : "public var removed : Set",
+                        "key.parsed_scope.end" : 195,
+                        "key.parsed_scope.start" : 195,
+                        "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+                        "key.typename" : "Set",
+                        "key.typeusr" : "$sShy10ListableUI13AnyIdentifierCGD",
+                        "key.usr" : "s:10ListableUI17ListStateObserverV14ContentUpdatedV21InsertionsAndRemovalsV10ChangedIDsV7removedShyAA13AnyIdentifierCGvp"
+                      }
+                    ],
+                    "key.typename" : "ListStateObserver.ContentUpdated.InsertionsAndRemovals.ChangedIDs.Type",
+                    "key.typeusr" : "$s10ListableUI17ListStateObserverV14ContentUpdatedV21InsertionsAndRemovalsV10ChangedIDsVmD",
+                    "key.usr" : "s:10ListableUI17ListStateObserverV14ContentUpdatedV21InsertionsAndRemovalsV10ChangedIDsV"
+                  }
+                ],
+                "key.typename" : "ListStateObserver.ContentUpdated.InsertionsAndRemovals.Type",
+                "key.typeusr" : "$s10ListableUI17ListStateObserverV14ContentUpdatedV21InsertionsAndRemovalsVmD",
+                "key.usr" : "s:10ListableUI17ListStateObserverV14ContentUpdatedV21InsertionsAndRemovalsV"
               }
             ],
             "key.typename" : "ListStateObserver.ContentUpdated.Type",
@@ -53383,32 +55604,32 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 5568
+                "key.offset" : 6527
               }
             ],
             "key.bodylength" : 197,
-            "key.bodyoffset" : 5601,
+            "key.bodyoffset" : 6560,
             "key.doc.column" : 19,
             "key.doc.comment" : "Parameters available for `OnVisibilityChanged` callbacks.",
             "key.doc.declaration" : "public struct VisibilityChanged",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
-            "key.doc.full_as_xml" : "VisibilityChanged<\/Name>s:10ListableUI17ListStateObserverV17VisibilityChangedV<\/USR>public struct VisibilityChanged<\/Declaration>Parameters available for OnVisibilityChanged<\/codeVoice> callbacks.<\/Para><\/Abstract><\/CommentParts><\/Class>",
-            "key.doc.line" : 176,
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
+            "key.doc.full_as_xml" : "VisibilityChanged<\/Name>s:10ListableUI17ListStateObserverV17VisibilityChangedV<\/USR>public struct VisibilityChanged<\/Declaration>Parameters available for OnVisibilityChanged<\/codeVoice> callbacks.<\/Para><\/Abstract><\/CommentParts><\/Class>",
+            "key.doc.line" : 202,
             "key.doc.name" : "VisibilityChanged",
             "key.doc.type" : "Class",
             "key.doclength" : 62,
-            "key.docoffset" : 5502,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
+            "key.docoffset" : 6461,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> VisibilityChanged<\/decl.name><\/decl.struct>",
             "key.kind" : "source.lang.swift.decl.struct",
             "key.length" : 224,
             "key.name" : "VisibilityChanged",
             "key.namelength" : 17,
-            "key.nameoffset" : 5582,
-            "key.offset" : 5575,
+            "key.nameoffset" : 6541,
+            "key.offset" : 6534,
             "key.parsed_declaration" : "public struct VisibilityChanged",
-            "key.parsed_scope.end" : 182,
-            "key.parsed_scope.start" : 176,
+            "key.parsed_scope.end" : 208,
+            "key.parsed_scope.start" : 202,
             "key.substructure" : [
               {
                 "key.accessibility" : "source.lang.swift.accessibility.public",
@@ -53417,20 +55638,20 @@
                   {
                     "key.attribute" : "source.decl.attribute.public",
                     "key.length" : 6,
-                    "key.offset" : 5610
+                    "key.offset" : 6569
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> let<\/syntaxtype.keyword> actions<\/decl.name>: ListActions<\/ref.class><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 25,
                 "key.name" : "actions",
                 "key.namelength" : 7,
-                "key.nameoffset" : 5621,
-                "key.offset" : 5617,
+                "key.nameoffset" : 6580,
+                "key.offset" : 6576,
                 "key.parsed_declaration" : "public let actions : ListActions",
-                "key.parsed_scope.end" : 177,
-                "key.parsed_scope.start" : 177,
+                "key.parsed_scope.end" : 203,
+                "key.parsed_scope.start" : 203,
                 "key.typename" : "ListActions",
                 "key.typeusr" : "$s10ListableUI11ListActionsCD",
                 "key.usr" : "s:10ListableUI17ListStateObserverV17VisibilityChangedV7actionsAA0C7ActionsCvp"
@@ -53442,20 +55663,20 @@
                   {
                     "key.attribute" : "source.decl.attribute.public",
                     "key.length" : 6,
-                    "key.offset" : 5651
+                    "key.offset" : 6610
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> let<\/syntaxtype.keyword> positionInfo<\/decl.name>: ListScrollPositionInfo<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 41,
                 "key.name" : "positionInfo",
                 "key.namelength" : 12,
-                "key.nameoffset" : 5662,
-                "key.offset" : 5658,
+                "key.nameoffset" : 6621,
+                "key.offset" : 6617,
                 "key.parsed_declaration" : "public let positionInfo : ListScrollPositionInfo",
-                "key.parsed_scope.end" : 178,
-                "key.parsed_scope.start" : 178,
+                "key.parsed_scope.end" : 204,
+                "key.parsed_scope.start" : 204,
                 "key.typename" : "ListScrollPositionInfo",
                 "key.typeusr" : "$s10ListableUI22ListScrollPositionInfoVD",
                 "key.usr" : "s:10ListableUI17ListStateObserverV17VisibilityChangedV12positionInfoAA0c14ScrollPositionI0Vvp"
@@ -53467,20 +55688,20 @@
                   {
                     "key.attribute" : "source.decl.attribute.public",
                     "key.length" : 6,
-                    "key.offset" : 5717
+                    "key.offset" : 6676
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> let<\/syntaxtype.keyword> displayed<\/decl.name>: [AnyItem<\/ref.protocol>]<\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 25,
                 "key.name" : "displayed",
                 "key.namelength" : 9,
-                "key.nameoffset" : 5728,
-                "key.offset" : 5724,
+                "key.nameoffset" : 6687,
+                "key.offset" : 6683,
                 "key.parsed_declaration" : "public let displayed : [AnyItem]",
-                "key.parsed_scope.end" : 180,
-                "key.parsed_scope.start" : 180,
+                "key.parsed_scope.end" : 206,
+                "key.parsed_scope.start" : 206,
                 "key.typename" : "[AnyItem]",
                 "key.typeusr" : "$sSay10ListableUI7AnyItem_pGD",
                 "key.usr" : "s:10ListableUI17ListStateObserverV17VisibilityChangedV9displayedSayAA7AnyItem_pGvp"
@@ -53492,20 +55713,20 @@
                   {
                     "key.attribute" : "source.decl.attribute.public",
                     "key.length" : 6,
-                    "key.offset" : 5758
+                    "key.offset" : 6717
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> let<\/syntaxtype.keyword> endedDisplay<\/decl.name>: [AnyItem<\/ref.protocol>]<\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 28,
                 "key.name" : "endedDisplay",
                 "key.namelength" : 12,
-                "key.nameoffset" : 5769,
-                "key.offset" : 5765,
+                "key.nameoffset" : 6728,
+                "key.offset" : 6724,
                 "key.parsed_declaration" : "public let endedDisplay : [AnyItem]",
-                "key.parsed_scope.end" : 181,
-                "key.parsed_scope.start" : 181,
+                "key.parsed_scope.end" : 207,
+                "key.parsed_scope.start" : 207,
                 "key.typename" : "[AnyItem]",
                 "key.typeusr" : "$sSay10ListableUI7AnyItem_pGD",
                 "key.usr" : "s:10ListableUI17ListStateObserverV17VisibilityChangedV12endedDisplaySayAA7AnyItem_pGvp"
@@ -53522,32 +55743,32 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 5875
+                "key.offset" : 6834
               }
             ],
             "key.bodylength" : 168,
-            "key.bodyoffset" : 5903,
+            "key.bodyoffset" : 6862,
             "key.doc.column" : 19,
             "key.doc.comment" : "Parameters available for `OnFrameChanged` callbacks.",
             "key.doc.declaration" : "public struct FrameChanged",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
-            "key.doc.full_as_xml" : "FrameChanged<\/Name>s:10ListableUI17ListStateObserverV12FrameChangedV<\/USR>public struct FrameChanged<\/Declaration>Parameters available for OnFrameChanged<\/codeVoice> callbacks.<\/Para><\/Abstract><\/CommentParts><\/Class>",
-            "key.doc.line" : 186,
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
+            "key.doc.full_as_xml" : "FrameChanged<\/Name>s:10ListableUI17ListStateObserverV12FrameChangedV<\/USR>public struct FrameChanged<\/Declaration>Parameters available for OnFrameChanged<\/codeVoice> callbacks.<\/Para><\/Abstract><\/CommentParts><\/Class>",
+            "key.doc.line" : 212,
             "key.doc.name" : "FrameChanged",
             "key.doc.type" : "Class",
             "key.doclength" : 57,
-            "key.docoffset" : 5814,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
+            "key.docoffset" : 6773,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> FrameChanged<\/decl.name><\/decl.struct>",
             "key.kind" : "source.lang.swift.decl.struct",
             "key.length" : 190,
             "key.name" : "FrameChanged",
             "key.namelength" : 12,
-            "key.nameoffset" : 5889,
-            "key.offset" : 5882,
+            "key.nameoffset" : 6848,
+            "key.offset" : 6841,
             "key.parsed_declaration" : "public struct FrameChanged",
-            "key.parsed_scope.end" : 192,
-            "key.parsed_scope.start" : 186,
+            "key.parsed_scope.end" : 218,
+            "key.parsed_scope.start" : 212,
             "key.substructure" : [
               {
                 "key.accessibility" : "source.lang.swift.accessibility.public",
@@ -53556,20 +55777,20 @@
                   {
                     "key.attribute" : "source.decl.attribute.public",
                     "key.length" : 6,
-                    "key.offset" : 5912
+                    "key.offset" : 6871
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> let<\/syntaxtype.keyword> actions<\/decl.name>: ListActions<\/ref.class><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 25,
                 "key.name" : "actions",
                 "key.namelength" : 7,
-                "key.nameoffset" : 5923,
-                "key.offset" : 5919,
+                "key.nameoffset" : 6882,
+                "key.offset" : 6878,
                 "key.parsed_declaration" : "public let actions : ListActions",
-                "key.parsed_scope.end" : 187,
-                "key.parsed_scope.start" : 187,
+                "key.parsed_scope.end" : 213,
+                "key.parsed_scope.start" : 213,
                 "key.typename" : "ListActions",
                 "key.typeusr" : "$s10ListableUI11ListActionsCD",
                 "key.usr" : "s:10ListableUI17ListStateObserverV12FrameChangedV7actionsAA0C7ActionsCvp"
@@ -53581,20 +55802,20 @@
                   {
                     "key.attribute" : "source.decl.attribute.public",
                     "key.length" : 6,
-                    "key.offset" : 5953
+                    "key.offset" : 6912
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> let<\/syntaxtype.keyword> positionInfo<\/decl.name>: ListScrollPositionInfo<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 41,
                 "key.name" : "positionInfo",
                 "key.namelength" : 12,
-                "key.nameoffset" : 5964,
-                "key.offset" : 5960,
+                "key.nameoffset" : 6923,
+                "key.offset" : 6919,
                 "key.parsed_declaration" : "public let positionInfo : ListScrollPositionInfo",
-                "key.parsed_scope.end" : 188,
-                "key.parsed_scope.start" : 188,
+                "key.parsed_scope.end" : 214,
+                "key.parsed_scope.start" : 214,
                 "key.typename" : "ListScrollPositionInfo",
                 "key.typeusr" : "$s10ListableUI22ListScrollPositionInfoVD",
                 "key.usr" : "s:10ListableUI17ListStateObserverV12FrameChangedV12positionInfoAA0c14ScrollPositionI0Vvp"
@@ -53606,20 +55827,20 @@
                   {
                     "key.attribute" : "source.decl.attribute.public",
                     "key.length" : 6,
-                    "key.offset" : 6011
+                    "key.offset" : 6970
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> let<\/syntaxtype.keyword> old<\/decl.name>: CGRect<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 16,
                 "key.name" : "old",
                 "key.namelength" : 3,
-                "key.nameoffset" : 6022,
-                "key.offset" : 6018,
+                "key.nameoffset" : 6981,
+                "key.offset" : 6977,
                 "key.parsed_declaration" : "public let old : CGRect",
-                "key.parsed_scope.end" : 190,
-                "key.parsed_scope.start" : 190,
+                "key.parsed_scope.end" : 216,
+                "key.parsed_scope.start" : 216,
                 "key.typename" : "CGRect",
                 "key.typeusr" : "$sSo6CGRectVD",
                 "key.usr" : "s:10ListableUI17ListStateObserverV12FrameChangedV3oldSo6CGRectVvp"
@@ -53631,20 +55852,20 @@
                   {
                     "key.attribute" : "source.decl.attribute.public",
                     "key.length" : 6,
-                    "key.offset" : 6043
+                    "key.offset" : 7002
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> let<\/syntaxtype.keyword> new<\/decl.name>: CGRect<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 16,
                 "key.name" : "new",
                 "key.namelength" : 3,
-                "key.nameoffset" : 6054,
-                "key.offset" : 6050,
+                "key.nameoffset" : 7013,
+                "key.offset" : 7009,
                 "key.parsed_declaration" : "public let new : CGRect",
-                "key.parsed_scope.end" : 191,
-                "key.parsed_scope.start" : 191,
+                "key.parsed_scope.end" : 217,
+                "key.parsed_scope.start" : 217,
                 "key.typename" : "CGRect",
                 "key.typeusr" : "$sSo6CGRectVD",
                 "key.usr" : "s:10ListableUI17ListStateObserverV12FrameChangedV3newSo6CGRectVvp"
@@ -53661,32 +55882,32 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 6152
+                "key.offset" : 7111
               }
             ],
             "key.bodylength" : 192,
-            "key.bodyoffset" : 6184,
+            "key.bodyoffset" : 7143,
             "key.doc.column" : 19,
             "key.doc.comment" : "Parameters available for `OnSelectionChanged` callbacks.",
             "key.doc.declaration" : "public struct SelectionChanged",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
-            "key.doc.full_as_xml" : "SelectionChanged<\/Name>s:10ListableUI17ListStateObserverV16SelectionChangedV<\/USR>public struct SelectionChanged<\/Declaration>Parameters available for OnSelectionChanged<\/codeVoice> callbacks.<\/Para><\/Abstract><\/CommentParts><\/Class>",
-            "key.doc.line" : 196,
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
+            "key.doc.full_as_xml" : "SelectionChanged<\/Name>s:10ListableUI17ListStateObserverV16SelectionChangedV<\/USR>public struct SelectionChanged<\/Declaration>Parameters available for OnSelectionChanged<\/codeVoice> callbacks.<\/Para><\/Abstract><\/CommentParts><\/Class>",
+            "key.doc.line" : 222,
             "key.doc.name" : "SelectionChanged",
             "key.doc.type" : "Class",
             "key.doclength" : 61,
-            "key.docoffset" : 6087,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
+            "key.docoffset" : 7046,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> SelectionChanged<\/decl.name><\/decl.struct>",
             "key.kind" : "source.lang.swift.decl.struct",
             "key.length" : 218,
             "key.name" : "SelectionChanged",
             "key.namelength" : 16,
-            "key.nameoffset" : 6166,
-            "key.offset" : 6159,
+            "key.nameoffset" : 7125,
+            "key.offset" : 7118,
             "key.parsed_declaration" : "public struct SelectionChanged",
-            "key.parsed_scope.end" : 202,
-            "key.parsed_scope.start" : 196,
+            "key.parsed_scope.end" : 228,
+            "key.parsed_scope.start" : 222,
             "key.substructure" : [
               {
                 "key.accessibility" : "source.lang.swift.accessibility.public",
@@ -53695,20 +55916,20 @@
                   {
                     "key.attribute" : "source.decl.attribute.public",
                     "key.length" : 6,
-                    "key.offset" : 6193
+                    "key.offset" : 7152
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> let<\/syntaxtype.keyword> actions<\/decl.name>: ListActions<\/ref.class><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 25,
                 "key.name" : "actions",
                 "key.namelength" : 7,
-                "key.nameoffset" : 6204,
-                "key.offset" : 6200,
+                "key.nameoffset" : 7163,
+                "key.offset" : 7159,
                 "key.parsed_declaration" : "public let actions : ListActions",
-                "key.parsed_scope.end" : 197,
-                "key.parsed_scope.start" : 197,
+                "key.parsed_scope.end" : 223,
+                "key.parsed_scope.start" : 223,
                 "key.typename" : "ListActions",
                 "key.typeusr" : "$s10ListableUI11ListActionsCD",
                 "key.usr" : "s:10ListableUI17ListStateObserverV16SelectionChangedV7actionsAA0C7ActionsCvp"
@@ -53720,20 +55941,20 @@
                   {
                     "key.attribute" : "source.decl.attribute.public",
                     "key.length" : 6,
-                    "key.offset" : 6234
+                    "key.offset" : 7193
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> let<\/syntaxtype.keyword> positionInfo<\/decl.name>: ListScrollPositionInfo<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 41,
                 "key.name" : "positionInfo",
                 "key.namelength" : 12,
-                "key.nameoffset" : 6245,
-                "key.offset" : 6241,
+                "key.nameoffset" : 7204,
+                "key.offset" : 7200,
                 "key.parsed_declaration" : "public let positionInfo : ListScrollPositionInfo",
-                "key.parsed_scope.end" : 198,
-                "key.parsed_scope.start" : 198,
+                "key.parsed_scope.end" : 224,
+                "key.parsed_scope.start" : 224,
                 "key.typename" : "ListScrollPositionInfo",
                 "key.typeusr" : "$s10ListableUI22ListScrollPositionInfoVD",
                 "key.usr" : "s:10ListableUI17ListStateObserverV16SelectionChangedV12positionInfoAA0c14ScrollPositionI0Vvp"
@@ -53745,20 +55966,20 @@
                   {
                     "key.attribute" : "source.decl.attribute.public",
                     "key.length" : 6,
-                    "key.offset" : 6292
+                    "key.offset" : 7251
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> let<\/syntaxtype.keyword> old<\/decl.name>: Set<\/ref.struct><AnyIdentifier<\/ref.class>><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 28,
                 "key.name" : "old",
                 "key.namelength" : 3,
-                "key.nameoffset" : 6303,
-                "key.offset" : 6299,
+                "key.nameoffset" : 7262,
+                "key.offset" : 7258,
                 "key.parsed_declaration" : "public let old : Set",
-                "key.parsed_scope.end" : 200,
-                "key.parsed_scope.start" : 200,
+                "key.parsed_scope.end" : 226,
+                "key.parsed_scope.start" : 226,
                 "key.typename" : "Set",
                 "key.typeusr" : "$sShy10ListableUI13AnyIdentifierCGD",
                 "key.usr" : "s:10ListableUI17ListStateObserverV16SelectionChangedV3oldShyAA13AnyIdentifierCGvp"
@@ -53770,20 +55991,20 @@
                   {
                     "key.attribute" : "source.decl.attribute.public",
                     "key.length" : 6,
-                    "key.offset" : 6336
+                    "key.offset" : 7295
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListStateObserver.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListStateObserver.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> let<\/syntaxtype.keyword> new<\/decl.name>: Set<\/ref.struct><AnyIdentifier<\/ref.class>><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 28,
                 "key.name" : "new",
                 "key.namelength" : 3,
-                "key.nameoffset" : 6347,
-                "key.offset" : 6343,
+                "key.nameoffset" : 7306,
+                "key.offset" : 7302,
                 "key.parsed_declaration" : "public let new : Set",
-                "key.parsed_scope.end" : 201,
-                "key.parsed_scope.start" : 201,
+                "key.parsed_scope.end" : 227,
+                "key.parsed_scope.start" : 227,
                 "key.typename" : "Set",
                 "key.typeusr" : "$sShy10ListableUI13AnyIdentifierCGD",
                 "key.usr" : "s:10ListableUI17ListStateObserverV16SelectionChangedV3newShyAA13AnyIdentifierCGvp"
@@ -53801,7 +56022,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListSizing.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListSizing.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 5053,
     "key.offset" : 0,
@@ -53835,8 +56056,8 @@
             "CodeListing" : ""
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListSizing.swift",
-        "key.doc.full_as_xml" : "ListSizing<\/Name>s:10ListableUI10ListSizingO<\/USR>public enum ListSizing : Equatable<\/Declaration>Provides the possible options for how to size and measure a list when its measured size is queried by the layout system.<\/Para><\/Abstract>You have two options: .fillParent<\/codeVoice> and .measureContent<\/codeVoice>.<\/Para>When using  .fillParent<\/codeVoice>, the full available fitting size will be taken up, regardless of the size of the content itself.<\/Para>When using .measureContent<\/codeVoice>, the content will be measured within the provided fitting size and the smallest of the two sizes will be returned.<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Other>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListSizing.swift",
+        "key.doc.full_as_xml" : "ListSizing<\/Name>s:10ListableUI10ListSizingO<\/USR>public enum ListSizing : Equatable<\/Declaration>Provides the possible options for how to size and measure a list when its measured size is queried by the layout system.<\/Para><\/Abstract>You have two options: .fillParent<\/codeVoice> and .measureContent<\/codeVoice>.<\/Para>When using  .fillParent<\/codeVoice>, the full available fitting size will be taken up, regardless of the size of the content itself.<\/Para>When using .measureContent<\/codeVoice>, the content will be measured within the provided fitting size and the smallest of the two sizes will be returned.<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Other>",
         "key.doc.line" : 43,
         "key.doc.name" : "ListSizing",
         "key.doc.type" : "Other",
@@ -53849,7 +56070,7 @@
             "key.offset" : 1264
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListSizing.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListSizing.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> enum<\/syntaxtype.keyword> ListSizing<\/decl.name> : Equatable<\/ref.protocol><\/decl.enum>",
         "key.inheritedtypes" : [
           {
@@ -53890,14 +56111,14 @@
                     "Para" : "This option is the most performant, because no content measurement has to occur."
                   }
                 ],
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListSizing.swift",
-                "key.doc.full_as_xml" : "fillParent<\/Name>s:10ListableUI10ListSizingO10fillParentyA2CmF<\/USR><\/Declaration>When using  .fillParent<\/codeVoice>, the full available space will be taken up, regardless of the content size of the list itself.<\/Para><\/Abstract>Eg, if the fitting size passed to the list is (200w, 1000h), and the list’s content is only (200w, 500h), (200w, 1000h) will still be returned.<\/Para>This is the setting you want to use when your list is being used to fill the content of a screen, such as if it is being presented in a navigation controller or tab bar controller.<\/Para>This option is the most performant, because no content measurement has to occur.<\/Para><\/Discussion><\/CommentParts><\/Other>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListSizing.swift",
+                "key.doc.full_as_xml" : "fillParent<\/Name>s:10ListableUI10ListSizingO10fillParentyA2CmF<\/USR><\/Declaration>When using  .fillParent<\/codeVoice>, the full available space will be taken up, regardless of the content size of the list itself.<\/Para><\/Abstract>Eg, if the fitting size passed to the list is (200w, 1000h), and the list’s content is only (200w, 500h), (200w, 1000h) will still be returned.<\/Para>This is the setting you want to use when your list is being used to fill the content of a screen, such as if it is being presented in a navigation controller or tab bar controller.<\/Para>This option is the most performant, because no content measurement has to occur.<\/Para><\/Discussion><\/CommentParts><\/Other>",
                 "key.doc.line" : 55,
                 "key.doc.name" : "fillParent",
                 "key.doc.type" : "Other",
                 "key.doclength" : 603,
                 "key.docoffset" : 1280,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListSizing.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListSizing.swift",
                 "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> fillParent<\/decl.name><\/decl.enumelement>",
                 "key.kind" : "source.lang.swift.decl.enumelement",
                 "key.length" : 10,
@@ -53932,14 +56153,14 @@
                     "Para" : "If you are putting a list into a sheet or popover, this is generally the `Sizing` type you will want to use, to ensure the sheet or popover takes up the minimum amount of space possible."
                   }
                 ],
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListSizing.swift",
-                "key.doc.full_as_xml" : "measureContent<\/Name>s:10ListableUI10ListSizingO14measureContentyA2CmF<\/USR><\/Declaration>When using .measureContent<\/codeVoice>, the content will be measured within the provided fitting size and the smallest of the two sizes will be returned.<\/Para><\/Abstract>If you are putting a list into a sheet or popover, this is generally the Sizing<\/codeVoice> type you will want to use, to ensure the sheet or popover takes up the minimum amount of space possible.<\/Para><\/Discussion><\/CommentParts><\/Other>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListSizing.swift",
+                "key.doc.full_as_xml" : "measureContent<\/Name>s:10ListableUI10ListSizingO14measureContentyA2CmF<\/USR><\/Declaration>When using .measureContent<\/codeVoice>, the content will be measured within the provided fitting size and the smallest of the two sizes will be returned.<\/Para><\/Abstract>If you are putting a list into a sheet or popover, this is generally the Sizing<\/codeVoice> type you will want to use, to ensure the sheet or popover takes up the minimum amount of space possible.<\/Para><\/Discussion><\/CommentParts><\/Other>",
                 "key.doc.line" : 62,
                 "key.doc.name" : "measureContent",
                 "key.doc.type" : "Other",
                 "key.doclength" : 367,
                 "key.docoffset" : 1912,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListSizing.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListSizing.swift",
                 "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> measureContent<\/decl.name><\/decl.enumelement>",
                 "key.kind" : "source.lang.swift.decl.enumelement",
                 "key.length" : 14,
@@ -53965,7 +56186,7 @@
         "key.annotated_decl" : "public final class ListView : UIView<\/Type>, KeyboardObserverDelegate<\/Declaration>",
         "key.bodylength" : 2724,
         "key.bodyoffset" : 2327,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> ListView<\/decl.name> : UIView<\/ref.class>, KeyboardObserverDelegate<\/decl.class>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 2745,
@@ -53997,7 +56218,7 @@
             ],
             "key.bodylength" : 80,
             "key.bodyoffset" : 2486,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListSizing.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListSizing.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> contentSize<\/decl.name>(in<\/decl.var.parameter.argument_label> fittingSize<\/decl.var.parameter.name>: CGSize<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, for<\/decl.var.parameter.argument_label> properties<\/decl.var.parameter.name>: ListProperties<\/ref.struct>.Build<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGSize<\/ref.struct><\/decl.function.returntype><\/decl.function.method.static>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
             "key.length" : 180,
@@ -54033,7 +56254,7 @@
                 "key.offset" : 2577
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListSizing.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListSizing.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> static<\/syntaxtype.keyword> let<\/syntaxtype.keyword> measurementView<\/decl.name>: ListView<\/ref.class><\/decl.var.type><\/decl.var.static>",
             "key.kind" : "source.lang.swift.decl.var.static",
             "key.length" : 145,
@@ -54060,7 +56281,7 @@
             ],
             "key.bodylength" : 2209,
             "key.bodyoffset" : 2840,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListSizing.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListSizing.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> contentSize<\/decl.name>(in<\/decl.var.parameter.argument_label> fittingSize<\/decl.var.parameter.name>: CGSize<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, for<\/decl.var.parameter.argument_label> properties<\/decl.var.parameter.name>: ListProperties<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGSize<\/ref.struct><\/decl.function.returntype><\/decl.function.method.static>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
             "key.length" : 2303,
@@ -54082,7 +56303,7 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let view: ListView<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListSizing.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListSizing.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> view<\/decl.name>: ListView<\/ref.class><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 31,
@@ -54107,14 +56328,14 @@
                     "Para" : "We switch on the `direction` from the layout to provide the correct width or height. for the layout. Only the cross-axis of the direction – width for vertical, and height for horizontal."
                   }
                 ],
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListSizing.swift",
-                "key.doc.full_as_xml" : "unconstrainedValues<\/Name>s:10ListableUI8ListViewC11contentSize2in3forSo6CGSizeVAH_AA0C10PropertiesVtFZ19unconstrainedValuesL_Shy12CoreGraphics7CGFloatVGvp<\/USR>let unconstrainedValues: Set<CGFloat><\/Declaration>Set the size of the view to the fitting size, since the width or height will be used by the underlying layout to measure the required contentSize.<\/Para><\/Abstract>We switch on the direction<\/codeVoice> from the layout to provide the correct width or height. for the layout. Only the cross-axis of the direction – width for vertical, and height for horizontal.<\/Para><\/Discussion><\/CommentParts><\/Other>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListSizing.swift",
+                "key.doc.full_as_xml" : "unconstrainedValues<\/Name>s:10ListableUI8ListViewC11contentSize2in3forSo6CGSizeVAH_AA0C10PropertiesVtFZ19unconstrainedValuesL_Shy12CoreGraphics7CGFloatVGvp<\/USR>let unconstrainedValues: Set<CGFloat><\/Declaration>Set the size of the view to the fitting size, since the width or height will be used by the underlying layout to measure the required contentSize.<\/Para><\/Abstract>We switch on the direction<\/codeVoice> from the layout to provide the correct width or height. for the layout. Only the cross-axis of the direction – width for vertical, and height for horizontal.<\/Para><\/Discussion><\/CommentParts><\/Other>",
                 "key.doc.line" : 97,
                 "key.doc.name" : "unconstrainedValues",
                 "key.doc.type" : "Other",
                 "key.doclength" : 400,
                 "key.docoffset" : 3034,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListSizing.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListSizing.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> unconstrainedValues<\/decl.name>: Set<\/ref.struct><CGFloat<\/ref.struct>><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 83,
@@ -54131,7 +56352,7 @@
               },
               {
                 "key.annotated_decl" : "let size: CGSize<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListSizing.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListSizing.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> size<\/decl.name>: CGSize<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 27,
@@ -54159,7 +56380,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.CollectionViewChanges.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.CollectionViewChanges.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 2773,
     "key.offset" : 0,
@@ -54176,7 +56397,7 @@
         ],
         "key.bodylength" : 2614,
         "key.bodyoffset" : 157,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> ListView<\/decl.name> : UIView, KeyboardObserverDelegate<\/decl.class>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 2635,
@@ -54193,7 +56414,7 @@
             "key.annotated_decl" : "struct CollectionViewChanges<\/Declaration>",
             "key.bodylength" : 2573,
             "key.bodyoffset" : 196,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.CollectionViewChanges.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.CollectionViewChanges.swift",
             "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> CollectionViewChanges<\/decl.name><\/decl.struct>",
             "key.kind" : "source.lang.swift.decl.struct",
             "key.length" : 2608,
@@ -54208,7 +56429,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "typealias ListView<\/Type>.CollectionViewChanges<\/Type>.SectionChanges = SectionedDiff<\/Type><Section<\/Type>, AnyIdentifier<\/Type>, AnyItem<\/Type>, AnyIdentifier<\/Type>>.SectionChanges<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.CollectionViewChanges.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.CollectionViewChanges.swift",
                 "key.fully_annotated_decl" : "typealias<\/syntaxtype.keyword> ListView<\/ref.class>.CollectionViewChanges<\/ref.struct>.SectionChanges<\/decl.name> = SectionedDiff<\/ref.struct><Section<\/ref.struct>, AnyIdentifier<\/ref.class>, AnyItem<\/ref.protocol>, AnyIdentifier<\/ref.class>>.SectionChanges<\/ref.struct><\/decl.typealias>",
                 "key.kind" : "source.lang.swift.decl.typealias",
                 "key.length" : 103,
@@ -54226,7 +56447,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "typealias ListView<\/Type>.CollectionViewChanges<\/Type>.ItemChanges = SectionedDiff<\/Type><Section<\/Type>, AnyIdentifier<\/Type>, AnyItem<\/Type>, AnyIdentifier<\/Type>>.ItemChanges<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.CollectionViewChanges.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.CollectionViewChanges.swift",
                 "key.fully_annotated_decl" : "typealias<\/syntaxtype.keyword> ListView<\/ref.class>.CollectionViewChanges<\/ref.struct>.ItemChanges<\/decl.name> = SectionedDiff<\/ref.struct><Section<\/ref.struct>, AnyIdentifier<\/ref.class>, AnyItem<\/ref.protocol>, AnyIdentifier<\/ref.class>>.ItemChanges<\/ref.struct><\/decl.typealias>",
                 "key.kind" : "source.lang.swift.decl.typealias",
                 "key.length" : 97,
@@ -54244,7 +56465,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var deletedSections: [SectionChanges<\/Type>.Removed<\/Type>]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.CollectionViewChanges.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.CollectionViewChanges.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> deletedSections<\/decl.name>: [SectionChanges<\/ref.typealias>.Removed<\/ref.struct>]<\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 51,
@@ -54263,7 +56484,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var insertedSections: [SectionChanges<\/Type>.Added<\/Type>]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.CollectionViewChanges.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.CollectionViewChanges.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> insertedSections<\/decl.name>: [SectionChanges<\/ref.typealias>.Added<\/ref.struct>]<\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 50,
@@ -54282,7 +56503,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var movedSections: [SectionChanges<\/Type>.Moved<\/Type>]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.CollectionViewChanges.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.CollectionViewChanges.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> movedSections<\/decl.name>: [SectionChanges<\/ref.typealias>.Moved<\/ref.struct>]<\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 47,
@@ -54301,7 +56522,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var deletedItems: [ItemChanges<\/Type>.Removed<\/Type>]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.CollectionViewChanges.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.CollectionViewChanges.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> deletedItems<\/decl.name>: [ItemChanges<\/ref.typealias>.Removed<\/ref.struct>]<\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 45,
@@ -54320,7 +56541,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var insertedItems: [ItemChanges<\/Type>.Added<\/Type>]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.CollectionViewChanges.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.CollectionViewChanges.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> insertedItems<\/decl.name>: [ItemChanges<\/ref.typealias>.Added<\/ref.struct>]<\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 44,
@@ -54339,7 +56560,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var updatedItems: [ItemChanges<\/Type>.Updated<\/Type>]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.CollectionViewChanges.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.CollectionViewChanges.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> updatedItems<\/decl.name>: [ItemChanges<\/ref.typealias>.Updated<\/ref.struct>]<\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 45,
@@ -54358,7 +56579,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var movedItems: [ItemChanges<\/Type>.Moved<\/Type>]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.CollectionViewChanges.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.CollectionViewChanges.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> movedItems<\/decl.name>: [ItemChanges<\/ref.typealias>.Moved<\/ref.struct>]<\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 41,
@@ -54379,7 +56600,7 @@
                 "key.annotated_decl" : "var hasIndexAffectingChanges: Bool<\/Type> { get }<\/Declaration>",
                 "key.bodylength" : 373,
                 "key.bodyoffset" : 881,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.CollectionViewChanges.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.CollectionViewChanges.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> hasIndexAffectingChanges<\/decl.name>: Bool<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 411,
@@ -54399,7 +56620,7 @@
                 "key.annotated_decl" : "init(sectionChanges changes: SectionChanges<\/Type>)<\/Declaration>",
                 "key.bodylength" : 1435,
                 "key.bodyoffset" : 1328,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.CollectionViewChanges.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.CollectionViewChanges.swift",
                 "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(sectionChanges<\/decl.var.parameter.argument_label> changes<\/decl.var.parameter.name>: SectionChanges<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 1491,
@@ -54430,7 +56651,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.DataSource.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.DataSource.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 3590,
     "key.offset" : 0,
@@ -54447,7 +56668,7 @@
         ],
         "key.bodylength" : 3460,
         "key.bodyoffset" : 128,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> ListView<\/decl.name> : UIView, KeyboardObserverDelegate<\/decl.class>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 3481,
@@ -54483,7 +56704,7 @@
                 "key.offset" : 168
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.DataSource.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.DataSource.swift",
             "key.fully_annotated_decl" : "final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> DataSource<\/decl.name> : NSObject<\/ref.class>, UICollectionViewDataSource<\/ref.protocol><\/decl.class>",
             "key.inheritedtypes" : [
               {
@@ -54513,7 +56734,7 @@
                     "key.offset" : 209
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.DataSource.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.DataSource.swift",
                 "key.fully_annotated_decl" : "unowned<\/syntaxtype.keyword> var<\/syntaxtype.keyword> presentationState<\/decl.name>: PresentationState<\/ref.class>!<\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 42,
@@ -54539,7 +56760,7 @@
                     "key.offset" : 268
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.DataSource.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.DataSource.swift",
                 "key.fully_annotated_decl" : "unowned<\/syntaxtype.keyword> var<\/syntaxtype.keyword> liveCells<\/decl.name>: LiveCells<\/ref.class>!<\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 26,
@@ -54558,7 +56779,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var environment: ListEnvironment<\/Type>!<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.DataSource.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.DataSource.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> environment<\/decl.name>: ListEnvironment<\/ref.struct>!<\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 34,
@@ -54579,7 +56800,7 @@
                 "key.annotated_decl" : "func numberOfSections(in collectionView: UICollectionView<\/Type>) -> Int<\/Type><\/Declaration>",
                 "key.bodylength" : 66,
                 "key.bodyoffset" : 430,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.DataSource.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.DataSource.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> numberOfSections<\/decl.name>(in<\/decl.var.parameter.argument_label> collectionView<\/decl.var.parameter.name>: UICollectionView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>) -> Int<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 142,
@@ -54607,7 +56828,7 @@
                 "key.annotated_decl" : "func collectionView(_ collectionView: UICollectionView<\/Type>, numberOfItemsInSection section: Int<\/Type>) -> Int<\/Type><\/Declaration>",
                 "key.bodylength" : 128,
                 "key.bodyoffset" : 624,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.DataSource.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.DataSource.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> collectionView<\/decl.name>(_<\/decl.var.parameter.argument_label> collectionView<\/decl.var.parameter.name>: UICollectionView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, numberOfItemsInSection<\/decl.var.parameter.argument_label> section<\/decl.var.parameter.name>: Int<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> Int<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 238,
@@ -54640,7 +56861,7 @@
                 "key.substructure" : [
                   {
                     "key.annotated_decl" : "let section: PresentationState<\/Type>.SectionState<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.DataSource.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.DataSource.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> section<\/decl.name>: PresentationState<\/ref.class>.SectionState<\/ref.class><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 54,
@@ -54665,7 +56886,7 @@
                 "key.annotated_decl" : "func collectionView(_ collectionView: UICollectionView<\/Type>, cellForItemAt indexPath: IndexPath<\/Type>) -> UICollectionViewCell<\/Type><\/Declaration>",
                 "key.bodylength" : 469,
                 "key.bodyoffset" : 930,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.DataSource.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.DataSource.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> collectionView<\/decl.name>(_<\/decl.var.parameter.argument_label> collectionView<\/decl.var.parameter.name>: UICollectionView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, cellForItemAt<\/decl.var.parameter.argument_label> indexPath<\/decl.var.parameter.name>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> UICollectionViewCell<\/ref.class><\/decl.function.returntype><\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 629,
@@ -54698,7 +56919,7 @@
                 "key.substructure" : [
                   {
                     "key.annotated_decl" : "let item: AnyPresentationItemState<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.DataSource.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.DataSource.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> item<\/decl.name>: AnyPresentationItemState<\/ref.protocol><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 53,
@@ -54715,7 +56936,7 @@
                   },
                   {
                     "key.annotated_decl" : "let cell: AnyItemCell<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.DataSource.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.DataSource.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> cell<\/decl.name>: AnyItemCell<\/ref.protocol><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 175,
@@ -54745,7 +56966,7 @@
                     "key.offset" : 1418
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.DataSource.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.DataSource.swift",
                 "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> let<\/syntaxtype.keyword> headerFooterReuseCache<\/decl.name>: ReusableViewCache<\/ref.class><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 48,
@@ -54765,7 +56986,7 @@
                 "key.annotated_decl" : "func collectionView(_ collectionView: UICollectionView<\/Type>, viewForSupplementaryElementOfKind kind: String<\/Type>, at indexPath: IndexPath<\/Type>) -> UICollectionReusableView<\/Type><\/Declaration>",
                 "key.bodylength" : 935,
                 "key.bodyoffset" : 1708,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.DataSource.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.DataSource.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> collectionView<\/decl.name>(_<\/decl.var.parameter.argument_label> collectionView<\/decl.var.parameter.name>: UICollectionView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, viewForSupplementaryElementOfKind<\/decl.var.parameter.argument_label> kind<\/decl.var.parameter.name>: String<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, at<\/decl.var.parameter.argument_label> indexPath<\/decl.var.parameter.name>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> UICollectionReusableView<\/ref.class><\/decl.function.returntype><\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 1152,
@@ -54798,7 +57019,7 @@
                 "key.substructure" : [
                   {
                     "key.annotated_decl" : "let container: SupplementaryContainerView<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.DataSource.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.DataSource.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> container<\/decl.name>: SupplementaryContainerView<\/ref.class><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 262,
@@ -54823,7 +57044,7 @@
                 "key.annotated_decl" : "func collectionView(_ collectionView: UICollectionView<\/Type>, canMoveItemAt indexPath: IndexPath<\/Type>) -> Bool<\/Type><\/Declaration>",
                 "key.bodylength" : 139,
                 "key.bodyoffset" : 2771,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.DataSource.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.DataSource.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> collectionView<\/decl.name>(_<\/decl.var.parameter.argument_label> collectionView<\/decl.var.parameter.name>: UICollectionView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, canMoveItemAt<\/decl.var.parameter.argument_label> indexPath<\/decl.var.parameter.name>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 249,
@@ -54856,7 +57077,7 @@
                 "key.substructure" : [
                   {
                     "key.annotated_decl" : "let item: AnyPresentationItemState<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.DataSource.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.DataSource.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> item<\/decl.name>: AnyPresentationItemState<\/ref.protocol><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 53,
@@ -54881,7 +57102,7 @@
                 "key.annotated_decl" : "func collectionView(_ collectionView: UICollectionView<\/Type>, moveItemAt sourceIndexPath: IndexPath<\/Type>, to destinationIndexPath: IndexPath<\/Type>)<\/Declaration>",
                 "key.bodylength" : 461,
                 "key.bodyoffset" : 3119,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.DataSource.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.DataSource.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> collectionView<\/decl.name>(_<\/decl.var.parameter.argument_label> collectionView<\/decl.var.parameter.name>: UICollectionView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, moveItemAt<\/decl.var.parameter.argument_label> sourceIndexPath<\/decl.var.parameter.name>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, to<\/decl.var.parameter.argument_label> destinationIndexPath<\/decl.var.parameter.name>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 652,
@@ -54914,7 +57135,7 @@
                 "key.substructure" : [
                   {
                     "key.annotated_decl" : "let item: AnyPresentationItemState<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.DataSource.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.DataSource.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> item<\/decl.name>: AnyPresentationItemState<\/ref.protocol><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 64,
@@ -54947,7 +57168,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 10082,
     "key.offset" : 0,
@@ -54956,7 +57177,7 @@
         "key.annotated_decl" : "public final class ListView : UIView<\/Type>, KeyboardObserverDelegate<\/Declaration>",
         "key.bodylength" : 9963,
         "key.bodyoffset" : 117,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> ListView<\/decl.name> : UIView<\/ref.class>, KeyboardObserverDelegate<\/decl.class>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 9984,
@@ -54996,7 +57217,7 @@
                 "key.offset" : 181
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
             "key.fully_annotated_decl" : "final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> Delegate<\/decl.name> : NSObject<\/ref.class>, UICollectionViewDelegate<\/ref.protocol>, CollectionViewLayoutDelegate<\/ref.protocol><\/decl.class>",
             "key.inheritedtypes" : [
               {
@@ -55029,7 +57250,7 @@
                     "key.offset" : 224
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
                 "key.fully_annotated_decl" : "unowned<\/syntaxtype.keyword> var<\/syntaxtype.keyword> view<\/decl.name>: ListView<\/ref.class>!<\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 20,
@@ -55055,7 +57276,7 @@
                     "key.offset" : 261
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
                 "key.fully_annotated_decl" : "unowned<\/syntaxtype.keyword> var<\/syntaxtype.keyword> presentationState<\/decl.name>: PresentationState<\/ref.class>!<\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 42,
@@ -55081,7 +57302,7 @@
                     "key.offset" : 329
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
                 "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> let<\/syntaxtype.keyword> itemMeasurementCache<\/decl.name>: ReusableViewCache<\/ref.class><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 46,
@@ -55106,7 +57327,7 @@
                     "key.offset" : 392
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
                 "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> let<\/syntaxtype.keyword> headerFooterMeasurementCache<\/decl.name>: ReusableViewCache<\/ref.class><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 54,
@@ -55131,7 +57352,7 @@
                     "key.offset" : 472
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
                 "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> let<\/syntaxtype.keyword> headerFooterViewCache<\/decl.name>: ReusableViewCache<\/ref.class><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 47,
@@ -55159,7 +57380,7 @@
                 "key.annotated_decl" : "func collectionView(_ collectionView: UICollectionView<\/Type>, shouldHighlightItemAt indexPath: IndexPath<\/Type>) -> Bool<\/Type><\/Declaration>",
                 "key.bodylength" : 239,
                 "key.bodyoffset" : 713,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> collectionView<\/decl.name>(_<\/decl.var.parameter.argument_label> collectionView<\/decl.var.parameter.name>: UICollectionView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, shouldHighlightItemAt<\/decl.var.parameter.argument_label> indexPath<\/decl.var.parameter.name>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 357,
@@ -55213,7 +57434,7 @@
                 "key.substructure" : [
                   {
                     "key.annotated_decl" : "let item: AnyPresentationItemState<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> item<\/decl.name>: AnyPresentationItemState<\/ref.protocol><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 53,
@@ -55238,7 +57459,7 @@
                 "key.annotated_decl" : "func collectionView(_ collectionView: UICollectionView<\/Type>, didHighlightItemAt indexPath: IndexPath<\/Type>)<\/Declaration>",
                 "key.bodylength" : 153,
                 "key.bodyoffset" : 1077,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> collectionView<\/decl.name>(_<\/decl.var.parameter.argument_label> collectionView<\/decl.var.parameter.name>: UICollectionView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, didHighlightItemAt<\/decl.var.parameter.argument_label> indexPath<\/decl.var.parameter.name>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 260,
@@ -55292,7 +57513,7 @@
                 "key.substructure" : [
                   {
                     "key.annotated_decl" : "let item: AnyPresentationItemState<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> item<\/decl.name>: AnyPresentationItemState<\/ref.protocol><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 53,
@@ -55317,7 +57538,7 @@
                 "key.annotated_decl" : "func collectionView(_ collectionView: UICollectionView<\/Type>, didUnhighlightItemAt indexPath: IndexPath<\/Type>)<\/Declaration>",
                 "key.bodylength" : 153,
                 "key.bodyoffset" : 1357,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> collectionView<\/decl.name>(_<\/decl.var.parameter.argument_label> collectionView<\/decl.var.parameter.name>: UICollectionView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, didUnhighlightItemAt<\/decl.var.parameter.argument_label> indexPath<\/decl.var.parameter.name>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 262,
@@ -55371,7 +57592,7 @@
                 "key.substructure" : [
                   {
                     "key.annotated_decl" : "let item: AnyPresentationItemState<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> item<\/decl.name>: AnyPresentationItemState<\/ref.protocol><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 53,
@@ -55396,7 +57617,7 @@
                 "key.annotated_decl" : "func collectionView(_ collectionView: UICollectionView<\/Type>, shouldSelectItemAt indexPath: IndexPath<\/Type>) -> Bool<\/Type><\/Declaration>",
                 "key.bodylength" : 239,
                 "key.bodyoffset" : 1643,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> collectionView<\/decl.name>(_<\/decl.var.parameter.argument_label> collectionView<\/decl.var.parameter.name>: UICollectionView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, shouldSelectItemAt<\/decl.var.parameter.argument_label> indexPath<\/decl.var.parameter.name>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 354,
@@ -55450,7 +57671,7 @@
                 "key.substructure" : [
                   {
                     "key.annotated_decl" : "let item: AnyPresentationItemState<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> item<\/decl.name>: AnyPresentationItemState<\/ref.protocol><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 53,
@@ -55475,7 +57696,7 @@
                 "key.annotated_decl" : "func collectionView(_ collectionView: UICollectionView<\/Type>, shouldDeselectItemAt indexPath: IndexPath<\/Type>) -> Bool<\/Type><\/Declaration>",
                 "key.bodylength" : 33,
                 "key.bodyoffset" : 2017,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> collectionView<\/decl.name>(_<\/decl.var.parameter.argument_label> collectionView<\/decl.var.parameter.name>: UICollectionView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, shouldDeselectItemAt<\/decl.var.parameter.argument_label> indexPath<\/decl.var.parameter.name>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 150,
@@ -55538,7 +57759,7 @@
                 "key.annotated_decl" : "func collectionView(_ collectionView: UICollectionView<\/Type>, didSelectItemAt indexPath: IndexPath<\/Type>)<\/Declaration>",
                 "key.bodylength" : 632,
                 "key.bodyoffset" : 2172,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> collectionView<\/decl.name>(_<\/decl.var.parameter.argument_label> collectionView<\/decl.var.parameter.name>: UICollectionView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, didSelectItemAt<\/decl.var.parameter.argument_label> indexPath<\/decl.var.parameter.name>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 736,
@@ -55592,7 +57813,7 @@
                 "key.substructure" : [
                   {
                     "key.annotated_decl" : "let item: AnyPresentationItemState<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> item<\/decl.name>: AnyPresentationItemState<\/ref.protocol><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 53,
@@ -55617,7 +57838,7 @@
                 "key.annotated_decl" : "func collectionView(_ collectionView: UICollectionView<\/Type>, didDeselectItemAt indexPath: IndexPath<\/Type>)<\/Declaration>",
                 "key.bodylength" : 272,
                 "key.bodyoffset" : 2928,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> collectionView<\/decl.name>(_<\/decl.var.parameter.argument_label> collectionView<\/decl.var.parameter.name>: UICollectionView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, didDeselectItemAt<\/decl.var.parameter.argument_label> indexPath<\/decl.var.parameter.name>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 378,
@@ -55671,7 +57892,7 @@
                 "key.substructure" : [
                   {
                     "key.annotated_decl" : "let item: AnyPresentationItemState<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> item<\/decl.name>: AnyPresentationItemState<\/ref.protocol><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 53,
@@ -55701,7 +57922,7 @@
                     "key.offset" : 3219
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
                 "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> var<\/syntaxtype.keyword> oldSelectedItems<\/decl.name>: Set<\/ref.struct><AnyIdentifier<\/ref.class>><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 46,
@@ -55729,7 +57950,7 @@
                 ],
                 "key.bodylength" : 684,
                 "key.bodyoffset" : 3330,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
                 "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> func<\/syntaxtype.keyword> performOnSelectChanged<\/decl.name>()<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 716,
@@ -55743,7 +57964,7 @@
                 "key.substructure" : [
                   {
                     "key.annotated_decl" : "let old: Set<\/Type><AnyIdentifier<\/Type>><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> old<\/decl.name>: Set<\/ref.struct><AnyIdentifier<\/ref.class>><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 31,
@@ -55760,7 +57981,7 @@
                   },
                   {
                     "key.annotated_decl" : "let new: Set<\/Type><AnyIdentifier<\/Type>><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> new<\/decl.name>: Set<\/ref.struct><AnyIdentifier<\/ref.class>><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 78,
@@ -55790,7 +58011,7 @@
                     "key.offset" : 4033
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
                 "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> var<\/syntaxtype.keyword> displayedItems<\/decl.name>: [ObjectIdentifier<\/ref.struct> : AnyPresentationItemState<\/ref.protocol>]<\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 70,
@@ -55811,7 +58032,7 @@
                 "key.annotated_decl" : "func collectionView(_ collectionView: UICollectionView<\/Type>, willDisplay cell: UICollectionViewCell<\/Type>, forItemAt indexPath: IndexPath<\/Type>)<\/Declaration>",
                 "key.bodylength" : 241,
                 "key.bodyoffset" : 4316,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> collectionView<\/decl.name>(_<\/decl.var.parameter.argument_label> collectionView<\/decl.var.parameter.name>: UICollectionView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, willDisplay<\/decl.var.parameter.argument_label> cell<\/decl.var.parameter.name>: UICollectionViewCell<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, forItemAt<\/decl.var.parameter.argument_label> indexPath<\/decl.var.parameter.name>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 429,
@@ -55865,7 +58086,7 @@
                 "key.substructure" : [
                   {
                     "key.annotated_decl" : "let item: AnyPresentationItemState<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> item<\/decl.name>: AnyPresentationItemState<\/ref.protocol><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 53,
@@ -55890,7 +58111,7 @@
                 "key.annotated_decl" : "func collectionView(_ collectionView: UICollectionView<\/Type>, didEndDisplaying cell: UICollectionViewCell<\/Type>, forItemAt indexPath: IndexPath<\/Type>)<\/Declaration>",
                 "key.bodylength" : 192,
                 "key.bodyoffset" : 4768,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> collectionView<\/decl.name>(_<\/decl.var.parameter.argument_label> collectionView<\/decl.var.parameter.name>: UICollectionView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, didEndDisplaying<\/decl.var.parameter.argument_label> cell<\/decl.var.parameter.name>: UICollectionViewCell<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, forItemAt<\/decl.var.parameter.argument_label> indexPath<\/decl.var.parameter.name>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 385,
@@ -55958,7 +58179,7 @@
                     "key.offset" : 4979
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
                 "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> var<\/syntaxtype.keyword> displayedSupplementaryItems<\/decl.name>: [ObjectIdentifier<\/ref.struct> : PresentationState<\/ref.class>.HeaderFooterViewStatePair<\/ref.class>]<\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 102,
@@ -55979,7 +58200,7 @@
                 "key.annotated_decl" : "func collectionView(_ collectionView: UICollectionView<\/Type>, willDisplaySupplementaryView anyView: UICollectionReusableView<\/Type>, forElementKind kindString: String<\/Type>, at indexPath: IndexPath<\/Type>)<\/Declaration>",
                 "key.bodylength" : 893,
                 "key.bodyoffset" : 5358,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> collectionView<\/decl.name>(_<\/decl.var.parameter.argument_label> collectionView<\/decl.var.parameter.name>: UICollectionView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, willDisplaySupplementaryView<\/decl.var.parameter.argument_label> anyView<\/decl.var.parameter.name>: UICollectionReusableView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, forElementKind<\/decl.var.parameter.argument_label> kindString<\/decl.var.parameter.name>: String<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, at<\/decl.var.parameter.argument_label> indexPath<\/decl.var.parameter.name>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 1145,
@@ -56033,7 +58254,7 @@
                 "key.substructure" : [
                   {
                     "key.annotated_decl" : "let container: SupplementaryContainerView<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> container<\/decl.name>: SupplementaryContainerView<\/ref.class><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 54,
@@ -56050,7 +58271,7 @@
                   },
                   {
                     "key.annotated_decl" : "let kind: SupplementaryKind<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> kind<\/decl.name>: SupplementaryKind<\/ref.enum><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 51,
@@ -56067,7 +58288,7 @@
                   },
                   {
                     "key.annotated_decl" : "let headerFooter: PresentationState<\/Type>.HeaderFooterViewStatePair<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> headerFooter<\/decl.name>: PresentationState<\/ref.class>.HeaderFooterViewStatePair<\/ref.class><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 563,
@@ -56092,7 +58313,7 @@
                 "key.annotated_decl" : "func collectionView(_ collectionView: UICollectionView<\/Type>, didEndDisplayingSupplementaryView view: UICollectionReusableView<\/Type>, forElementOfKind elementKind: String<\/Type>, at indexPath: IndexPath<\/Type>)<\/Declaration>",
                 "key.bodylength" : 221,
                 "key.bodyoffset" : 6526,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> collectionView<\/decl.name>(_<\/decl.var.parameter.argument_label> collectionView<\/decl.var.parameter.name>: UICollectionView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, didEndDisplayingSupplementaryView<\/decl.var.parameter.argument_label> view<\/decl.var.parameter.name>: UICollectionReusableView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, forElementOfKind<\/decl.var.parameter.argument_label> elementKind<\/decl.var.parameter.name>: String<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, at<\/decl.var.parameter.argument_label> indexPath<\/decl.var.parameter.name>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 478,
@@ -56155,7 +58376,7 @@
                 "key.annotated_decl" : "func collectionView(_ collectionView: UICollectionView<\/Type>, targetIndexPathForMoveFromItemAt originalIndexPath: IndexPath<\/Type>, toProposedIndexPath proposedIndexPath: IndexPath<\/Type>) -> IndexPath<\/Type><\/Declaration>",
                 "key.bodylength" : 598,
                 "key.bodyoffset" : 7005,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> collectionView<\/decl.name>(_<\/decl.var.parameter.argument_label> collectionView<\/decl.var.parameter.name>: UICollectionView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, targetIndexPathForMoveFromItemAt<\/decl.var.parameter.argument_label> originalIndexPath<\/decl.var.parameter.name>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, toProposedIndexPath<\/decl.var.parameter.argument_label> proposedIndexPath<\/decl.var.parameter.name>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> IndexPath<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 838,
@@ -56226,7 +58447,7 @@
                 "key.annotated_decl" : "func listViewLayoutUpdatedItemPositions(_ collectionView: UICollectionView<\/Type>)<\/Declaration>",
                 "key.bodylength" : 67,
                 "key.bodyoffset" : 7763,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> listViewLayoutUpdatedItemPositions<\/decl.name>(_<\/decl.var.parameter.argument_label> collectionView<\/decl.var.parameter.name>: UICollectionView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 154,
@@ -56254,7 +58475,7 @@
                 "key.annotated_decl" : "func listLayoutContent(defaults: ListLayoutDefaults<\/Type>) -> ListLayoutContent<\/Type><\/Declaration>",
                 "key.bodylength" : 166,
                 "key.bodyoffset" : 7954,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> listLayoutContent<\/decl.name>(defaults<\/decl.var.parameter.argument_label>: ListLayoutDefaults<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ListLayoutContent<\/ref.class><\/decl.function.returntype><\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 272,
@@ -56290,7 +58511,7 @@
                 "key.annotated_decl" : "func scrollViewWillBeginDragging(_ scrollView: UIScrollView<\/Type>)<\/Declaration>",
                 "key.bodylength" : 104,
                 "key.bodyoffset" : 8248,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> scrollViewWillBeginDragging<\/decl.name>(_<\/decl.var.parameter.argument_label> scrollView<\/decl.var.parameter.name>: UIScrollView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 175,
@@ -56318,7 +58539,7 @@
                 "key.annotated_decl" : "func scrollViewDidEndDecelerating(_ scrollView: UIScrollView<\/Type>)<\/Declaration>",
                 "key.bodylength" : 81,
                 "key.bodyoffset" : 8442,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> scrollViewDidEndDecelerating<\/decl.name>(_<\/decl.var.parameter.argument_label> scrollView<\/decl.var.parameter.name>: UIScrollView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 153,
@@ -56346,7 +58567,7 @@
                 "key.annotated_decl" : "func scrollViewShouldScrollToTop(_ scrollView: UIScrollView<\/Type>) -> Bool<\/Type><\/Declaration>",
                 "key.bodylength" : 151,
                 "key.bodyoffset" : 8628,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> scrollViewShouldScrollToTop<\/decl.name>(_<\/decl.var.parameter.argument_label> scrollView<\/decl.var.parameter.name>: UIScrollView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 230,
@@ -56374,7 +58595,7 @@
                 "key.annotated_decl" : "func scrollViewDidScrollToTop(_ scrollView: UIScrollView<\/Type>)<\/Declaration>",
                 "key.bodylength" : 76,
                 "key.bodyoffset" : 8865,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> scrollViewDidScrollToTop<\/decl.name>(_<\/decl.var.parameter.argument_label> scrollView<\/decl.var.parameter.name>: UIScrollView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 144,
@@ -56407,7 +58628,7 @@
                     "key.offset" : 8960
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
                 "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> var<\/syntaxtype.keyword> lastPosition<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 32,
@@ -56428,7 +58649,7 @@
                 "key.annotated_decl" : "func scrollViewDidScroll(_ scrollView: UIScrollView<\/Type>)<\/Declaration>",
                 "key.bodylength" : 992,
                 "key.bodyoffset" : 9080,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> scrollViewDidScroll<\/decl.name>(_<\/decl.var.parameter.argument_label> scrollView<\/decl.var.parameter.name>: UIScrollView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 1055,
@@ -56447,7 +58668,7 @@
                 "key.substructure" : [
                   {
                     "key.annotated_decl" : "let scrollingDown: Bool<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.Delegate.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> scrollingDown<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 66,
@@ -56480,7 +58701,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.LayoutManager.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.LayoutManager.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 1853,
     "key.offset" : 0,
@@ -56489,7 +58710,7 @@
         "key.annotated_decl" : "public final class ListView : UIView, KeyboardObserverDelegate<\/Declaration>",
         "key.bodylength" : 1712,
         "key.bodyoffset" : 139,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> ListView<\/decl.name> : UIView, KeyboardObserverDelegate<\/decl.class>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 1733,
@@ -56512,7 +58733,7 @@
             ],
             "key.bodylength" : 1674,
             "key.bodyoffset" : 175,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.LayoutManager.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.LayoutManager.swift",
             "key.fully_annotated_decl" : "final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> LayoutManager<\/decl.name><\/decl.class>",
             "key.kind" : "source.lang.swift.decl.class",
             "key.length" : 1700,
@@ -56534,7 +58755,7 @@
                     "key.offset" : 184
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.LayoutManager.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.LayoutManager.swift",
                 "key.fully_annotated_decl" : "unowned<\/syntaxtype.keyword> let<\/syntaxtype.keyword> collectionView<\/decl.name>: UICollectionView<\/ref.class><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 37,
@@ -56559,7 +58780,7 @@
                     "key.offset" : 255
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.LayoutManager.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.LayoutManager.swift",
                 "key.fully_annotated_decl" : "private<\/syntaxtype.keyword>(set) var<\/syntaxtype.keyword> collectionViewLayout<\/decl.name>: CollectionViewLayout<\/ref.class><\/decl.var.type> { get }<\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 47,
@@ -56580,7 +58801,7 @@
                 "key.annotated_decl" : "init(layout collectionViewLayout: CollectionViewLayout<\/Type>, collectionView: UICollectionView<\/Type>)<\/Declaration>",
                 "key.bodylength" : 119,
                 "key.bodyoffset" : 434,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.LayoutManager.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.LayoutManager.swift",
                 "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(layout<\/decl.var.parameter.argument_label> collectionViewLayout<\/decl.var.parameter.name>: CollectionViewLayout<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, collectionView<\/decl.var.parameter.argument_label>: UICollectionView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 221,
@@ -56603,7 +58824,7 @@
                 "key.annotated_decl" : "func set(layout: LayoutDescription<\/Type>, animated: Bool<\/Type>, completion: @escaping () -> ())<\/Declaration>",
                 "key.bodylength" : 1175,
                 "key.bodyoffset" : 668,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.LayoutManager.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.LayoutManager.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> set<\/decl.name>(layout<\/decl.var.parameter.argument_label>: LayoutDescription<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, animated<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, completion<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> () -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 1272,
@@ -56634,7 +58855,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.Storage.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.Storage.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 837,
     "key.offset" : 0,
@@ -56651,7 +58872,7 @@
         ],
         "key.bodylength" : 710,
         "key.bodyoffset" : 125,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> ListView<\/decl.name> : UIView, KeyboardObserverDelegate<\/decl.class>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 731,
@@ -56675,7 +58896,7 @@
             ],
             "key.bodylength" : 678,
             "key.bodyoffset" : 155,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.Storage.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.Storage.swift",
             "key.fully_annotated_decl" : "final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> Storage<\/decl.name><\/decl.class>",
             "key.kind" : "source.lang.swift.decl.class",
             "key.length" : 698,
@@ -56690,7 +58911,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var allContent: Content<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.Storage.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.Storage.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> allContent<\/decl.name>: Content<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 36,
@@ -56709,7 +58930,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let presentationState: PresentationState<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.Storage.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.Storage.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> presentationState<\/decl.name>: PresentationState<\/ref.class><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 63,
@@ -56729,7 +58950,7 @@
                 "key.annotated_decl" : "func moveItem(from: IndexPath<\/Type>, to: IndexPath<\/Type>)<\/Declaration>",
                 "key.bodylength" : 130,
                 "key.bodyoffset" : 356,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.Storage.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.Storage.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> moveItem<\/decl.name>(from<\/decl.var.parameter.argument_label>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, to<\/decl.var.parameter.argument_label>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 188,
@@ -56752,7 +58973,7 @@
                 "key.annotated_decl" : "func remove(item itemToRemove: AnyPresentationItemState<\/Type>) -> IndexPath<\/Type>?<\/Declaration>",
                 "key.bodylength" : 241,
                 "key.bodyoffset" : 586,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.Storage.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.Storage.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> remove<\/decl.name>(item<\/decl.var.parameter.argument_label> itemToRemove<\/decl.var.parameter.name>: AnyPresentationItemState<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>) -> IndexPath<\/ref.struct>?<\/decl.function.returntype><\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 323,
@@ -56783,7 +59004,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 5840,
     "key.offset" : 0,
@@ -56792,7 +59013,7 @@
         "key.annotated_decl" : "public final class ListView : UIView<\/Type>, KeyboardObserverDelegate<\/Declaration>",
         "key.bodylength" : 3953,
         "key.bodyoffset" : 141,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> ListView<\/decl.name> : UIView<\/ref.class>, KeyboardObserverDelegate<\/decl.class>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 3974,
@@ -56815,7 +59036,7 @@
             ],
             "key.bodylength" : 3914,
             "key.bodyoffset" : 178,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
             "key.fully_annotated_decl" : "final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> VisibleContent<\/decl.name><\/decl.class>",
             "key.kind" : "source.lang.swift.decl.class",
             "key.length" : 3941,
@@ -56837,7 +59058,7 @@
                     "key.offset" : 187
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
                 "key.fully_annotated_decl" : "private<\/syntaxtype.keyword>(set) var<\/syntaxtype.keyword> headerFooters<\/decl.name>: Set<\/ref.struct><HeaderFooter<\/ref.struct>><\/decl.var.type> { get }<\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 45,
@@ -56863,7 +59084,7 @@
                     "key.offset" : 254
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
                 "key.fully_annotated_decl" : "private<\/syntaxtype.keyword>(set) var<\/syntaxtype.keyword> items<\/decl.name>: Set<\/ref.struct><Item<\/ref.struct>><\/decl.var.type> { get }<\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 29,
@@ -56884,7 +59105,7 @@
                 "key.annotated_decl" : "func update(with view: ListView<\/Type>)<\/Declaration>",
                 "key.bodylength" : 1356,
                 "key.bodyoffset" : 357,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> update<\/decl.name>(with<\/decl.var.parameter.argument_label> view<\/decl.var.parameter.name>: ListView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 1400,
@@ -56898,7 +59119,7 @@
                 "key.substructure" : [
                   {
                     "key.annotated_decl" : "let newItems: Set<\/Type><ListView<\/Type>.VisibleContent<\/Type>.Item<\/Type>><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> newItems<\/decl.name>: Set<\/ref.struct><ListView<\/ref.class>.VisibleContent<\/ref.class>.Item<\/ref.struct>><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 73,
@@ -56915,7 +59136,7 @@
                   },
                   {
                     "key.annotated_decl" : "let newHeaderFooters: Set<\/Type><ListView<\/Type>.VisibleContent<\/Type>.HeaderFooter<\/Type>><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> newHeaderFooters<\/decl.name>: Set<\/ref.struct><ListView<\/ref.class>.VisibleContent<\/ref.class>.HeaderFooter<\/ref.struct>><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 73,
@@ -56932,7 +59153,7 @@
                   },
                   {
                     "key.annotated_decl" : "let removed: Set<\/Type><ListView<\/Type>.VisibleContent<\/Type>.Item<\/Type>><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> removed<\/decl.name>: Set<\/ref.struct><ListView<\/ref.class>.VisibleContent<\/ref.class>.Item<\/ref.struct>><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 46,
@@ -56949,7 +59170,7 @@
                   },
                   {
                     "key.annotated_decl" : "let added: Set<\/Type><ListView<\/Type>.VisibleContent<\/Type>.Item<\/Type>><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> added<\/decl.name>: Set<\/ref.struct><ListView<\/ref.class>.VisibleContent<\/ref.class>.Item<\/ref.struct>><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 44,
@@ -56966,7 +59187,7 @@
                   },
                   {
                     "key.annotated_decl" : "let callStateReader: Bool<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> callStateReader<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 72,
@@ -56991,7 +59212,7 @@
                 "key.annotated_decl" : "var info: Info<\/Type> { get }<\/Declaration>",
                 "key.bodylength" : 358,
                 "key.bodyoffset" : 1749,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> info<\/decl.name>: Info<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 376,
@@ -57011,7 +59232,7 @@
                 "key.annotated_decl" : "func updateVisibleViews(with environment: ListEnvironment<\/Type>)<\/Declaration>",
                 "key.bodylength" : 390,
                 "key.bodyoffset" : 2195,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> updateVisibleViews<\/decl.name>(with<\/decl.var.parameter.argument_label> environment<\/decl.var.parameter.name>: ListEnvironment<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 460,
@@ -57041,7 +59262,7 @@
                 ],
                 "key.bodylength" : 1382,
                 "key.bodyoffset" : 2704,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
                 "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> func<\/syntaxtype.keyword> calculateVisibleContent<\/decl.name>(in<\/decl.var.parameter.argument_label> view<\/decl.var.parameter.name>: ListView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>) -> (Set<\/ref.struct><Item<\/ref.struct>><\/tuple.element.type><\/tuple.element>, Set<\/ref.struct><HeaderFooter<\/ref.struct>><\/tuple.element.type><\/tuple.element>)<\/tuple><\/decl.function.returntype><\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 1475,
@@ -57055,7 +59276,7 @@
                 "key.substructure" : [
                   {
                     "key.annotated_decl" : "let visibleFrame: CGRect<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> visibleFrame<\/decl.name>: CGRect<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 45,
@@ -57072,7 +59293,7 @@
                   },
                   {
                     "key.annotated_decl" : "let visibleAttributes: [UICollectionViewLayoutAttributes<\/Type>]<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> visibleAttributes<\/decl.name>: [UICollectionViewLayoutAttributes<\/ref.class>]<\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 108,
@@ -57089,7 +59310,7 @@
                   },
                   {
                     "key.annotated_decl" : "var items: Set<\/Type><Item<\/Type>><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
                     "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> items<\/decl.name>: Set<\/ref.struct><Item<\/ref.struct>><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 26,
@@ -57111,7 +59332,7 @@
                   },
                   {
                     "key.annotated_decl" : "var headerFooters: Set<\/Type><HeaderFooter<\/Type>><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
                     "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> headerFooters<\/decl.name>: Set<\/ref.struct><HeaderFooter<\/ref.struct>><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
                     "key.length" : 42,
@@ -57150,7 +59371,7 @@
         "key.annotated_decl" : "final class VisibleContent<\/Declaration>",
         "key.bodylength" : 1706,
         "key.bodyoffset" : 4132,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
         "key.fully_annotated_decl" : "final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> VisibleContent<\/decl.name><\/decl.class>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 1742,
@@ -57173,7 +59394,7 @@
                 "key.offset" : 4159
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
             "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> HeaderFooter<\/decl.name> : Hashable<\/ref.protocol><\/decl.struct>",
             "key.inheritedtypes" : [
               {
@@ -57193,7 +59414,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let kind: SupplementaryKind<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> kind<\/decl.name>: SupplementaryKind<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 28,
@@ -57211,7 +59432,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let indexPath: IndexPath<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> indexPath<\/decl.name>: IndexPath<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 25,
@@ -57229,7 +59450,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let headerFooter: PresentationState<\/Type>.HeaderFooterViewStatePair<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> headerFooter<\/decl.name>: PresentationState<\/ref.class>.HeaderFooterViewStatePair<\/ref.class><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 62,
@@ -57279,7 +59500,7 @@
                   }
                 ],
                 "key.doc.type" : "Function",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
                 "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> == <\/decl.name>(lhs<\/decl.var.parameter.name>: `Self`<\/decl.var.parameter.type><\/decl.var.parameter>, rhs<\/decl.var.parameter.name>: `Self`<\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.operator.infix>",
                 "key.kind" : "source.lang.swift.decl.function.method.static",
                 "key.length" : 175,
@@ -57781,7 +60002,7 @@
                   }
                 ],
                 "key.doc.type" : "Function",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> hash<\/decl.name>(into<\/decl.var.parameter.argument_label> hasher<\/decl.var.parameter.name>: inout<\/syntaxtype.keyword> Hasher<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 201,
@@ -57820,7 +60041,7 @@
                 "key.offset" : 4766
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
             "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> Item<\/decl.name> : Hashable<\/ref.protocol><\/decl.struct>",
             "key.inheritedtypes" : [
               {
@@ -57840,7 +60061,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let indexPath: IndexPath<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> indexPath<\/decl.name>: IndexPath<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 25,
@@ -57858,7 +60079,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "let item: AnyPresentationItemState<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> item<\/decl.name>: AnyPresentationItemState<\/ref.protocol><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 35,
@@ -57908,7 +60129,7 @@
                   }
                 ],
                 "key.doc.type" : "Function",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
                 "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> == <\/decl.name>(lhs<\/decl.var.parameter.name>: `Self`<\/decl.var.parameter.type><\/decl.var.parameter>, rhs<\/decl.var.parameter.name>: `Self`<\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.operator.infix>",
                 "key.kind" : "source.lang.swift.decl.function.method.static",
                 "key.length" : 135,
@@ -58410,7 +60631,7 @@
                   }
                 ],
                 "key.doc.type" : "Function",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
                 "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> hash<\/decl.name>(into<\/decl.var.parameter.argument_label> hasher<\/decl.var.parameter.name>: inout<\/syntaxtype.keyword> Hasher<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 155,
@@ -58445,8 +60666,8 @@
             "key.doc.column" : 12,
             "key.doc.comment" : "Note: Because this type exposes index paths and the internal `SupplementaryKind`,\nit is intended for internal usage or unit testing purposes only.\nPublic consumers and APIs should utilize `ListScrollPositionInfo`.",
             "key.doc.declaration" : "struct Info : Equatable",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
-            "key.doc.full_as_xml" : "Info<\/Name>s:10ListableUI8ListViewC14VisibleContentC4InfoV<\/USR>struct Info : Equatable<\/Declaration>Note: Because this type exposes index paths and the internal SupplementaryKind<\/codeVoice>, it is intended for internal usage or unit testing purposes only. Public consumers and APIs should utilize ListScrollPositionInfo<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Class>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
+            "key.doc.full_as_xml" : "Info<\/Name>s:10ListableUI8ListViewC14VisibleContentC4InfoV<\/USR>struct Info : Equatable<\/Declaration>Note: Because this type exposes index paths and the internal SupplementaryKind<\/codeVoice>, it is intended for internal usage or unit testing purposes only. Public consumers and APIs should utilize ListScrollPositionInfo<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Class>",
             "key.doc.line" : 159,
             "key.doc.name" : "Info",
             "key.doc.type" : "Class",
@@ -58459,7 +60680,7 @@
                 "key.offset" : 5452
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
             "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> Info<\/decl.name> : Equatable<\/ref.protocol><\/decl.struct>",
             "key.inheritedtypes" : [
               {
@@ -58479,7 +60700,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var headerFooters: Set<\/Type><HeaderFooter<\/Type>><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> headerFooters<\/decl.name>: Set<\/ref.struct><HeaderFooter<\/ref.struct>><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 37,
@@ -58498,7 +60719,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var items: Set<\/Type><Item<\/Type>><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> items<\/decl.name>: Set<\/ref.struct><Item<\/ref.struct>><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 21,
@@ -58526,7 +60747,7 @@
                     "key.offset" : 5583
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
                 "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> ListView<\/ref.class>.VisibleContent<\/ref.class>.Info<\/ref.struct>.HeaderFooter<\/decl.name> : Hashable<\/ref.protocol><\/decl.struct>",
                 "key.inheritedtypes" : [
                   {
@@ -58546,7 +60767,7 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "var kind: SupplementaryKind<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
                     "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> kind<\/decl.name>: SupplementaryKind<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
                     "key.kind" : "source.lang.swift.decl.var.instance",
                     "key.length" : 28,
@@ -58565,7 +60786,7 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "var indexPath: IndexPath<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
                     "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> indexPath<\/decl.name>: IndexPath<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                     "key.kind" : "source.lang.swift.decl.var.instance",
                     "key.length" : 25,
@@ -58598,7 +60819,7 @@
                     "key.offset" : 5722
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
                 "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> ListView<\/ref.class>.VisibleContent<\/ref.class>.Info<\/ref.struct>.Item<\/decl.name> : Hashable<\/ref.protocol><\/decl.struct>",
                 "key.inheritedtypes" : [
                   {
@@ -58618,7 +60839,7 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "var identifier: AnyIdentifier<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
                     "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> identifier<\/decl.name>: AnyIdentifier<\/ref.class><\/decl.var.type><\/decl.var.instance>",
                     "key.kind" : "source.lang.swift.decl.var.instance",
                     "key.length" : 30,
@@ -58637,7 +60858,7 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "var indexPath: IndexPath<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.VisibleContent.swift",
                     "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> indexPath<\/decl.name>: IndexPath<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                     "key.kind" : "source.lang.swift.decl.var.instance",
                     "key.length" : 25,
@@ -58671,9 +60892,9 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
-    "key.length" : 37278,
+    "key.length" : 37341,
     "key.offset" : 0,
     "key.substructure" : [
       {
@@ -58691,7 +60912,7 @@
             "key.offset" : 101
           }
         ],
-        "key.bodylength" : 33709,
+        "key.bodylength" : 33772,
         "key.bodyoffset" : 165,
         "key.elements" : [
           {
@@ -58705,7 +60926,7 @@
             "key.offset" : 139
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> ListView<\/decl.name> : UIView<\/ref.class>, KeyboardObserverDelegate<\/ref.protocol><\/decl.class>",
         "key.inheritedtypes" : [
           {
@@ -58716,13 +60937,13 @@
           }
         ],
         "key.kind" : "source.lang.swift.decl.class",
-        "key.length" : 33761,
+        "key.length" : 33824,
         "key.name" : "ListView",
         "key.namelength" : 8,
         "key.nameoffset" : 120,
         "key.offset" : 114,
         "key.parsed_declaration" : "public final class ListView : UIView, KeyboardObserverDelegate",
-        "key.parsed_scope.end" : 1021,
+        "key.parsed_scope.end" : 1022,
         "key.parsed_scope.start" : 11,
         "key.substructure" : [
           {
@@ -58743,12 +60964,12 @@
                 "key.offset" : 217
               }
             ],
-            "key.bodylength" : 2463,
+            "key.bodylength" : 2464,
             "key.bodyoffset" : 297,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(frame<\/decl.var.parameter.argument_label>: CGRect<\/ref.struct><\/decl.var.parameter.type> = .zero<\/decl.var.parameter>, appearance<\/decl.var.parameter.argument_label>: Appearance<\/ref.struct><\/decl.var.parameter.type> = Appearance()<\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 2537,
+            "key.length" : 2538,
             "key.name" : "init(frame:appearance:)",
             "key.namelength" : 67,
             "key.nameoffset" : 224,
@@ -58759,15 +60980,15 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let initialLayout: CollectionViewLayout<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> initialLayout<\/decl.name>: CollectionViewLayout<\/ref.class><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
-                "key.length" : 205,
+                "key.length" : 206,
                 "key.name" : "initialLayout",
                 "key.namelength" : 13,
                 "key.nameoffset" : 799,
                 "key.offset" : 795,
-                "key.parsed_declaration" : "let initialLayout = CollectionViewLayout(\n    delegate: self.delegate,\n    layoutDescription: .list(),\n    appearance: self.appearance,\n    behavior: self.behavior\n)",
+                "key.parsed_declaration" : "let initialLayout = CollectionViewLayout(\n    delegate: self.delegate,\n    layoutDescription: .table(),\n    appearance: self.appearance,\n    behavior: self.behavior\n)",
                 "key.parsed_scope.end" : 36,
                 "key.parsed_scope.start" : 36,
                 "key.typename" : "CollectionViewLayout",
@@ -58783,15 +61004,15 @@
             "key.accessibility" : "source.lang.swift.accessibility.public",
             "key.annotated_decl" : "deinit<\/Declaration>",
             "key.bodylength" : 571,
-            "key.bodyoffset" : 2783,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.bodyoffset" : 2784,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "deinit<\/syntaxtype.keyword><\/decl.function.destructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 584,
             "key.name" : "deinit",
             "key.namelength" : 6,
-            "key.nameoffset" : 2771,
-            "key.offset" : 2771,
+            "key.nameoffset" : 2772,
+            "key.offset" : 2772,
             "key.parsed_declaration" : "deinit",
             "key.parsed_scope.end" : 112,
             "key.parsed_scope.start" : 97,
@@ -58813,24 +61034,24 @@
               {
                 "key.attribute" : "source.decl.attribute.required",
                 "key.length" : 8,
-                "key.offset" : 3396
+                "key.offset" : 3397
               },
               {
                 "key.attribute" : "source.decl.attribute.available",
                 "key.length" : 26,
-                "key.offset" : 3365
+                "key.offset" : 3366
               }
             ],
             "key.bodylength" : 17,
-            "key.bodyoffset" : 3428,
+            "key.bodyoffset" : 3429,
             "key.doc.comment" : "Even though these are zeroing weak references in UIKIt as of iOS 9.0,\n\nWe still want to nil these out, because _our_ `delegate` and `dataSource`\nobjects have unowned references back to us (`ListView`). We do not want\nany `delegate` or `dataSource` callbacks to trigger referencing\nthat unowned reference (eg, in `scrollViewDidScroll:`).",
             "key.internal_diagnostic" : "Unavailable in the current compilation context.",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 41,
             "key.name" : "init(coder:)",
             "key.namelength" : 21,
-            "key.nameoffset" : 3405,
-            "key.offset" : 3405,
+            "key.nameoffset" : 3406,
+            "key.offset" : 3406,
             "key.substructure" : [
 
             ]
@@ -58841,19 +61062,19 @@
             "key.name" : "MARK: Internal Properties",
             "key.namelength" : 0,
             "key.nameoffset" : 0,
-            "key.offset" : 3466
+            "key.offset" : 3467
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "let storage: Storage<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> storage<\/decl.name>: Storage<\/ref.class><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 21,
             "key.name" : "storage",
             "key.namelength" : 7,
-            "key.nameoffset" : 3512,
-            "key.offset" : 3508,
+            "key.nameoffset" : 3513,
+            "key.offset" : 3509,
             "key.parsed_declaration" : "let storage : Storage",
             "key.parsed_scope.end" : 121,
             "key.parsed_scope.start" : 121,
@@ -58864,14 +61085,14 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "let collectionView: CollectionView<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> collectionView<\/decl.name>: CollectionView<\/ref.class><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 35,
             "key.name" : "collectionView",
             "key.namelength" : 14,
-            "key.nameoffset" : 3538,
-            "key.offset" : 3534,
+            "key.nameoffset" : 3539,
+            "key.offset" : 3535,
             "key.parsed_declaration" : "let collectionView : CollectionView",
             "key.parsed_scope.end" : 122,
             "key.parsed_scope.start" : 122,
@@ -58882,14 +61103,14 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "let delegate: Delegate<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> delegate<\/decl.name>: Delegate<\/ref.class><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 23,
             "key.name" : "delegate",
             "key.namelength" : 8,
-            "key.nameoffset" : 3578,
-            "key.offset" : 3574,
+            "key.nameoffset" : 3579,
+            "key.offset" : 3575,
             "key.parsed_declaration" : "let delegate : Delegate",
             "key.parsed_scope.end" : 123,
             "key.parsed_scope.start" : 123,
@@ -58900,14 +61121,14 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "let layoutManager: LayoutManager<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> layoutManager<\/decl.name>: LayoutManager<\/ref.class><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 33,
             "key.name" : "layoutManager",
             "key.namelength" : 13,
-            "key.nameoffset" : 3606,
-            "key.offset" : 3602,
+            "key.nameoffset" : 3607,
+            "key.offset" : 3603,
             "key.parsed_declaration" : "let layoutManager : LayoutManager",
             "key.parsed_scope.end" : 124,
             "key.parsed_scope.start" : 124,
@@ -58918,14 +61139,14 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "let liveCells: LiveCells<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> liveCells<\/decl.name>: LiveCells<\/ref.class><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 25,
             "key.name" : "liveCells",
             "key.namelength" : 9,
-            "key.nameoffset" : 3644,
-            "key.offset" : 3640,
+            "key.nameoffset" : 3645,
+            "key.offset" : 3641,
             "key.parsed_declaration" : "let liveCells : LiveCells",
             "key.parsed_scope.end" : 125,
             "key.parsed_scope.start" : 125,
@@ -58937,15 +61158,15 @@
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "var collectionViewLayout: CollectionViewLayout<\/Type> { get }<\/Declaration>",
             "key.bodylength" : 53,
-            "key.bodyoffset" : 3724,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.bodyoffset" : 3725,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> collectionViewLayout<\/decl.name>: CollectionViewLayout<\/ref.class><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 103,
             "key.name" : "collectionViewLayout",
             "key.namelength" : 20,
-            "key.nameoffset" : 3679,
-            "key.offset" : 3675,
+            "key.nameoffset" : 3680,
+            "key.offset" : 3676,
             "key.parsed_declaration" : "var collectionViewLayout : CollectionViewLayout",
             "key.parsed_scope.end" : 129,
             "key.parsed_scope.start" : 127,
@@ -58957,15 +61178,15 @@
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "var performsContentCallbacks: Bool<\/Type> { get set }<\/Declaration>",
             "key.bodylength" : 132,
-            "key.bodyoffset" : 3832,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.bodyoffset" : 3833,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> performsContentCallbacks<\/decl.name>: Bool<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 177,
             "key.name" : "performsContentCallbacks",
             "key.namelength" : 24,
-            "key.nameoffset" : 3792,
-            "key.offset" : 3788,
+            "key.nameoffset" : 3793,
+            "key.offset" : 3789,
             "key.parsed_declaration" : "var performsContentCallbacks : Bool = true",
             "key.parsed_scope.end" : 135,
             "key.parsed_scope.start" : 131,
@@ -58981,17 +61202,17 @@
               {
                 "key.attribute" : "source.decl.attribute.setter_access.private",
                 "key.length" : 12,
-                "key.offset" : 3975
+                "key.offset" : 3976
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword>(set) var<\/syntaxtype.keyword> visibleContent<\/decl.name>: VisibleContent<\/ref.class><\/decl.var.type> { get }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 35,
             "key.name" : "visibleContent",
             "key.namelength" : 14,
-            "key.nameoffset" : 3992,
-            "key.offset" : 3988,
+            "key.nameoffset" : 3993,
+            "key.offset" : 3989,
             "key.parsed_declaration" : "private(set) var visibleContent : VisibleContent",
             "key.parsed_scope.end" : 137,
             "key.parsed_scope.start" : 137,
@@ -59006,7 +61227,7 @@
             "key.name" : "MARK: Private Properties",
             "key.namelength" : 0,
             "key.nameoffset" : 0,
-            "key.offset" : 4043
+            "key.offset" : 4044
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.private",
@@ -59015,17 +61236,17 @@
               {
                 "key.attribute" : "source.decl.attribute.private",
                 "key.length" : 7,
-                "key.offset" : 4092
+                "key.offset" : 4093
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> var<\/syntaxtype.keyword> sourcePresenter<\/decl.name>: AnySourcePresenter<\/ref.protocol><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 40,
             "key.name" : "sourcePresenter",
             "key.namelength" : 15,
-            "key.nameoffset" : 4104,
-            "key.offset" : 4100,
+            "key.nameoffset" : 4105,
+            "key.offset" : 4101,
             "key.parsed_declaration" : "private var sourcePresenter : AnySourcePresenter",
             "key.parsed_scope.end" : 143,
             "key.parsed_scope.start" : 143,
@@ -59041,17 +61262,17 @@
               {
                 "key.attribute" : "source.decl.attribute.private",
                 "key.length" : 7,
-                "key.offset" : 4146
+                "key.offset" : 4147
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> var<\/syntaxtype.keyword> autoScrollAction<\/decl.name>: AutoScrollAction<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 39,
             "key.name" : "autoScrollAction",
             "key.namelength" : 16,
-            "key.nameoffset" : 4158,
-            "key.offset" : 4154,
+            "key.nameoffset" : 4159,
+            "key.offset" : 4155,
             "key.parsed_declaration" : "private var autoScrollAction : AutoScrollAction",
             "key.parsed_scope.end" : 145,
             "key.parsed_scope.start" : 145,
@@ -59067,17 +61288,17 @@
               {
                 "key.attribute" : "source.decl.attribute.private",
                 "key.length" : 7,
-                "key.offset" : 4203
+                "key.offset" : 4204
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> let<\/syntaxtype.keyword> dataSource<\/decl.name>: DataSource<\/ref.class><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 27,
             "key.name" : "dataSource",
             "key.namelength" : 10,
-            "key.nameoffset" : 4215,
-            "key.offset" : 4211,
+            "key.nameoffset" : 4216,
+            "key.offset" : 4212,
             "key.parsed_declaration" : "private let dataSource : DataSource",
             "key.parsed_scope.end" : 147,
             "key.parsed_scope.start" : 147,
@@ -59092,17 +61313,17 @@
               {
                 "key.attribute" : "source.decl.attribute.private",
                 "key.length" : 7,
-                "key.offset" : 4248
+                "key.offset" : 4249
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> let<\/syntaxtype.keyword> keyboardObserver<\/decl.name>: KeyboardObserver<\/ref.class><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 39,
             "key.name" : "keyboardObserver",
             "key.namelength" : 16,
-            "key.nameoffset" : 4260,
-            "key.offset" : 4256,
+            "key.nameoffset" : 4261,
+            "key.offset" : 4257,
             "key.parsed_declaration" : "private let keyboardObserver : KeyboardObserver",
             "key.parsed_scope.end" : 149,
             "key.parsed_scope.start" : 149,
@@ -59116,7 +61337,7 @@
             "key.name" : "MARK: Debugging",
             "key.namelength" : 0,
             "key.nameoffset" : 0,
-            "key.offset" : 4315
+            "key.offset" : 4316
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
@@ -59125,17 +61346,17 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 4347
+                "key.offset" : 4348
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> debuggingIdentifier<\/decl.name>: String<\/ref.struct>?<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 39,
             "key.name" : "debuggingIdentifier",
             "key.namelength" : 19,
-            "key.nameoffset" : 4358,
-            "key.offset" : 4354,
+            "key.nameoffset" : 4359,
+            "key.offset" : 4355,
             "key.parsed_declaration" : "public var debuggingIdentifier : String? = nil",
             "key.parsed_scope.end" : 155,
             "key.parsed_scope.start" : 155,
@@ -59150,7 +61371,7 @@
             "key.name" : "MARK: Appearance",
             "key.namelength" : 0,
             "key.nameoffset" : 0,
-            "key.offset" : 4413
+            "key.offset" : 4414
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
@@ -59159,19 +61380,19 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 4446
+                "key.offset" : 4447
               }
             ],
             "key.bodylength" : 170,
-            "key.bodyoffset" : 4482,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.bodyoffset" : 4483,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> appearance<\/decl.name>: Appearance<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 200,
             "key.name" : "appearance",
             "key.namelength" : 10,
-            "key.nameoffset" : 4457,
-            "key.offset" : 4453,
+            "key.nameoffset" : 4458,
+            "key.offset" : 4454,
             "key.parsed_declaration" : "public var appearance : Appearance",
             "key.parsed_scope.end" : 169,
             "key.parsed_scope.start" : 161,
@@ -59201,19 +61422,19 @@
               {
                 "key.attribute" : "source.decl.attribute.private",
                 "key.length" : 7,
-                "key.offset" : 4663
+                "key.offset" : 4664
               }
             ],
             "key.bodylength" : 266,
-            "key.bodyoffset" : 4699,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.bodyoffset" : 4700,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> func<\/syntaxtype.keyword> applyAppearance<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 295,
             "key.name" : "applyAppearance()",
             "key.namelength" : 17,
-            "key.nameoffset" : 4676,
-            "key.offset" : 4671,
+            "key.nameoffset" : 4677,
+            "key.offset" : 4672,
             "key.parsed_declaration" : "private func applyAppearance()",
             "key.parsed_scope.end" : 181,
             "key.parsed_scope.start" : 171,
@@ -59230,7 +61451,7 @@
             "key.name" : "MARK: Layout",
             "key.namelength" : 0,
             "key.nameoffset" : 0,
-            "key.offset" : 4986
+            "key.offset" : 4987
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
@@ -59239,19 +61460,19 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 5019
+                "key.offset" : 5020
               }
             ],
             "key.bodylength" : 489,
-            "key.bodyoffset" : 5075,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.bodyoffset" : 5076,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> scrollPositionInfo<\/decl.name>: ListScrollPositionInfo<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 539,
             "key.name" : "scrollPositionInfo",
             "key.namelength" : 18,
-            "key.nameoffset" : 5030,
-            "key.offset" : 5026,
+            "key.nameoffset" : 5031,
+            "key.offset" : 5027,
             "key.parsed_declaration" : "public var scrollPositionInfo : ListScrollPositionInfo",
             "key.parsed_scope.end" : 198,
             "key.parsed_scope.start" : 187,
@@ -59261,14 +61482,14 @@
           },
           {
             "key.annotated_decl" : "let visibleItems: Set<\/Type><AnyIdentifier<\/Type>><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> visibleItems<\/decl.name>: Set<\/ref.struct><AnyIdentifier<\/ref.class>><\/decl.var.type><\/decl.var.local>",
             "key.kind" : "source.lang.swift.decl.var.local",
             "key.length" : 115,
             "key.name" : "visibleItems",
             "key.namelength" : 12,
-            "key.nameoffset" : 5088,
-            "key.offset" : 5084,
+            "key.nameoffset" : 5089,
+            "key.offset" : 5085,
             "key.parsed_declaration" : "let visibleItems = Set(self.visibleContent.items.map { item in\n    item.item.anyModel.identifier\n})",
             "key.parsed_scope.end" : 188,
             "key.parsed_scope.start" : 188,
@@ -59283,19 +61504,19 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 5575
+                "key.offset" : 5576
               }
             ],
             "key.bodylength" : 125,
-            "key.bodyoffset" : 5614,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.bodyoffset" : 5615,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> layout<\/decl.name>: LayoutDescription<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 158,
             "key.name" : "layout",
             "key.namelength" : 6,
-            "key.nameoffset" : 5586,
-            "key.offset" : 5582,
+            "key.nameoffset" : 5587,
+            "key.offset" : 5583,
             "key.parsed_declaration" : "public var layout : LayoutDescription",
             "key.parsed_scope.end" : 203,
             "key.parsed_scope.start" : 200,
@@ -59311,19 +61532,19 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 5746
+                "key.offset" : 5747
               }
             ],
             "key.bodylength" : 96,
-            "key.bodyoffset" : 5858,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.bodyoffset" : 5859,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> set<\/decl.name>(layout<\/decl.var.parameter.argument_label>: LayoutDescription<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, animated<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type> = false<\/decl.var.parameter>, completion<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> () -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type> = {}<\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 202,
             "key.name" : "set(layout:animated:completion:)",
             "key.namelength" : 94,
-            "key.nameoffset" : 5758,
-            "key.offset" : 5753,
+            "key.nameoffset" : 5759,
+            "key.offset" : 5754,
             "key.parsed_declaration" : "public func set(layout : LayoutDescription, animated : Bool = false, completion : @escaping () -> () = {})",
             "key.parsed_scope.end" : 208,
             "key.parsed_scope.start" : 205,
@@ -59346,19 +61567,19 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 5965
+                "key.offset" : 5966
               }
             ],
             "key.bodylength" : 73,
-            "key.bodyoffset" : 5998,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.bodyoffset" : 5999,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> contentSize<\/decl.name>: CGSize<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 100,
             "key.name" : "contentSize",
             "key.namelength" : 11,
-            "key.nameoffset" : 5976,
-            "key.offset" : 5972,
+            "key.nameoffset" : 5977,
+            "key.offset" : 5973,
             "key.parsed_declaration" : "public var contentSize : CGSize",
             "key.parsed_scope.end" : 212,
             "key.parsed_scope.start" : 210,
@@ -59380,7 +61601,7 @@
             "key.name" : "MARK: Behavior",
             "key.namelength" : 0,
             "key.nameoffset" : 0,
-            "key.offset" : 6092
+            "key.offset" : 6093
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
@@ -59389,19 +61610,19 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 6123
+                "key.offset" : 6124
               }
             ],
             "key.bodylength" : 166,
-            "key.bodyoffset" : 6155,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.bodyoffset" : 6156,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> behavior<\/decl.name>: Behavior<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 192,
             "key.name" : "behavior",
             "key.namelength" : 8,
-            "key.nameoffset" : 6134,
-            "key.offset" : 6130,
+            "key.nameoffset" : 6135,
+            "key.offset" : 6131,
             "key.parsed_declaration" : "public var behavior : Behavior",
             "key.parsed_scope.end" : 226,
             "key.parsed_scope.start" : 218,
@@ -59417,19 +61638,19 @@
               {
                 "key.attribute" : "source.decl.attribute.private",
                 "key.length" : 7,
-                "key.offset" : 6332
+                "key.offset" : 6333
               }
             ],
             "key.bodylength" : 512,
-            "key.bodyoffset" : 6366,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.bodyoffset" : 6367,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> func<\/syntaxtype.keyword> applyBehavior<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 539,
             "key.name" : "applyBehavior()",
             "key.namelength" : 15,
-            "key.nameoffset" : 6345,
-            "key.offset" : 6340,
+            "key.nameoffset" : 6346,
+            "key.offset" : 6341,
             "key.parsed_declaration" : "private func applyBehavior()",
             "key.parsed_scope.end" : 241,
             "key.parsed_scope.start" : 228,
@@ -59447,19 +61668,19 @@
               {
                 "key.attribute" : "source.decl.attribute.private",
                 "key.length" : 7,
-                "key.offset" : 6889
+                "key.offset" : 6890
               }
             ],
             "key.bodylength" : 298,
-            "key.bodyoffset" : 6957,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.bodyoffset" : 6958,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> func<\/syntaxtype.keyword> updateCollectionViewWithCurrentLayoutProperties<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 359,
             "key.name" : "updateCollectionViewWithCurrentLayoutProperties()",
             "key.namelength" : 49,
-            "key.nameoffset" : 6902,
-            "key.offset" : 6897,
+            "key.nameoffset" : 6903,
+            "key.offset" : 6898,
             "key.parsed_declaration" : "private func updateCollectionViewWithCurrentLayoutProperties()",
             "key.parsed_scope.end" : 251,
             "key.parsed_scope.start" : 243,
@@ -59477,33 +61698,33 @@
               {
                 "key.attribute" : "source.decl.attribute.private",
                 "key.length" : 7,
-                "key.offset" : 7266
+                "key.offset" : 7267
               }
             ],
             "key.bodylength" : 467,
-            "key.bodyoffset" : 7320,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.bodyoffset" : 7321,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> func<\/syntaxtype.keyword> updateCollectionViewSelectionMode<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 514,
             "key.name" : "updateCollectionViewSelectionMode()",
             "key.namelength" : 35,
-            "key.nameoffset" : 7279,
-            "key.offset" : 7274,
+            "key.nameoffset" : 7280,
+            "key.offset" : 7275,
             "key.parsed_declaration" : "private func updateCollectionViewSelectionMode()",
             "key.parsed_scope.end" : 270,
             "key.parsed_scope.start" : 253,
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let view: ListView<\/Type>.CollectionView<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> view<\/decl.name>: ListView<\/ref.class>.CollectionView<\/ref.class><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 30,
                 "key.name" : "view",
                 "key.namelength" : 4,
-                "key.nameoffset" : 7333,
-                "key.offset" : 7329,
+                "key.nameoffset" : 7334,
+                "key.offset" : 7330,
                 "key.parsed_declaration" : "let view = self.collectionView",
                 "key.parsed_scope.end" : 255,
                 "key.parsed_scope.start" : 255,
@@ -59522,7 +61743,7 @@
             "key.name" : "MARK: Scroll Insets",
             "key.namelength" : 0,
             "key.nameoffset" : 0,
-            "key.offset" : 7808
+            "key.offset" : 7809
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
@@ -59531,19 +61752,19 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 7844
+                "key.offset" : 7845
               }
             ],
             "key.bodylength" : 188,
-            "key.bodyoffset" : 7893,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.bodyoffset" : 7894,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> scrollIndicatorInsets<\/decl.name>: UIEdgeInsets<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 231,
             "key.name" : "scrollIndicatorInsets",
             "key.namelength" : 21,
-            "key.nameoffset" : 7855,
-            "key.offset" : 7851,
+            "key.nameoffset" : 7856,
+            "key.offset" : 7852,
             "key.parsed_declaration" : "public var scrollIndicatorInsets : UIEdgeInsets",
             "key.parsed_scope.end" : 284,
             "key.parsed_scope.start" : 276,
@@ -59559,33 +61780,33 @@
               {
                 "key.attribute" : "source.decl.attribute.private",
                 "key.length" : 7,
-                "key.offset" : 8096
+                "key.offset" : 8097
               }
             ],
             "key.bodylength" : 483,
-            "key.bodyoffset" : 8139,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.bodyoffset" : 8140,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> func<\/syntaxtype.keyword> updateScrollViewInsets<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 519,
             "key.name" : "updateScrollViewInsets()",
             "key.namelength" : 24,
-            "key.nameoffset" : 8109,
-            "key.offset" : 8104,
+            "key.nameoffset" : 8110,
+            "key.offset" : 8105,
             "key.parsed_declaration" : "private func updateScrollViewInsets()",
             "key.parsed_scope.end" : 299,
             "key.parsed_scope.start" : 286,
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let contentInsets: UIEdgeInsets<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> contentInsets<\/decl.name>: UIEdgeInsets<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 149,
                 "key.name" : "contentInsets",
                 "key.namelength" : 13,
-                "key.nameoffset" : 8153,
-                "key.offset" : 8148,
+                "key.nameoffset" : 8154,
+                "key.offset" : 8149,
                 "key.parsed_declaration" : "let (contentInsets, scrollIndicatorInsets) = self.calculateScrollViewInsets(\n    with: self.keyboardObserver.currentFrame(in: self)\n)",
                 "key.parsed_scope.end" : 288,
                 "key.parsed_scope.start" : 288,
@@ -59595,14 +61816,14 @@
               },
               {
                 "key.annotated_decl" : "let scrollIndicatorInsets: UIEdgeInsets<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> scrollIndicatorInsets<\/decl.name>: UIEdgeInsets<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 149,
                 "key.name" : "scrollIndicatorInsets",
                 "key.namelength" : 21,
-                "key.nameoffset" : 8168,
-                "key.offset" : 8148,
+                "key.nameoffset" : 8169,
+                "key.offset" : 8149,
                 "key.parsed_declaration" : "let (contentInsets, scrollIndicatorInsets) = self.calculateScrollViewInsets(\n    with: self.keyboardObserver.currentFrame(in: self)\n)",
                 "key.parsed_scope.end" : 288,
                 "key.parsed_scope.start" : 288,
@@ -59624,29 +61845,29 @@
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "func calculateScrollViewInsets(with keyboardFrame: KeyboardObserver<\/Type>.KeyboardFrame<\/Type>?) -> (UIEdgeInsets<\/Type>, UIEdgeInsets<\/Type>)<\/Declaration>",
             "key.bodylength" : 1040,
-            "key.bodyoffset" : 8755,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.bodyoffset" : 8756,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> calculateScrollViewInsets<\/decl.name>(with<\/decl.var.parameter.argument_label> keyboardFrame<\/decl.var.parameter.name>: KeyboardObserver<\/ref.class>.KeyboardFrame<\/ref.enum>?<\/decl.var.parameter.type><\/decl.var.parameter>) -> (UIEdgeInsets<\/ref.struct><\/tuple.element.type><\/tuple.element>, UIEdgeInsets<\/ref.struct><\/tuple.element.type><\/tuple.element>)<\/tuple><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 1163,
             "key.name" : "calculateScrollViewInsets(with:)",
             "key.namelength" : 79,
-            "key.nameoffset" : 8638,
-            "key.offset" : 8633,
+            "key.nameoffset" : 8639,
+            "key.offset" : 8634,
             "key.parsed_declaration" : "func calculateScrollViewInsets(with keyboardFrame : KeyboardObserver.KeyboardFrame?) -> (UIEdgeInsets, UIEdgeInsets)",
             "key.parsed_scope.end" : 336,
             "key.parsed_scope.start" : 301,
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let keyboardBottomInset: CGFloat<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> keyboardBottomInset<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 645,
                 "key.name" : "keyboardBottomInset",
                 "key.namelength" : 19,
-                "key.nameoffset" : 8768,
-                "key.offset" : 8764,
+                "key.nameoffset" : 8769,
+                "key.offset" : 8765,
                 "key.parsed_declaration" : "let keyboardBottomInset : CGFloat = {\n    \n    guard let keyboardFrame = keyboardFrame else {\n        return 0.0\n    }\n    \n    switch self.behavior.keyboardAdjustmentMode {\n    case .none:\n        return 0.0\n        \n    case .adjustsWhenVisible:\n        switch keyboardFrame {\n        case .nonOverlapping:\n            return 0.0\n            \n        case .overlapping(let frame):\n            return (self.bounds.size.height - frame.origin.y) - self.safeAreaInsets.bottom\n        }\n    }\n}()",
                 "key.parsed_scope.end" : 303,
                 "key.parsed_scope.start" : 303,
@@ -59656,14 +61877,14 @@
               },
               {
                 "key.annotated_decl" : "let scrollIndicatorInsets: UIEdgeInsets<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> scrollIndicatorInsets<\/decl.name>: UIEdgeInsets<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 136,
                 "key.name" : "scrollIndicatorInsets",
                 "key.namelength" : 21,
-                "key.nameoffset" : 9431,
-                "key.offset" : 9427,
+                "key.nameoffset" : 9432,
+                "key.offset" : 9428,
                 "key.parsed_declaration" : "let scrollIndicatorInsets = modified(self.scrollIndicatorInsets) {\n    $0.bottom = max($0.bottom, keyboardBottomInset)\n}",
                 "key.parsed_scope.end" : 324,
                 "key.parsed_scope.start" : 324,
@@ -59678,14 +61899,14 @@
               },
               {
                 "key.annotated_decl" : "let contentInsets: UIEdgeInsets<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> contentInsets<\/decl.name>: UIEdgeInsets<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 146,
                 "key.name" : "contentInsets",
                 "key.namelength" : 13,
-                "key.nameoffset" : 9585,
-                "key.offset" : 9581,
+                "key.nameoffset" : 9586,
+                "key.offset" : 9582,
                 "key.parsed_declaration" : "let contentInsets = UIEdgeInsets(\n    top: 0,\n    left: 0,\n    bottom: keyboardBottomInset,\n    right: 0\n)",
                 "key.parsed_scope.end" : 328,
                 "key.parsed_scope.start" : 328,
@@ -59704,7 +61925,7 @@
             "key.name" : "MARK: KeyboardObserverDelegate",
             "key.namelength" : 0,
             "key.nameoffset" : 0,
-            "key.offset" : 9816
+            "key.offset" : 9817
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.private",
@@ -59713,17 +61934,17 @@
               {
                 "key.attribute" : "source.decl.attribute.private",
                 "key.length" : 7,
-                "key.offset" : 9863
+                "key.offset" : 9864
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> var<\/syntaxtype.keyword> lastKeyboardFrame<\/decl.name>: KeyboardObserver<\/ref.class>.KeyboardFrame<\/ref.enum>?<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 61,
             "key.name" : "lastKeyboardFrame",
             "key.namelength" : 17,
-            "key.nameoffset" : 9875,
-            "key.offset" : 9871,
+            "key.nameoffset" : 9876,
+            "key.offset" : 9872,
             "key.parsed_declaration" : "private var lastKeyboardFrame : KeyboardObserver.KeyboardFrame? = nil",
             "key.parsed_scope.end" : 342,
             "key.parsed_scope.start" : 342,
@@ -59736,15 +61957,15 @@
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "func keyboardFrameWillChange(for observer: KeyboardObserver<\/Type>, animationDuration: Double<\/Type>, options: UIView<\/Type>.AnimationOptions<\/Type>)<\/Declaration>",
             "key.bodylength" : 422,
-            "key.bodyoffset" : 10065,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.bodyoffset" : 10066,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> keyboardFrameWillChange<\/decl.name>(for<\/decl.var.parameter.argument_label> observer<\/decl.var.parameter.name>: KeyboardObserver<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, animationDuration<\/decl.var.parameter.argument_label>: Double<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, options<\/decl.var.parameter.argument_label>: UIView<\/ref.class>.AnimationOptions<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 546,
             "key.name" : "keyboardFrameWillChange(for:animationDuration:options:)",
             "key.namelength" : 116,
-            "key.nameoffset" : 9947,
-            "key.offset" : 9942,
+            "key.nameoffset" : 9948,
+            "key.offset" : 9943,
             "key.overrides" : [
               {
                 "key.usr" : "s:10ListableUI24KeyboardObserverDelegateP23keyboardFrameWillChange3for17animationDuration7optionsyAA0cD0C_SdSo22UIViewAnimationOptionsVtF"
@@ -59766,7 +61987,7 @@
             "key.name" : "MARK: List State Observation",
             "key.namelength" : 0,
             "key.nameoffset" : 0,
-            "key.offset" : 10508
+            "key.offset" : 10509
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
@@ -59775,7 +61996,7 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 10841
+                "key.offset" : 10842
               }
             ],
             "key.doc.column" : 16,
@@ -59786,21 +62007,21 @@
                 "Para" : "See the `ListStateObserver` for more info."
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
-            "key.doc.full_as_xml" : "stateObserver<\/Name>s:10ListableUI8ListViewC13stateObserverAA0c5StateF0Vvp<\/USR>public var stateObserver: ListStateObserver<\/Declaration>A state observer allows you to receive callbacks when varying types of changes occur within the list’s state, such as scroll events, content change events, frame change events, or item visibility changes.<\/Para><\/Abstract>See the ListStateObserver<\/codeVoice> for more info.<\/Para><\/Discussion><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.doc.full_as_xml" : "stateObserver<\/Name>s:10ListableUI8ListViewC13stateObserverAA0c5StateF0Vvp<\/USR>public var stateObserver: ListStateObserver<\/Declaration>A state observer allows you to receive callbacks when varying types of changes occur within the list’s state, such as scroll events, content change events, frame change events, or item visibility changes.<\/Para><\/Abstract>See the ListStateObserver<\/codeVoice> for more info.<\/Para><\/Discussion><\/CommentParts><\/Other>",
             "key.doc.line" : 370,
             "key.doc.name" : "stateObserver",
             "key.doc.type" : "Other",
             "key.doclength" : 284,
-            "key.docoffset" : 10553,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.docoffset" : 10554,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> stateObserver<\/decl.name>: ListStateObserver<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 37,
             "key.name" : "stateObserver",
             "key.namelength" : 13,
-            "key.nameoffset" : 10852,
-            "key.offset" : 10848,
+            "key.nameoffset" : 10853,
+            "key.offset" : 10849,
             "key.parsed_declaration" : "public var stateObserver : ListStateObserver",
             "key.parsed_scope.end" : 370,
             "key.parsed_scope.start" : 370,
@@ -59816,29 +62037,29 @@
               {
                 "key.attribute" : "source.decl.attribute.private",
                 "key.length" : 7,
-                "key.offset" : 11098
+                "key.offset" : 11099
               }
             ],
             "key.bodylength" : 124,
-            "key.bodyoffset" : 11134,
+            "key.bodyoffset" : 11135,
             "key.doc.column" : 17,
             "key.doc.comment" : "Allows registering a `ListActions` object associated\nwith the list view that allows you to perform actions such as scrolling to\nitems, or controlling view appearance transitions.",
             "key.doc.declaration" : "private var actions: ListActions? { get set }",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
-            "key.doc.full_as_xml" : "actions<\/Name>s:10ListableUI8ListViewC7actions33_A65B53D10B0C487915F0C0C4684244E8LLAA0C7ActionsCSgvp<\/USR>private var actions: ListActions? { get set }<\/Declaration>Allows registering a ListActions<\/codeVoice> object associated with the list view that allows you to perform actions such as scrolling to items, or controlling view appearance transitions.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.doc.full_as_xml" : "actions<\/Name>s:10ListableUI8ListViewC7actions33_A65B53D10B0C487915F0C0C4684244E8LLAA0C7ActionsCSgvp<\/USR>private var actions: ListActions? { get set }<\/Declaration>Allows registering a ListActions<\/codeVoice> object associated with the list view that allows you to perform actions such as scrolling to items, or controlling view appearance transitions.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 375,
             "key.doc.name" : "actions",
             "key.doc.type" : "Other",
             "key.doclength" : 199,
-            "key.docoffset" : 10895,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.docoffset" : 10896,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> var<\/syntaxtype.keyword> actions<\/decl.name>: ListActions<\/ref.class>?<\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 153,
             "key.name" : "actions",
             "key.namelength" : 7,
-            "key.nameoffset" : 11110,
-            "key.offset" : 11106,
+            "key.nameoffset" : 11111,
+            "key.offset" : 11107,
             "key.parsed_declaration" : "private var actions : ListActions?",
             "key.parsed_scope.end" : 381,
             "key.parsed_scope.start" : 375,
@@ -59853,7 +62074,7 @@
             "key.name" : "MARK: Public - Scrolling To Sections & Items",
             "key.namelength" : 0,
             "key.nameoffset" : 0,
-            "key.offset" : 11279
+            "key.offset" : 11280
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
@@ -59862,17 +62083,17 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 11340
+                "key.offset" : 11341
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> typealias<\/syntaxtype.keyword> ListView<\/ref.class>.ScrollCompletion<\/decl.name> = (Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.typealias>",
             "key.kind" : "source.lang.swift.decl.typealias",
             "key.length" : 41,
             "key.name" : "ScrollCompletion",
             "key.namelength" : 16,
-            "key.nameoffset" : 11357,
-            "key.offset" : 11347,
+            "key.nameoffset" : 11358,
+            "key.offset" : 11348,
             "key.parsed_declaration" : "public typealias ScrollCompletion = (Bool) -> ()",
             "key.parsed_scope.end" : 387,
             "key.parsed_scope.start" : 387,
@@ -59887,34 +62108,34 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 11603
+                "key.offset" : 11604
               },
               {
                 "key.attribute" : "source.decl.attribute.discardableResult",
                 "key.length" : 18,
-                "key.offset" : 11580
+                "key.offset" : 11581
               }
             ],
             "key.bodylength" : 174,
-            "key.bodyoffset" : 11798,
+            "key.bodyoffset" : 11799,
             "key.doc.column" : 17,
             "key.doc.comment" : "\nScrolls to the provided item, with the provided positioning.\nIf the item is contained in the list, true is returned. If it is not, false is returned.",
             "key.doc.declaration" : "public func scrollTo(item: AnyItem, position: ScrollPosition, animation: ScrollAnimation = .none, completion: @escaping ScrollCompletion = { _ in }) -> Bool",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
-            "key.doc.full_as_xml" : "scrollTo(item:position:animation:completion:)<\/Name>s:10ListableUI8ListViewC8scrollTo4item8position9animation10completionSbAA7AnyItem_p_AA14ScrollPositionVAA0M9AnimationOySbctF<\/USR>public func scrollTo(item: AnyItem, position: ScrollPosition, animation: ScrollAnimation = .none, completion: @escaping ScrollCompletion = { _ in }) -> Bool<\/Declaration>Scrolls to the provided item, with the provided positioning. If the item is contained in the list, true is returned. If it is not, false is returned.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.doc.full_as_xml" : "scrollTo(item:position:animation:completion:)<\/Name>s:10ListableUI8ListViewC8scrollTo4item8position9animation10completionSbAA7AnyItem_p_AA14ScrollPositionVAA0M9AnimationOySbctF<\/USR>public func scrollTo(item: AnyItem, position: ScrollPosition, animation: ScrollAnimation = .none, completion: @escaping ScrollCompletion = { _ in }) -> Bool<\/Declaration>Scrolls to the provided item, with the provided positioning. If the item is contained in the list, true is returned. If it is not, false is returned.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 394,
             "key.doc.name" : "scrollTo(item:position:animation:completion:)",
             "key.doc.type" : "Function",
             "key.doclength" : 178,
-            "key.docoffset" : 11398,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.docoffset" : 11399,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "@discardableResult<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> scrollTo<\/decl.name>(item<\/decl.var.parameter.argument_label>: AnyItem<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>, position<\/decl.var.parameter.argument_label>: ScrollPosition<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, animation<\/decl.var.parameter.argument_label>: ScrollAnimation<\/ref.enum><\/decl.var.parameter.type> = .none<\/decl.var.parameter>, completion<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> ScrollCompletion<\/ref.typealias><\/decl.var.parameter.type> = { _ in }<\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 363,
             "key.name" : "scrollTo(item:position:animation:completion:)",
             "key.namelength" : 169,
-            "key.nameoffset" : 11615,
-            "key.offset" : 11610,
+            "key.nameoffset" : 11616,
+            "key.offset" : 11611,
             "key.parsed_declaration" : "public func scrollTo(\n    item : AnyItem, position : ScrollPosition,\n    animation: ScrollAnimation = .none,\n    completion : @escaping ScrollCompletion = { _ in }\n) -> Bool",
             "key.parsed_scope.end" : 406,
             "key.parsed_scope.start" : 394,
@@ -59937,34 +62158,34 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 12304
+                "key.offset" : 12305
               },
               {
                 "key.attribute" : "source.decl.attribute.discardableResult",
                 "key.length" : 18,
-                "key.offset" : 12281
+                "key.offset" : 12282
               }
             ],
             "key.bodylength" : 1097,
-            "key.bodyoffset" : 12513,
+            "key.bodyoffset" : 12514,
             "key.doc.column" : 17,
             "key.doc.comment" : "\nScrolls to the item with the provided identifier, with the provided positioning.\nIf there is more than one item with the same identifier, the list scrolls to the first.\nIf the item is contained in the list, true is returned. If it is not, false is returned.",
             "key.doc.declaration" : "public func scrollTo(item: AnyIdentifier, position: ScrollPosition, animation: ScrollAnimation = .none, completion: @escaping ScrollCompletion = { _ in }) -> Bool",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
-            "key.doc.full_as_xml" : "scrollTo(item:position:animation:completion:)<\/Name>s:10ListableUI8ListViewC8scrollTo4item8position9animation10completionSbAA13AnyIdentifierC_AA14ScrollPositionVAA0M9AnimationOySbctF<\/USR>public func scrollTo(item: AnyIdentifier, position: ScrollPosition, animation: ScrollAnimation = .none, completion: @escaping ScrollCompletion = { _ in }) -> Bool<\/Declaration>Scrolls to the item with the provided identifier, with the provided positioning. If there is more than one item with the same identifier, the list scrolls to the first. If the item is contained in the list, true is returned. If it is not, false is returned.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.doc.full_as_xml" : "scrollTo(item:position:animation:completion:)<\/Name>s:10ListableUI8ListViewC8scrollTo4item8position9animation10completionSbAA13AnyIdentifierC_AA14ScrollPositionVAA0M9AnimationOySbctF<\/USR>public func scrollTo(item: AnyIdentifier, position: ScrollPosition, animation: ScrollAnimation = .none, completion: @escaping ScrollCompletion = { _ in }) -> Bool<\/Declaration>Scrolls to the item with the provided identifier, with the provided positioning. If there is more than one item with the same identifier, the list scrolls to the first. If the item is contained in the list, true is returned. If it is not, false is returned.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 414,
             "key.doc.name" : "scrollTo(item:position:animation:completion:)",
             "key.doc.type" : "Function",
             "key.doclength" : 294,
-            "key.docoffset" : 11983,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.docoffset" : 11984,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "@discardableResult<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> scrollTo<\/decl.name>(item<\/decl.var.parameter.argument_label>: AnyIdentifier<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, position<\/decl.var.parameter.argument_label>: ScrollPosition<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, animation<\/decl.var.parameter.argument_label>: ScrollAnimation<\/ref.enum><\/decl.var.parameter.type> = .none<\/decl.var.parameter>, completion<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> ScrollCompletion<\/ref.typealias><\/decl.var.parameter.type> = { _ in }<\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 1300,
             "key.name" : "scrollTo(item:position:animation:completion:)",
             "key.namelength" : 183,
-            "key.nameoffset" : 12316,
-            "key.offset" : 12311,
+            "key.nameoffset" : 12317,
+            "key.offset" : 12312,
             "key.parsed_declaration" : "public func scrollTo(\n    item : AnyIdentifier,\n    position : ScrollPosition,\n    animation: ScrollAnimation = .none,\n    completion : @escaping ScrollCompletion = { _ in }\n) -> Bool",
             "key.parsed_scope.end" : 452,
             "key.parsed_scope.start" : 414,
@@ -59987,48 +62208,48 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 13732
+                "key.offset" : 13733
               },
               {
                 "key.attribute" : "source.decl.attribute.discardableResult",
                 "key.length" : 18,
-                "key.offset" : 13709
+                "key.offset" : 13710
               }
             ],
             "key.bodylength" : 520,
-            "key.bodyoffset" : 13875,
+            "key.bodyoffset" : 13876,
             "key.doc.column" : 17,
             "key.doc.comment" : "Scrolls to the very top of the list, which includes displaying the list header.",
             "key.doc.declaration" : "public func scrollToTop(animation: ScrollAnimation = .none, completion: @escaping ScrollCompletion = { _ in }) -> Bool",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
-            "key.doc.full_as_xml" : "scrollToTop(animation:completion:)<\/Name>s:10ListableUI8ListViewC11scrollToTop9animation10completionSbAA15ScrollAnimationO_ySbctF<\/USR>public func scrollToTop(animation: ScrollAnimation = .none, completion: @escaping ScrollCompletion = { _ in }) -> Bool<\/Declaration>Scrolls to the very top of the list, which includes displaying the list header.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.doc.full_as_xml" : "scrollToTop(animation:completion:)<\/Name>s:10ListableUI8ListViewC11scrollToTop9animation10completionSbAA15ScrollAnimationO_ySbctF<\/USR>public func scrollToTop(animation: ScrollAnimation = .none, completion: @escaping ScrollCompletion = { _ in }) -> Bool<\/Declaration>Scrolls to the very top of the list, which includes displaying the list header.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 456,
             "key.doc.name" : "scrollToTop(animation:completion:)",
             "key.doc.type" : "Function",
             "key.doclength" : 84,
-            "key.docoffset" : 13621,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.docoffset" : 13622,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "@discardableResult<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> scrollToTop<\/decl.name>(animation<\/decl.var.parameter.argument_label>: ScrollAnimation<\/ref.enum><\/decl.var.parameter.type> = .none<\/decl.var.parameter>, completion<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> ScrollCompletion<\/ref.typealias><\/decl.var.parameter.type> = { _ in }<\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 657,
             "key.name" : "scrollToTop(animation:completion:)",
             "key.namelength" : 121,
-            "key.nameoffset" : 13744,
-            "key.offset" : 13739,
+            "key.nameoffset" : 13745,
+            "key.offset" : 13740,
             "key.parsed_declaration" : "public func scrollToTop(\n    animation: ScrollAnimation = .none,\n    completion : @escaping ScrollCompletion = { _ in }\n) -> Bool",
             "key.parsed_scope.end" : 472,
             "key.parsed_scope.start" : 456,
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let rect: CGRect<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> rect<\/decl.name>: CGRect<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 71,
                 "key.name" : "rect",
                 "key.namelength" : 4,
-                "key.nameoffset" : 13995,
-                "key.offset" : 13991,
+                "key.nameoffset" : 13996,
+                "key.offset" : 13992,
                 "key.parsed_declaration" : "let rect = CGRect(origin: .zero, size: CGSize(width: 1.0, height: 1.0))",
                 "key.parsed_scope.end" : 462,
                 "key.parsed_scope.start" : 462,
@@ -60048,34 +62269,34 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 14526
+                "key.offset" : 14527
               },
               {
                 "key.attribute" : "source.decl.attribute.discardableResult",
                 "key.length" : 18,
-                "key.offset" : 14503
+                "key.offset" : 14504
               }
             ],
             "key.bodylength" : 1007,
-            "key.bodyoffset" : 14674,
+            "key.bodyoffset" : 14675,
             "key.doc.column" : 17,
             "key.doc.comment" : "Scrolls to the last item in the list. If the list contains no items, no action is performed.",
             "key.doc.declaration" : "public func scrollToLastItem(animation: ScrollAnimation = .none, completion: @escaping ScrollCompletion = { _ in }) -> Bool",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
-            "key.doc.full_as_xml" : "scrollToLastItem(animation:completion:)<\/Name>s:10ListableUI8ListViewC16scrollToLastItem9animation10completionSbAA15ScrollAnimationO_ySbctF<\/USR>public func scrollToLastItem(animation: ScrollAnimation = .none, completion: @escaping ScrollCompletion = { _ in }) -> Bool<\/Declaration>Scrolls to the last item in the list. If the list contains no items, no action is performed.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.doc.full_as_xml" : "scrollToLastItem(animation:completion:)<\/Name>s:10ListableUI8ListViewC16scrollToLastItem9animation10completionSbAA15ScrollAnimationO_ySbctF<\/USR>public func scrollToLastItem(animation: ScrollAnimation = .none, completion: @escaping ScrollCompletion = { _ in }) -> Bool<\/Declaration>Scrolls to the last item in the list. If the list contains no items, no action is performed.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 476,
             "key.doc.name" : "scrollToLastItem(animation:completion:)",
             "key.doc.type" : "Function",
             "key.doclength" : 97,
-            "key.docoffset" : 14402,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.docoffset" : 14403,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "@discardableResult<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> scrollToLastItem<\/decl.name>(animation<\/decl.var.parameter.argument_label>: ScrollAnimation<\/ref.enum><\/decl.var.parameter.type> = .none<\/decl.var.parameter>, completion<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> ScrollCompletion<\/ref.typealias><\/decl.var.parameter.type> = { _ in }<\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 1149,
             "key.name" : "scrollToLastItem(animation:completion:)",
             "key.namelength" : 126,
-            "key.nameoffset" : 14538,
-            "key.offset" : 14533,
+            "key.nameoffset" : 14539,
+            "key.offset" : 14534,
             "key.parsed_declaration" : "public func scrollToLastItem(\n    animation: ScrollAnimation = .none,\n    completion : @escaping ScrollCompletion = { _ in }\n) -> Bool",
             "key.parsed_scope.end" : 507,
             "key.parsed_scope.start" : 476,
@@ -60092,7 +62313,7 @@
             "key.name" : "MARK: Setting & Getting Content",
             "key.namelength" : 0,
             "key.nameoffset" : 0,
-            "key.offset" : 15702
+            "key.offset" : 15703
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
@@ -60101,19 +62322,19 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 15750
+                "key.offset" : 15751
               }
             ],
             "key.bodylength" : 91,
-            "key.bodyoffset" : 15792,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.bodyoffset" : 15793,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> environment<\/decl.name>: ListEnvironment<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 127,
             "key.name" : "environment",
             "key.namelength" : 11,
-            "key.nameoffset" : 15761,
-            "key.offset" : 15757,
+            "key.nameoffset" : 15762,
+            "key.offset" : 15758,
             "key.parsed_declaration" : "public var environment : ListEnvironment",
             "key.parsed_scope.end" : 517,
             "key.parsed_scope.start" : 513,
@@ -60129,19 +62350,19 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 15894
+                "key.offset" : 15895
               }
             ],
             "key.bodylength" : 111,
-            "key.bodyoffset" : 15924,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.bodyoffset" : 15925,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> content<\/decl.name>: Content<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 135,
             "key.name" : "content",
             "key.namelength" : 7,
-            "key.nameoffset" : 15905,
-            "key.offset" : 15901,
+            "key.nameoffset" : 15906,
+            "key.offset" : 15902,
             "key.parsed_declaration" : "public var content : Content",
             "key.parsed_scope.end" : 522,
             "key.parsed_scope.start" : 519,
@@ -60157,19 +62378,19 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 16046
+                "key.offset" : 16047
               }
             ],
             "key.bodylength" : 156,
-            "key.bodyoffset" : 16120,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.bodyoffset" : 16121,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> setContent<\/decl.name>(animated<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type> = false<\/decl.var.parameter>, _<\/decl.var.parameter.argument_label> content<\/decl.var.parameter.name>: Content<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 224,
             "key.name" : "setContent(animated:_:)",
             "key.namelength" : 56,
-            "key.nameoffset" : 16058,
-            "key.offset" : 16053,
+            "key.nameoffset" : 16059,
+            "key.offset" : 16054,
             "key.parsed_declaration" : "public func setContent(animated : Bool = false, _ content : Content)",
             "key.parsed_scope.end" : 531,
             "key.parsed_scope.start" : 524,
@@ -60187,17 +62408,17 @@
               {
                 "key.attribute" : "source.decl.attribute.private",
                 "key.length" : 7,
-                "key.offset" : 16287
+                "key.offset" : 16288
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> var<\/syntaxtype.keyword> sourceChangedTimer<\/decl.name>: ReloadTimer<\/ref.class>?<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 43,
             "key.name" : "sourceChangedTimer",
             "key.namelength" : 18,
-            "key.nameoffset" : 16299,
-            "key.offset" : 16295,
+            "key.nameoffset" : 16300,
+            "key.offset" : 16296,
             "key.parsed_declaration" : "private var sourceChangedTimer : ReloadTimer? = nil",
             "key.parsed_scope.end" : 533,
             "key.parsed_scope.start" : 533,
@@ -60213,24 +62434,24 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 16371
+                "key.offset" : 16372
               },
               {
                 "key.attribute" : "source.decl.attribute.discardableResult",
                 "key.length" : 18,
-                "key.offset" : 16348
+                "key.offset" : 16349
               }
             ],
             "key.bodylength" : 736,
-            "key.bodyoffset" : 16512,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.bodyoffset" : 16513,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "@discardableResult<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> set<\/decl.name><Source<\/decl.generic_type_param.name><\/decl.generic_type_param>>(source<\/decl.var.parameter.argument_label>: Source<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, initial<\/decl.var.parameter.argument_label>: Source<\/ref.generic_type_param>.State<\/ref.associatedtype><\/decl.var.parameter.type><\/decl.var.parameter>, animated<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type> = false<\/decl.var.parameter>) -> StateAccessor<\/ref.class><Source<\/ref.generic_type_param>.State<\/ref.associatedtype>><\/decl.function.returntype> where<\/syntaxtype.keyword> Source : ListViewSource<\/ref.protocol><\/decl.generic_type_requirement><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 871,
             "key.name" : "set(source:initial:animated:)",
             "key.namelength" : 92,
-            "key.nameoffset" : 16383,
-            "key.offset" : 16378,
+            "key.nameoffset" : 16384,
+            "key.offset" : 16379,
             "key.parsed_declaration" : "public func set(source : Source, initial : Source.State, animated : Bool = false) -> StateAccessor",
             "key.parsed_scope.end" : 559,
             "key.parsed_scope.start" : 536,
@@ -60246,10 +62467,10 @@
                   {
                     "key.kind" : "source.lang.swift.structure.elem.typeref",
                     "key.length" : 14,
-                    "key.offset" : 16394
+                    "key.offset" : 16395
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
                 "key.fully_annotated_decl" : "Source<\/decl.generic_type_param.name> : ListViewSource<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
                 "key.inheritedtypes" : [
                   {
@@ -60260,8 +62481,8 @@
                 "key.length" : 21,
                 "key.name" : "Source",
                 "key.namelength" : 6,
-                "key.nameoffset" : 16387,
-                "key.offset" : 16387,
+                "key.nameoffset" : 16388,
+                "key.offset" : 16388,
                 "key.parsed_declaration" : "public func setlet sourcePresenter: SourcePresenter<\/Type><Source><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> sourcePresenter<\/decl.name>: SourcePresenter<\/ref.class><Source><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 408,
                 "key.name" : "sourcePresenter",
                 "key.namelength" : 15,
-                "key.nameoffset" : 16573,
-                "key.offset" : 16569,
+                "key.nameoffset" : 16574,
+                "key.offset" : 16570,
                 "key.parsed_declaration" : "let sourcePresenter = SourcePresenter(initial: initial, source: source, didChange: { [weak self] in\n    guard let self = self else { return }\n    guard self.sourceChangedTimer == nil else { return }\n    \n    self.sourceChangedTimer = ReloadTimer {\n        self.sourceChangedTimer = nil\n        self.setContentFromSource(animated: true)\n    }\n})",
                 "key.parsed_scope.end" : 540,
                 "key.parsed_scope.start" : 540,
@@ -60303,19 +62524,19 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 17259
+                "key.offset" : 17260
               }
             ],
             "key.bodylength" : 538,
-            "key.bodyoffset" : 17323,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.bodyoffset" : 17324,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> configure<\/decl.name>(with<\/decl.var.parameter.argument_label> builder<\/decl.var.parameter.name>: ListProperties<\/ref.struct>.Build<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 596,
             "key.name" : "configure(with:)",
             "key.namelength" : 46,
-            "key.nameoffset" : 17271,
-            "key.offset" : 17266,
+            "key.nameoffset" : 17272,
+            "key.offset" : 17267,
             "key.parsed_declaration" : "public func configure(with builder : ListProperties.Build)",
             "key.parsed_scope.end" : 576,
             "key.parsed_scope.start" : 561,
@@ -60327,14 +62548,14 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let description: ListProperties<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> description<\/decl.name>: ListProperties<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 473,
                 "key.name" : "description",
                 "key.namelength" : 11,
-                "key.nameoffset" : 17336,
-                "key.offset" : 17332,
+                "key.nameoffset" : 17337,
+                "key.offset" : 17333,
                 "key.parsed_declaration" : "let description = ListProperties(\n    animatesChanges: true,\n    layout: self.layout,\n    appearance: self.appearance,\n    scrollIndicatorInsets: self.scrollIndicatorInsets,\n    behavior: self.behavior,\n    autoScrollAction: self.autoScrollAction,\n    accessibilityIdentifier: self.collectionView.accessibilityIdentifier,\n    debuggingIdentifier: self.debuggingIdentifier,\n    build: builder\n)",
                 "key.parsed_scope.end" : 563,
                 "key.parsed_scope.start" : 563,
@@ -60362,19 +62583,19 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 17872
+                "key.offset" : 17873
               }
             ],
             "key.bodylength" : 743,
-            "key.bodyoffset" : 17933,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.bodyoffset" : 17934,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> configure<\/decl.name>(with<\/decl.var.parameter.argument_label> properties<\/decl.var.parameter.name>: ListProperties<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 798,
             "key.name" : "configure(with:)",
             "key.namelength" : 43,
-            "key.nameoffset" : 17884,
-            "key.offset" : 17879,
+            "key.nameoffset" : 17885,
+            "key.offset" : 17880,
             "key.parsed_declaration" : "public func configure(with properties : ListProperties)",
             "key.parsed_scope.end" : 597,
             "key.parsed_scope.start" : 578,
@@ -60386,14 +62607,14 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let animated: Bool<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> animated<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 41,
                 "key.name" : "animated",
                 "key.namelength" : 8,
-                "key.nameoffset" : 17946,
-                "key.offset" : 17942,
+                "key.nameoffset" : 17947,
+                "key.offset" : 17943,
                 "key.parsed_declaration" : "let animated = properties.animatesChanges",
                 "key.parsed_scope.end" : 580,
                 "key.parsed_scope.start" : 580,
@@ -60413,33 +62634,33 @@
               {
                 "key.attribute" : "source.decl.attribute.private",
                 "key.length" : 7,
-                "key.offset" : 18687
+                "key.offset" : 18688
               }
             ],
             "key.bodylength" : 400,
-            "key.bodyoffset" : 18751,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.bodyoffset" : 18752,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> func<\/syntaxtype.keyword> setContentFromSource<\/decl.name>(animated<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type> = false<\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 457,
             "key.name" : "setContentFromSource(animated:)",
             "key.namelength" : 45,
-            "key.nameoffset" : 18700,
-            "key.offset" : 18695,
+            "key.nameoffset" : 18701,
+            "key.offset" : 18696,
             "key.parsed_declaration" : "private func setContentFromSource(animated : Bool = false)",
             "key.parsed_scope.end" : 608,
             "key.parsed_scope.start" : 599,
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let oldIdentifier: AnyHashable<\/Type>?<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> oldIdentifier<\/decl.name>: AnyHashable<\/ref.struct>?<\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 54,
                 "key.name" : "oldIdentifier",
                 "key.namelength" : 13,
-                "key.nameoffset" : 18764,
-                "key.offset" : 18760,
+                "key.nameoffset" : 18765,
+                "key.offset" : 18761,
                 "key.parsed_declaration" : "let oldIdentifier = self.storage.allContent.identifier",
                 "key.parsed_scope.end" : 601,
                 "key.parsed_scope.start" : 601,
@@ -60449,14 +62670,14 @@
               },
               {
                 "key.annotated_decl" : "let newIdentifier: AnyHashable<\/Type>?<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> newIdentifier<\/decl.name>: AnyHashable<\/ref.struct>?<\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 54,
                 "key.name" : "newIdentifier",
                 "key.namelength" : 13,
-                "key.nameoffset" : 18898,
-                "key.offset" : 18894,
+                "key.nameoffset" : 18899,
+                "key.offset" : 18895,
                 "key.parsed_declaration" : "let newIdentifier = self.storage.allContent.identifier",
                 "key.parsed_scope.end" : 603,
                 "key.parsed_scope.start" : 603,
@@ -60466,14 +62687,14 @@
               },
               {
                 "key.annotated_decl" : "let identifierChanged: Bool<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> identifierChanged<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 54,
                 "key.name" : "identifierChanged",
                 "key.namelength" : 17,
-                "key.nameoffset" : 18970,
-                "key.offset" : 18966,
+                "key.nameoffset" : 18971,
+                "key.offset" : 18967,
                 "key.parsed_declaration" : "let identifierChanged = oldIdentifier != newIdentifier",
                 "key.parsed_scope.end" : 605,
                 "key.parsed_scope.start" : 605,
@@ -60492,7 +62713,7 @@
             "key.name" : "MARK: UIView",
             "key.namelength" : 0,
             "key.nameoffset" : 0,
-            "key.offset" : 19172
+            "key.offset" : 19173
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
@@ -60500,28 +62721,28 @@
               {
                 "key.attribute" : "source.decl.attribute.override",
                 "key.length" : 8,
-                "key.offset" : 19349
+                "key.offset" : 19350
               },
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 19342
+                "key.offset" : 19343
               },
               {
                 "key.attribute" : "source.decl.attribute.available",
                 "key.length" : 136,
-                "key.offset" : 19201
+                "key.offset" : 19202
               }
             ],
             "key.bodylength" : 38,
-            "key.bodyoffset" : 19403,
+            "key.bodyoffset" : 19404,
             "key.internal_diagnostic" : "Unavailable in the current compilation context.",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 84,
             "key.name" : "sizeThatFits(_:)",
             "key.namelength" : 28,
-            "key.nameoffset" : 19363,
-            "key.offset" : 19358,
+            "key.nameoffset" : 19364,
+            "key.offset" : 19359,
             "key.substructure" : [
 
             ],
@@ -60533,28 +62754,28 @@
               {
                 "key.attribute" : "source.decl.attribute.override",
                 "key.length" : 8,
-                "key.offset" : 19608
+                "key.offset" : 19609
               },
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 19601
+                "key.offset" : 19602
               },
               {
                 "key.attribute" : "source.decl.attribute.available",
                 "key.length" : 144,
-                "key.offset" : 19452
+                "key.offset" : 19453
               }
             ],
             "key.bodylength" : 40,
-            "key.bodyoffset" : 19651,
+            "key.bodyoffset" : 19652,
             "key.internal_diagnostic" : "Unavailable in the current compilation context.",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 75,
             "key.name" : "intrinsicContentSize",
             "key.namelength" : 20,
-            "key.nameoffset" : 19621,
-            "key.offset" : 19617,
+            "key.nameoffset" : 19622,
+            "key.offset" : 19618,
             "key.typename" : "CGSize"
           },
           {
@@ -60564,24 +62785,24 @@
               {
                 "key.attribute" : "source.decl.attribute.override",
                 "key.length" : 8,
-                "key.offset" : 19709
+                "key.offset" : 19710
               },
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 19702
+                "key.offset" : 19703
               }
             ],
             "key.bodylength" : 96,
-            "key.bodyoffset" : 19737,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.bodyoffset" : 19738,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> override<\/syntaxtype.keyword> var<\/syntaxtype.keyword> frame<\/decl.name>: CGRect<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 116,
             "key.name" : "frame",
             "key.namelength" : 5,
-            "key.nameoffset" : 19722,
-            "key.offset" : 19718,
+            "key.nameoffset" : 19723,
+            "key.offset" : 19719,
             "key.overrides" : [
               {
                 "key.usr" : "c:objc(cs)UIView(py)frame"
@@ -60607,24 +62828,24 @@
               {
                 "key.attribute" : "source.decl.attribute.override",
                 "key.length" : 8,
-                "key.offset" : 19851
+                "key.offset" : 19852
               },
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 19844
+                "key.offset" : 19845
               }
             ],
             "key.bodylength" : 231,
-            "key.bodyoffset" : 19880,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.bodyoffset" : 19881,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> override<\/syntaxtype.keyword> var<\/syntaxtype.keyword> bounds<\/decl.name>: CGRect<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 252,
             "key.name" : "bounds",
             "key.namelength" : 6,
-            "key.nameoffset" : 19864,
-            "key.offset" : 19860,
+            "key.nameoffset" : 19865,
+            "key.offset" : 19861,
             "key.overrides" : [
               {
                 "key.usr" : "c:objc(cs)UIView(py)bounds"
@@ -60640,14 +62861,14 @@
           },
           {
             "key.annotated_decl" : "let oldValue: CGRect<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> oldValue<\/decl.name>: CGRect<\/ref.struct><\/decl.var.type><\/decl.var.local>",
             "key.kind" : "source.lang.swift.decl.var.local",
             "key.length" : 25,
             "key.name" : "oldValue",
             "key.namelength" : 8,
-            "key.nameoffset" : 19949,
-            "key.offset" : 19945,
+            "key.nameoffset" : 19950,
+            "key.offset" : 19946,
             "key.parsed_declaration" : "let oldValue = self.frame",
             "key.parsed_scope.end" : 634,
             "key.parsed_scope.start" : 634,
@@ -60662,19 +62883,19 @@
               {
                 "key.attribute" : "source.decl.attribute.private",
                 "key.length" : 7,
-                "key.offset" : 20122
+                "key.offset" : 20123
               }
             ],
             "key.bodylength" : 1401,
-            "key.bodyoffset" : 20187,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.bodyoffset" : 20188,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> func<\/syntaxtype.keyword> frameDidChange<\/decl.name>(from<\/decl.var.parameter.argument_label> old<\/decl.var.parameter.name>: CGRect<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, to<\/decl.var.parameter.argument_label> new<\/decl.var.parameter.name>: CGRect<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 1459,
             "key.name" : "frameDidChange(from:to:)",
             "key.namelength" : 50,
-            "key.nameoffset" : 20135,
-            "key.offset" : 20130,
+            "key.nameoffset" : 20136,
+            "key.offset" : 20131,
             "key.parsed_declaration" : "private func frameDidChange(from old : CGRect, to new : CGRect)",
             "key.parsed_scope.end" : 676,
             "key.parsed_scope.start" : 642,
@@ -60689,21 +62910,21 @@
                     "Para" : "There’s no value in having content with no view size, as we cannot size cells otherwise."
                   }
                 ],
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
-                "key.doc.full_as_xml" : "fromEmpty<\/Name>s:10ListableUI8ListViewC14frameDidChange33_A65B53D10B0C487915F0C0C4684244E8LL4from2toySo6CGRectV_AItF0Q5EmptyL_Sbvp<\/USR>let fromEmpty: Bool<\/Declaration>Once the view actually has a size, we can provide content.<\/Para><\/Abstract>There’s no value in having content with no view size, as we cannot size cells otherwise.<\/Para><\/Discussion><\/CommentParts><\/Other>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
+                "key.doc.full_as_xml" : "fromEmpty<\/Name>s:10ListableUI8ListViewC14frameDidChange33_A65B53D10B0C487915F0C0C4684244E8LL4from2toySo6CGRectV_AItF0Q5EmptyL_Sbvp<\/USR>let fromEmpty: Bool<\/Declaration>Once the view actually has a size, we can provide content.<\/Para><\/Abstract>There’s no value in having content with no view size, as we cannot size cells otherwise.<\/Para><\/Discussion><\/CommentParts><\/Other>",
                 "key.doc.line" : 656,
                 "key.doc.name" : "fromEmpty",
                 "key.doc.type" : "Other",
                 "key.doclength" : 176,
-                "key.docoffset" : 20556,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+                "key.docoffset" : 20557,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> fromEmpty<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 61,
                 "key.name" : "fromEmpty",
                 "key.namelength" : 9,
-                "key.nameoffset" : 20744,
-                "key.offset" : 20740,
+                "key.nameoffset" : 20745,
+                "key.offset" : 20741,
                 "key.parsed_declaration" : "let fromEmpty = old.size.isEmpty && new.size.isEmpty == false",
                 "key.parsed_scope.end" : 656,
                 "key.parsed_scope.start" : 656,
@@ -60713,14 +62934,14 @@
               },
               {
                 "key.annotated_decl" : "let toEmpty: Bool<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> toEmpty<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 59,
                 "key.name" : "toEmpty",
                 "key.namelength" : 7,
-                "key.nameoffset" : 20814,
-                "key.offset" : 20810,
+                "key.nameoffset" : 20815,
+                "key.offset" : 20811,
                 "key.parsed_declaration" : "let toEmpty = old.size.isEmpty == false && new.size.isEmpty",
                 "key.parsed_scope.end" : 657,
                 "key.parsed_scope.start" : 657,
@@ -60740,25 +62961,25 @@
               {
                 "key.attribute" : "source.decl.attribute.override",
                 "key.length" : 8,
-                "key.offset" : 21606
+                "key.offset" : 21607
               },
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 21599
+                "key.offset" : 21600
               }
             ],
             "key.bodylength" : 103,
-            "key.bodyoffset" : 21646,
+            "key.bodyoffset" : 21647,
             "key.doc.comment" : "Our frame changed, update the keyboard inset in case the inset should now be different.",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> override<\/syntaxtype.keyword> var<\/syntaxtype.keyword> backgroundColor<\/decl.name>: UIColor<\/ref.class>?<\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 135,
             "key.name" : "backgroundColor",
             "key.namelength" : 15,
-            "key.nameoffset" : 21619,
-            "key.offset" : 21615,
+            "key.nameoffset" : 21620,
+            "key.offset" : 21616,
             "key.overrides" : [
               {
                 "key.usr" : "c:objc(cs)UIView(py)backgroundColor"
@@ -60779,24 +63000,24 @@
               {
                 "key.attribute" : "source.decl.attribute.override",
                 "key.length" : 8,
-                "key.offset" : 21767
+                "key.offset" : 21768
               },
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 21760
+                "key.offset" : 21761
               }
             ],
             "key.bodylength" : 130,
-            "key.bodyoffset" : 21804,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.bodyoffset" : 21805,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> override<\/syntaxtype.keyword> func<\/syntaxtype.keyword> didMoveToWindow<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 159,
             "key.name" : "didMoveToWindow()",
             "key.namelength" : 17,
-            "key.nameoffset" : 21781,
-            "key.offset" : 21776,
+            "key.nameoffset" : 21782,
+            "key.offset" : 21777,
             "key.overrides" : [
               {
                 "key.usr" : "c:objc(cs)UIView(im)didMoveToWindow"
@@ -60819,24 +63040,24 @@
               {
                 "key.attribute" : "source.decl.attribute.override",
                 "key.length" : 8,
-                "key.offset" : 21952
+                "key.offset" : 21953
               },
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 21945
+                "key.offset" : 21946
               }
             ],
             "key.bodylength" : 136,
-            "key.bodyoffset" : 21992,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.bodyoffset" : 21993,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> override<\/syntaxtype.keyword> func<\/syntaxtype.keyword> didMoveToSuperview<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 168,
             "key.name" : "didMoveToSuperview()",
             "key.namelength" : 20,
-            "key.nameoffset" : 21966,
-            "key.offset" : 21961,
+            "key.nameoffset" : 21967,
+            "key.offset" : 21962,
             "key.overrides" : [
               {
                 "key.usr" : "c:objc(cs)UIView(im)didMoveToSuperview"
@@ -60859,24 +63080,24 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 22148
+                "key.offset" : 22149
               },
               {
                 "key.attribute" : "source.decl.attribute.override",
                 "key.length" : 8,
-                "key.offset" : 22139
+                "key.offset" : 22140
               }
             ],
             "key.bodylength" : 241,
-            "key.bodyoffset" : 22182,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.bodyoffset" : 22183,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "override<\/syntaxtype.keyword> public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> layoutSubviews<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 269,
             "key.name" : "layoutSubviews()",
             "key.namelength" : 16,
-            "key.nameoffset" : 22160,
-            "key.offset" : 22155,
+            "key.nameoffset" : 22161,
+            "key.offset" : 22156,
             "key.overrides" : [
               {
                 "key.usr" : "c:objc(cs)UIView(im)layoutSubviews"
@@ -60898,7 +63119,7 @@
             "key.name" : "MARK: Internal - Updating Content",
             "key.namelength" : 0,
             "key.nameoffset" : 0,
-            "key.offset" : 22444
+            "key.offset" : 22445
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
@@ -60907,20 +63128,20 @@
               {
                 "key.attribute" : "source.decl.attribute.internal",
                 "key.length" : 8,
-                "key.offset" : 22494
+                "key.offset" : 22495
               }
             ],
             "key.bodylength" : 176,
-            "key.bodyoffset" : 22549,
+            "key.bodyoffset" : 22550,
             "key.doc.comment" : "Our layout changed, update the keyboard inset in case the inset should now be different.",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "internal<\/syntaxtype.keyword> func<\/syntaxtype.keyword> setPresentationStateItemPositions<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 223,
             "key.name" : "setPresentationStateItemPositions()",
             "key.namelength" : 35,
-            "key.nameoffset" : 22508,
-            "key.offset" : 22503,
+            "key.nameoffset" : 22509,
+            "key.offset" : 22504,
             "key.parsed_declaration" : "internal func setPresentationStateItemPositions()",
             "key.parsed_scope.end" : 721,
             "key.parsed_scope.start" : 716,
@@ -60938,33 +63159,33 @@
               {
                 "key.attribute" : "source.decl.attribute.private",
                 "key.length" : 7,
-                "key.offset" : 22736
+                "key.offset" : 22737
               }
             ],
             "key.bodylength" : 854,
-            "key.bodyoffset" : 22802,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.bodyoffset" : 22803,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> func<\/syntaxtype.keyword> updateCollectionViewSelections<\/decl.name>(animated<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 913,
             "key.name" : "updateCollectionViewSelections(animated:)",
             "key.namelength" : 47,
-            "key.nameoffset" : 22749,
-            "key.offset" : 22744,
+            "key.nameoffset" : 22750,
+            "key.offset" : 22745,
             "key.parsed_declaration" : "private func updateCollectionViewSelections(animated : Bool)",
             "key.parsed_scope.end" : 745,
             "key.parsed_scope.start" : 723,
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let oldSelected: Set<\/Type><IndexPath<\/Type>><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> oldSelected<\/decl.name>: Set<\/ref.struct><IndexPath<\/ref.struct>><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 92,
                 "key.name" : "oldSelected",
                 "key.namelength" : 11,
-                "key.nameoffset" : 22815,
-                "key.offset" : 22811,
+                "key.nameoffset" : 22816,
+                "key.offset" : 22812,
                 "key.parsed_declaration" : "let oldSelected : Set = Set(self.collectionView.indexPathsForSelectedItems ?? [])",
                 "key.parsed_scope.end" : 725,
                 "key.parsed_scope.start" : 725,
@@ -60974,14 +63195,14 @@
               },
               {
                 "key.annotated_decl" : "let newSelected: Set<\/Type><IndexPath<\/Type>><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> newSelected<\/decl.name>: Set<\/ref.struct><IndexPath<\/ref.struct>><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 89,
                 "key.name" : "newSelected",
                 "key.namelength" : 11,
-                "key.nameoffset" : 22916,
-                "key.offset" : 22912,
+                "key.nameoffset" : 22917,
+                "key.offset" : 22913,
                 "key.parsed_declaration" : "let newSelected : Set = Set(self.storage.presentationState.selectedIndexPaths)",
                 "key.parsed_scope.end" : 726,
                 "key.parsed_scope.start" : 726,
@@ -60991,14 +63212,14 @@
               },
               {
                 "key.annotated_decl" : "let removed: Set<\/Type><IndexPath<\/Type>><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> removed<\/decl.name>: Set<\/ref.struct><IndexPath<\/ref.struct>><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 50,
                 "key.name" : "removed",
                 "key.namelength" : 7,
-                "key.nameoffset" : 23023,
-                "key.offset" : 23019,
+                "key.nameoffset" : 23024,
+                "key.offset" : 23020,
                 "key.parsed_declaration" : "let removed = oldSelected.subtracting(newSelected)",
                 "key.parsed_scope.end" : 728,
                 "key.parsed_scope.start" : 728,
@@ -61008,14 +63229,14 @@
               },
               {
                 "key.annotated_decl" : "let added: Set<\/Type><IndexPath<\/Type>><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> added<\/decl.name>: Set<\/ref.struct><IndexPath<\/ref.struct>><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 48,
                 "key.name" : "added",
                 "key.namelength" : 5,
-                "key.nameoffset" : 23082,
-                "key.offset" : 23078,
+                "key.nameoffset" : 23083,
+                "key.offset" : 23079,
                 "key.parsed_declaration" : "let added = newSelected.subtracting(oldSelected)",
                 "key.parsed_scope.end" : 729,
                 "key.parsed_scope.start" : 729,
@@ -61025,14 +63246,14 @@
               },
               {
                 "key.annotated_decl" : "let view: ListView<\/Type>.CollectionView<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> view<\/decl.name>: ListView<\/ref.class>.CollectionView<\/ref.class><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 30,
                 "key.name" : "view",
                 "key.namelength" : 4,
-                "key.nameoffset" : 23148,
-                "key.offset" : 23144,
+                "key.nameoffset" : 23149,
+                "key.offset" : 23145,
                 "key.parsed_declaration" : "let view = self.collectionView",
                 "key.parsed_scope.end" : 731,
                 "key.parsed_scope.start" : 731,
@@ -61042,14 +63263,14 @@
               },
               {
                 "key.annotated_decl" : "let state: PresentationState<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> state<\/decl.name>: PresentationState<\/ref.class><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 42,
                 "key.name" : "state",
                 "key.namelength" : 5,
-                "key.nameoffset" : 23187,
-                "key.offset" : 23183,
+                "key.nameoffset" : 23188,
+                "key.offset" : 23184,
                 "key.parsed_declaration" : "let state = self.storage.presentationState",
                 "key.parsed_scope.end" : 732,
                 "key.parsed_scope.start" : 732,
@@ -61068,7 +63289,7 @@
             "key.name" : "MARK: Internal - Updating Presentation State",
             "key.namelength" : 0,
             "key.nameoffset" : 0,
-            "key.offset" : 23677
+            "key.offset" : 23678
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
@@ -61077,33 +63298,33 @@
               {
                 "key.attribute" : "source.decl.attribute.internal",
                 "key.length" : 8,
-                "key.offset" : 23738
+                "key.offset" : 23739
               }
             ],
             "key.bodylength" : 2020,
-            "key.bodyoffset" : 23909,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.bodyoffset" : 23910,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "internal<\/syntaxtype.keyword> func<\/syntaxtype.keyword> updatePresentationState<\/decl.name>(for<\/decl.var.parameter.argument_label> reason<\/decl.var.parameter.name>: PresentationState<\/ref.class>.UpdateReason<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>, completion<\/decl.var.parameter.argument_label> callerCompletion<\/decl.var.parameter.name>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> (Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type> = { _ in }<\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 2183,
             "key.name" : "updatePresentationState(for:completion:)",
             "key.namelength" : 155,
-            "key.nameoffset" : 23752,
-            "key.offset" : 23747,
+            "key.nameoffset" : 23753,
+            "key.offset" : 23748,
             "key.parsed_declaration" : "internal func updatePresentationState(\n    for reason : PresentationState.UpdateReason,\n    completion callerCompletion : @escaping (Bool) -> () = { _ in }\n)",
             "key.parsed_scope.end" : 801,
             "key.parsed_scope.start" : 751,
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let completion: (Bool<\/Type>) -> ()<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> completion<\/decl.name>: (Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 180,
                 "key.name" : "completion",
                 "key.namelength" : 10,
-                "key.nameoffset" : 24019,
-                "key.offset" : 24015,
+                "key.nameoffset" : 24020,
+                "key.offset" : 24016,
                 "key.parsed_declaration" : "let completion = { (completed : Bool) in\n    callerCompletion(completed)\n    SignpostLogger.log(.end, log: .updateContent, name: \"List Update\", for: self)\n}",
                 "key.parsed_scope.end" : 757,
                 "key.parsed_scope.start" : 757,
@@ -61113,14 +63334,14 @@
               },
               {
                 "key.annotated_decl" : "let indexPaths: [IndexPath<\/Type>]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> indexPaths<\/decl.name>: [IndexPath<\/ref.struct>]<\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 62,
                 "key.name" : "indexPaths",
                 "key.namelength" : 10,
-                "key.nameoffset" : 24217,
-                "key.offset" : 24213,
+                "key.nameoffset" : 24218,
+                "key.offset" : 24214,
                 "key.parsed_declaration" : "let indexPaths = self.collectionView.indexPathsForVisibleItems",
                 "key.parsed_scope.end" : 762,
                 "key.parsed_scope.start" : 762,
@@ -61130,14 +63351,14 @@
               },
               {
                 "key.annotated_decl" : "let indexPath: IndexPath<\/Type>?<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> indexPath<\/decl.name>: IndexPath<\/ref.struct>?<\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 32,
                 "key.name" : "indexPath",
                 "key.namelength" : 9,
-                "key.nameoffset" : 24297,
-                "key.offset" : 24293,
+                "key.nameoffset" : 24298,
+                "key.offset" : 24294,
                 "key.parsed_declaration" : "let indexPath = indexPaths.first",
                 "key.parsed_scope.end" : 764,
                 "key.parsed_scope.start" : 764,
@@ -61147,14 +63368,14 @@
               },
               {
                 "key.annotated_decl" : "let presentationStateTruncated: Bool<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> presentationStateTruncated<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 89,
                 "key.name" : "presentationStateTruncated",
                 "key.namelength" : 26,
-                "key.nameoffset" : 24347,
-                "key.offset" : 24343,
+                "key.nameoffset" : 24348,
+                "key.offset" : 24344,
                 "key.parsed_declaration" : "let presentationStateTruncated = self.storage.presentationState.containsAllItems == false",
                 "key.parsed_scope.end" : 766,
                 "key.parsed_scope.start" : 766,
@@ -61174,33 +63395,33 @@
               {
                 "key.attribute" : "source.decl.attribute.private",
                 "key.length" : 7,
-                "key.offset" : 25944
+                "key.offset" : 25945
               }
             ],
-            "key.bodylength" : 2626,
-            "key.bodyoffset" : 26160,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.bodylength" : 2688,
+            "key.bodyoffset" : 26161,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> func<\/syntaxtype.keyword> updatePresentationStateWith<\/decl.name>(firstVisibleIndexPath<\/decl.var.parameter.argument_label> indexPath<\/decl.var.parameter.name>: IndexPath<\/ref.struct>?<\/decl.var.parameter.type><\/decl.var.parameter>, for<\/decl.var.parameter.argument_label> reason<\/decl.var.parameter.name>: PresentationState<\/ref.class>.UpdateReason<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>, completion<\/decl.var.parameter.argument_label> callerCompletion<\/decl.var.parameter.name>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> (Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 2835,
+            "key.length" : 2897,
             "key.name" : "updatePresentationStateWith(firstVisibleIndexPath:for:completion:)",
             "key.namelength" : 201,
-            "key.nameoffset" : 25957,
-            "key.offset" : 25952,
+            "key.nameoffset" : 25958,
+            "key.offset" : 25953,
             "key.parsed_declaration" : "private func updatePresentationStateWith(\n    firstVisibleIndexPath indexPath: IndexPath?,\n    for reason : PresentationState.UpdateReason,\n    completion callerCompletion : @escaping (Bool) -> ()\n)",
-            "key.parsed_scope.end" : 878,
+            "key.parsed_scope.end" : 879,
             "key.parsed_scope.start" : 803,
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let presentationState: PresentationState<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> presentationState<\/decl.name>: PresentationState<\/ref.class><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 54,
                 "key.name" : "presentationState",
                 "key.namelength" : 17,
-                "key.nameoffset" : 26221,
-                "key.offset" : 26217,
+                "key.nameoffset" : 26222,
+                "key.offset" : 26218,
                 "key.parsed_declaration" : "let presentationState = self.storage.presentationState",
                 "key.parsed_scope.end" : 810,
                 "key.parsed_scope.start" : 810,
@@ -61210,14 +63431,14 @@
               },
               {
                 "key.annotated_decl" : "let indexPath: IndexPath<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> indexPath<\/decl.name>: IndexPath<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 59,
                 "key.name" : "indexPath",
                 "key.namelength" : 9,
-                "key.nameoffset" : 26293,
-                "key.offset" : 26289,
+                "key.nameoffset" : 26294,
+                "key.offset" : 26290,
                 "key.parsed_declaration" : "let indexPath = indexPath ?? IndexPath(item: 0, section: 0)",
                 "key.parsed_scope.end" : 812,
                 "key.parsed_scope.start" : 812,
@@ -61227,14 +63448,14 @@
               },
               {
                 "key.annotated_decl" : "let visibleSlice: Content<\/Type>.Slice<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> visibleSlice<\/decl.name>: Content<\/ref.struct>.Slice<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 54,
                 "key.name" : "visibleSlice",
                 "key.namelength" : 12,
-                "key.nameoffset" : 26362,
-                "key.offset" : 26358,
+                "key.nameoffset" : 26363,
+                "key.offset" : 26359,
                 "key.parsed_declaration" : "let visibleSlice = self.newVisibleSlice(to: indexPath)",
                 "key.parsed_scope.end" : 814,
                 "key.parsed_scope.start" : 814,
@@ -61244,14 +63465,14 @@
               },
               {
                 "key.annotated_decl" : "let diff: SectionedDiff<\/Type><Section<\/Type>, AnyIdentifier<\/Type>, AnyItem<\/Type>, AnyIdentifier<\/Type>><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> diff<\/decl.name>: SectionedDiff<\/ref.struct><Section<\/ref.struct>, AnyIdentifier<\/ref.class>, AnyItem<\/ref.protocol>, AnyIdentifier<\/ref.class>><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 199,
                 "key.name" : "diff",
                 "key.namelength" : 4,
-                "key.nameoffset" : 26426,
-                "key.offset" : 26422,
+                "key.nameoffset" : 26427,
+                "key.offset" : 26423,
                 "key.parsed_declaration" : "let diff = SignpostLogger.log(log: .updateContent, name: \"Diff Content\", for: self) {\n    ListView.diffWith(old: presentationState.sectionModels, new: visibleSlice.content.sections)\n}",
                 "key.parsed_scope.end" : 816,
                 "key.parsed_scope.start" : 816,
@@ -61261,14 +63482,14 @@
               },
               {
                 "key.annotated_decl" : "let updateCallbacks: UpdateCallbacks<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> updateCallbacks<\/decl.name>: UpdateCallbacks<\/ref.class><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 45,
                 "key.name" : "updateCallbacks",
                 "key.namelength" : 15,
-                "key.nameoffset" : 26635,
-                "key.offset" : 26631,
+                "key.nameoffset" : 26636,
+                "key.offset" : 26632,
                 "key.parsed_declaration" : "let updateCallbacks = UpdateCallbacks(.queue)",
                 "key.parsed_scope.end" : 820,
                 "key.parsed_scope.start" : 820,
@@ -61278,14 +63499,14 @@
               },
               {
                 "key.annotated_decl" : "let updateBackingData: () -> ()<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> updateBackingData<\/decl.name>: () -> ()<\/tuple><\/decl.function.returntype><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 527,
                 "key.name" : "updateBackingData",
                 "key.namelength" : 17,
-                "key.nameoffset" : 26698,
-                "key.offset" : 26694,
+                "key.nameoffset" : 26699,
+                "key.offset" : 26695,
                 "key.parsed_declaration" : "let updateBackingData = {\n    let dependencies = ItemStateDependencies(\n        reorderingDelegate: self,\n        coordinatorDelegate: self,\n        environmentProvider: { [weak self] in self?.environment ?? .empty }\n    )\n    \n    presentationState.update(\n        with: diff,\n        slice: visibleSlice,\n        dependencies: dependencies,\n        updateCallbacks: updateCallbacks,\n        loggable: self\n    )\n}",
                 "key.parsed_scope.end" : 822,
                 "key.parsed_scope.start" : 822,
@@ -61305,23 +63526,23 @@
               {
                 "key.attribute" : "source.decl.attribute.private",
                 "key.length" : 7,
-                "key.offset" : 28797
+                "key.offset" : 28860
               }
             ],
             "key.bodylength" : 648,
-            "key.bodyoffset" : 28874,
+            "key.bodyoffset" : 28937,
             "key.doc.comment" : "Update Refresh Control\n\nNote: Must be called *OUTSIDE* of CollectionView's `performBatchUpdates:`, otherwise\nwe trigger a bug where updated indexes are calculated incorrectly.",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> func<\/syntaxtype.keyword> newVisibleSlice<\/decl.name>(to<\/decl.var.parameter.argument_label> indexPath<\/decl.var.parameter.name>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> Content<\/ref.struct>.Slice<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 718,
             "key.name" : "newVisibleSlice(to:)",
             "key.namelength" : 41,
-            "key.nameoffset" : 28810,
-            "key.offset" : 28805,
+            "key.nameoffset" : 28873,
+            "key.offset" : 28868,
             "key.parsed_declaration" : "private func newVisibleSlice(to indexPath : IndexPath) -> Content.Slice",
-            "key.parsed_scope.end" : 899,
-            "key.parsed_scope.start" : 880,
+            "key.parsed_scope.end" : 900,
+            "key.parsed_scope.start" : 881,
             "key.substructure" : [
 
             ],
@@ -61336,42 +63557,42 @@
               {
                 "key.attribute" : "source.decl.attribute.private",
                 "key.length" : 7,
-                "key.offset" : 29533
+                "key.offset" : 29596
               }
             ],
             "key.bodylength" : 826,
-            "key.bodyoffset" : 29630,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.bodyoffset" : 29693,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> func<\/syntaxtype.keyword> performAutoScrollAction<\/decl.name>(with<\/decl.var.parameter.argument_label> addedItems<\/decl.var.parameter.name>: Set<\/ref.struct><AnyIdentifier<\/ref.class>><\/decl.var.parameter.type><\/decl.var.parameter>, animated<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 916,
             "key.name" : "performAutoScrollAction(with:animated:)",
             "key.namelength" : 78,
-            "key.nameoffset" : 29546,
-            "key.offset" : 29541,
+            "key.nameoffset" : 29609,
+            "key.offset" : 29604,
             "key.parsed_declaration" : "private func performAutoScrollAction(with addedItems : Set, animated : Bool)",
-            "key.parsed_scope.end" : 922,
-            "key.parsed_scope.start" : 901,
+            "key.parsed_scope.end" : 923,
+            "key.parsed_scope.start" : 902,
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let animation: ScrollAnimation<\/Type><\/Declaration>",
                 "key.doc.column" : 21,
                 "key.doc.comment" : "Only animate the scroll if both the update **and** the scroll action are animated.",
                 "key.doc.declaration" : "let animation: ListableUI.ScrollAnimation",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
-                "key.doc.full_as_xml" : "animation<\/Name>s:10ListableUI8ListViewC23performAutoScrollAction33_A65B53D10B0C487915F0C0C4684244E8LL4with8animatedyShyAA13AnyIdentifierCG_SbtF9animationL_AA0G9AnimationOvp<\/USR>let animation: ListableUI.ScrollAnimation<\/Declaration>Only animate the scroll if both the update and<\/bold> the scroll action are animated.<\/Para><\/Abstract><\/CommentParts><\/Other>",
-                "key.doc.line" : 913,
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
+                "key.doc.full_as_xml" : "animation<\/Name>s:10ListableUI8ListViewC23performAutoScrollAction33_A65B53D10B0C487915F0C0C4684244E8LL4with8animatedyShyAA13AnyIdentifierCG_SbtF9animationL_AA0G9AnimationOvp<\/USR>let animation: ListableUI.ScrollAnimation<\/Declaration>Only animate the scroll if both the update and<\/bold> the scroll action are animated.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.line" : 914,
                 "key.doc.name" : "animation",
                 "key.doc.type" : "Other",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> animation<\/decl.name>: ScrollAnimation<\/ref.enum><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 9,
                 "key.name" : "animation",
-                "key.offset" : 30064,
+                "key.offset" : 30127,
                 "key.parsed_declaration" : "let animation",
-                "key.parsed_scope.end" : 913,
-                "key.parsed_scope.start" : 913,
+                "key.parsed_scope.end" : 914,
+                "key.parsed_scope.start" : 914,
                 "key.typename" : "ScrollAnimation",
                 "key.typeusr" : "$s10ListableUI15ScrollAnimationOD",
                 "key.usr" : "s:10ListableUI8ListViewC23performAutoScrollAction33_A65B53D10B0C487915F0C0C4684244E8LL4with8animatedyShyAA13AnyIdentifierCG_SbtF9animationL_AA0G9AnimationOvp"
@@ -61388,22 +63609,22 @@
               {
                 "key.attribute" : "source.decl.attribute.private",
                 "key.length" : 7,
-                "key.offset" : 30463
+                "key.offset" : 30526
               }
             ],
             "key.bodylength" : 499,
-            "key.bodyoffset" : 30576,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.bodyoffset" : 30639,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> func<\/syntaxtype.keyword> preparePresentationStateForScroll<\/decl.name>(to<\/decl.var.parameter.argument_label> toIndexPath<\/decl.var.parameter.name>: IndexPath<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, scroll<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> () -> Void<\/ref.typealias><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 605,
             "key.name" : "preparePresentationStateForScroll(to:scroll:)",
             "key.namelength" : 90,
-            "key.nameoffset" : 30476,
-            "key.offset" : 30471,
+            "key.nameoffset" : 30539,
+            "key.offset" : 30534,
             "key.parsed_declaration" : "private func preparePresentationStateForScroll(to toIndexPath: IndexPath, scroll: @escaping () -> Void) -> Bool",
-            "key.parsed_scope.end" : 943,
-            "key.parsed_scope.start" : 924,
+            "key.parsed_scope.end" : 944,
+            "key.parsed_scope.start" : 925,
             "key.substructure" : [
 
             ],
@@ -61418,87 +63639,87 @@
               {
                 "key.attribute" : "source.decl.attribute.private",
                 "key.length" : 7,
-                "key.offset" : 31082
+                "key.offset" : 31145
               }
             ],
             "key.bodylength" : 1765,
-            "key.bodyoffset" : 31343,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.bodyoffset" : 31406,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> func<\/syntaxtype.keyword> performBatchUpdates<\/decl.name>(with<\/decl.var.parameter.argument_label> diff<\/decl.var.parameter.name>: SectionedDiff<\/ref.struct><Section<\/ref.struct>, AnyIdentifier<\/ref.class>, AnyItem<\/ref.protocol>, AnyIdentifier<\/ref.class>><\/decl.var.parameter.type><\/decl.var.parameter>, animated<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, updateBackingData<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> () -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>, completion<\/decl.var.parameter.argument_label> callerCompletion<\/decl.var.parameter.name>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> (Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 2019,
             "key.name" : "performBatchUpdates(with:animated:updateBackingData:completion:)",
             "key.namelength" : 242,
-            "key.nameoffset" : 31095,
-            "key.offset" : 31090,
+            "key.nameoffset" : 31158,
+            "key.offset" : 31153,
             "key.parsed_declaration" : "private func performBatchUpdates(\n    with diff : SectionedDiff,\n    animated: Bool,\n    updateBackingData : @escaping () -> (),\n    completion callerCompletion : @escaping (Bool) -> ()\n)",
-            "key.parsed_scope.end" : 1000,
-            "key.parsed_scope.start" : 945,
+            "key.parsed_scope.end" : 1001,
+            "key.parsed_scope.start" : 946,
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let completion: (Bool<\/Type>) -> ()<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> completion<\/decl.name>: (Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 192,
                 "key.name" : "completion",
                 "key.namelength" : 10,
-                "key.nameoffset" : 31465,
-                "key.offset" : 31461,
+                "key.nameoffset" : 31528,
+                "key.offset" : 31524,
                 "key.parsed_declaration" : "let completion = { (completed : Bool) in\n    callerCompletion(completed)\n    SignpostLogger.log(.end, log: .updateContent, name: \"Update UICollectionView\", for: self)\n}",
-                "key.parsed_scope.end" : 954,
-                "key.parsed_scope.start" : 954,
+                "key.parsed_scope.end" : 955,
+                "key.parsed_scope.start" : 955,
                 "key.typename" : "(Bool) -> ()",
                 "key.typeusr" : "$syySbcD",
                 "key.usr" : "s:10ListableUI8ListViewC19performBatchUpdates33_A65B53D10B0C487915F0C0C4684244E8LL4with8animated17updateBackingData10completionyAA13SectionedDiffVyAA7SectionVAA13AnyIdentifierCAA0Z4Item_pAOG_SbyycySbctFAIL_yySbcvp"
               },
               {
                 "key.annotated_decl" : "let view: ListView<\/Type>.CollectionView<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> view<\/decl.name>: ListView<\/ref.class>.CollectionView<\/ref.class><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 30,
                 "key.name" : "view",
                 "key.namelength" : 4,
-                "key.nameoffset" : 31675,
-                "key.offset" : 31671,
+                "key.nameoffset" : 31738,
+                "key.offset" : 31734,
                 "key.parsed_declaration" : "let view = self.collectionView",
-                "key.parsed_scope.end" : 959,
-                "key.parsed_scope.start" : 959,
+                "key.parsed_scope.end" : 960,
+                "key.parsed_scope.start" : 960,
                 "key.typename" : "ListView.CollectionView",
                 "key.typeusr" : "$s10ListableUI8ListViewC010CollectionD0CD",
                 "key.usr" : "s:10ListableUI8ListViewC19performBatchUpdates33_A65B53D10B0C487915F0C0C4684244E8LL4with8animated17updateBackingData10completionyAA13SectionedDiffVyAA7SectionVAA13AnyIdentifierCAA0Z4Item_pAOG_SbyycySbctF4viewL_AC010CollectionD0Cvp"
               },
               {
                 "key.annotated_decl" : "let changes: ListView<\/Type>.CollectionViewChanges<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> changes<\/decl.name>: ListView<\/ref.class>.CollectionViewChanges<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 65,
                 "key.name" : "changes",
                 "key.namelength" : 7,
-                "key.nameoffset" : 31723,
-                "key.offset" : 31719,
+                "key.nameoffset" : 31786,
+                "key.offset" : 31782,
                 "key.parsed_declaration" : "let changes = CollectionViewChanges(sectionChanges: diff.changes)",
-                "key.parsed_scope.end" : 961,
-                "key.parsed_scope.start" : 961,
+                "key.parsed_scope.end" : 962,
+                "key.parsed_scope.start" : 962,
                 "key.typename" : "ListView.CollectionViewChanges",
                 "key.typeusr" : "$s10ListableUI8ListViewC010CollectionD7ChangesVD",
                 "key.usr" : "s:10ListableUI8ListViewC19performBatchUpdates33_A65B53D10B0C487915F0C0C4684244E8LL4with8animated17updateBackingData10completionyAA13SectionedDiffVyAA7SectionVAA13AnyIdentifierCAA0Z4Item_pAOG_SbyycySbctF7changesL_AC010CollectionD7ChangesVvp"
               },
               {
                 "key.annotated_decl" : "let batchUpdates: () -> ()<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> batchUpdates<\/decl.name>: () -> ()<\/tuple><\/decl.function.returntype><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 822,
                 "key.name" : "batchUpdates",
                 "key.namelength" : 12,
-                "key.nameoffset" : 31810,
-                "key.offset" : 31806,
+                "key.nameoffset" : 31873,
+                "key.offset" : 31869,
                 "key.parsed_declaration" : "let batchUpdates = {\n    updateBackingData()\n    \n    \/\/ Sections\n\n    view.deleteSections(IndexSet(changes.deletedSections.map { $0.oldIndex }))\n    view.insertSections(IndexSet(changes.insertedSections.map { $0.newIndex }))\n    \n    changes.movedSections.forEach {\n        view.moveSection($0.oldIndex, toSection: $0.newIndex)\n    }\n\n    \/\/ Items\n    \n    view.deleteItems(at: changes.deletedItems.map { $0.oldIndex })\n    view.insertItems(at: changes.insertedItems.map { $0.newIndex })\n    \n    changes.movedItems.forEach {\n        view.moveItem(at: $0.oldIndex, to: $0.newIndex)\n    }\n    \n    self.visibleContent.updateVisibleViews(with: self.environment)\n}",
-                "key.parsed_scope.end" : 963,
-                "key.parsed_scope.start" : 963,
+                "key.parsed_scope.end" : 964,
+                "key.parsed_scope.start" : 964,
                 "key.typename" : "() -> ()",
                 "key.typeusr" : "$syycD",
                 "key.usr" : "s:10ListableUI8ListViewC19performBatchUpdates33_A65B53D10B0C487915F0C0C4684244E8LL4with8animated17updateBackingData10completionyAA13SectionedDiffVyAA7SectionVAA13AnyIdentifierCAA0Z4Item_pAOG_SbyycySbctF05batchG0L_yycvp"
@@ -61515,22 +63736,22 @@
               {
                 "key.attribute" : "source.decl.attribute.private",
                 "key.length" : 7,
-                "key.offset" : 33119
+                "key.offset" : 33182
               }
             ],
             "key.bodylength" : 620,
-            "key.bodyoffset" : 33252,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.bodyoffset" : 33315,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> diffWith<\/decl.name>(old<\/decl.var.parameter.argument_label>: [Section<\/ref.struct>]<\/decl.var.parameter.type><\/decl.var.parameter>, new<\/decl.var.parameter.argument_label>: [Section<\/ref.struct>]<\/decl.var.parameter.type><\/decl.var.parameter>) -> SectionedDiff<\/ref.struct><Section<\/ref.struct>, AnyIdentifier<\/ref.class>, AnyItem<\/ref.protocol>, AnyIdentifier<\/ref.class>><\/decl.function.returntype><\/decl.function.method.static>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
             "key.length" : 746,
             "key.name" : "diffWith(old:new:)",
             "key.namelength" : 42,
-            "key.nameoffset" : 33139,
-            "key.offset" : 33127,
+            "key.nameoffset" : 33202,
+            "key.offset" : 33190,
             "key.parsed_declaration" : "private static func diffWith(old : [Section], new : [Section]) -> SectionedDiff",
-            "key.parsed_scope.end" : 1020,
-            "key.parsed_scope.start" : 1002,
+            "key.parsed_scope.end" : 1021,
+            "key.parsed_scope.start" : 1003,
             "key.substructure" : [
 
             ],
@@ -61550,28 +63771,28 @@
           {
             "key.attribute" : "source.decl.attribute.public",
             "key.length" : 6,
-            "key.offset" : 33878
+            "key.offset" : 33941
           }
         ],
         "key.bodylength" : 698,
-        "key.bodyoffset" : 33905,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+        "key.bodyoffset" : 33968,
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> ListView<\/decl.name> : UIView<\/ref.class>, KeyboardObserverDelegate<\/ref.protocol><\/decl.class>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 719,
         "key.name" : "ListView",
         "key.namelength" : 8,
-        "key.nameoffset" : 33895,
-        "key.offset" : 33885,
+        "key.nameoffset" : 33958,
+        "key.offset" : 33948,
         "key.parsed_declaration" : "public extension ListView",
-        "key.parsed_scope.end" : 1042,
-        "key.parsed_scope.start" : 1024,
+        "key.parsed_scope.end" : 1043,
+        "key.parsed_scope.start" : 1025,
         "key.substructure" : [
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
             "key.annotated_decl" : "func testing_forceLayoutUpdateNow()<\/Declaration>",
             "key.bodylength" : 232,
-            "key.bodyoffset" : 34369,
+            "key.bodyoffset" : 34432,
             "key.doc.column" : 10,
             "key.doc.comment" : "\nCall this method to force an immediate, synchronous re-render of the list\nand its content when writing unit or snapshot tests. This avoids needing to\nspin the runloop or needing to use test expectations to wait for content\nto be rendered asynchronously.\n\n**WARNING**: You must **not** call this method outside of tests. Doing so will cause a fatal error.",
             "key.doc.declaration" : "func testing_forceLayoutUpdateNow()",
@@ -61580,24 +63801,24 @@
                 "Para" : ": You must  call this method outside of tests. Doing so will cause a fatal error."
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
-            "key.doc.full_as_xml" : "testing_forceLayoutUpdateNow()<\/Name>s:10ListableUI8ListViewC28testing_forceLayoutUpdateNowyyF<\/USR>func testing_forceLayoutUpdateNow()<\/Declaration>Call this method to force an immediate, synchronous re-render of the list and its content when writing unit or snapshot tests. This avoids needing to spin the runloop or needing to use test expectations to wait for content to be rendered asynchronously.<\/Para><\/Abstract>WARNING<\/bold>: You must not<\/bold> call this method outside of tests. Doing so will cause a fatal error.<\/Para><\/Discussion><\/CommentParts><\/Function>",
-            "key.doc.line" : 1034,
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.doc.full_as_xml" : "testing_forceLayoutUpdateNow()<\/Name>s:10ListableUI8ListViewC28testing_forceLayoutUpdateNowyyF<\/USR>func testing_forceLayoutUpdateNow()<\/Declaration>Call this method to force an immediate, synchronous re-render of the list and its content when writing unit or snapshot tests. This avoids needing to spin the runloop or needing to use test expectations to wait for content to be rendered asynchronously.<\/Para><\/Abstract>WARNING<\/bold>: You must not<\/bold> call this method outside of tests. Doing so will cause a fatal error.<\/Para><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.line" : 1035,
             "key.doc.name" : "testing_forceLayoutUpdateNow()",
             "key.doc.type" : "Function",
             "key.doclength" : 414,
-            "key.docoffset" : 33910,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.docoffset" : 33973,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> testing_forceLayoutUpdateNow<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 274,
             "key.name" : "testing_forceLayoutUpdateNow()",
             "key.namelength" : 30,
-            "key.nameoffset" : 34333,
-            "key.offset" : 34328,
+            "key.nameoffset" : 34396,
+            "key.offset" : 34391,
             "key.parsed_declaration" : "func testing_forceLayoutUpdateNow()",
-            "key.parsed_scope.end" : 1041,
-            "key.parsed_scope.start" : 1034,
+            "key.parsed_scope.end" : 1042,
+            "key.parsed_scope.start" : 1035,
             "key.substructure" : [
 
             ],
@@ -61613,15 +63834,15 @@
       {
         "key.annotated_decl" : "public final class ListView : UIView<\/Type>, KeyboardObserverDelegate<\/Type><\/Declaration>",
         "key.bodylength" : 356,
-        "key.bodyoffset" : 34660,
+        "key.bodyoffset" : 34723,
         "key.elements" : [
           {
             "key.kind" : "source.lang.swift.structure.elem.typeref",
             "key.length" : 30,
-            "key.offset" : 34628
+            "key.offset" : 34691
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> ListView<\/decl.name> : UIView<\/ref.class>, KeyboardObserverDelegate<\/ref.protocol><\/decl.class>",
         "key.inheritedtypes" : [
           {
@@ -61632,32 +63853,32 @@
         "key.length" : 410,
         "key.name" : "ListView",
         "key.namelength" : 8,
-        "key.nameoffset" : 34617,
-        "key.offset" : 34607,
+        "key.nameoffset" : 34680,
+        "key.offset" : 34670,
         "key.parsed_declaration" : "extension ListView : ItemContentCoordinatorDelegate",
-        "key.parsed_scope.end" : 1058,
-        "key.parsed_scope.start" : 1045,
+        "key.parsed_scope.end" : 1059,
+        "key.parsed_scope.start" : 1046,
         "key.substructure" : [
           {
             "key.annotated_decl" : "func coordinatorUpdated(for: AnyItem<\/Type>, animated: Bool<\/Type>)<\/Declaration>",
             "key.bodylength" : 288,
-            "key.bodyoffset" : 34726,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.bodyoffset" : 34789,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> coordinatorUpdated<\/decl.name>(for<\/decl.var.parameter.argument_label>: AnyItem<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>, animated<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 350,
             "key.name" : "coordinatorUpdated(for:animated:)",
             "key.namelength" : 50,
-            "key.nameoffset" : 34670,
-            "key.offset" : 34665,
+            "key.nameoffset" : 34733,
+            "key.offset" : 34728,
             "key.overrides" : [
               {
                 "key.usr" : "s:10ListableUI30ItemContentCoordinatorDelegateP18coordinatorUpdated3for8animatedyAA03AnyC0_p_SbtF"
               }
             ],
             "key.parsed_declaration" : "func coordinatorUpdated(for : AnyItem, animated : Bool)",
-            "key.parsed_scope.end" : 1057,
-            "key.parsed_scope.start" : 1047,
+            "key.parsed_scope.end" : 1058,
+            "key.parsed_scope.start" : 1048,
             "key.substructure" : [
 
             ],
@@ -61673,15 +63894,15 @@
       {
         "key.annotated_decl" : "public final class ListView : UIView<\/Type>, KeyboardObserverDelegate<\/Type><\/Declaration>",
         "key.bodylength" : 839,
-        "key.bodyoffset" : 35068,
+        "key.bodyoffset" : 35131,
         "key.elements" : [
           {
             "key.kind" : "source.lang.swift.structure.elem.typeref",
             "key.length" : 25,
-            "key.offset" : 35041
+            "key.offset" : 35104
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> ListView<\/decl.name> : UIView<\/ref.class>, KeyboardObserverDelegate<\/ref.protocol><\/decl.class>",
         "key.inheritedtypes" : [
           {
@@ -61692,11 +63913,11 @@
         "key.length" : 888,
         "key.name" : "ListView",
         "key.namelength" : 8,
-        "key.nameoffset" : 35030,
-        "key.offset" : 35020,
+        "key.nameoffset" : 35093,
+        "key.offset" : 35083,
         "key.parsed_declaration" : "extension ListView : ReorderingActionsDelegate",
-        "key.parsed_scope.end" : 1092,
-        "key.parsed_scope.start" : 1061,
+        "key.parsed_scope.end" : 1093,
+        "key.parsed_scope.start" : 1062,
         "key.substructure" : [
           {
             "key.kind" : "source.lang.swift.syntaxtype.comment.mark",
@@ -61704,28 +63925,28 @@
             "key.name" : "MARK: Internal - Moving Items",
             "key.namelength" : 0,
             "key.nameoffset" : 0,
-            "key.offset" : 35083
+            "key.offset" : 35146
           },
           {
             "key.annotated_decl" : "func beginInteractiveMovementFor(item: AnyPresentationItemState<\/Type>) -> Bool<\/Type><\/Declaration>",
             "key.bodylength" : 220,
-            "key.bodyoffset" : 35208,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.bodyoffset" : 35271,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> beginInteractiveMovementFor<\/decl.name>(item<\/decl.var.parameter.argument_label>: AnyPresentationItemState<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 300,
             "key.name" : "beginInteractiveMovementFor(item:)",
             "key.namelength" : 60,
-            "key.nameoffset" : 35134,
-            "key.offset" : 35129,
+            "key.nameoffset" : 35197,
+            "key.offset" : 35192,
             "key.overrides" : [
               {
                 "key.usr" : "s:10ListableUI25ReorderingActionsDelegateP27beginInteractiveMovementFor4itemSbAA24AnyPresentationItemState_p_tF"
               }
             ],
             "key.parsed_declaration" : "func beginInteractiveMovementFor(item : AnyPresentationItemState) -> Bool",
-            "key.parsed_scope.end" : 1074,
-            "key.parsed_scope.start" : 1067,
+            "key.parsed_scope.end" : 1075,
+            "key.parsed_scope.start" : 1068,
             "key.substructure" : [
 
             ],
@@ -61736,37 +63957,37 @@
           {
             "key.annotated_decl" : "func updateInteractiveMovementTargetPosition(with recognizer: UIPanGestureRecognizer<\/Type>)<\/Declaration>",
             "key.bodylength" : 160,
-            "key.bodyoffset" : 35531,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.bodyoffset" : 35594,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> updateInteractiveMovementTargetPosition<\/decl.name>(with<\/decl.var.parameter.argument_label> recognizer<\/decl.var.parameter.name>: UIPanGestureRecognizer<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 253,
             "key.name" : "updateInteractiveMovementTargetPosition(with:)",
             "key.namelength" : 81,
-            "key.nameoffset" : 35444,
-            "key.offset" : 35439,
+            "key.nameoffset" : 35507,
+            "key.offset" : 35502,
             "key.overrides" : [
               {
                 "key.usr" : "s:10ListableUI25ReorderingActionsDelegateP39updateInteractiveMovementTargetPosition4withySo22UIPanGestureRecognizerC_tF"
               }
             ],
             "key.parsed_declaration" : "func updateInteractiveMovementTargetPosition(with recognizer : UIPanGestureRecognizer)",
-            "key.parsed_scope.end" : 1081,
-            "key.parsed_scope.start" : 1076,
+            "key.parsed_scope.end" : 1082,
+            "key.parsed_scope.start" : 1077,
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let position: CGPoint<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> position<\/decl.name>: CGPoint<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 59,
                 "key.name" : "position",
                 "key.namelength" : 8,
-                "key.nameoffset" : 35544,
-                "key.offset" : 35540,
+                "key.nameoffset" : 35607,
+                "key.offset" : 35603,
                 "key.parsed_declaration" : "let position = recognizer.location(in: self.collectionView)",
-                "key.parsed_scope.end" : 1078,
-                "key.parsed_scope.start" : 1078,
+                "key.parsed_scope.end" : 1079,
+                "key.parsed_scope.start" : 1079,
                 "key.typename" : "CGPoint",
                 "key.typeusr" : "$sSo7CGPointVD",
                 "key.usr" : "s:10ListableUI8ListViewC39updateInteractiveMovementTargetPosition4withySo22UIPanGestureRecognizerC_tF8positionL_So7CGPointVvp"
@@ -61779,23 +64000,23 @@
           {
             "key.annotated_decl" : "func endInteractiveMovement()<\/Declaration>",
             "key.bodylength" : 58,
-            "key.bodyoffset" : 35737,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.bodyoffset" : 35800,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> endInteractiveMovement<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 94,
             "key.name" : "endInteractiveMovement()",
             "key.namelength" : 24,
-            "key.nameoffset" : 35707,
-            "key.offset" : 35702,
+            "key.nameoffset" : 35770,
+            "key.offset" : 35765,
             "key.overrides" : [
               {
                 "key.usr" : "s:10ListableUI25ReorderingActionsDelegateP22endInteractiveMovementyyF"
               }
             ],
             "key.parsed_declaration" : "func endInteractiveMovement()",
-            "key.parsed_scope.end" : 1086,
-            "key.parsed_scope.start" : 1083,
+            "key.parsed_scope.end" : 1087,
+            "key.parsed_scope.start" : 1084,
             "key.substructure" : [
 
             ],
@@ -61806,23 +64027,23 @@
           {
             "key.annotated_decl" : "func cancelInteractiveMovement()<\/Declaration>",
             "key.bodylength" : 61,
-            "key.bodyoffset" : 35844,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.bodyoffset" : 35907,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> cancelInteractiveMovement<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 100,
             "key.name" : "cancelInteractiveMovement()",
             "key.namelength" : 27,
-            "key.nameoffset" : 35811,
-            "key.offset" : 35806,
+            "key.nameoffset" : 35874,
+            "key.offset" : 35869,
             "key.overrides" : [
               {
                 "key.usr" : "s:10ListableUI25ReorderingActionsDelegateP25cancelInteractiveMovementyyF"
               }
             ],
             "key.parsed_declaration" : "func cancelInteractiveMovement()",
-            "key.parsed_scope.end" : 1091,
-            "key.parsed_scope.start" : 1088,
+            "key.parsed_scope.end" : 1092,
+            "key.parsed_scope.start" : 1089,
             "key.substructure" : [
 
             ],
@@ -61838,18 +64059,18 @@
       {
         "key.annotated_decl" : "public final class ListView : UIView<\/Type>, KeyboardObserverDelegate<\/Type><\/Declaration>",
         "key.bodylength" : 760,
-        "key.bodyoffset" : 35931,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+        "key.bodyoffset" : 35994,
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> ListView<\/decl.name> : UIView<\/ref.class>, KeyboardObserverDelegate<\/ref.protocol><\/decl.class>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 781,
         "key.name" : "ListView",
         "key.namelength" : 8,
-        "key.nameoffset" : 35921,
-        "key.offset" : 35911,
+        "key.nameoffset" : 35984,
+        "key.offset" : 35974,
         "key.parsed_declaration" : "extension ListView",
-        "key.parsed_scope.end" : 1116,
-        "key.parsed_scope.start" : 1095,
+        "key.parsed_scope.end" : 1117,
+        "key.parsed_scope.start" : 1096,
         "key.substructure" : [
           {
             "key.annotated_decl" : "final class CollectionView : UICollectionView<\/Type><\/Declaration>",
@@ -61857,19 +64078,19 @@
               {
                 "key.attribute" : "source.decl.attribute.final",
                 "key.length" : 5,
-                "key.offset" : 35936
+                "key.offset" : 35999
               }
             ],
             "key.bodylength" : 702,
-            "key.bodyoffset" : 35987,
+            "key.bodyoffset" : 36050,
             "key.elements" : [
               {
                 "key.kind" : "source.lang.swift.structure.elem.typeref",
                 "key.length" : 16,
-                "key.offset" : 35965
+                "key.offset" : 36028
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> CollectionView<\/decl.name> : UICollectionView<\/ref.class><\/decl.class>",
             "key.inheritedtypes" : [
               {
@@ -61880,11 +64101,11 @@
             "key.length" : 748,
             "key.name" : "CollectionView",
             "key.namelength" : 14,
-            "key.nameoffset" : 35948,
-            "key.offset" : 35942,
+            "key.nameoffset" : 36011,
+            "key.offset" : 36005,
             "key.parsed_declaration" : "final class CollectionView : UICollectionView",
-            "key.parsed_scope.end" : 1115,
-            "key.parsed_scope.start" : 1097,
+            "key.parsed_scope.end" : 1116,
+            "key.parsed_scope.start" : 1098,
             "key.substructure" : [
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
@@ -61893,20 +64114,20 @@
                   {
                     "key.attribute" : "source.decl.attribute.weak",
                     "key.length" : 4,
-                    "key.offset" : 35996
+                    "key.offset" : 36059
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
                 "key.fully_annotated_decl" : "weak<\/syntaxtype.keyword> var<\/syntaxtype.keyword> view<\/decl.name>: ListView<\/ref.class><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 20,
                 "key.name" : "view",
                 "key.namelength" : 4,
-                "key.nameoffset" : 36005,
-                "key.offset" : 36001,
+                "key.nameoffset" : 36068,
+                "key.offset" : 36064,
                 "key.parsed_declaration" : "weak var view : ListView?",
-                "key.parsed_scope.end" : 1099,
-                "key.parsed_scope.start" : 1099,
+                "key.parsed_scope.end" : 1100,
+                "key.parsed_scope.start" : 1100,
                 "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
                 "key.typename" : "ListView?",
                 "key.typeusr" : "$s10ListableUI8ListViewCSgD",
@@ -61919,27 +64140,27 @@
                   {
                     "key.attribute" : "source.decl.attribute.override",
                     "key.length" : 8,
-                    "key.offset" : 36039
+                    "key.offset" : 36102
                   }
                 ],
                 "key.bodylength" : 612,
-                "key.bodyoffset" : 36071,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+                "key.bodyoffset" : 36134,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
                 "key.fully_annotated_decl" : "override<\/syntaxtype.keyword> func<\/syntaxtype.keyword> layoutSubviews<\/decl.name>()<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 636,
                 "key.name" : "layoutSubviews()",
                 "key.namelength" : 16,
-                "key.nameoffset" : 36053,
-                "key.offset" : 36048,
+                "key.nameoffset" : 36116,
+                "key.offset" : 36111,
                 "key.overrides" : [
                   {
                     "key.usr" : "c:objc(cs)UIView(im)layoutSubviews"
                   }
                 ],
                 "key.parsed_declaration" : "override func layoutSubviews()",
-                "key.parsed_scope.end" : 1114,
-                "key.parsed_scope.start" : 1101,
+                "key.parsed_scope.end" : 1115,
+                "key.parsed_scope.start" : 1102,
                 "key.substructure" : [
 
                 ],
@@ -61960,16 +64181,16 @@
       {
         "key.annotated_decl" : "public final class ListView : UIView<\/Type>, KeyboardObserverDelegate<\/Type><\/Declaration>",
         "key.bodylength" : 229,
-        "key.bodyoffset" : 36734,
+        "key.bodyoffset" : 36797,
         "key.doc.comment" : "\nUpdate visibility of items and header \/ footers in the list view.\n\nThis is intentionally performed in `layoutSubviews` of the `UICollectionView`,\n**not** within `scrollViewDidScroll`. Why? `visibleContent.update(with:)`\ndepends on the collection view's layout, which is not updated until it `layoutSubviews`.",
         "key.elements" : [
           {
             "key.kind" : "source.lang.swift.structure.elem.typeref",
             "key.length" : 16,
-            "key.offset" : 36716
+            "key.offset" : 36779
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> ListView<\/decl.name> : UIView<\/ref.class>, KeyboardObserverDelegate<\/ref.protocol><\/decl.class>",
         "key.inheritedtypes" : [
           {
@@ -61980,32 +64201,32 @@
         "key.length" : 269,
         "key.name" : "ListView",
         "key.namelength" : 8,
-        "key.nameoffset" : 36705,
-        "key.offset" : 36695,
+        "key.nameoffset" : 36768,
+        "key.offset" : 36758,
         "key.parsed_declaration" : "extension ListView : SignpostLoggable",
-        "key.parsed_scope.end" : 1127,
-        "key.parsed_scope.start" : 1119,
+        "key.parsed_scope.end" : 1128,
+        "key.parsed_scope.start" : 1120,
         "key.substructure" : [
           {
             "key.annotated_decl" : "var signpostInfo: SignpostLoggingInfo<\/Type> { get }<\/Declaration>",
             "key.bodylength" : 182,
-            "key.bodyoffset" : 36779,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.bodyoffset" : 36842,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> signpostInfo<\/decl.name>: SignpostLoggingInfo<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 223,
             "key.name" : "signpostInfo",
             "key.namelength" : 12,
-            "key.nameoffset" : 36743,
-            "key.offset" : 36739,
+            "key.nameoffset" : 36806,
+            "key.offset" : 36802,
             "key.overrides" : [
               {
                 "key.usr" : "s:10ListableUI16SignpostLoggableP12signpostInfoAA0c7LoggingF0Vvp"
               }
             ],
             "key.parsed_declaration" : "var signpostInfo : SignpostLoggingInfo",
-            "key.parsed_scope.end" : 1126,
-            "key.parsed_scope.start" : 1121,
+            "key.parsed_scope.end" : 1127,
+            "key.parsed_scope.start" : 1122,
             "key.typename" : "SignpostLoggingInfo",
             "key.typeusr" : "$s10ListableUI19SignpostLoggingInfoVD",
             "key.usr" : "s:10ListableUI8ListViewC12signpostInfoAA015SignpostLoggingF0Vvp"
@@ -62022,11 +64243,11 @@
           {
             "key.attribute" : "source.decl.attribute.fileprivate",
             "key.length" : 11,
-            "key.offset" : 36967
+            "key.offset" : 37030
           }
         ],
         "key.bodylength" : 273,
-        "key.bodyoffset" : 37003,
+        "key.bodyoffset" : 37066,
         "key.filepath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneSimulator.platform\/Developer\/SDKs\/iPhoneSimulator14.2.sdk\/System\/Library\/Frameworks\/UIKit.framework\/Headers\/UIScrollView.h",
         "key.fully_annotated_decl" : "class<\/syntaxtype.keyword> UIScrollView<\/decl.name> : UIView<\/ref.class>, NSCoding<\/ref.protocol>, UIFocusItemScrollableContainer<\/ref.protocol><\/decl.class>",
         "key.is_system" : true,
@@ -62035,42 +64256,42 @@
         "key.modulename" : "UIKit.UIScrollView",
         "key.name" : "UIScrollView",
         "key.namelength" : 12,
-        "key.nameoffset" : 36989,
-        "key.offset" : 36979,
+        "key.nameoffset" : 37052,
+        "key.offset" : 37042,
         "key.parsed_declaration" : "fileprivate extension UIScrollView",
-        "key.parsed_scope.end" : 1140,
-        "key.parsed_scope.start" : 1130,
+        "key.parsed_scope.end" : 1141,
+        "key.parsed_scope.start" : 1131,
         "key.substructure" : [
           {
             "key.accessibility" : "source.lang.swift.accessibility.fileprivate",
             "key.annotated_decl" : "func isScrolledNearBottom() -> Bool<\/Type><\/Declaration>",
             "key.bodylength" : 224,
-            "key.bodyoffset" : 37050,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+            "key.bodyoffset" : 37113,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> isScrolledNearBottom<\/decl.name>() -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 266,
             "key.name" : "isScrolledNearBottom()",
             "key.namelength" : 22,
-            "key.nameoffset" : 37014,
-            "key.offset" : 37009,
+            "key.nameoffset" : 37077,
+            "key.offset" : 37072,
             "key.parsed_declaration" : "func isScrolledNearBottom() -> Bool",
-            "key.parsed_scope.end" : 1139,
-            "key.parsed_scope.start" : 1133,
+            "key.parsed_scope.end" : 1140,
+            "key.parsed_scope.start" : 1134,
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let viewHeight: CGFloat<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> viewHeight<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 40,
                 "key.name" : "viewHeight",
                 "key.namelength" : 10,
-                "key.nameoffset" : 37063,
-                "key.offset" : 37059,
+                "key.nameoffset" : 37126,
+                "key.offset" : 37122,
                 "key.parsed_declaration" : "let viewHeight = self.bounds.size.height",
-                "key.parsed_scope.end" : 1135,
-                "key.parsed_scope.start" : 1135,
+                "key.parsed_scope.end" : 1136,
+                "key.parsed_scope.start" : 1136,
                 "key.typename" : "CGFloat",
                 "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
                 "key.usr" : "s:So12UIScrollViewC10ListableUIE20isScrolledNearBottom33_A65B53D10B0C487915F0C0C4684244E8LLSbyF10viewHeightL_12CoreGraphics7CGFloatVvp"
@@ -62088,7 +64309,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/UpdateCallbacks.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/UpdateCallbacks.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 871,
     "key.offset" : 0,
@@ -62110,7 +64331,7 @@
         ],
         "key.bodylength" : 720,
         "key.bodyoffset" : 149,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/UpdateCallbacks.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/UpdateCallbacks.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> UpdateCallbacks<\/decl.name><\/decl.class>",
         "key.kind" : "source.lang.swift.decl.class",
         "key.length" : 744,
@@ -62125,7 +64346,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "let executionType: ExecutionType<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/UpdateCallbacks.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/UpdateCallbacks.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> executionType<\/decl.name>: ExecutionType<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 33,
@@ -62145,7 +64366,7 @@
             "key.annotated_decl" : "init(_ executionType: ExecutionType<\/Type>)<\/Declaration>",
             "key.bodylength" : 48,
             "key.bodyoffset" : 241,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/UpdateCallbacks.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/UpdateCallbacks.swift",
             "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(_<\/decl.var.parameter.argument_label> executionType<\/decl.var.parameter.name>: ExecutionType<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 88,
@@ -62168,7 +64389,7 @@
             "key.annotated_decl" : "deinit<\/Declaration>",
             "key.bodylength" : 46,
             "key.bodyoffset" : 308,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/UpdateCallbacks.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/UpdateCallbacks.swift",
             "key.fully_annotated_decl" : "deinit<\/syntaxtype.keyword><\/decl.function.destructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 55,
@@ -62196,7 +64417,7 @@
                 "key.offset" : 361
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/UpdateCallbacks.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/UpdateCallbacks.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword>(set) var<\/syntaxtype.keyword> calls<\/decl.name>: [() -> ()<\/tuple><\/decl.function.returntype>]<\/decl.var.type> { get }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 27,
@@ -62217,7 +64438,7 @@
             "key.annotated_decl" : "func add(if performsCallbacks: Bool<\/Type>, _ call: @escaping () -> ())<\/Declaration>",
             "key.bodylength" : 214,
             "key.bodyoffset" : 483,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/UpdateCallbacks.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/UpdateCallbacks.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> add<\/decl.name>(if<\/decl.var.parameter.argument_label> performsCallbacks<\/decl.var.parameter.name>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, _<\/decl.var.parameter.argument_label> call<\/decl.var.parameter.name>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> () -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 283,
@@ -62240,7 +64461,7 @@
             "key.annotated_decl" : "func perform()<\/Declaration>",
             "key.bodylength" : 65,
             "key.bodyoffset" : 724,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/UpdateCallbacks.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/UpdateCallbacks.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> perform<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 82,
@@ -62263,7 +64484,7 @@
             "key.annotated_decl" : "enum UpdateCallbacks<\/Type>.ExecutionType<\/Declaration>",
             "key.bodylength" : 47,
             "key.bodyoffset" : 820,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/UpdateCallbacks.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/UpdateCallbacks.swift",
             "key.fully_annotated_decl" : "enum<\/syntaxtype.keyword> UpdateCallbacks<\/ref.class>.ExecutionType<\/decl.name><\/decl.enum>",
             "key.kind" : "source.lang.swift.decl.enum",
             "key.length" : 68,
@@ -62285,7 +64506,7 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "case immediate<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/UpdateCallbacks.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/UpdateCallbacks.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> immediate<\/decl.name><\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 9,
@@ -62312,7 +64533,7 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "case queue<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/UpdateCallbacks.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/UpdateCallbacks.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> queue<\/decl.name><\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 5,
@@ -62342,9 +64563,9 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewController.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewController.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
-    "key.length" : 5713,
+    "key.length" : 5714,
     "key.offset" : 0,
     "key.substructure" : [
       {
@@ -62357,7 +64578,7 @@
             "key.offset" : 829
           }
         ],
-        "key.bodylength" : 2578,
+        "key.bodylength" : 2579,
         "key.bodyoffset" : 879,
         "key.doc.column" : 12,
         "key.doc.comment" : "\nA class which provides an easy way to set up and display a `ListView`,\nThe `ListViewController` itself manages setup and presentation of the list.\n\nAs a consumer of the API, all you need to do is override one method:\n```\nfunc configure(list : inout ListProperties) {\n    ...\n}\n```\nIn which you set up and configure the list as needed.\n\nIn order to reload the list when content changes or other display changes are required, call\n```\nfunc reload(animated : Bool = false)\n```\nWhich will update the list with the new contents returned from your `configure` method.\nIf the `ListViewController`'s view is not loaded, this method has no effect.",
@@ -62382,8 +64603,8 @@
             "Para" : "Which will update the list with the new contents returned from your `configure` method. If the `ListViewController`’s view is not loaded, this method has no effect."
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewController.swift",
-        "key.doc.full_as_xml" : "ListViewController<\/Name>c:@M@ListableUI@objc(cs)ListViewController<\/USR>open class ListViewController : UIViewController<\/Declaration>A class which provides an easy way to set up and display a ListView<\/codeVoice>, The ListViewController<\/codeVoice> itself manages setup and presentation of the list.<\/Para><\/Abstract>As a consumer of the API, all you need to do is override one method:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>In which you set up and configure the list as needed.<\/Para>In order to reload the list when content changes or other display changes are required, call<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>Which will update the list with the new contents returned from your configure<\/codeVoice> method. If the ListViewController<\/codeVoice>’s view is not loaded, this method has no effect.<\/Para><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewController.swift",
+        "key.doc.full_as_xml" : "ListViewController<\/Name>c:@M@ListableUI@objc(cs)ListViewController<\/USR>open class ListViewController : UIViewController<\/Declaration>A class which provides an easy way to set up and display a ListView<\/codeVoice>, The ListViewController<\/codeVoice> itself manages setup and presentation of the list.<\/Para><\/Abstract>As a consumer of the API, all you need to do is override one method:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>In which you set up and configure the list as needed.<\/Para>In order to reload the list when content changes or other display changes are required, call<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>Which will update the list with the new contents returned from your configure<\/codeVoice> method. If the ListViewController<\/codeVoice>’s view is not loaded, this method has no effect.<\/Para><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 30,
         "key.doc.name" : "ListViewController",
         "key.doc.type" : "Class",
@@ -62396,7 +64617,7 @@
             "key.offset" : 861
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewController.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewController.swift",
         "key.fully_annotated_decl" : "open<\/syntaxtype.keyword> class<\/syntaxtype.keyword> ListViewController<\/decl.name> : UIViewController<\/ref.class><\/decl.class>",
         "key.inheritedtypes" : [
           {
@@ -62404,7 +64625,7 @@
           }
         ],
         "key.kind" : "source.lang.swift.decl.class",
-        "key.length" : 2624,
+        "key.length" : 2625,
         "key.name" : "ListViewController",
         "key.namelength" : 18,
         "key.nameoffset" : 840,
@@ -62428,13 +64649,13 @@
               {
                 "key.attribute" : "source.decl.attribute.open",
                 "key.length" : 4,
-                "key.offset" : 1912
+                "key.offset" : 1913
               }
             ],
             "key.bodylength" : 140,
-            "key.bodyoffset" : 1966,
+            "key.bodyoffset" : 1967,
             "key.doc.column" : 15,
-            "key.doc.comment" : "Override this method to configure your list how you'd like to.\nThe properties on `ListProperties` closely mirror those on `ListView`\nitself, allowing you to fully configure and work with a list without needing to maintain\nand manage the view instance yourself.\n\nExample\n-------\n```\noverride func configure(list : inout ListProperties)\n{\n    list.appearance = .myAppearance\n\n    list.layout = .list { appearance in\n        \/\/ Configure the appearance.\n    }\n\n    list.stateObserver.onContentChanged { info in\n        MyLogger.log(...)\n    }\n\n    list(\"first-section\") { section in\n        section += self.myPodcasts.map { podcast in\n            PodcastItem(podcast)\n        }\n    }\n}\n```\nYou should not call super in your overridden implementation.",
+            "key.doc.comment" : "Override this method to configure your list how you'd like to.\nThe properties on `ListProperties` closely mirror those on `ListView`\nitself, allowing you to fully configure and work with a list without needing to maintain\nand manage the view instance yourself.\n\nExample\n-------\n```\noverride func configure(list : inout ListProperties)\n{\n    list.appearance = .myAppearance\n\n    list.layout = .table { appearance in\n        \/\/ Configure the appearance.\n    }\n\n    list.stateObserver.onContentChanged { info in\n        MyLogger.log(...)\n    }\n\n    list(\"first-section\") { section in\n        section += self.myPodcasts.map { podcast in\n            PodcastItem(podcast)\n        }\n    }\n}\n```\nYou should not call super in your overridden implementation.",
             "key.doc.declaration" : "open func configure(list: inout ListProperties)",
             "key.doc.discussion" : [
               {
@@ -62444,21 +64665,21 @@
                 "Para" : "You should not call super in your overridden implementation."
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewController.swift",
-            "key.doc.full_as_xml" : "configure(list:)<\/Name>s:10ListableUI18ListViewControllerC9configure4listyAA0C10PropertiesVz_tF<\/USR>open func configure(list: inout ListProperties)<\/Declaration>Override this method to configure your list how you’d like to. The properties on ListProperties<\/codeVoice> closely mirror those on ListView<\/codeVoice> itself, allowing you to fully configure and work with a list without needing to maintain and manage the view instance yourself.<\/Para><\/Abstract>]]><\/rawHTML>Example]]><\/rawHTML><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>You should not call super in your overridden implementation.<\/Para><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewController.swift",
+            "key.doc.full_as_xml" : "configure(list:)<\/Name>s:10ListableUI18ListViewControllerC9configure4listyAA0C10PropertiesVz_tF<\/USR>open func configure(list: inout ListProperties)<\/Declaration>Override this method to configure your list how you’d like to. The properties on ListProperties<\/codeVoice> closely mirror those on ListView<\/codeVoice> itself, allowing you to fully configure and work with a list without needing to maintain and manage the view instance yourself.<\/Para><\/Abstract>]]><\/rawHTML>Example]]><\/rawHTML><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>You should not call super in your overridden implementation.<\/Para><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 65,
             "key.doc.name" : "configure(list:)",
             "key.doc.type" : "Function",
-            "key.doclength" : 972,
+            "key.doclength" : 973,
             "key.docoffset" : 936,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewController.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewController.swift",
             "key.fully_annotated_decl" : "open<\/syntaxtype.keyword> func<\/syntaxtype.keyword> configure<\/decl.name>(list<\/decl.var.parameter.argument_label>: inout<\/syntaxtype.keyword> ListProperties<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 190,
             "key.name" : "configure(list:)",
             "key.namelength" : 38,
-            "key.nameoffset" : 1922,
-            "key.offset" : 1917,
+            "key.nameoffset" : 1923,
+            "key.offset" : 1918,
             "key.parsed_declaration" : "open func configure(list : inout ListProperties)",
             "key.parsed_scope.end" : 68,
             "key.parsed_scope.start" : 65,
@@ -62475,7 +64696,7 @@
             "key.name" : "MARK: Updating Content",
             "key.namelength" : 0,
             "key.nameoffset" : 0,
-            "key.offset" : 2127
+            "key.offset" : 2128
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
@@ -62484,19 +64705,19 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 2166
+                "key.offset" : 2167
               }
             ],
             "key.bodylength" : 216,
-            "key.bodyoffset" : 2215,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewController.swift",
+            "key.bodyoffset" : 2216,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewController.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> reload<\/decl.name>(animated<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type> = false<\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 259,
             "key.name" : "reload(animated:)",
             "key.namelength" : 31,
-            "key.nameoffset" : 2178,
-            "key.offset" : 2173,
+            "key.nameoffset" : 2179,
+            "key.offset" : 2174,
             "key.parsed_declaration" : "public func reload(animated : Bool = false)",
             "key.parsed_scope.end" : 84,
             "key.parsed_scope.start" : 74,
@@ -62513,7 +64734,7 @@
             "key.name" : "MARK: - Internal & Private Methods -",
             "key.namelength" : 0,
             "key.nameoffset" : 0,
-            "key.offset" : 2457
+            "key.offset" : 2458
           },
           {
             "key.kind" : "source.lang.swift.syntaxtype.comment.mark",
@@ -62521,7 +64742,7 @@
             "key.name" : "MARK: Initialization",
             "key.namelength" : 0,
             "key.nameoffset" : 0,
-            "key.offset" : 2518
+            "key.offset" : 2519
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
@@ -62530,24 +64751,24 @@
               {
                 "key.attribute" : "source.decl.attribute.override",
                 "key.length" : 8,
-                "key.offset" : 2555
+                "key.offset" : 2556
               },
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 2548
+                "key.offset" : 2549
               }
             ],
             "key.bodylength" : 51,
-            "key.bodyoffset" : 2637,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewController.swift",
+            "key.bodyoffset" : 2638,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewController.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> override<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(nibName<\/decl.var.parameter.argument_label> nibNameOrNil<\/decl.var.parameter.name>: String<\/ref.struct>?<\/decl.var.parameter.type><\/decl.var.parameter>, bundle<\/decl.var.parameter.argument_label> nibBundleOrNil<\/decl.var.parameter.name>: Bundle<\/ref.class>?<\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 125,
             "key.name" : "init(nibName:bundle:)",
             "key.namelength" : 67,
-            "key.nameoffset" : 2564,
-            "key.offset" : 2564,
+            "key.nameoffset" : 2565,
+            "key.offset" : 2565,
             "key.overrides" : [
               {
                 "key.usr" : "c:objc(cs)UIViewController(im)initWithNibName:bundle:"
@@ -62574,28 +64795,28 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 2735
+                "key.offset" : 2736
               },
               {
                 "key.attribute" : "source.decl.attribute.required",
                 "key.length" : 8,
-                "key.offset" : 2726
+                "key.offset" : 2727
               },
               {
                 "key.attribute" : "source.decl.attribute.available",
                 "key.length" : 26,
-                "key.offset" : 2699
+                "key.offset" : 2700
               }
             ],
             "key.bodylength" : 14,
-            "key.bodyoffset" : 2765,
+            "key.bodyoffset" : 2766,
             "key.internal_diagnostic" : "Unavailable in the current compilation context.",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 38,
             "key.name" : "init(coder:)",
             "key.namelength" : 21,
-            "key.nameoffset" : 2742,
-            "key.offset" : 2742,
+            "key.nameoffset" : 2743,
+            "key.offset" : 2743,
             "key.substructure" : [
 
             ]
@@ -62606,7 +64827,7 @@
             "key.name" : "MARK: UIViewController",
             "key.namelength" : 0,
             "key.nameoffset" : 0,
-            "key.offset" : 2793
+            "key.offset" : 2794
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.private",
@@ -62615,17 +64836,17 @@
               {
                 "key.attribute" : "source.decl.attribute.private",
                 "key.length" : 7,
-                "key.offset" : 2825
+                "key.offset" : 2826
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewController.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewController.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> var<\/syntaxtype.keyword> listView<\/decl.name>: ListView<\/ref.class>?<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 24,
             "key.name" : "listView",
             "key.namelength" : 8,
-            "key.nameoffset" : 2837,
-            "key.offset" : 2833,
+            "key.nameoffset" : 2838,
+            "key.offset" : 2834,
             "key.parsed_declaration" : "private var listView : ListView?",
             "key.parsed_scope.end" : 103,
             "key.parsed_scope.start" : 103,
@@ -62641,24 +64862,24 @@
               {
                 "key.attribute" : "source.decl.attribute.override",
                 "key.length" : 8,
-                "key.offset" : 2874
+                "key.offset" : 2875
               },
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 2867
+                "key.offset" : 2868
               }
             ],
             "key.bodylength" : 110,
-            "key.bodyoffset" : 2900,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewController.swift",
+            "key.bodyoffset" : 2901,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewController.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> override<\/syntaxtype.keyword> func<\/syntaxtype.keyword> loadView<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 128,
             "key.name" : "loadView()",
             "key.namelength" : 10,
-            "key.nameoffset" : 2888,
-            "key.offset" : 2883,
+            "key.nameoffset" : 2889,
+            "key.offset" : 2884,
             "key.overrides" : [
               {
                 "key.usr" : "c:objc(cs)UIViewController(im)loadView"
@@ -62670,14 +64891,14 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let listView: ListView<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewController.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewController.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> listView<\/decl.name>: ListView<\/ref.class><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 25,
                 "key.name" : "listView",
                 "key.namelength" : 8,
-                "key.nameoffset" : 2913,
-                "key.offset" : 2909,
+                "key.nameoffset" : 2914,
+                "key.offset" : 2910,
                 "key.parsed_declaration" : "let listView = ListView()",
                 "key.parsed_scope.end" : 106,
                 "key.parsed_scope.start" : 106,
@@ -62702,17 +64923,17 @@
               {
                 "key.attribute" : "source.decl.attribute.private",
                 "key.length" : 7,
-                "key.offset" : 3021
+                "key.offset" : 3022
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewController.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewController.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> var<\/syntaxtype.keyword> hasViewAppeared<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 34,
             "key.name" : "hasViewAppeared",
             "key.namelength" : 15,
-            "key.nameoffset" : 3033,
-            "key.offset" : 3029,
+            "key.nameoffset" : 3034,
+            "key.offset" : 3030,
             "key.parsed_declaration" : "private var hasViewAppeared : Bool = false",
             "key.parsed_scope.end" : 112,
             "key.parsed_scope.start" : 112,
@@ -62728,24 +64949,24 @@
               {
                 "key.attribute" : "source.decl.attribute.override",
                 "key.length" : 8,
-                "key.offset" : 3078
+                "key.offset" : 3079
               },
               {
                 "key.attribute" : "source.decl.attribute.open",
                 "key.length" : 4,
-                "key.offset" : 3073
+                "key.offset" : 3074
               }
             ],
             "key.bodylength" : 325,
-            "key.bodyoffset" : 3130,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewController.swift",
+            "key.bodyoffset" : 3131,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewController.swift",
             "key.fully_annotated_decl" : "open<\/syntaxtype.keyword> override<\/syntaxtype.keyword> func<\/syntaxtype.keyword> viewWillAppear<\/decl.name>(_<\/decl.var.parameter.argument_label> animated<\/decl.var.parameter.name>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 369,
             "key.name" : "viewWillAppear(_:)",
             "key.namelength" : 32,
-            "key.nameoffset" : 3092,
-            "key.offset" : 3087,
+            "key.nameoffset" : 3093,
+            "key.offset" : 3088,
             "key.overrides" : [
               {
                 "key.usr" : "c:objc(cs)UIViewController(im)viewWillAppear:"
@@ -62773,19 +64994,19 @@
           {
             "key.attribute" : "source.decl.attribute.public",
             "key.length" : 6,
-            "key.offset" : 3461
+            "key.offset" : 3462
           }
         ],
         "key.bodylength" : 2223,
-        "key.bodyoffset" : 3488,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListView\/ListView.swift",
+        "key.bodyoffset" : 3489,
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListView\/ListView.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> ListView<\/decl.name> : UIView<\/ref.class>, KeyboardObserverDelegate<\/decl.class>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 2244,
         "key.name" : "ListView",
         "key.namelength" : 8,
-        "key.nameoffset" : 3478,
-        "key.offset" : 3468,
+        "key.nameoffset" : 3479,
+        "key.offset" : 3469,
         "key.parsed_declaration" : "public extension ListView",
         "key.parsed_scope.end" : 174,
         "key.parsed_scope.start" : 128,
@@ -62794,7 +65015,7 @@
             "key.accessibility" : "source.lang.swift.accessibility.public",
             "key.annotated_decl" : "func clearSelectionDuringViewWillAppear(alongside coordinator: UIViewControllerTransitionCoordinator<\/Type>?, animated: Bool<\/Type>)<\/Declaration>",
             "key.bodylength" : 1340,
-            "key.bodyoffset" : 4369,
+            "key.bodyoffset" : 4370,
             "key.doc.column" : 10,
             "key.doc.comment" : "A method which provides `Behavior.SelectionMode.single`'s `clearsSelectionOnViewWillAppear` behaviour.\nBy default, this method is called by `ListViewController`. However if you are not using `ListViewController` you\nwill need to call this method yourself one of two ways:\n\n1) If subclassing `UIViewController`: within your view controller's `viewWillAppear` method.\n\n2) By invoking this same method on your `ListActions` that you have wired up to your list view. Use this\nin the case that you do not have access to your list view at all, such as when using `BlueprintUILists`.\n\n\/\/ Behaviour from UIKit Eng: https:\/\/twitter.com\/smileyborg\/status\/1279473615553982464",
             "key.doc.declaration" : "func clearSelectionDuringViewWillAppear(alongside coordinator: UIViewControllerTransitionCoordinator?, animated: Bool)",
@@ -62806,35 +65027,35 @@
                 "Para" : "\/\/ Behaviour from UIKit Eng: https:\/\/twitter.com\/smileyborg\/status\/1279473615553982464"
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewController.swift",
-            "key.doc.full_as_xml" : "clearSelectionDuringViewWillAppear(alongside:animated:)<\/Name>s:10ListableUI8ListViewC020clearSelectionDuringD10WillAppear9alongside8animatedySo37UIViewControllerTransitionCoordinator_pSg_SbtF<\/USR>func clearSelectionDuringViewWillAppear(alongside coordinator: UIViewControllerTransitionCoordinator?, animated: Bool)<\/Declaration>A method which provides Behavior.SelectionMode.single<\/codeVoice>’s clearsSelectionOnViewWillAppear<\/codeVoice> behaviour. By default, this method is called by ListViewController<\/codeVoice>. However if you are not using ListViewController<\/codeVoice> you will need to call this method yourself one of two ways:<\/Para><\/Abstract>If subclassing UIViewController<\/codeVoice>: within your view controller’s viewWillAppear<\/codeVoice> method.<\/Para><\/Item>By invoking this same method on your ListActions<\/codeVoice> that you have wired up to your list view. Use this in the case that you do not have access to your list view at all, such as when using BlueprintUILists<\/codeVoice>.<\/Para><\/Item><\/List-Number>\/\/ Behaviour from UIKit Eng: https:\/\/twitter.com\/smileyborg\/status\/1279473615553982464<\/Para><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewController.swift",
+            "key.doc.full_as_xml" : "clearSelectionDuringViewWillAppear(alongside:animated:)<\/Name>s:10ListableUI8ListViewC020clearSelectionDuringD10WillAppear9alongside8animatedySo37UIViewControllerTransitionCoordinator_pSg_SbtF<\/USR>func clearSelectionDuringViewWillAppear(alongside coordinator: UIViewControllerTransitionCoordinator?, animated: Bool)<\/Declaration>A method which provides Behavior.SelectionMode.single<\/codeVoice>’s clearsSelectionOnViewWillAppear<\/codeVoice> behaviour. By default, this method is called by ListViewController<\/codeVoice>. However if you are not using ListViewController<\/codeVoice> you will need to call this method yourself one of two ways:<\/Para><\/Abstract>If subclassing UIViewController<\/codeVoice>: within your view controller’s viewWillAppear<\/codeVoice> method.<\/Para><\/Item>By invoking this same method on your ListActions<\/codeVoice> that you have wired up to your list view. Use this in the case that you do not have access to your list view at all, such as when using BlueprintUILists<\/codeVoice>.<\/Para><\/Item><\/List-Number>\/\/ Behaviour from UIKit Eng: https:\/\/twitter.com\/smileyborg\/status\/1279473615553982464<\/Para><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 141,
             "key.doc.name" : "clearSelectionDuringViewWillAppear(alongside:animated:)",
             "key.doc.type" : "Function",
             "key.doclength" : 746,
-            "key.docoffset" : 3498,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewController.swift",
+            "key.docoffset" : 3499,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewController.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> clearSelectionDuringViewWillAppear<\/decl.name>(alongside<\/decl.var.parameter.argument_label> coordinator<\/decl.var.parameter.name>: UIViewControllerTransitionCoordinator<\/ref.protocol>?<\/decl.var.parameter.type><\/decl.var.parameter>, animated<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 1462,
             "key.name" : "clearSelectionDuringViewWillAppear(alongside:animated:)",
             "key.namelength" : 114,
-            "key.nameoffset" : 4253,
-            "key.offset" : 4248,
+            "key.nameoffset" : 4254,
+            "key.offset" : 4249,
             "key.parsed_declaration" : "func clearSelectionDuringViewWillAppear(alongside coordinator: UIViewControllerTransitionCoordinator?, animated : Bool)",
             "key.parsed_scope.end" : 173,
             "key.parsed_scope.start" : 141,
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let item: AnyPresentationItemState<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewController.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewController.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> item<\/decl.name>: AnyPresentationItemState<\/ref.protocol><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 56,
                 "key.name" : "item",
                 "key.namelength" : 4,
-                "key.nameoffset" : 4667,
-                "key.offset" : 4663,
+                "key.nameoffset" : 4668,
+                "key.offset" : 4664,
                 "key.parsed_declaration" : "let item = storage.presentationState.item(at: indexPath)",
                 "key.parsed_scope.end" : 151,
                 "key.parsed_scope.start" : 151,
@@ -62855,7 +65076,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 4139,
     "key.offset" : 0,
@@ -62880,7 +65101,7 @@
         ],
         "key.bodylength" : 182,
         "key.bodyoffset" : 172,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> ListViewSource<\/decl.name><\/decl.protocol>",
         "key.kind" : "source.lang.swift.decl.protocol",
         "key.length" : 208,
@@ -62895,7 +65116,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
             "key.annotated_decl" : "associatedtype State : Equatable<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift",
             "key.fully_annotated_decl" : "associatedtype<\/syntaxtype.keyword> State<\/decl.name> : Equatable<\/ref.protocol><\/decl.associatedtype>",
             "key.kind" : "source.lang.swift.decl.associatedtype",
             "key.length" : 30,
@@ -62913,7 +65134,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
             "key.annotated_decl" : "func content(with state: SourceState<\/Type><State<\/Type>>, content: inout Content<\/Type>)<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> content<\/decl.name>(with<\/decl.var.parameter.argument_label> state<\/decl.var.parameter.name>: SourceState<\/ref.class><State<\/ref.associatedtype>><\/decl.var.parameter.type><\/decl.var.parameter>, content<\/decl.var.parameter.argument_label>: inout<\/syntaxtype.keyword> Content<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 70,
@@ -62942,7 +65163,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
             "key.annotated_decl" : "func content(with state: SourceState<\/Type><State<\/Type>>) -> Content<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> content<\/decl.name>(with<\/decl.var.parameter.argument_label> state<\/decl.var.parameter.name>: SourceState<\/ref.class><State<\/ref.associatedtype>><\/decl.var.parameter.type><\/decl.var.parameter>) -> Content<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 56,
@@ -62985,7 +65206,7 @@
         ],
         "key.bodylength" : 179,
         "key.bodyoffset" : 391,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> ListViewSource<\/decl.name><\/decl.protocol>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 206,
@@ -63002,7 +65223,7 @@
             "key.annotated_decl" : "func content(with state: SourceState<\/Type><State<\/Type>>) -> Content<\/Type><\/Declaration>",
             "key.bodylength" : 110,
             "key.bodyoffset" : 458,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> content<\/decl.name>(with<\/decl.var.parameter.argument_label> state<\/decl.var.parameter.name>: SourceState<\/ref.class><State<\/ref.associatedtype>><\/decl.var.parameter.type><\/decl.var.parameter>) -> Content<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 173,
@@ -63045,7 +65266,7 @@
         ],
         "key.bodylength" : 61,
         "key.bodyoffset" : 612,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift",
         "key.fully_annotated_decl" : "internal<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> AnySourcePresenter<\/decl.name><\/decl.protocol>",
         "key.kind" : "source.lang.swift.decl.protocol",
         "key.length" : 91,
@@ -63060,7 +65281,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "func discard()<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> discard<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 14,
@@ -63078,7 +65299,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "func reloadContent() -> Content<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> reloadContent<\/decl.name>() -> Content<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 31,
@@ -63122,7 +65343,7 @@
             "key.offset" : 739
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift",
         "key.fully_annotated_decl" : "internal<\/syntaxtype.keyword> final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> SourcePresenter<\/decl.name><Source<\/decl.generic_type_param.name><\/decl.generic_type_param>> : AnySourcePresenter<\/ref.protocol> where<\/syntaxtype.keyword> Source : ListViewSource<\/ref.protocol><\/decl.generic_type_requirement><\/decl.class>",
         "key.inheritedtypes" : [
           {
@@ -63148,7 +65369,7 @@
                 "key.offset" : 721
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift",
             "key.fully_annotated_decl" : "Source<\/decl.generic_type_param.name> : ListViewSource<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
             "key.inheritedtypes" : [
               {
@@ -63171,7 +65392,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "let source: Source<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> source<\/decl.name>: Source<\/ref.generic_type_param><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 19,
@@ -63191,7 +65412,7 @@
             "key.annotated_decl" : "var state: Source<\/Type>.State<\/Type> { get set }<\/Declaration>",
             "key.bodylength" : 101,
             "key.bodyoffset" : 819,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> state<\/decl.name>: Source<\/ref.generic_type_param>.State<\/ref.associatedtype><\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 128,
@@ -63217,7 +65438,7 @@
                 "key.offset" : 931
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> var<\/syntaxtype.keyword> sourceState<\/decl.name>: SourceState<\/ref.class><Source<\/ref.generic_type_param>.State<\/ref.associatedtype>><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 43,
@@ -63238,7 +65459,7 @@
             "key.annotated_decl" : "init(initial: Source<\/Type>.State<\/Type>, source: Source<\/Type>, didChange: @escaping () -> () = {})<\/Declaration>",
             "key.bodylength" : 122,
             "key.bodyoffset" : 1080,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift",
             "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(initial<\/decl.var.parameter.argument_label>: Source<\/ref.generic_type_param>.State<\/ref.associatedtype><\/decl.var.parameter.type><\/decl.var.parameter>, source<\/decl.var.parameter.argument_label>: Source<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, didChange<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> () -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type> = {}<\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 211,
@@ -63269,7 +65490,7 @@
             "key.annotated_decl" : "func discard()<\/Declaration>",
             "key.bodylength" : 40,
             "key.bodyoffset" : 1277,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> discard<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 61,
@@ -63304,7 +65525,7 @@
             ],
             "key.bodylength" : 64,
             "key.bodyoffset" : 1374,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift",
             "key.fully_annotated_decl" : "internal<\/syntaxtype.keyword> func<\/syntaxtype.keyword> reloadContent<\/decl.name>() -> Content<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 102,
@@ -63349,7 +65570,7 @@
         ],
         "key.bodylength" : 323,
         "key.bodyoffset" : 1495,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> StateAccessor<\/decl.name><State<\/decl.generic_type_param.name><\/decl.generic_type_param>> where<\/syntaxtype.keyword> State : Equatable<\/ref.protocol><\/decl.generic_type_requirement><\/decl.class>",
         "key.kind" : "source.lang.swift.decl.class",
         "key.length" : 362,
@@ -63370,7 +65591,7 @@
                 "key.offset" : 1483
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift",
             "key.fully_annotated_decl" : "State<\/decl.generic_type_param.name> : Equatable<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
             "key.inheritedtypes" : [
               {
@@ -63402,7 +65623,7 @@
             ],
             "key.bodylength" : 74,
             "key.bodyoffset" : 1526,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> value<\/decl.name>: State<\/ref.generic_type_param><\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 94,
@@ -63428,7 +65649,7 @@
                 "key.offset" : 1611
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> let<\/syntaxtype.keyword> get<\/decl.name>: () -> State<\/ref.generic_type_param><\/decl.function.returntype><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 21,
@@ -63453,7 +65674,7 @@
                 "key.offset" : 1645
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> let<\/syntaxtype.keyword> set<\/decl.name>: (State<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 23,
@@ -63480,7 +65701,7 @@
             ],
             "key.bodylength" : 51,
             "key.bodyoffset" : 1765,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift",
             "key.fully_annotated_decl" : "internal<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(get<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> () -> State<\/ref.generic_type_param><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>, set<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> (State<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 122,
@@ -63520,7 +65741,7 @@
         ],
         "key.bodylength" : 601,
         "key.bodyoffset" : 1871,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> SourceState<\/decl.name><Value<\/decl.generic_type_param.name><\/decl.generic_type_param>> where<\/syntaxtype.keyword> Value : Equatable<\/ref.protocol><\/decl.generic_type_requirement><\/decl.class>",
         "key.kind" : "source.lang.swift.decl.class",
         "key.length" : 638,
@@ -63541,7 +65762,7 @@
                 "key.offset" : 1859
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift",
             "key.fully_annotated_decl" : "Value<\/decl.generic_type_param.name> : Equatable<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
             "key.inheritedtypes" : [
               {
@@ -63573,7 +65794,7 @@
             ],
             "key.bodylength" : 132,
             "key.bodyoffset" : 1902,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> value<\/decl.name>: Value<\/ref.generic_type_param><\/decl.var.type> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 152,
@@ -63601,7 +65822,7 @@
             ],
             "key.bodylength" : 97,
             "key.bodyoffset" : 2097,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> set<\/decl.name>(_<\/decl.var.parameter.argument_label> block<\/decl.var.parameter.name>: (inout<\/syntaxtype.keyword> Value<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 143,
@@ -63615,7 +65836,7 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "var new: Value<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> new<\/decl.name>: Value<\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 20,
@@ -63647,7 +65868,7 @@
             ],
             "key.bodylength" : 76,
             "key.bodyoffset" : 2277,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(initial<\/decl.var.parameter.argument_label> value<\/decl.var.parameter.name>: Value<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, didChange<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> () -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 142,
@@ -63677,7 +65898,7 @@
             ],
             "key.bodylength" : 34,
             "key.bodyoffset" : 2391,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> discard<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 55,
@@ -63702,7 +65923,7 @@
                 "key.offset" : 2436
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> var<\/syntaxtype.keyword> didChange<\/decl.name>: (() -> ()<\/tuple><\/decl.function.returntype><\/tuple.element.type><\/tuple.element>)<\/tuple>?<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 27,
@@ -63755,7 +65976,7 @@
             "key.offset" : 2566
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> DynamicSource<\/decl.name><Input<\/decl.generic_type_param.name><\/decl.generic_type_param>> : ListViewSource<\/ref.protocol> where<\/syntaxtype.keyword> Input : Equatable<\/ref.protocol><\/decl.generic_type_requirement><\/decl.class>",
         "key.inheritedtypes" : [
           {
@@ -63781,7 +66002,7 @@
                 "key.offset" : 2553
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift",
             "key.fully_annotated_decl" : "Input<\/decl.generic_type_param.name> : Equatable<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
             "key.inheritedtypes" : [
               {
@@ -63811,7 +66032,7 @@
                 "key.offset" : 2587
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> typealias<\/syntaxtype.keyword> DynamicSource<\/ref.class><Input>.Builder<\/decl.name> = (SourceState<\/ref.class><Input<\/ref.generic_type_param>><\/decl.var.parameter.type><\/decl.var.parameter>, inout<\/syntaxtype.keyword> Content<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.typealias>",
             "key.kind" : "source.lang.swift.decl.typealias",
             "key.length" : 61,
@@ -63829,7 +66050,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "let builder: Builder<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> builder<\/decl.name>: Builder<\/ref.typealias><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 21,
@@ -63856,7 +66077,7 @@
             ],
             "key.bodylength" : 36,
             "key.bodyoffset" : 2747,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(with<\/decl.var.parameter.argument_label> builder<\/decl.var.parameter.name>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> Builder<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 81,
@@ -63886,7 +66107,7 @@
             ],
             "key.bodylength" : 43,
             "key.bodyoffset" : 2875,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> content<\/decl.name>(with<\/decl.var.parameter.argument_label> state<\/decl.var.parameter.name>: SourceState<\/ref.class><Input<\/ref.generic_type_param>><\/decl.var.parameter.type><\/decl.var.parameter>, content<\/decl.var.parameter.argument_label>: inout<\/syntaxtype.keyword> Content<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 118,
@@ -63946,7 +66167,7 @@
             "key.offset" : 2993
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> StaticSource<\/decl.name> : ListViewSource<\/ref.protocol><\/decl.class>",
         "key.inheritedtypes" : [
           {
@@ -63982,7 +66203,7 @@
                 "key.offset" : 3036
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> StaticSource<\/ref.class>.State<\/decl.name> : Equatable<\/ref.protocol><\/decl.struct>",
             "key.inheritedtypes" : [
               {
@@ -64016,7 +66237,7 @@
                 ],
                 "key.bodylength" : 0,
                 "key.bodyoffset" : 3075,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>()<\/decl.function.constructor>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 9,
@@ -64046,7 +66267,7 @@
                 "key.offset" : 3092
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> let<\/syntaxtype.keyword> content<\/decl.name>: Content<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 21,
@@ -64081,7 +66302,7 @@
             ],
             "key.bodylength" : 36,
             "key.bodyoffset" : 3183,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(with<\/decl.var.parameter.argument_label> content<\/decl.var.parameter.name>: Content<\/ref.struct><\/decl.var.parameter.type> = Content()<\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 83,
@@ -64121,7 +66342,7 @@
             ],
             "key.bodylength" : 53,
             "key.bodyoffset" : 3289,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> convenience<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(with<\/decl.var.parameter.argument_label> builder<\/decl.var.parameter.name>: Content<\/ref.struct>.Build<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 94,
@@ -64156,7 +66377,7 @@
             ],
             "key.bodylength" : 29,
             "key.bodyoffset" : 3447,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> content<\/decl.name>(with<\/decl.var.parameter.argument_label> state<\/decl.var.parameter.name>: SourceState<\/ref.class><StaticSource<\/ref.class>.State<\/ref.struct>><\/decl.var.parameter.type><\/decl.var.parameter>, content<\/decl.var.parameter.argument_label>: inout<\/syntaxtype.keyword> Content<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 117,
@@ -64199,7 +66420,7 @@
             ],
             "key.bodylength" : 33,
             "key.bodyoffset" : 3568,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> content<\/decl.name>(with<\/decl.var.parameter.argument_label> state<\/decl.var.parameter.name>: SourceState<\/ref.class><StaticSource<\/ref.class>.State<\/ref.struct>><\/decl.var.parameter.type><\/decl.var.parameter>) -> Content<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 108,
@@ -64260,7 +66481,7 @@
         ],
         "key.bodylength" : 460,
         "key.bodyoffset" : 3677,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift",
         "key.fully_annotated_decl" : "internal<\/syntaxtype.keyword> final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> ReloadTimer<\/decl.name><\/decl.class>",
         "key.kind" : "source.lang.swift.decl.class",
         "key.length" : 480,
@@ -64282,7 +66503,7 @@
                 "key.offset" : 3682
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> var<\/syntaxtype.keyword> timer<\/decl.name>: Timer<\/ref.class>?<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 18,
@@ -64301,7 +66522,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "typealias ReloadTimer<\/Type>.OnFire = () -> ()<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift",
             "key.fully_annotated_decl" : "typealias<\/syntaxtype.keyword> ReloadTimer<\/ref.class>.OnFire<\/decl.name> = () -> ()<\/tuple><\/decl.function.returntype><\/decl.typealias>",
             "key.kind" : "source.lang.swift.decl.typealias",
             "key.length" : 27,
@@ -64326,7 +66547,7 @@
                 "key.offset" : 3750
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> var<\/syntaxtype.keyword> onFire<\/decl.name>: OnFire<\/ref.typealias>?<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 20,
@@ -64347,7 +66568,7 @@
             "key.annotated_decl" : "init(onFire: @escaping OnFire<\/Type>)<\/Declaration>",
             "key.bodylength" : 182,
             "key.bodyoffset" : 3825,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift",
             "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(onFire<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> OnFire<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 220,
@@ -64377,7 +66598,7 @@
             ],
             "key.bodylength" : 88,
             "key.bodyoffset" : 4047,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ListViewSource.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ListViewSource.swift",
             "key.fully_annotated_decl" : "@objc<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> func<\/syntaxtype.keyword> timerFired<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 112,
@@ -64403,7 +66624,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LocalizedItemCollator.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LocalizedItemCollator.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 7307,
     "key.offset" : 0,
@@ -64431,8 +66652,8 @@
             "CodeListing" : ""
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LocalizedItemCollator.swift",
-        "key.doc.full_as_xml" : "LocalizedCollatableItemContent<\/Name>s:10ListableUI30LocalizedCollatableItemContentP<\/USR>public protocol LocalizedCollatableItemContent : ListableUI.ItemContent<\/Declaration>If you would like to make your ItemContent<\/codeVoice> work with the LocalizedItemCollator<\/codeVoice>, you should make it conform to this protocol, and then return a collationString<\/codeVoice> that represents the primary content of your ItemContent<\/codeVoice>; usually a name or title.<\/Para><\/Abstract>Upon collation, the ItemContent<\/codeVoice> will then be grouped into sections according to its first “character” in a localized manner.<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LocalizedItemCollator.swift",
+        "key.doc.full_as_xml" : "LocalizedCollatableItemContent<\/Name>s:10ListableUI30LocalizedCollatableItemContentP<\/USR>public protocol LocalizedCollatableItemContent : ListableUI.ItemContent<\/Declaration>If you would like to make your ItemContent<\/codeVoice> work with the LocalizedItemCollator<\/codeVoice>, you should make it conform to this protocol, and then return a collationString<\/codeVoice> that represents the primary content of your ItemContent<\/codeVoice>; usually a name or title.<\/Para><\/Abstract>Upon collation, the ItemContent<\/codeVoice> will then be grouped into sections according to its first “character” in a localized manner.<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 28,
         "key.doc.name" : "LocalizedCollatableItemContent",
         "key.doc.type" : "Class",
@@ -64445,7 +66666,7 @@
             "key.offset" : 765
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LocalizedItemCollator.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LocalizedItemCollator.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> LocalizedCollatableItemContent<\/decl.name> : ItemContent<\/ref.protocol><\/decl.protocol>",
         "key.inheritedtypes" : [
           {
@@ -64470,14 +66691,14 @@
             "key.doc.column" : 9,
             "key.doc.comment" : "A string that represents the primary content of your `ItemContent`; usually a name or title.",
             "key.doc.declaration" : "var collationString: String { get }",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LocalizedItemCollator.swift",
-            "key.doc.full_as_xml" : "collationString<\/Name>s:10ListableUI30LocalizedCollatableItemContentP15collationStringSSvp<\/USR>var collationString: String { get }<\/Declaration>A string that represents the primary content of your ItemContent<\/codeVoice>; usually a name or title.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LocalizedItemCollator.swift",
+            "key.doc.full_as_xml" : "collationString<\/Name>s:10ListableUI30LocalizedCollatableItemContentP15collationStringSSvp<\/USR>var collationString: String { get }<\/Declaration>A string that represents the primary content of your ItemContent<\/codeVoice>; usually a name or title.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 31,
             "key.doc.name" : "collationString",
             "key.doc.type" : "Other",
             "key.doclength" : 97,
             "key.docoffset" : 788,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LocalizedItemCollator.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LocalizedItemCollator.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> collationString<\/decl.name>: String<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 36,
@@ -64517,8 +66738,8 @@
             "Para" : "`Item` (and by extension `AnyItem`) is conditionally conformed to this protocol when its `Content` conforms to `LocalizedCollatableItemContent`, to allow vending homogenous lists of content to be collated."
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LocalizedItemCollator.swift",
-        "key.doc.full_as_xml" : "AnyLocalizedCollatableItem<\/Name>s:10ListableUI26AnyLocalizedCollatableItemP<\/USR>public protocol AnyLocalizedCollatableItem : ListableUI.AnyItem<\/Declaration>Represents an AnyItem<\/codeVoice> which can be collated, via its vended collationString<\/codeVoice>.<\/Para><\/Abstract>Item<\/codeVoice> (and by extension AnyItem<\/codeVoice>) is conditionally conformed to this protocol when its Content<\/codeVoice> conforms to LocalizedCollatableItemContent<\/codeVoice>, to allow vending homogenous lists of content to be collated.<\/Para><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LocalizedItemCollator.swift",
+        "key.doc.full_as_xml" : "AnyLocalizedCollatableItem<\/Name>s:10ListableUI26AnyLocalizedCollatableItemP<\/USR>public protocol AnyLocalizedCollatableItem : ListableUI.AnyItem<\/Declaration>Represents an AnyItem<\/codeVoice> which can be collated, via its vended collationString<\/codeVoice>.<\/Para><\/Abstract>Item<\/codeVoice> (and by extension AnyItem<\/codeVoice>) is conditionally conformed to this protocol when its Content<\/codeVoice> conforms to LocalizedCollatableItemContent<\/codeVoice>, to allow vending homogenous lists of content to be collated.<\/Para><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 42,
         "key.doc.name" : "AnyLocalizedCollatableItem",
         "key.doc.type" : "Class",
@@ -64531,7 +66752,7 @@
             "key.offset" : 1290
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LocalizedItemCollator.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LocalizedItemCollator.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> AnyLocalizedCollatableItem<\/decl.name> : AnyItem<\/ref.protocol><\/decl.protocol>",
         "key.inheritedtypes" : [
           {
@@ -64553,7 +66774,7 @@
             "key.annotated_decl" : "var collationString: String<\/Type> { get }<\/Declaration>",
             "key.bodylength" : 5,
             "key.bodyoffset" : 1334,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LocalizedItemCollator.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LocalizedItemCollator.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> collationString<\/decl.name>: String<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 36,
@@ -64605,14 +66826,14 @@
             "Para" : "If you have a list that you wish to collate that may contain thousands of items, it is recommended that you store the list pre-collated outside of Listable, so each recreation of the list’s view model does not re-partake in an expensive sort operation. Instead only re-collate when the underlying list receives an update (from Core Data, an API callback, etc)."
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LocalizedItemCollator.swift",
-        "key.doc.full_as_xml" : "LocalizedItemCollator<\/Name>s:10ListableUI21LocalizedItemCollatorV<\/USR>public struct LocalizedItemCollator<\/Declaration>If you’re looking for the equivalent of UILocalizedIndexedCollation<\/codeVoice> for lists, you have come to the right place.<\/Para><\/Abstract>LocalizedItemCollator<\/codeVoice> takes in a list of unsorted content, and sorts and then partitions the content into sections, returning you a list of collated sections for display.<\/Para>Just like UILocalizedIndexedCollation<\/codeVoice>, LocalizedItemCollator<\/codeVoice> takes into account the localization settings of the device, using different collation for the various supported iOS languages.<\/Para>]]><\/rawHTML>Example]]><\/rawHTML><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>]]><\/rawHTML>Warning]]><\/rawHTML>Sorting and partitioning thousands and thousands of Items<\/codeVoice> each time a list updates can be expensive, especially on slower devices.<\/Para>If you have a list that you wish to collate that may contain thousands of items, it is recommended that you store the list pre-collated outside of Listable, so each recreation of the list’s view model does not re-partake in an expensive sort operation. Instead only re-collate when the underlying list receives an update (from Core Data, an API callback, etc).<\/Para><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LocalizedItemCollator.swift",
+        "key.doc.full_as_xml" : "LocalizedItemCollator<\/Name>s:10ListableUI21LocalizedItemCollatorV<\/USR>public struct LocalizedItemCollator<\/Declaration>If you’re looking for the equivalent of UILocalizedIndexedCollation<\/codeVoice> for lists, you have come to the right place.<\/Para><\/Abstract>LocalizedItemCollator<\/codeVoice> takes in a list of unsorted content, and sorts and then partitions the content into sections, returning you a list of collated sections for display.<\/Para>Just like UILocalizedIndexedCollation<\/codeVoice>, LocalizedItemCollator<\/codeVoice> takes into account the localization settings of the device, using different collation for the various supported iOS languages.<\/Para>]]><\/rawHTML>Example]]><\/rawHTML><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>]]><\/rawHTML>Warning]]><\/rawHTML>Sorting and partitioning thousands and thousands of Items<\/codeVoice> each time a list updates can be expensive, especially on slower devices.<\/Para>If you have a list that you wish to collate that may contain thousands of items, it is recommended that you store the list pre-collated outside of Listable, so each recreation of the list’s view model does not re-partake in an expensive sort operation. Instead only re-collate when the underlying list receives an update (from Core Data, an API callback, etc).<\/Para><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 83,
         "key.doc.name" : "LocalizedItemCollator",
         "key.doc.type" : "Class",
         "key.doclength" : 1542,
         "key.docoffset" : 1345,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LocalizedItemCollator.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LocalizedItemCollator.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> LocalizedItemCollator<\/decl.name><\/decl.struct>",
         "key.kind" : "source.lang.swift.decl.struct",
         "key.length" : 3501,
@@ -64647,14 +66868,14 @@
             "key.doc.column" : 24,
             "key.doc.comment" : "Collates and returns the set of items into `CollatedSection`s.\nYou may then convert these into list `Section`s, or for another use.",
             "key.doc.declaration" : "public static func collate(collation: UILocalizedIndexedCollation = .current(), items: [AnyLocalizedCollatableItem]) -> [CollatedSection]",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LocalizedItemCollator.swift",
-            "key.doc.full_as_xml" : "collate(collation:items:)<\/Name>s:10ListableUI21LocalizedItemCollatorV7collate9collation5itemsSayAC15CollatedSectionVGSo27UILocalizedIndexedCollationC_SayAA03Anyc10CollatableD0_pGtFZ<\/USR>public static func collate(collation: UILocalizedIndexedCollation = .current(), items: [AnyLocalizedCollatableItem]) -> [CollatedSection]<\/Declaration>Collates and returns the set of items into CollatedSection<\/codeVoice>s. You may then convert these into list Section<\/codeVoice>s, or for another use.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LocalizedItemCollator.swift",
+            "key.doc.full_as_xml" : "collate(collation:items:)<\/Name>s:10ListableUI21LocalizedItemCollatorV7collate9collation5itemsSayAC15CollatedSectionVGSo27UILocalizedIndexedCollationC_SayAA03Anyc10CollatableD0_pGtFZ<\/USR>public static func collate(collation: UILocalizedIndexedCollation = .current(), items: [AnyLocalizedCollatableItem]) -> [CollatedSection]<\/Declaration>Collates and returns the set of items into CollatedSection<\/codeVoice>s. You may then convert these into list Section<\/codeVoice>s, or for another use.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 91,
             "key.doc.name" : "collate(collation:items:)",
             "key.doc.type" : "Function",
             "key.doclength" : 144,
             "key.docoffset" : 2973,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LocalizedItemCollator.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LocalizedItemCollator.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> collate<\/decl.name>(collation<\/decl.var.parameter.argument_label>: UILocalizedIndexedCollation<\/ref.class><\/decl.var.parameter.type> = .current()<\/decl.var.parameter>, items<\/decl.var.parameter.argument_label>: [AnyLocalizedCollatableItem<\/ref.protocol>]<\/decl.var.parameter.type><\/decl.var.parameter>) -> [CollatedSection<\/ref.struct>]<\/decl.function.returntype><\/decl.function.method.static>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
             "key.length" : 263,
@@ -64692,14 +66913,14 @@
                 "CodeListing" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LocalizedItemCollator.swift",
-            "key.doc.full_as_xml" : "sections(collation:with:_:)<\/Name>s:10ListableUI21LocalizedItemCollatorV8sections9collation4with_SayAA7SectionVGSo27UILocalizedIndexedCollationC_SayAA03Anyc10CollatableD0_pGyAC08CollatedI0V_AHztXEtFZ<\/USR>public static func sections(collation: UILocalizedIndexedCollation = .current(), with items: [AnyLocalizedCollatableItem], _ modify: (CollatedSection, inout Section) -> () = { _, _ in }) -> [Section]<\/Declaration>Collates and returns the set of items into list Sections<\/codeVoice>, allowing you to customize each Section<\/codeVoice> via the provided modify<\/codeVoice> closure.<\/Para><\/Abstract><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LocalizedItemCollator.swift",
+            "key.doc.full_as_xml" : "sections(collation:with:_:)<\/Name>s:10ListableUI21LocalizedItemCollatorV8sections9collation4with_SayAA7SectionVGSo27UILocalizedIndexedCollationC_SayAA03Anyc10CollatableD0_pGyAC08CollatedI0V_AHztXEtFZ<\/USR>public static func sections(collation: UILocalizedIndexedCollation = .current(), with items: [AnyLocalizedCollatableItem], _ modify: (CollatedSection, inout Section) -> () = { _, _ in }) -> [Section]<\/Declaration>Collates and returns the set of items into list Sections<\/codeVoice>, allowing you to customize each Section<\/codeVoice> via the provided modify<\/codeVoice> closure.<\/Para><\/Abstract><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 115,
             "key.doc.name" : "sections(collation:with:_:)",
             "key.doc.type" : "Function",
             "key.doclength" : 492,
             "key.docoffset" : 3401,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LocalizedItemCollator.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LocalizedItemCollator.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> sections<\/decl.name>(collation<\/decl.var.parameter.argument_label>: UILocalizedIndexedCollation<\/ref.class><\/decl.var.parameter.type> = .current()<\/decl.var.parameter>, with<\/decl.var.parameter.argument_label> items<\/decl.var.parameter.name>: [AnyLocalizedCollatableItem<\/ref.protocol>]<\/decl.var.parameter.type><\/decl.var.parameter>, _<\/decl.var.parameter.argument_label> modify<\/decl.var.parameter.name>: (CollatedSection<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, inout<\/syntaxtype.keyword> Section<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type> = { _, _ in }<\/decl.var.parameter>) -> [Section<\/ref.struct>]<\/decl.function.returntype><\/decl.function.method.static>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
             "key.length" : 535,
@@ -64713,7 +66934,7 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let collated: [LocalizedItemCollator<\/Type>.CollatedSection<\/Type>]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LocalizedItemCollator.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LocalizedItemCollator.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> collated<\/decl.name>: [LocalizedItemCollator<\/ref.struct>.CollatedSection<\/ref.struct>]<\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 63,
@@ -64749,7 +66970,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "let collated: [CollatedSection<\/Type>]<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LocalizedItemCollator.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LocalizedItemCollator.swift",
             "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> collated<\/decl.name>: [CollatedSection<\/ref.struct>]<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 32,
@@ -64769,7 +66990,7 @@
             "key.annotated_decl" : "init(collation: UILocalizedIndexedCollation<\/Type> = .current(), items: [AnyLocalizedCollatableItem<\/Type>])<\/Declaration>",
             "key.bodylength" : 1186,
             "key.bodyoffset" : 4652,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LocalizedItemCollator.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LocalizedItemCollator.swift",
             "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(collation<\/decl.var.parameter.argument_label>: UILocalizedIndexedCollation<\/ref.class><\/decl.var.parameter.type> = .current()<\/decl.var.parameter>, items<\/decl.var.parameter.argument_label>: [AnyLocalizedCollatableItem<\/ref.protocol>]<\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 1307,
@@ -64791,14 +67012,14 @@
                     "List-Number" : ""
                   }
                 ],
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LocalizedItemCollator.swift",
-                "key.doc.full_as_xml" : "providers<\/Name>s:10ListableUI21LocalizedItemCollatorV9collation5itemsACSo27UILocalizedIndexedCollationC_SayAA03Anyc10CollatableD0_pGtcfc9providersL_SayAC8Provider33_7EA791928592DFF016E56E231602D101LLCGvp<\/USR>let providers: [ListableUI.LocalizedItemCollator.Provider]<\/Declaration>Convert to providers so we can leverage collationStringSelector<\/codeVoice>, which is Objective-C only.<\/Para><\/Item><\/List-Number><\/Discussion><\/CommentParts><\/Other>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LocalizedItemCollator.swift",
+                "key.doc.full_as_xml" : "providers<\/Name>s:10ListableUI21LocalizedItemCollatorV9collation5itemsACSo27UILocalizedIndexedCollationC_SayAA03Anyc10CollatableD0_pGtcfc9providersL_SayAC8Provider33_7EA791928592DFF016E56E231602D101LLCGvp<\/USR>let providers: [ListableUI.LocalizedItemCollator.Provider]<\/Declaration>Convert to providers so we can leverage collationStringSelector<\/codeVoice>, which is Objective-C only.<\/Para><\/Item><\/List-Number><\/Discussion><\/CommentParts><\/Other>",
                 "key.doc.line" : 144,
                 "key.doc.name" : "providers",
                 "key.doc.type" : "Other",
                 "key.doclength" : 101,
                 "key.docoffset" : 4661,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LocalizedItemCollator.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LocalizedItemCollator.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> providers<\/decl.name>: [LocalizedItemCollator<\/ref.struct>.Provider<\/ref.class>]<\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 68,
@@ -64823,14 +67044,14 @@
                     "List-Number" : ""
                   }
                 ],
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LocalizedItemCollator.swift",
-                "key.doc.full_as_xml" : "collated<\/Name>s:10ListableUI21LocalizedItemCollatorV9collation5itemsACSo27UILocalizedIndexedCollationC_SayAA03Anyc10CollatableD0_pGtcfc8collatedL_SayAC15CollatedSectionVGvp<\/USR>var collated: [ListableUI.LocalizedItemCollator.CollatedSection]<\/Declaration>Convert the titles from the collation into sections.<\/Para><\/Item><\/List-Number><\/Discussion><\/CommentParts><\/Other>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LocalizedItemCollator.swift",
+                "key.doc.full_as_xml" : "collated<\/Name>s:10ListableUI21LocalizedItemCollatorV9collation5itemsACSo27UILocalizedIndexedCollationC_SayAA03Anyc10CollatableD0_pGtcfc8collatedL_SayAC15CollatedSectionVGvp<\/USR>var collated: [ListableUI.LocalizedItemCollator.CollatedSection]<\/Declaration>Convert the titles from the collation into sections.<\/Para><\/Item><\/List-Number><\/Discussion><\/CommentParts><\/Other>",
                 "key.doc.line" : 150,
                 "key.doc.name" : "collated",
                 "key.doc.type" : "Other",
                 "key.doclength" : 60,
                 "key.docoffset" : 4865,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LocalizedItemCollator.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LocalizedItemCollator.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> collated<\/decl.name>: [LocalizedItemCollator<\/ref.struct>.CollatedSection<\/ref.struct>]<\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 105,
@@ -64860,14 +67081,14 @@
                     "List-Number" : ""
                   }
                 ],
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LocalizedItemCollator.swift",
-                "key.doc.full_as_xml" : "sorted<\/Name>s:10ListableUI21LocalizedItemCollatorV9collation5itemsACSo27UILocalizedIndexedCollationC_SayAA03Anyc10CollatableD0_pGtcfc6sortedL_SayypGvp<\/USR>let sorted: [Any]<\/Declaration>Sort all of the provided content based on the collationString<\/codeVoice>.<\/Para><\/Item><\/List-Number><\/Discussion><\/CommentParts><\/Other>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LocalizedItemCollator.swift",
+                "key.doc.full_as_xml" : "sorted<\/Name>s:10ListableUI21LocalizedItemCollatorV9collation5itemsACSo27UILocalizedIndexedCollationC_SayAA03Anyc10CollatableD0_pGtcfc6sortedL_SayypGvp<\/USR>let sorted: [Any]<\/Declaration>Sort all of the provided content based on the collationString<\/codeVoice>.<\/Para><\/Item><\/List-Number><\/Discussion><\/CommentParts><\/Other>",
                 "key.doc.line" : 156,
                 "key.doc.name" : "sorted",
                 "key.doc.type" : "Other",
                 "key.doclength" : 72,
                 "key.docoffset" : 5065,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LocalizedItemCollator.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LocalizedItemCollator.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> sorted<\/decl.name>: [Any<\/syntaxtype.keyword>]<\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 121,
@@ -64885,7 +67106,7 @@
               {
                 "key.annotated_decl" : "let provider: Any<\/Declaration>",
                 "key.doc.comment" : "4) Insert the sorted content into the correct section's items.",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LocalizedItemCollator.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LocalizedItemCollator.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> provider<\/decl.name>: Any<\/syntaxtype.keyword><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 8,
@@ -64923,14 +67144,14 @@
             "key.doc.column" : 25,
             "key.doc.comment" : "A private wrapper that is used to ensure we have an Objective-C selector to vend to `collationStringSelector`.",
             "key.doc.declaration" : "private final class ListableUI.LocalizedItemCollator.Provider",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LocalizedItemCollator.swift",
-            "key.doc.full_as_xml" : "Provider<\/Name>s:10ListableUI21LocalizedItemCollatorV8Provider33_7EA791928592DFF016E56E231602D101LLC<\/USR>private final class ListableUI.LocalizedItemCollator.Provider<\/Declaration>A private wrapper that is used to ensure we have an Objective-C selector to vend to collationStringSelector<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Class>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LocalizedItemCollator.swift",
+            "key.doc.full_as_xml" : "Provider<\/Name>s:10ListableUI21LocalizedItemCollatorV8Provider33_7EA791928592DFF016E56E231602D101LLC<\/USR>private final class ListableUI.LocalizedItemCollator.Provider<\/Declaration>A private wrapper that is used to ensure we have an Objective-C selector to vend to collationStringSelector<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Class>",
             "key.doc.line" : 174,
             "key.doc.name" : "Provider",
             "key.doc.type" : "Class",
             "key.doclength" : 115,
             "key.docoffset" : 5849,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LocalizedItemCollator.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LocalizedItemCollator.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> LocalizedItemCollator<\/ref.struct>.Provider<\/decl.name><\/decl.class>",
             "key.kind" : "source.lang.swift.decl.class",
             "key.length" : 411,
@@ -64948,14 +67169,14 @@
                 "key.doc.column" : 13,
                 "key.doc.comment" : "The item backing the provider, to vend the `collationString`.",
                 "key.doc.declaration" : "let item: AnyLocalizedCollatableItem",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LocalizedItemCollator.swift",
-                "key.doc.full_as_xml" : "item<\/Name>s:10ListableUI21LocalizedItemCollatorV8Provider33_7EA791928592DFF016E56E231602D101LLC4itemAA03Anyc10CollatableD0_pvp<\/USR>let item: AnyLocalizedCollatableItem<\/Declaration>The item backing the provider, to vend the collationString<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LocalizedItemCollator.swift",
+                "key.doc.full_as_xml" : "item<\/Name>s:10ListableUI21LocalizedItemCollatorV8Provider33_7EA791928592DFF016E56E231602D101LLC4itemAA03Anyc10CollatableD0_pvp<\/USR>let item: AnyLocalizedCollatableItem<\/Declaration>The item backing the provider, to vend the collationString<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Other>",
                 "key.doc.line" : 177,
                 "key.doc.name" : "item",
                 "key.doc.type" : "Other",
                 "key.doclength" : 66,
                 "key.docoffset" : 6016,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LocalizedItemCollator.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LocalizedItemCollator.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> item<\/decl.name>: AnyLocalizedCollatableItem<\/ref.protocol><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 37,
@@ -64983,14 +67204,14 @@
                 "key.doc.column" : 19,
                 "key.doc.comment" : "The string used to collate all items.",
                 "key.doc.declaration" : "@objc let collationString: String",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LocalizedItemCollator.swift",
-                "key.doc.full_as_xml" : "collationString<\/Name>s:10ListableUI21LocalizedItemCollatorV8Provider33_7EA791928592DFF016E56E231602D101LLC15collationStringSSvp<\/USR>@objc let collationString: String<\/Declaration>The string used to collate all items.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LocalizedItemCollator.swift",
+                "key.doc.full_as_xml" : "collationString<\/Name>s:10ListableUI21LocalizedItemCollatorV8Provider33_7EA791928592DFF016E56E231602D101LLC15collationStringSSvp<\/USR>@objc let collationString: String<\/Declaration>The string used to collate all items.<\/Para><\/Abstract><\/CommentParts><\/Other>",
                 "key.doc.line" : 180,
                 "key.doc.name" : "collationString",
                 "key.doc.type" : "Other",
                 "key.doclength" : 42,
                 "key.docoffset" : 6145,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LocalizedItemCollator.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LocalizedItemCollator.swift",
                 "key.fully_annotated_decl" : "@objc<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> let<\/syntaxtype.keyword> collationString<\/decl.name>: String<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 28,
@@ -65010,7 +67231,7 @@
                 "key.annotated_decl" : "init(item: AnyLocalizedCollatableItem<\/Type>)<\/Declaration>",
                 "key.bodylength" : 99,
                 "key.bodyoffset" : 6287,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LocalizedItemCollator.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LocalizedItemCollator.swift",
                 "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(item<\/decl.var.parameter.argument_label>: AnyLocalizedCollatableItem<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 140,
@@ -65061,12 +67282,12 @@
             "Para" : "If you have a list that you wish to collate that may contain thousands of items, it is recommended that you store the list pre-collated outside of Listable, so each recreation of the list’s view model does not re-partake in an expensive sort operation. Instead only re-collate when the underlying list receives an update (from Core Data, an API callback, etc)."
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LocalizedItemCollator.swift",
-        "key.doc.full_as_xml" : "LocalizedItemCollator<\/Name>s:10ListableUI21LocalizedItemCollatorV<\/USR>public struct LocalizedItemCollator<\/Declaration>If you’re looking for the equivalent of UILocalizedIndexedCollation<\/codeVoice> for lists, you have come to the right place.<\/Para><\/Abstract>LocalizedItemCollator<\/codeVoice> takes in a list of unsorted content, and sorts and then partitions the content into sections, returning you a list of collated sections for display.<\/Para>Just like UILocalizedIndexedCollation<\/codeVoice>, LocalizedItemCollator<\/codeVoice> takes into account the localization settings of the device, using different collation for the various supported iOS languages.<\/Para>]]><\/rawHTML>Example]]><\/rawHTML><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>]]><\/rawHTML>Warning]]><\/rawHTML>Sorting and partitioning thousands and thousands of Items<\/codeVoice> each time a list updates can be expensive, especially on slower devices.<\/Para>If you have a list that you wish to collate that may contain thousands of items, it is recommended that you store the list pre-collated outside of Listable, so each recreation of the list’s view model does not re-partake in an expensive sort operation. Instead only re-collate when the underlying list receives an update (from Core Data, an API callback, etc).<\/Para><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LocalizedItemCollator.swift",
+        "key.doc.full_as_xml" : "LocalizedItemCollator<\/Name>s:10ListableUI21LocalizedItemCollatorV<\/USR>public struct LocalizedItemCollator<\/Declaration>If you’re looking for the equivalent of UILocalizedIndexedCollation<\/codeVoice> for lists, you have come to the right place.<\/Para><\/Abstract>LocalizedItemCollator<\/codeVoice> takes in a list of unsorted content, and sorts and then partitions the content into sections, returning you a list of collated sections for display.<\/Para>Just like UILocalizedIndexedCollation<\/codeVoice>, LocalizedItemCollator<\/codeVoice> takes into account the localization settings of the device, using different collation for the various supported iOS languages.<\/Para>]]><\/rawHTML>Example]]><\/rawHTML><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>]]><\/rawHTML>Warning]]><\/rawHTML>Sorting and partitioning thousands and thousands of Items<\/codeVoice> each time a list updates can be expensive, especially on slower devices.<\/Para>If you have a list that you wish to collate that may contain thousands of items, it is recommended that you store the list pre-collated outside of Listable, so each recreation of the list’s view model does not re-partake in an expensive sort operation. Instead only re-collate when the underlying list receives an update (from Core Data, an API callback, etc).<\/Para><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 83,
         "key.doc.name" : "LocalizedItemCollator",
         "key.doc.type" : "Class",
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LocalizedItemCollator.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LocalizedItemCollator.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> LocalizedItemCollator<\/decl.name><\/decl.struct>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 557,
@@ -65093,14 +67314,14 @@
             "key.doc.column" : 19,
             "key.doc.comment" : "The output of the collator, with the collated title and items\nthat should be added to a given section.",
             "key.doc.declaration" : "public struct CollatedSection",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LocalizedItemCollator.swift",
-            "key.doc.full_as_xml" : "CollatedSection<\/Name>s:10ListableUI21LocalizedItemCollatorV15CollatedSectionV<\/USR>public struct CollatedSection<\/Declaration>The output of the collator, with the collated title and items that should be added to a given section.<\/Para><\/Abstract><\/CommentParts><\/Class>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LocalizedItemCollator.swift",
+            "key.doc.full_as_xml" : "CollatedSection<\/Name>s:10ListableUI21LocalizedItemCollatorV15CollatedSectionV<\/USR>public struct CollatedSection<\/Declaration>The output of the collator, with the collated title and items that should be added to a given section.<\/Para><\/Abstract><\/CommentParts><\/Class>",
             "key.doc.line" : 194,
             "key.doc.name" : "CollatedSection",
             "key.doc.type" : "Class",
             "key.doclength" : 115,
             "key.docoffset" : 6441,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LocalizedItemCollator.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LocalizedItemCollator.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> CollatedSection<\/decl.name><\/decl.struct>",
             "key.kind" : "source.lang.swift.decl.struct",
             "key.length" : 386,
@@ -65125,14 +67346,14 @@
                 "key.doc.column" : 20,
                 "key.doc.comment" : "The title of section – a single letter like A, B, C, D, E, etc.\nLocalized depending on locale.\nSee https:\/\/nshipster.com\/uilocalizedindexedcollation\/ for more examples.",
                 "key.doc.declaration" : "public var title: String",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LocalizedItemCollator.swift",
-                "key.doc.full_as_xml" : "title<\/Name>s:10ListableUI21LocalizedItemCollatorV15CollatedSectionV5titleSSvp<\/USR>public var title: String<\/Declaration>The title of section – a single letter like A, B, C, D, E, etc. Localized depending on locale. See https:\/\/nshipster.com\/uilocalizedindexedcollation\/ for more examples.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LocalizedItemCollator.swift",
+                "key.doc.full_as_xml" : "title<\/Name>s:10ListableUI21LocalizedItemCollatorV15CollatedSectionV5titleSSvp<\/USR>public var title: String<\/Declaration>The title of section – a single letter like A, B, C, D, E, etc. Localized depending on locale. See https:\/\/nshipster.com\/uilocalizedindexedcollation\/ for more examples.<\/Para><\/Abstract><\/CommentParts><\/Other>",
                 "key.doc.line" : 199,
                 "key.doc.name" : "title",
                 "key.doc.type" : "Other",
                 "key.doclength" : 199,
                 "key.docoffset" : 6609,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LocalizedItemCollator.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LocalizedItemCollator.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> title<\/decl.name>: String<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 18,
@@ -65161,14 +67382,14 @@
                 "key.doc.column" : 20,
                 "key.doc.comment" : "The sorted items in the collated sections.",
                 "key.doc.declaration" : "public var items: [AnyItem]",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LocalizedItemCollator.swift",
-                "key.doc.full_as_xml" : "items<\/Name>s:10ListableUI21LocalizedItemCollatorV15CollatedSectionV5itemsSayAA03AnyD0_pGvp<\/USR>public var items: [AnyItem]<\/Declaration>The sorted items in the collated sections.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LocalizedItemCollator.swift",
+                "key.doc.full_as_xml" : "items<\/Name>s:10ListableUI21LocalizedItemCollatorV15CollatedSectionV5itemsSayAA03AnyD0_pGvp<\/USR>public var items: [AnyItem]<\/Declaration>The sorted items in the collated sections.<\/Para><\/Abstract><\/CommentParts><\/Other>",
                 "key.doc.line" : 202,
                 "key.doc.name" : "items",
                 "key.doc.type" : "Other",
                 "key.doclength" : 47,
                 "key.docoffset" : 6859,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LocalizedItemCollator.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LocalizedItemCollator.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> items<\/decl.name>: [AnyItem<\/ref.protocol>]<\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 26,
@@ -65208,7 +67429,7 @@
             "key.offset" : 7140
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Item\/Item.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Item\/Item.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> Item<\/decl.name><Content<\/decl.generic_type_param.name><\/decl.generic_type_param>> : AnyItem where<\/syntaxtype.keyword> Content : ItemContent<\/ref.protocol><\/decl.generic_type_requirement><\/decl.struct>",
         "key.inheritedtypes" : [
           {
@@ -65237,7 +67458,7 @@
             ],
             "key.bodylength" : 42,
             "key.bodyoffset" : 7261,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/LocalizedItemCollator.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/LocalizedItemCollator.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> collationString<\/decl.name>: String<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 72,
@@ -65265,7 +67486,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreview.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreview.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 5767,
     "key.offset" : 0,
@@ -65298,8 +67519,8 @@
             "CodeListing" : ""
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
-        "key.doc.full_as_xml" : "ItemPreview<\/Name>s:10ListableUI11ItemPreviewV<\/USR>@available(iOS 13.0, *)\npublic struct ItemPreview : View<\/Declaration>A SwiftUI view that you can use to preview your Item<\/codeVoice> or ItemContent<\/codeVoice> with Xcode’s built in preview functionality.<\/Para><\/Abstract>Place code similar to the below in your source file alongside your ItemContent<\/codeVoice>, and then open the Xcode editor’s canvas.<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
+        "key.doc.full_as_xml" : "ItemPreview<\/Name>s:10ListableUI11ItemPreviewV<\/USR>@available(iOS 13.0, *)\npublic struct ItemPreview : View<\/Declaration>A SwiftUI view that you can use to preview your Item<\/codeVoice> or ItemContent<\/codeVoice> with Xcode’s built in preview functionality.<\/Para><\/Abstract>Place code similar to the below in your source file alongside your ItemContent<\/codeVoice>, and then open the Xcode editor’s canvas.<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 35,
         "key.doc.name" : "ItemPreview",
         "key.doc.type" : "Class",
@@ -65312,7 +67533,7 @@
             "key.offset" : 808
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> ItemPreview<\/decl.name> : View<\/ref.protocol><\/decl.struct>",
         "key.inheritedtypes" : [
           {
@@ -65342,14 +67563,14 @@
             "key.doc.column" : 16,
             "key.doc.comment" : "The item being previewed by the preview.",
             "key.doc.declaration" : "public var item: AnyItem",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
-            "key.doc.full_as_xml" : "item<\/Name>s:10ListableUI11ItemPreviewV4itemAA03AnyC0_pvp<\/USR>public var item: AnyItem<\/Declaration>The item being previewed by the preview.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
+            "key.doc.full_as_xml" : "item<\/Name>s:10ListableUI11ItemPreviewV4itemAA03AnyC0_pvp<\/USR>public var item: AnyItem<\/Declaration>The item being previewed by the preview.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 38,
             "key.doc.name" : "item",
             "key.doc.type" : "Other",
             "key.doclength" : 45,
             "key.docoffset" : 819,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> item<\/decl.name>: AnyItem<\/ref.protocol><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 18,
@@ -65378,14 +67599,14 @@
             "key.doc.column" : 16,
             "key.doc.comment" : "The properties of the current preview.",
             "key.doc.declaration" : "public var properties: Properties",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
-            "key.doc.full_as_xml" : "properties<\/Name>s:10ListableUI11ItemPreviewV10propertiesAC10PropertiesVvp<\/USR>public var properties: Properties<\/Declaration>The properties of the current preview.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
+            "key.doc.full_as_xml" : "properties<\/Name>s:10ListableUI11ItemPreviewV10propertiesAC10PropertiesVvp<\/USR>public var properties: Properties<\/Declaration>The properties of the current preview.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 41,
             "key.doc.name" : "properties",
             "key.doc.type" : "Other",
             "key.doclength" : 43,
             "key.docoffset" : 903,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> properties<\/decl.name>: Properties<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 27,
@@ -65416,14 +67637,14 @@
             "key.doc.column" : 19,
             "key.doc.comment" : "The properties of a preview.",
             "key.doc.declaration" : "public struct ListableUI.ItemPreview.Properties",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
-            "key.doc.full_as_xml" : "Properties<\/Name>s:10ListableUI11ItemPreviewV10PropertiesV<\/USR>public struct ListableUI.ItemPreview.Properties<\/Declaration>The properties of a preview.<\/Para><\/Abstract><\/CommentParts><\/Class>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
+            "key.doc.full_as_xml" : "Properties<\/Name>s:10ListableUI11ItemPreviewV10PropertiesV<\/USR>public struct ListableUI.ItemPreview.Properties<\/Declaration>The properties of a preview.<\/Para><\/Abstract><\/CommentParts><\/Class>",
             "key.doc.line" : 44,
             "key.doc.name" : "Properties",
             "key.doc.type" : "Class",
             "key.doclength" : 33,
             "key.docoffset" : 994,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> ItemPreview<\/ref.struct>.Properties<\/decl.name><\/decl.struct>",
             "key.kind" : "source.lang.swift.decl.struct",
             "key.length" : 710,
@@ -65448,14 +67669,14 @@
                 "key.doc.column" : 20,
                 "key.doc.comment" : "The width of the preview.",
                 "key.doc.declaration" : "public var width: CGFloat",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
-                "key.doc.full_as_xml" : "width<\/Name>s:10ListableUI11ItemPreviewV10PropertiesV5width12CoreGraphics7CGFloatVvp<\/USR>public var width: CGFloat<\/Declaration>The width of the preview.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
+                "key.doc.full_as_xml" : "width<\/Name>s:10ListableUI11ItemPreviewV10PropertiesV5width12CoreGraphics7CGFloatVvp<\/USR>public var width: CGFloat<\/Declaration>The width of the preview.<\/Para><\/Abstract><\/CommentParts><\/Other>",
                 "key.doc.line" : 47,
                 "key.doc.name" : "width",
                 "key.doc.type" : "Other",
                 "key.doclength" : 30,
                 "key.docoffset" : 1070,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> width<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 19,
@@ -65484,14 +67705,14 @@
                 "key.doc.column" : 20,
                 "key.doc.comment" : "The `ItemState` to use in the preview.",
                 "key.doc.declaration" : "public var state: ItemState",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
-                "key.doc.full_as_xml" : "state<\/Name>s:10ListableUI11ItemPreviewV10PropertiesV5stateAA0C5StateVvp<\/USR>public var state: ItemState<\/Declaration>The ItemState<\/codeVoice> to use in the preview.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
+                "key.doc.full_as_xml" : "state<\/Name>s:10ListableUI11ItemPreviewV10PropertiesV5stateAA0C5StateVvp<\/USR>public var state: ItemState<\/Declaration>The ItemState<\/codeVoice> to use in the preview.<\/Para><\/Abstract><\/CommentParts><\/Other>",
                 "key.doc.line" : 49,
                 "key.doc.name" : "state",
                 "key.doc.type" : "Other",
                 "key.doclength" : 43,
                 "key.docoffset" : 1143,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> state<\/decl.name>: ItemState<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 21,
@@ -65520,14 +67741,14 @@
                 "key.doc.column" : 20,
                 "key.doc.comment" : "The desired appearance of the preview.",
                 "key.doc.declaration" : "public var appearance: ItemPreviewAppearance",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
-                "key.doc.full_as_xml" : "appearance<\/Name>s:10ListableUI11ItemPreviewV10PropertiesV10appearanceAA0cD10AppearanceVvp<\/USR>public var appearance: ItemPreviewAppearance<\/Declaration>The desired appearance of the preview.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
+                "key.doc.full_as_xml" : "appearance<\/Name>s:10ListableUI11ItemPreviewV10PropertiesV10appearanceAA0cD10AppearanceVvp<\/USR>public var appearance: ItemPreviewAppearance<\/Declaration>The desired appearance of the preview.<\/Para><\/Abstract><\/CommentParts><\/Other>",
                 "key.doc.line" : 51,
                 "key.doc.name" : "appearance",
                 "key.doc.type" : "Other",
                 "key.doclength" : 43,
                 "key.docoffset" : 1231,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> appearance<\/decl.name>: ItemPreviewAppearance<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 38,
@@ -65558,14 +67779,14 @@
                 "key.doc.column" : 16,
                 "key.doc.comment" : "Creates a new preview with the desired options.",
                 "key.doc.declaration" : "public init(with width: CGFloat = UIScreen.main.bounds.width, state: ItemState = .init(isSelected: false, isHighlighted: false), appearance: ItemPreviewAppearance = .init())",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
-                "key.doc.full_as_xml" : "init(with:state:appearance:)<\/Name>s:10ListableUI11ItemPreviewV10PropertiesV4with5state10appearanceAE12CoreGraphics7CGFloatV_AA0C5StateVAA0cD10AppearanceVtcfc<\/USR>public init(with width: CGFloat = UIScreen.main.bounds.width, state: ItemState = .init(isSelected: false, isHighlighted: false), appearance: ItemPreviewAppearance = .init())<\/Declaration>Creates a new preview with the desired options.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
+                "key.doc.full_as_xml" : "init(with:state:appearance:)<\/Name>s:10ListableUI11ItemPreviewV10PropertiesV4with5state10appearanceAE12CoreGraphics7CGFloatV_AA0C5StateVAA0cD10AppearanceVtcfc<\/USR>public init(with width: CGFloat = UIScreen.main.bounds.width, state: ItemState = .init(isSelected: false, isHighlighted: false), appearance: ItemPreviewAppearance = .init())<\/Declaration>Creates a new preview with the desired options.<\/Para><\/Abstract><\/CommentParts><\/Function>",
                 "key.doc.line" : 54,
                 "key.doc.name" : "init(with:state:appearance:)",
                 "key.doc.type" : "Function",
                 "key.doclength" : 52,
                 "key.docoffset" : 1345,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(with<\/decl.var.parameter.argument_label> width<\/decl.var.parameter.name>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = UIScreen.main.bounds.width<\/decl.var.parameter>, state<\/decl.var.parameter.argument_label>: ItemState<\/ref.struct><\/decl.var.parameter.type> = .init(isSelected: false, isHighlighted: false)<\/decl.var.parameter>, appearance<\/decl.var.parameter.argument_label>: ItemPreviewAppearance<\/ref.struct><\/decl.var.parameter.type> = .init()<\/decl.var.parameter>)<\/decl.function.constructor>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 330,
@@ -65603,14 +67824,14 @@
             "key.doc.column" : 24,
             "key.doc.comment" : "Creates and returns a SwiftUI view that contains individual previews for each of the provided\nproperties. Use this if you'd like to preview your `Item` across multiple sizes, states, etc.",
             "key.doc.declaration" : "public static func previews(for item: AnyItem, with properties: [Properties]) -> some View",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
-            "key.doc.full_as_xml" : "previews(for:with:)<\/Name>s:10ListableUI11ItemPreviewV8previews3for4withQrAA03AnyC0_p_SayAC10PropertiesVGtFZ<\/USR>public static func previews(for item: AnyItem, with properties: [Properties]) -> some View<\/Declaration>Creates and returns a SwiftUI view that contains individual previews for each of the provided properties. Use this if you’d like to preview your Item<\/codeVoice> across multiple sizes, states, etc.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
+            "key.doc.full_as_xml" : "previews(for:with:)<\/Name>s:10ListableUI11ItemPreviewV8previews3for4withQrAA03AnyC0_p_SayAC10PropertiesVGtFZ<\/USR>public static func previews(for item: AnyItem, with properties: [Properties]) -> some View<\/Declaration>Creates and returns a SwiftUI view that contains individual previews for each of the provided properties. Use this if you’d like to preview your Item<\/codeVoice> across multiple sizes, states, etc.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 67,
             "key.doc.name" : "previews(for:with:)",
             "key.doc.type" : "Function",
             "key.doclength" : 200,
             "key.docoffset" : 1758,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> previews<\/decl.name>(for<\/decl.var.parameter.argument_label> item<\/decl.var.parameter.name>: AnyItem<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>, with<\/decl.var.parameter.argument_label> properties<\/decl.var.parameter.name>: [Properties<\/ref.struct>]<\/decl.var.parameter.type><\/decl.var.parameter>) -> some<\/syntaxtype.keyword> View<\/ref.protocol><\/decl.function.returntype><\/decl.function.method.static>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
             "key.length" : 782,
@@ -65627,7 +67848,7 @@
                 "key.annotated_decl" : "struct PreviewsItem<\/Declaration>",
                 "key.bodylength" : 264,
                 "key.bodyoffset" : 2098,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
                 "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> PreviewsItem<\/decl.name><\/decl.struct>",
                 "key.kind" : "source.lang.swift.decl.struct",
                 "key.length" : 294,
@@ -65642,7 +67863,7 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "var item: AnyItem<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
                     "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> item<\/decl.name>: AnyItem<\/ref.protocol><\/decl.var.type><\/decl.var.instance>",
                     "key.kind" : "source.lang.swift.decl.var.instance",
                     "key.length" : 18,
@@ -65661,7 +67882,7 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "var properties: Properties<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
                     "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> properties<\/decl.name>: Properties<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                     "key.kind" : "source.lang.swift.decl.var.instance",
                     "key.length" : 27,
@@ -65680,7 +67901,7 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.internal",
                     "key.annotated_decl" : "var identifier: Identifier<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
                     "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> identifier<\/decl.name>: Identifier<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                     "key.kind" : "source.lang.swift.decl.var.instance",
                     "key.length" : 27,
@@ -65708,7 +67929,7 @@
                         "key.offset" : 2260
                       }
                     ],
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
                     "key.fully_annotated_decl" : "struct<\/syntaxtype.keyword> PreviewsItem<\/ref.struct>.Identifier<\/decl.name> : Hashable<\/ref.protocol><\/decl.struct>",
                     "key.inheritedtypes" : [
                       {
@@ -65728,7 +67949,7 @@
                       {
                         "key.accessibility" : "source.lang.swift.accessibility.internal",
                         "key.annotated_decl" : "var index: Int<\/Type><\/Declaration>",
-                        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
+                        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
                         "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> index<\/decl.name>: Int<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                         "key.kind" : "source.lang.swift.decl.var.instance",
                         "key.length" : 15,
@@ -65747,7 +67968,7 @@
                       {
                         "key.accessibility" : "source.lang.swift.accessibility.internal",
                         "key.annotated_decl" : "var totalCount: Int<\/Type><\/Declaration>",
-                        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
+                        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
                         "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> totalCount<\/decl.name>: Int<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                         "key.kind" : "source.lang.swift.decl.var.instance",
                         "key.length" : 20,
@@ -65775,7 +67996,7 @@
               },
               {
                 "key.annotated_decl" : "let previewsItems: [PreviewsItem<\/Type>]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> previewsItems<\/decl.name>: [PreviewsItem<\/ref.struct>]<\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 230,
@@ -65815,14 +68036,14 @@
                 "CodeListing" : ""
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
-            "key.doc.full_as_xml" : "withAllItemStates(for:width:appearance:)<\/Name>s:10ListableUI11ItemPreviewV07withAllC6States3for5width10appearanceQrAA03AnyC0_p_12CoreGraphics7CGFloatVAA0cD10AppearanceVtFZ<\/USR>public static func withAllItemStates(for item: AnyItem, width: CGFloat = UIScreen.main.bounds.width, appearance: ItemPreviewAppearance = .init()) -> some View<\/Declaration>Creates and returns a SwiftUI view that contains individual previews for all the possible states of ItemState<\/codeVoice>. This allows you to see your Item<\/codeVoice> across the possible selected and highlighted states it can appear in:<\/Para><\/Abstract><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
+            "key.doc.full_as_xml" : "withAllItemStates(for:width:appearance:)<\/Name>s:10ListableUI11ItemPreviewV07withAllC6States3for5width10appearanceQrAA03AnyC0_p_12CoreGraphics7CGFloatVAA0cD10AppearanceVtFZ<\/USR>public static func withAllItemStates(for item: AnyItem, width: CGFloat = UIScreen.main.bounds.width, appearance: ItemPreviewAppearance = .init()) -> some View<\/Declaration>Creates and returns a SwiftUI view that contains individual previews for all the possible states of ItemState<\/codeVoice>. This allows you to see your Item<\/codeVoice> across the possible selected and highlighted states it can appear in:<\/Para><\/Abstract><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Function>",
             "key.doc.line" : 105,
             "key.doc.name" : "withAllItemStates(for:width:appearance:)",
             "key.doc.type" : "Function",
             "key.doclength" : 458,
             "key.docoffset" : 2761,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> withAllItemStates<\/decl.name>(for<\/decl.var.parameter.argument_label> item<\/decl.var.parameter.name>: AnyItem<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>, width<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = UIScreen.main.bounds.width<\/decl.var.parameter>, appearance<\/decl.var.parameter.argument_label>: ItemPreviewAppearance<\/ref.struct><\/decl.var.parameter.type> = .init()<\/decl.var.parameter>) -> some<\/syntaxtype.keyword> View<\/ref.protocol><\/decl.function.returntype><\/decl.function.method.static>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
             "key.length" : 645,
@@ -65836,7 +68057,7 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let states: [ItemState<\/Type>]<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> states<\/decl.name>: [ItemState<\/ref.struct>]<\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 290,
@@ -65879,14 +68100,14 @@
             "key.doc.column" : 12,
             "key.doc.comment" : "Creates a new preview with the provided properties.",
             "key.doc.declaration" : "public init(_ item: AnyItem, width: CGFloat = UIScreen.main.bounds.width, state: ItemState = .init(isSelected: false, isHighlighted: false), appearance: ItemPreviewAppearance = .init())",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
-            "key.doc.full_as_xml" : "init(_:width:state:appearance:)<\/Name>s:10ListableUI11ItemPreviewV_5width5state10appearanceAcA03AnyC0_p_12CoreGraphics7CGFloatVAA0C5StateVAA0cD10AppearanceVtcfc<\/USR>public init(_ item: AnyItem, width: CGFloat = UIScreen.main.bounds.width, state: ItemState = .init(isSelected: false, isHighlighted: false), appearance: ItemPreviewAppearance = .init())<\/Declaration>Creates a new preview with the provided properties.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
+            "key.doc.full_as_xml" : "init(_:width:state:appearance:)<\/Name>s:10ListableUI11ItemPreviewV_5width5state10appearanceAcA03AnyC0_p_12CoreGraphics7CGFloatVAA0C5StateVAA0cD10AppearanceVtcfc<\/USR>public init(_ item: AnyItem, width: CGFloat = UIScreen.main.bounds.width, state: ItemState = .init(isSelected: false, isHighlighted: false), appearance: ItemPreviewAppearance = .init())<\/Declaration>Creates a new preview with the provided properties.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 128,
             "key.doc.name" : "init(_:width:state:appearance:)",
             "key.doc.type" : "Function",
             "key.doclength" : 56,
             "key.docoffset" : 3932,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(_<\/decl.var.parameter.argument_label> item<\/decl.var.parameter.name>: AnyItem<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>, width<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = UIScreen.main.bounds.width<\/decl.var.parameter>, state<\/decl.var.parameter.argument_label>: ItemState<\/ref.struct><\/decl.var.parameter.type> = .init(isSelected: false, isHighlighted: false)<\/decl.var.parameter>, appearance<\/decl.var.parameter.argument_label>: ItemPreviewAppearance<\/ref.struct><\/decl.var.parameter.type> = .init()<\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 423,
@@ -65924,14 +68145,14 @@
             "key.doc.column" : 12,
             "key.doc.comment" : "Creates a new preview with the provided properties.",
             "key.doc.declaration" : "public init(_ item: AnyItem, properties: Properties)",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
-            "key.doc.full_as_xml" : "init(_:properties:)<\/Name>s:10ListableUI11ItemPreviewV_10propertiesAcA03AnyC0_p_AC10PropertiesVtcfc<\/USR>public init(_ item: AnyItem, properties: Properties)<\/Declaration>Creates a new preview with the provided properties.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
+            "key.doc.full_as_xml" : "init(_:properties:)<\/Name>s:10ListableUI11ItemPreviewV_10propertiesAcA03AnyC0_p_AC10PropertiesVtcfc<\/USR>public init(_ item: AnyItem, properties: Properties)<\/Declaration>Creates a new preview with the provided properties.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 145,
             "key.doc.name" : "init(_:properties:)",
             "key.doc.type" : "Function",
             "key.doclength" : 56,
             "key.docoffset" : 4432,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(_<\/decl.var.parameter.argument_label> item<\/decl.var.parameter.name>: AnyItem<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>, properties<\/decl.var.parameter.argument_label>: Properties<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 148,
@@ -65983,7 +68204,7 @@
             "key.doc.full_as_xml" : "body<\/Name>s:7SwiftUI4ViewP4body4BodyQzvp<\/USR>@ViewBuilder var body: Self.Body { get }<\/Declaration>The content and behavior of the view.<\/Para><\/Abstract>This documentation comment was inherited from View<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Other>",
             "key.doc.name" : "body",
             "key.doc.type" : "Other",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> body<\/decl.name>: some<\/syntaxtype.keyword> View<\/ref.protocol><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 233,
@@ -66015,7 +68236,7 @@
             ],
             "key.bodylength" : 114,
             "key.bodyoffset" : 4993,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> var<\/syntaxtype.keyword> previewDisplayName<\/decl.name>: String<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 148,
@@ -66049,7 +68270,7 @@
                 "key.offset" : 5154
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> ItemPreview<\/ref.struct>.ItemPreviewWrapper<\/decl.name> : UIViewRepresentable<\/ref.protocol><\/decl.struct>",
             "key.inheritedtypes" : [
               {
@@ -66076,7 +68297,7 @@
                     "key.offset" : 5188
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> item<\/decl.name>: AnyItem<\/ref.protocol><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 18,
@@ -66102,7 +68323,7 @@
                     "key.offset" : 5222
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> properties<\/decl.name>: Properties<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 27,
@@ -66137,7 +68358,7 @@
                 "key.doc.full_as_xml" : "UIViewType<\/Name>s:7SwiftUI19UIViewRepresentableP0C4TypeQa<\/USR>associatedtype UIViewType : UIView<\/Declaration>The type of view to present.<\/Para><\/Abstract>This documentation comment was inherited from UIViewRepresentable<\/codeVoice>.<\/Para><\/Note><\/Discussion><\/CommentParts><\/Other>",
                 "key.doc.name" : "UIViewType",
                 "key.doc.type" : "Other",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> typealias<\/syntaxtype.keyword> ItemPreview<\/ref.struct>.ItemPreviewWrapper<\/ref.struct>.UIViewType<\/decl.name> = ItemPreviewView<\/ref.class><\/decl.typealias>",
                 "key.kind" : "source.lang.swift.decl.typealias",
                 "key.length" : 38,
@@ -66196,7 +68417,7 @@
                   }
                 ],
                 "key.doc.type" : "Function",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> makeUIView<\/decl.name>(context<\/decl.var.parameter.argument_label>: Context<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>) -> UIViewType<\/ref.typealias><\/decl.function.returntype><\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 96,
@@ -66261,7 +68482,7 @@
                   }
                 ],
                 "key.doc.type" : "Function",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreview.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> updateUIView<\/decl.name>(_<\/decl.var.parameter.argument_label> view<\/decl.var.parameter.name>: UIViewType<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>, context<\/decl.var.parameter.argument_label>: Context<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 285,
@@ -66297,9 +68518,9 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreviewAppearance.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreviewAppearance.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
-    "key.length" : 962,
+    "key.length" : 963,
     "key.offset" : 0,
     "key.substructure" : [
       {
@@ -66312,13 +68533,13 @@
             "key.offset" : 161
           }
         ],
-        "key.bodylength" : 750,
+        "key.bodylength" : 751,
         "key.bodyoffset" : 210,
         "key.doc.column" : 15,
         "key.doc.comment" : "The appearance options for a preview item.",
         "key.doc.declaration" : "public struct ItemPreviewAppearance : Equatable",
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreviewAppearance.swift",
-        "key.doc.full_as_xml" : "ItemPreviewAppearance<\/Name>s:10ListableUI21ItemPreviewAppearanceV<\/USR>public struct ItemPreviewAppearance : Equatable<\/Declaration>The appearance options for a preview item.<\/Para><\/Abstract><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreviewAppearance.swift",
+        "key.doc.full_as_xml" : "ItemPreviewAppearance<\/Name>s:10ListableUI21ItemPreviewAppearanceV<\/USR>public struct ItemPreviewAppearance : Equatable<\/Declaration>The appearance options for a preview item.<\/Para><\/Abstract><\/CommentParts><\/Class>",
         "key.doc.line" : 12,
         "key.doc.name" : "ItemPreviewAppearance",
         "key.doc.type" : "Class",
@@ -66331,7 +68552,7 @@
             "key.offset" : 199
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreviewAppearance.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreviewAppearance.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> ItemPreviewAppearance<\/decl.name> : Equatable<\/ref.protocol><\/decl.struct>",
         "key.inheritedtypes" : [
           {
@@ -66339,7 +68560,7 @@
           }
         ],
         "key.kind" : "source.lang.swift.decl.struct",
-        "key.length" : 793,
+        "key.length" : 794,
         "key.name" : "ItemPreviewAppearance",
         "key.namelength" : 21,
         "key.nameoffset" : 175,
@@ -66354,14 +68575,14 @@
             "key.doc.column" : 9,
             "key.doc.comment" : "The padding to show around an item.",
             "key.doc.declaration" : "var padding: CGFloat",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreviewAppearance.swift",
-            "key.doc.full_as_xml" : "padding<\/Name>s:10ListableUI21ItemPreviewAppearanceV7padding12CoreGraphics7CGFloatVvp<\/USR>var padding: CGFloat<\/Declaration>The padding to show around an item.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreviewAppearance.swift",
+            "key.doc.full_as_xml" : "padding<\/Name>s:10ListableUI21ItemPreviewAppearanceV7padding12CoreGraphics7CGFloatVvp<\/USR>var padding: CGFloat<\/Declaration>The padding to show around an item.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 15,
             "key.doc.name" : "padding",
             "key.doc.type" : "Other",
             "key.doclength" : 40,
             "key.docoffset" : 215,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreviewAppearance.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreviewAppearance.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> padding<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 21,
@@ -66383,14 +68604,14 @@
             "key.doc.column" : 9,
             "key.doc.comment" : "The background color to show behind an item.\nDefaults to white.",
             "key.doc.declaration" : "var backgroundColor: UIColor",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreviewAppearance.swift",
-            "key.doc.full_as_xml" : "backgroundColor<\/Name>s:10ListableUI21ItemPreviewAppearanceV15backgroundColorSo7UIColorCvp<\/USR>var backgroundColor: UIColor<\/Declaration>The background color to show behind an item. Defaults to white.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreviewAppearance.swift",
+            "key.doc.full_as_xml" : "backgroundColor<\/Name>s:10ListableUI21ItemPreviewAppearanceV15backgroundColorSo7UIColorCvp<\/USR>var backgroundColor: UIColor<\/Declaration>The background color to show behind an item. Defaults to white.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 19,
             "key.doc.name" : "backgroundColor",
             "key.doc.type" : "Other",
             "key.doclength" : 76,
             "key.docoffset" : 290,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreviewAppearance.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreviewAppearance.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> backgroundColor<\/decl.name>: UIColor<\/ref.class><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 29,
@@ -66421,14 +68642,14 @@
             "key.doc.column" : 12,
             "key.doc.comment" : "Creates a new preview appearance.",
             "key.doc.declaration" : "public init(padding: CGFloat = 20.0, backgroundColor: UIColor = .white)",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreviewAppearance.swift",
-            "key.doc.full_as_xml" : "init(padding:backgroundColor:)<\/Name>s:10ListableUI21ItemPreviewAppearanceV7padding15backgroundColorAC12CoreGraphics7CGFloatV_So7UIColorCtcfc<\/USR>public init(padding: CGFloat = 20.0, backgroundColor: UIColor = .white)<\/Declaration>Creates a new preview appearance.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreviewAppearance.swift",
+            "key.doc.full_as_xml" : "init(padding:backgroundColor:)<\/Name>s:10ListableUI21ItemPreviewAppearanceV7padding15backgroundColorAC12CoreGraphics7CGFloatV_So7UIColorCtcfc<\/USR>public init(padding: CGFloat = 20.0, backgroundColor: UIColor = .white)<\/Declaration>Creates a new preview appearance.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 22,
             "key.doc.name" : "init(padding:backgroundColor:)",
             "key.doc.type" : "Function",
             "key.doclength" : 38,
             "key.docoffset" : 409,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreviewAppearance.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreviewAppearance.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(padding<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = 20.0<\/decl.var.parameter>, backgroundColor<\/decl.var.parameter.argument_label>: UIColor<\/ref.class><\/decl.var.parameter.type> = .white<\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 174,
@@ -66449,12 +68670,12 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "func configure(list properties: inout ListProperties<\/Type>)<\/Declaration>",
-            "key.bodylength" : 256,
+            "key.bodylength" : 257,
             "key.bodyoffset" : 702,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreviewAppearance.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreviewAppearance.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> configure<\/decl.name>(list<\/decl.var.parameter.argument_label> properties<\/decl.var.parameter.name>: inout<\/syntaxtype.keyword> ListProperties<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 317,
+            "key.length" : 318,
             "key.name" : "configure(list:)",
             "key.namelength" : 49,
             "key.nameoffset" : 647,
@@ -66477,7 +68698,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreviewView.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreviewView.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 4122,
     "key.offset" : 0,
@@ -66513,8 +68734,8 @@
             "Para" : "This view sizes itself to fit the provided `Item` when you call its `view.update(..)` method. You do not need to call `layoutIfNeeded()` or `sizeToFit()`, etc, to properly size and lay out the view."
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreviewView.swift",
-        "key.doc.full_as_xml" : "ItemPreviewView<\/Name>c:@M@ListableUI@objc(cs)ItemPreviewView<\/USR>public final class ItemPreviewView : UIView<\/Declaration>A view you can use to test the various possible states that your ItemContent<\/codeVoice> can be in.<\/Para><\/Abstract>This view is usually used alongside snapshot tests, to capture your ItemContent<\/codeVoice> in its selected or highlighted, or to see how it reacts to different sizing configuration.<\/Para>If you’d like to use this view alongside Xcode previews, see ItemPreview<\/codeVoice>.<\/Para>]]><\/rawHTML>Note]]><\/rawHTML>This view sizes itself to fit the provided Item<\/codeVoice> when you call its view.update(..)<\/codeVoice> method. You do not need to call layoutIfNeeded()<\/codeVoice> or sizeToFit()<\/codeVoice>, etc, to properly size and lay out the view.<\/Para><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreviewView.swift",
+        "key.doc.full_as_xml" : "ItemPreviewView<\/Name>c:@M@ListableUI@objc(cs)ItemPreviewView<\/USR>public final class ItemPreviewView : UIView<\/Declaration>A view you can use to test the various possible states that your ItemContent<\/codeVoice> can be in.<\/Para><\/Abstract>This view is usually used alongside snapshot tests, to capture your ItemContent<\/codeVoice> in its selected or highlighted, or to see how it reacts to different sizing configuration.<\/Para>If you’d like to use this view alongside Xcode previews, see ItemPreview<\/codeVoice>.<\/Para>]]><\/rawHTML>Note]]><\/rawHTML>This view sizes itself to fit the provided Item<\/codeVoice> when you call its view.update(..)<\/codeVoice> method. You do not need to call layoutIfNeeded()<\/codeVoice> or sizeToFit()<\/codeVoice>, etc, to properly size and lay out the view.<\/Para><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 25,
         "key.doc.name" : "ItemPreviewView",
         "key.doc.type" : "Class",
@@ -66527,7 +68748,7 @@
             "key.offset" : 748
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreviewView.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreviewView.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> ItemPreviewView<\/decl.name> : UIView<\/ref.class><\/decl.class>",
         "key.inheritedtypes" : [
           {
@@ -66557,14 +68778,14 @@
             "key.doc.column" : 17,
             "key.doc.comment" : "The list used to render the content.",
             "key.doc.declaration" : "private let listView: ListView",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreviewView.swift",
-            "key.doc.full_as_xml" : "listView<\/Name>s:10ListableUI15ItemPreviewViewC04listE033_0518A7150E42BD8A8926F15465CA97DDLLAA04ListE0Cvp<\/USR>private let listView: ListView<\/Declaration>The list used to render the content.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreviewView.swift",
+            "key.doc.full_as_xml" : "listView<\/Name>s:10ListableUI15ItemPreviewViewC04listE033_0518A7150E42BD8A8926F15465CA97DDLLAA04ListE0Cvp<\/USR>private let listView: ListView<\/Declaration>The list used to render the content.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 28,
             "key.doc.name" : "listView",
             "key.doc.type" : "Other",
             "key.doclength" : 41,
             "key.docoffset" : 768,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreviewView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreviewView.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> let<\/syntaxtype.keyword> listView<\/decl.name>: ListView<\/ref.class><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 23,
@@ -66602,14 +68823,14 @@
             "key.doc.column" : 12,
             "key.doc.comment" : "Creates a preview for the given width.",
             "key.doc.declaration" : "public init()",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreviewView.swift",
-            "key.doc.full_as_xml" : "init()<\/Name>c:@M@ListableUI@objc(cs)ItemPreviewView(im)init<\/USR>public init()<\/Declaration>Creates a preview for the given width.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreviewView.swift",
+            "key.doc.full_as_xml" : "init()<\/Name>c:@M@ListableUI@objc(cs)ItemPreviewView(im)init<\/USR>public init()<\/Declaration>Creates a preview for the given width.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 35,
             "key.doc.name" : "init()",
             "key.doc.type" : "Function",
             "key.doclength" : 43,
             "key.docoffset" : 901,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreviewView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreviewView.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>()<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 292,
@@ -66657,14 +68878,14 @@
             "key.doc.column" : 24,
             "key.doc.comment" : "Creates a preview for the given item and parameters, and then lays out the preview view.",
             "key.doc.declaration" : "public convenience init(with width: CGFloat = UIScreen.main.bounds.width, state: ItemState = .init(isSelected: false, isHighlighted: false), appearance: ItemPreviewAppearance = .init(), item: AnyItem)",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreviewView.swift",
-            "key.doc.full_as_xml" : "init(with:state:appearance:item:)<\/Name>s:10ListableUI15ItemPreviewViewC4with5state10appearance4itemAC12CoreGraphics7CGFloatV_AA0C5StateVAA0cD10AppearanceVAA03AnyC0_ptcfc<\/USR>public convenience init(with width: CGFloat = UIScreen.main.bounds.width, state: ItemState = .init(isSelected: false, isHighlighted: false), appearance: ItemPreviewAppearance = .init(), item: AnyItem)<\/Declaration>Creates a preview for the given item and parameters, and then lays out the preview view.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreviewView.swift",
+            "key.doc.full_as_xml" : "init(with:state:appearance:item:)<\/Name>s:10ListableUI15ItemPreviewViewC4with5state10appearance4itemAC12CoreGraphics7CGFloatV_AA0C5StateVAA0cD10AppearanceVAA03AnyC0_ptcfc<\/USR>public convenience init(with width: CGFloat = UIScreen.main.bounds.width, state: ItemState = .init(isSelected: false, isHighlighted: false), appearance: ItemPreviewAppearance = .init(), item: AnyItem)<\/Declaration>Creates a preview for the given item and parameters, and then lays out the preview view.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 48,
             "key.doc.name" : "init(with:state:appearance:item:)",
             "key.doc.type" : "Function",
             "key.doclength" : 93,
             "key.docoffset" : 1257,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreviewView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreviewView.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> convenience<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(with<\/decl.var.parameter.argument_label> width<\/decl.var.parameter.name>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = UIScreen.main.bounds.width<\/decl.var.parameter>, state<\/decl.var.parameter.argument_label>: ItemState<\/ref.struct><\/decl.var.parameter.type> = .init(isSelected: false, isHighlighted: false)<\/decl.var.parameter>, appearance<\/decl.var.parameter.argument_label>: ItemPreviewAppearance<\/ref.struct><\/decl.var.parameter.type> = .init()<\/decl.var.parameter>, item<\/decl.var.parameter.argument_label>: AnyItem<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 343,
@@ -66710,14 +68931,14 @@
             "key.doc.column" : 17,
             "key.doc.comment" : "Updates the item for the given parameters.\nThis method changes the view's size; you dont need to resize the view after setting an item.",
             "key.doc.declaration" : "public func update(with width: CGFloat = UIScreen.main.bounds.width, state: ItemState = .init(isSelected: false, isHighlighted: false), appearance: ItemPreviewAppearance = .init(), item: AnyItem)",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreviewView.swift",
-            "key.doc.full_as_xml" : "update(with:state:appearance:item:)<\/Name>s:10ListableUI15ItemPreviewViewC6update4with5state10appearance4itemy12CoreGraphics7CGFloatV_AA0C5StateVAA0cD10AppearanceVAA03AnyC0_ptF<\/USR>public func update(with width: CGFloat = UIScreen.main.bounds.width, state: ItemState = .init(isSelected: false, isHighlighted: false), appearance: ItemPreviewAppearance = .init(), item: AnyItem)<\/Declaration>Updates the item for the given parameters. This method changes the view’s size; you dont need to resize the view after setting an item.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreviewView.swift",
+            "key.doc.full_as_xml" : "update(with:state:appearance:item:)<\/Name>s:10ListableUI15ItemPreviewViewC6update4with5state10appearance4itemy12CoreGraphics7CGFloatV_AA0C5StateVAA0cD10AppearanceVAA03AnyC0_ptF<\/USR>public func update(with width: CGFloat = UIScreen.main.bounds.width, state: ItemState = .init(isSelected: false, isHighlighted: false), appearance: ItemPreviewAppearance = .init(), item: AnyItem)<\/Declaration>Updates the item for the given parameters. This method changes the view’s size; you dont need to resize the view after setting an item.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 65,
             "key.doc.name" : "update(with:state:appearance:item:)",
             "key.doc.type" : "Function",
             "key.doclength" : 148,
             "key.docoffset" : 1774,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreviewView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreviewView.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> update<\/decl.name>(with<\/decl.var.parameter.argument_label> width<\/decl.var.parameter.name>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = UIScreen.main.bounds.width<\/decl.var.parameter>, state<\/decl.var.parameter.argument_label>: ItemState<\/ref.struct><\/decl.var.parameter.type> = .init(isSelected: false, isHighlighted: false)<\/decl.var.parameter>, appearance<\/decl.var.parameter.argument_label>: ItemPreviewAppearance<\/ref.struct><\/decl.var.parameter.type> = .init()<\/decl.var.parameter>, item<\/decl.var.parameter.argument_label>: AnyItem<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 1707,
@@ -66734,14 +68955,14 @@
                 "key.doc.column" : 13,
                 "key.doc.comment" : "Update the cell for the preview.",
                 "key.doc.declaration" : "let indexPath: IndexPath",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreviewView.swift",
-                "key.doc.full_as_xml" : "indexPath<\/Name>s:10ListableUI15ItemPreviewViewC6update4with5state10appearance4itemy12CoreGraphics7CGFloatV_AA0C5StateVAA0cD10AppearanceVAA03AnyC0_ptF9indexPathL_10Foundation05IndexR0Vvp<\/USR>let indexPath: IndexPath<\/Declaration>Update the cell for the preview.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreviewView.swift",
+                "key.doc.full_as_xml" : "indexPath<\/Name>s:10ListableUI15ItemPreviewViewC6update4with5state10appearance4itemy12CoreGraphics7CGFloatV_AA0C5StateVAA0cD10AppearanceVAA03AnyC0_ptF9indexPathL_10Foundation05IndexR0Vvp<\/USR>let indexPath: IndexPath<\/Declaration>Update the cell for the preview.<\/Para><\/Abstract><\/CommentParts><\/Other>",
                 "key.doc.line" : 96,
                 "key.doc.name" : "indexPath",
                 "key.doc.type" : "Other",
                 "key.doclength" : 37,
                 "key.docoffset" : 3006,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreviewView.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreviewView.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> indexPath<\/decl.name>: IndexPath<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 46,
@@ -66758,7 +68979,7 @@
               },
               {
                 "key.annotated_decl" : "let presentationState: AnyPresentationItemState<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreviewView.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreviewView.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> presentationState<\/decl.name>: AnyPresentationItemState<\/ref.protocol><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 83,
@@ -66830,7 +69051,7 @@
             ],
             "key.bodylength" : 95,
             "key.bodyoffset" : 3812,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreviewView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreviewView.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> override<\/syntaxtype.keyword> func<\/syntaxtype.keyword> layoutSubviews<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 119,
@@ -66870,7 +69091,7 @@
             ],
             "key.bodylength" : 39,
             "key.bodyoffset" : 3979,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreviewView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreviewView.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> override<\/syntaxtype.keyword> func<\/syntaxtype.keyword> sizeThatFits<\/decl.name>(_<\/decl.var.parameter.argument_label> size<\/decl.var.parameter.name>: CGSize<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGSize<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 85,
@@ -66910,7 +69131,7 @@
             ],
             "key.bodylength" : 39,
             "key.bodyoffset" : 4079,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Previews\/ItemPreviewView.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Previews\/ItemPreviewView.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> override<\/syntaxtype.keyword> var<\/syntaxtype.keyword> intrinsicContentSize<\/decl.name>: CGSize<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 74,
@@ -66938,7 +69159,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/RefreshControl.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/RefreshControl.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 814,
     "key.offset" : 0,
@@ -66955,7 +69176,7 @@
         ],
         "key.bodylength" : 522,
         "key.bodyoffset" : 141,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/RefreshControl.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/RefreshControl.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> RefreshControl<\/decl.name><\/decl.struct>",
         "key.kind" : "source.lang.swift.decl.struct",
         "key.length" : 546,
@@ -66977,7 +69198,7 @@
                 "key.offset" : 146
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/RefreshControl.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/RefreshControl.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> isRefreshing<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 23,
@@ -67003,7 +69224,7 @@
                 "key.offset" : 186
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/RefreshControl.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/RefreshControl.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> title<\/decl.name>: Title<\/ref.enum>?<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 18,
@@ -67029,7 +69250,7 @@
                 "key.offset" : 221
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/RefreshControl.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/RefreshControl.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> tintColor<\/decl.name>: UIColor<\/ref.class>?<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 24,
@@ -67055,7 +69276,7 @@
                 "key.offset" : 262
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/RefreshControl.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/RefreshControl.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> typealias<\/syntaxtype.keyword> RefreshControl<\/ref.struct>.OnRefresh<\/decl.name> = () -> ()<\/tuple><\/decl.function.returntype><\/decl.typealias>",
             "key.kind" : "source.lang.swift.decl.typealias",
             "key.length" : 30,
@@ -67080,7 +69301,7 @@
                 "key.offset" : 304
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/RefreshControl.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/RefreshControl.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> onRefresh<\/decl.name>: OnRefresh<\/ref.typealias><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 25,
@@ -67108,7 +69329,7 @@
             ],
             "key.bodylength" : 153,
             "key.bodyoffset" : 508,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/RefreshControl.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/RefreshControl.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(isRefreshing<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, title<\/decl.var.parameter.argument_label>: Title<\/ref.enum>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, tintColor<\/decl.var.parameter.argument_label>: UIColor<\/ref.class>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, onRefresh<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> OnRefresh<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 309,
@@ -67135,7 +69356,7 @@
         "key.annotated_decl" : "public struct RefreshControl<\/Declaration>",
         "key.bodylength" : 119,
         "key.bodyoffset" : 693,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/RefreshControl.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/RefreshControl.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> RefreshControl<\/decl.name><\/decl.struct>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 146,
@@ -67166,7 +69387,7 @@
                 "key.offset" : 718
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/RefreshControl.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/RefreshControl.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> enum<\/syntaxtype.keyword> Title<\/decl.name> : Equatable<\/ref.protocol><\/decl.enum>",
             "key.inheritedtypes" : [
               {
@@ -67193,7 +69414,7 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.public",
                     "key.annotated_decl" : "case string(String<\/Type>)<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/RefreshControl.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/RefreshControl.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> string<\/decl.name>(String<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 14,
@@ -67223,7 +69444,7 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.public",
                     "key.annotated_decl" : "case attributed(NSAttributedString<\/Type>)<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/RefreshControl.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/RefreshControl.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> attributed<\/decl.name>(NSAttributedString<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 30,
@@ -67256,7 +69477,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ReorderingActions.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ReorderingActions.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 1451,
     "key.offset" : 0,
@@ -67278,7 +69499,7 @@
         ],
         "key.bodylength" : 1021,
         "key.bodyoffset" : 135,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ReorderingActions.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ReorderingActions.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> final<\/syntaxtype.keyword> class<\/syntaxtype.keyword> ReorderingActions<\/decl.name><\/decl.class>",
         "key.kind" : "source.lang.swift.decl.class",
         "key.length" : 1047,
@@ -67305,7 +69526,7 @@
                 "key.offset" : 140
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ReorderingActions.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ReorderingActions.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> private<\/syntaxtype.keyword>(set) var<\/syntaxtype.keyword> isMoving<\/decl.name>: Bool<\/ref.struct><\/decl.var.type> { get }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 19,
@@ -67336,7 +69557,7 @@
                 "key.offset" : 189
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ReorderingActions.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ReorderingActions.swift",
             "key.fully_annotated_decl" : "internal<\/syntaxtype.keyword> weak<\/syntaxtype.keyword> var<\/syntaxtype.keyword> item<\/decl.name>: AnyPresentationItemState<\/ref.protocol><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 36,
@@ -67367,7 +69588,7 @@
                 "key.offset" : 244
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ReorderingActions.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ReorderingActions.swift",
             "key.fully_annotated_decl" : "internal<\/syntaxtype.keyword> weak<\/syntaxtype.keyword> var<\/syntaxtype.keyword> delegate<\/decl.name>: ReorderingActionsDelegate<\/ref.protocol><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 41,
@@ -67388,7 +69609,7 @@
             "key.annotated_decl" : "init()<\/Declaration>",
             "key.bodylength" : 35,
             "key.bodyoffset" : 321,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ReorderingActions.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ReorderingActions.swift",
             "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>()<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 48,
@@ -67415,7 +69636,7 @@
             ],
             "key.bodylength" : 314,
             "key.bodyoffset" : 406,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ReorderingActions.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ReorderingActions.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> beginMoving<\/decl.name>() -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 347,
@@ -67445,7 +69666,7 @@
             ],
             "key.bodylength" : 159,
             "key.bodyoffset" : 796,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ReorderingActions.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ReorderingActions.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> moved<\/decl.name>(with<\/decl.var.parameter.argument_label> recognizer<\/decl.var.parameter.name>: UIPanGestureRecognizer<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 218,
@@ -67475,7 +69696,7 @@
             ],
             "key.bodylength" : 165,
             "key.bodyoffset" : 989,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ReorderingActions.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ReorderingActions.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> end<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 182,
@@ -67510,7 +69731,7 @@
             "key.offset" : 1197
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ReorderingActions.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ReorderingActions.swift",
         "key.fully_annotated_decl" : "protocol<\/syntaxtype.keyword> ReorderingActionsDelegate<\/decl.name> : AnyObject<\/decl.protocol>",
         "key.inheritedtypes" : [
           {
@@ -67530,7 +69751,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "func beginInteractiveMovementFor(item: AnyPresentationItemState<\/Type>) -> Bool<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ReorderingActions.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ReorderingActions.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> beginInteractiveMovementFor<\/decl.name>(item<\/decl.var.parameter.argument_label>: AnyPresentationItemState<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 73,
@@ -67551,7 +69772,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "func updateInteractiveMovementTargetPosition(with recognizer: UIPanGestureRecognizer<\/Type>)<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ReorderingActions.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ReorderingActions.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> updateInteractiveMovementTargetPosition<\/decl.name>(with<\/decl.var.parameter.argument_label> recognizer<\/decl.var.parameter.name>: UIPanGestureRecognizer<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 86,
@@ -67572,7 +69793,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "func endInteractiveMovement()<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ReorderingActions.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ReorderingActions.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> endInteractiveMovement<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 29,
@@ -67590,7 +69811,7 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "func cancelInteractiveMovement()<\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ReorderingActions.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ReorderingActions.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> cancelInteractiveMovement<\/decl.name>()<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 32,
@@ -67613,7 +69834,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollAnimation.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollAnimation.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 3172,
     "key.offset" : 0,
@@ -67633,14 +69854,14 @@
         "key.doc.column" : 13,
         "key.doc.comment" : "Specifies the kind of animation to use when scrolling a list view.",
         "key.doc.declaration" : "public enum ScrollAnimation",
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollAnimation.swift",
-        "key.doc.full_as_xml" : "ScrollAnimation<\/Name>s:10ListableUI15ScrollAnimationO<\/USR>public enum ScrollAnimation<\/Declaration>Specifies the kind of animation to use when scrolling a list view.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollAnimation.swift",
+        "key.doc.full_as_xml" : "ScrollAnimation<\/Name>s:10ListableUI15ScrollAnimationO<\/USR>public enum ScrollAnimation<\/Declaration>Specifies the kind of animation to use when scrolling a list view.<\/Para><\/Abstract><\/CommentParts><\/Other>",
         "key.doc.line" : 12,
         "key.doc.name" : "ScrollAnimation",
         "key.doc.type" : "Other",
         "key.doclength" : 71,
         "key.docoffset" : 114,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollAnimation.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollAnimation.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> enum<\/syntaxtype.keyword> ScrollAnimation<\/decl.name><\/decl.enum>",
         "key.kind" : "source.lang.swift.decl.enum",
         "key.length" : 2007,
@@ -67665,14 +69886,14 @@
                 "key.doc.column" : 10,
                 "key.doc.comment" : "No animation is performed.",
                 "key.doc.declaration" : "",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollAnimation.swift",
-                "key.doc.full_as_xml" : "none<\/Name>s:10ListableUI15ScrollAnimationO4noneyA2CmF<\/USR><\/Declaration>No animation is performed.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollAnimation.swift",
+                "key.doc.full_as_xml" : "none<\/Name>s:10ListableUI15ScrollAnimationO4noneyA2CmF<\/USR><\/Declaration>No animation is performed.<\/Para><\/Abstract><\/CommentParts><\/Other>",
                 "key.doc.line" : 15,
                 "key.doc.name" : "none",
                 "key.doc.type" : "Other",
                 "key.doclength" : 31,
                 "key.docoffset" : 224,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollAnimation.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollAnimation.swift",
                 "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> none<\/decl.name><\/decl.enumelement>",
                 "key.kind" : "source.lang.swift.decl.enumelement",
                 "key.length" : 4,
@@ -67702,14 +69923,14 @@
                 "key.doc.column" : 10,
                 "key.doc.comment" : "A default animation is performed. This is the same as `.custom()`.",
                 "key.doc.declaration" : "",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollAnimation.swift",
-                "key.doc.full_as_xml" : "default<\/Name>s:10ListableUI15ScrollAnimationO7defaultyA2CmF<\/USR><\/Declaration>A default animation is performed. This is the same as .custom()<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollAnimation.swift",
+                "key.doc.full_as_xml" : "default<\/Name>s:10ListableUI15ScrollAnimationO7defaultyA2CmF<\/USR><\/Declaration>A default animation is performed. This is the same as .custom()<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Other>",
                 "key.doc.line" : 18,
                 "key.doc.name" : "default",
                 "key.doc.type" : "Other",
                 "key.doclength" : 71,
                 "key.docoffset" : 278,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollAnimation.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollAnimation.swift",
                 "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> `default`<\/decl.name><\/decl.enumelement>",
                 "key.kind" : "source.lang.swift.decl.enumelement",
                 "key.length" : 9,
@@ -67739,14 +69960,14 @@
                 "key.doc.column" : 10,
                 "key.doc.comment" : "A custom animation is performed.\nThe default parameters are 0.25 seconds and `.curveEaseInOut` animation curve.",
                 "key.doc.declaration" : "",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollAnimation.swift",
-                "key.doc.full_as_xml" : "custom(duration:options:)<\/Name>s:10ListableUI15ScrollAnimationO6customyACSd_ShyAC0D7OptionsOGtcACmF<\/USR><\/Declaration>A custom animation is performed. The default parameters are 0.25 seconds and .curveEaseInOut<\/codeVoice> animation curve.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollAnimation.swift",
+                "key.doc.full_as_xml" : "custom(duration:options:)<\/Name>s:10ListableUI15ScrollAnimationO6customyACSd_ShyAC0D7OptionsOGtcACmF<\/USR><\/Declaration>A custom animation is performed. The default parameters are 0.25 seconds and .curveEaseInOut<\/codeVoice> animation curve.<\/Para><\/Abstract><\/CommentParts><\/Other>",
                 "key.doc.line" : 22,
                 "key.doc.name" : "custom(duration:options:)",
                 "key.doc.type" : "Other",
                 "key.doclength" : 124,
                 "key.docoffset" : 377,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollAnimation.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollAnimation.swift",
                 "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> custom<\/decl.name>(duration<\/decl.var.parameter.argument_label>: TimeInterval<\/ref.typealias><\/decl.var.parameter.type> = 0.25<\/decl.var.parameter>, options<\/decl.var.parameter.argument_label>: Set<\/ref.struct><AnimationOptions<\/ref.enum>><\/decl.var.parameter.type> = .default<\/decl.var.parameter>)<\/decl.enumelement>",
                 "key.kind" : "source.lang.swift.decl.enumelement",
                 "key.length" : 82,
@@ -67776,7 +69997,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.public",
                 "key.annotated_decl" : "case spring(duration: TimeInterval<\/Type> = 0.25, timing: UISpringTimingParameters<\/Type> = .init())<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollAnimation.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollAnimation.swift",
                 "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> spring<\/decl.name>(duration<\/decl.var.parameter.argument_label>: TimeInterval<\/ref.typealias><\/decl.var.parameter.type> = 0.25<\/decl.var.parameter>, timing<\/decl.var.parameter.argument_label>: UISpringTimingParameters<\/ref.class><\/decl.var.parameter.type> = .init()<\/decl.var.parameter>)<\/decl.enumelement>",
                 "key.kind" : "source.lang.swift.decl.enumelement",
                 "key.length" : 83,
@@ -67811,14 +70032,14 @@
             "key.doc.column" : 17,
             "key.doc.comment" : "Ands the animation with the provided bool, returning the animation if true, and `.none` if false.",
             "key.doc.declaration" : "public func and(with animated: Bool) -> ScrollAnimation",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollAnimation.swift",
-            "key.doc.full_as_xml" : "and(with:)<\/Name>s:10ListableUI15ScrollAnimationO3and4withACSb_tF<\/USR>public func and(with animated: Bool) -> ScrollAnimation<\/Declaration>Ands the animation with the provided bool, returning the animation if true, and .none<\/codeVoice> if false.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollAnimation.swift",
+            "key.doc.full_as_xml" : "and(with:)<\/Name>s:10ListableUI15ScrollAnimationO3and4withACSb_tF<\/USR>public func and(with animated: Bool) -> ScrollAnimation<\/Declaration>Ands the animation with the provided bool, returning the animation if true, and .none<\/codeVoice> if false.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 27,
             "key.doc.name" : "and(with:)",
             "key.doc.type" : "Function",
             "key.doclength" : 102,
             "key.docoffset" : 700,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollAnimation.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollAnimation.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> and<\/decl.name>(with<\/decl.var.parameter.argument_label> animated<\/decl.var.parameter.name>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ScrollAnimation<\/ref.enum><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 155,
@@ -67851,14 +70072,14 @@
             "key.doc.column" : 17,
             "key.doc.comment" : "Performs the provided animations for the `ScrollAnimation`.",
             "key.doc.declaration" : "public func perform(animations: @escaping () -> (), completion: @escaping (Bool) -> () = { _ in })",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollAnimation.swift",
-            "key.doc.full_as_xml" : "perform(animations:completion:)<\/Name>s:10ListableUI15ScrollAnimationO7perform10animations10completionyyyc_ySbctF<\/USR>public func perform(animations: @escaping () -> (), completion: @escaping (Bool) -> () = { _ in })<\/Declaration>Performs the provided animations for the ScrollAnimation<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollAnimation.swift",
+            "key.doc.full_as_xml" : "perform(animations:completion:)<\/Name>s:10ListableUI15ScrollAnimationO7perform10animations10completionyyyc_ySbctF<\/USR>public func perform(animations: @escaping () -> (), completion: @escaping (Bool) -> () = { _ in })<\/Declaration>Performs the provided animations for the ScrollAnimation<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 36,
             "key.doc.name" : "perform(animations:completion:)",
             "key.doc.type" : "Function",
             "key.doclength" : 64,
             "key.docoffset" : 978,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollAnimation.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollAnimation.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> perform<\/decl.name>(animations<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> () -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type><\/decl.var.parameter>, completion<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> (Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type> = { _ in }<\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 1144,
@@ -67887,12 +70108,12 @@
         "key.bodyoffset" : 2229,
         "key.doc.column" : 13,
         "key.doc.declaration" : "public enum ScrollAnimation",
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollAnimation.swift",
-        "key.doc.full_as_xml" : "ScrollAnimation<\/Name>s:10ListableUI15ScrollAnimationO<\/USR>public enum ScrollAnimation<\/Declaration>Specifies the kind of animation to use when scrolling a list view.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollAnimation.swift",
+        "key.doc.full_as_xml" : "ScrollAnimation<\/Name>s:10ListableUI15ScrollAnimationO<\/USR>public enum ScrollAnimation<\/Declaration>Specifies the kind of animation to use when scrolling a list view.<\/Para><\/Abstract><\/CommentParts><\/Other>",
         "key.doc.line" : 12,
         "key.doc.name" : "ScrollAnimation",
         "key.doc.type" : "Other",
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollAnimation.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollAnimation.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> enum<\/syntaxtype.keyword> ScrollAnimation<\/decl.name><\/decl.enum>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 258,
@@ -67919,8 +70140,8 @@
             "key.doc.column" : 17,
             "key.doc.comment" : "The animations options available for the `ScrollAnimation`.",
             "key.doc.declaration" : "public enum AnimationOptions : Hashable",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollAnimation.swift",
-            "key.doc.full_as_xml" : "AnimationOptions<\/Name>s:10ListableUI15ScrollAnimationO0D7OptionsO<\/USR>public enum AnimationOptions : Hashable<\/Declaration>The animations options available for the ScrollAnimation<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollAnimation.swift",
+            "key.doc.full_as_xml" : "AnimationOptions<\/Name>s:10ListableUI15ScrollAnimationO0D7OptionsO<\/USR>public enum AnimationOptions : Hashable<\/Declaration>The animations options available for the ScrollAnimation<\/codeVoice>.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 80,
             "key.doc.name" : "AnimationOptions",
             "key.doc.type" : "Other",
@@ -67933,7 +70154,7 @@
                 "key.offset" : 2338
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollAnimation.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollAnimation.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> enum<\/syntaxtype.keyword> AnimationOptions<\/decl.name> : Hashable<\/ref.protocol><\/decl.enum>",
             "key.inheritedtypes" : [
               {
@@ -67960,7 +70181,7 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.public",
                     "key.annotated_decl" : "case curveEaseInOut<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollAnimation.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollAnimation.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> curveEaseInOut<\/decl.name><\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 14,
@@ -67987,7 +70208,7 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.public",
                     "key.annotated_decl" : "case curveEaseIn<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollAnimation.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollAnimation.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> curveEaseIn<\/decl.name><\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 11,
@@ -68014,7 +70235,7 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.public",
                     "key.annotated_decl" : "case curveEaseOut<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollAnimation.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollAnimation.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> curveEaseOut<\/decl.name><\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 12,
@@ -68041,7 +70262,7 @@
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.public",
                     "key.annotated_decl" : "case curveLinear<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollAnimation.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollAnimation.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> curveLinear<\/decl.name><\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 11,
@@ -68164,7 +70385,7 @@
             ],
             "key.bodylength" : 31,
             "key.bodyoffset" : 2574,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollAnimation.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollAnimation.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> static<\/syntaxtype.keyword> var<\/syntaxtype.keyword> `default`<\/decl.name>: `Self`<\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.static>",
             "key.groupname" : "Collection\/HashedCollections",
             "key.kind" : "source.lang.swift.decl.var.static",
@@ -68184,7 +70405,7 @@
             "key.annotated_decl" : "var toSystem: UIView<\/Type>.AnimationOptions<\/Type> { get }<\/Declaration>",
             "key.bodylength" : 512,
             "key.bodyoffset" : 2656,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollAnimation.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollAnimation.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> toSystem<\/decl.name>: UIView<\/ref.class>.AnimationOptions<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.groupname" : "Collection\/HashedCollections",
             "key.kind" : "source.lang.swift.decl.var.instance",
@@ -68202,7 +70423,7 @@
           },
           {
             "key.annotated_decl" : "var options: UIView<\/Type>.AnimationOptions<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollAnimation.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollAnimation.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> options<\/decl.name>: UIView<\/ref.class>.AnimationOptions<\/ref.struct><\/decl.var.type><\/decl.var.local>",
             "key.groupname" : "Collection\/HashedCollections",
             "key.kind" : "source.lang.swift.decl.var.local",
@@ -68226,7 +70447,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollPosition.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollPosition.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 2092,
     "key.offset" : 0,
@@ -68251,8 +70472,8 @@
             "Para" : "You can specify a position (top, center, bottom), what to do if the item is already visible on screen, and any additional custom offset to apply to the scroll event."
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollPosition.swift",
-        "key.doc.full_as_xml" : "ScrollPosition<\/Name>s:10ListableUI14ScrollPositionV<\/USR>public struct ScrollPosition : Equatable<\/Declaration>Specifies how to position an item in a list when requesting the list scrolls to it.<\/Para><\/Abstract>You can specify a position (top, center, bottom), what to do if the item is already visible on screen, and any additional custom offset to apply to the scroll event.<\/Para><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollPosition.swift",
+        "key.doc.full_as_xml" : "ScrollPosition<\/Name>s:10ListableUI14ScrollPositionV<\/USR>public struct ScrollPosition : Equatable<\/Declaration>Specifies how to position an item in a list when requesting the list scrolls to it.<\/Para><\/Abstract>You can specify a position (top, center, bottom), what to do if the item is already visible on screen, and any additional custom offset to apply to the scroll event.<\/Para><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 14,
         "key.doc.name" : "ScrollPosition",
         "key.doc.type" : "Class",
@@ -68265,7 +70486,7 @@
             "key.offset" : 397
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollPosition.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollPosition.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> ScrollPosition<\/decl.name> : Equatable<\/ref.protocol><\/decl.struct>",
         "key.inheritedtypes" : [
           {
@@ -68288,14 +70509,14 @@
             "key.doc.column" : 9,
             "key.doc.comment" : "The position to scroll to within the list.",
             "key.doc.declaration" : "var position: Position",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollPosition.swift",
-            "key.doc.full_as_xml" : "position<\/Name>s:10ListableUI14ScrollPositionV8positionAC0D0Ovp<\/USR>var position: Position<\/Declaration>The position to scroll to within the list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollPosition.swift",
+            "key.doc.full_as_xml" : "position<\/Name>s:10ListableUI14ScrollPositionV8positionAC0D0Ovp<\/USR>var position: Position<\/Declaration>The position to scroll to within the list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 17,
             "key.doc.name" : "position",
             "key.doc.type" : "Other",
             "key.doclength" : 47,
             "key.docoffset" : 413,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollPosition.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollPosition.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> position<\/decl.name>: Position<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 23,
@@ -68317,14 +70538,14 @@
             "key.doc.column" : 9,
             "key.doc.comment" : "The rule to apply if the item is already partially visible within the list.",
             "key.doc.declaration" : "var ifAlreadyVisible: IfAlreadyVisible",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollPosition.swift",
-            "key.doc.full_as_xml" : "ifAlreadyVisible<\/Name>s:10ListableUI14ScrollPositionV16ifAlreadyVisibleAC02IffG0Ovp<\/USR>var ifAlreadyVisible: IfAlreadyVisible<\/Declaration>The rule to apply if the item is already partially visible within the list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollPosition.swift",
+            "key.doc.full_as_xml" : "ifAlreadyVisible<\/Name>s:10ListableUI14ScrollPositionV16ifAlreadyVisibleAC02IffG0Ovp<\/USR>var ifAlreadyVisible: IfAlreadyVisible<\/Declaration>The rule to apply if the item is already partially visible within the list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 20,
             "key.doc.name" : "ifAlreadyVisible",
             "key.doc.type" : "Other",
             "key.doclength" : 80,
             "key.docoffset" : 497,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollPosition.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollPosition.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> ifAlreadyVisible<\/decl.name>: IfAlreadyVisible<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 39,
@@ -68346,14 +70567,14 @@
             "key.doc.column" : 9,
             "key.doc.comment" : "The offset to apply when scrolling to the item in the list.",
             "key.doc.declaration" : "var offset: CGFloat",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollPosition.swift",
-            "key.doc.full_as_xml" : "offset<\/Name>s:10ListableUI14ScrollPositionV6offset12CoreGraphics7CGFloatVvp<\/USR>var offset: CGFloat<\/Declaration>The offset to apply when scrolling to the item in the list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollPosition.swift",
+            "key.doc.full_as_xml" : "offset<\/Name>s:10ListableUI14ScrollPositionV6offset12CoreGraphics7CGFloatVvp<\/USR>var offset: CGFloat<\/Declaration>The offset to apply when scrolling to the item in the list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 23,
             "key.doc.name" : "offset",
             "key.doc.type" : "Other",
             "key.doclength" : 64,
             "key.docoffset" : 629,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollPosition.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollPosition.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> offset<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 20,
@@ -68384,14 +70605,14 @@
             "key.doc.column" : 12,
             "key.doc.comment" : "Creates a new scroll position with the provided values.",
             "key.doc.declaration" : "public init(position: Position, ifAlreadyVisible: IfAlreadyVisible = .doNothing, offset: CGFloat = 0.0)",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollPosition.swift",
-            "key.doc.full_as_xml" : "init(position:ifAlreadyVisible:offset:)<\/Name>s:10ListableUI14ScrollPositionV8position16ifAlreadyVisible6offsetA2C0D0O_AC02IfgH0O12CoreGraphics7CGFloatVtcfc<\/USR>public init(position: Position, ifAlreadyVisible: IfAlreadyVisible = .doNothing, offset: CGFloat = 0.0)<\/Declaration>Creates a new scroll position with the provided values.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollPosition.swift",
+            "key.doc.full_as_xml" : "init(position:ifAlreadyVisible:offset:)<\/Name>s:10ListableUI14ScrollPositionV8position16ifAlreadyVisible6offsetA2C0D0O_AC02IfgH0O12CoreGraphics7CGFloatVtcfc<\/USR>public init(position: Position, ifAlreadyVisible: IfAlreadyVisible = .doNothing, offset: CGFloat = 0.0)<\/Declaration>Creates a new scroll position with the provided values.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 26,
             "key.doc.name" : "init(position:ifAlreadyVisible:offset:)",
             "key.doc.type" : "Function",
             "key.doclength" : 60,
             "key.docoffset" : 727,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollPosition.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollPosition.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(position<\/decl.var.parameter.argument_label>: Position<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>, ifAlreadyVisible<\/decl.var.parameter.argument_label>: IfAlreadyVisible<\/ref.enum><\/decl.var.parameter.type> = .doNothing<\/decl.var.parameter>, offset<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = 0.0<\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 248,
@@ -68425,12 +70646,12 @@
             "Para" : "You can specify a position (top, center, bottom), what to do if the item is already visible on screen, and any additional custom offset to apply to the scroll event."
           }
         ],
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollPosition.swift",
-        "key.doc.full_as_xml" : "ScrollPosition<\/Name>s:10ListableUI14ScrollPositionV<\/USR>public struct ScrollPosition : Equatable<\/Declaration>Specifies how to position an item in a list when requesting the list scrolls to it.<\/Para><\/Abstract>You can specify a position (top, center, bottom), what to do if the item is already visible on screen, and any additional custom offset to apply to the scroll event.<\/Para><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollPosition.swift",
+        "key.doc.full_as_xml" : "ScrollPosition<\/Name>s:10ListableUI14ScrollPositionV<\/USR>public struct ScrollPosition : Equatable<\/Declaration>Specifies how to position an item in a list when requesting the list scrolls to it.<\/Para><\/Abstract>You can specify a position (top, center, bottom), what to do if the item is already visible on screen, and any additional custom offset to apply to the scroll event.<\/Para><\/Discussion><\/CommentParts><\/Class>",
         "key.doc.line" : 14,
         "key.doc.name" : "ScrollPosition",
         "key.doc.type" : "Class",
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollPosition.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollPosition.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> ScrollPosition<\/decl.name> : Equatable<\/ref.protocol><\/decl.struct>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 1040,
@@ -68457,8 +70678,8 @@
             "key.doc.column" : 17,
             "key.doc.comment" : "How the item should be positioned within the list.",
             "key.doc.declaration" : "public enum Position : Equatable",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollPosition.swift",
-            "key.doc.full_as_xml" : "Position<\/Name>s:10ListableUI14ScrollPositionV0D0O<\/USR>public enum Position : Equatable<\/Declaration>How the item should be positioned within the list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollPosition.swift",
+            "key.doc.full_as_xml" : "Position<\/Name>s:10ListableUI14ScrollPositionV0D0O<\/USR>public enum Position : Equatable<\/Declaration>How the item should be positioned within the list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 41,
             "key.doc.name" : "Position",
             "key.doc.type" : "Other",
@@ -68471,7 +70692,7 @@
                 "key.offset" : 1164
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollPosition.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollPosition.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> enum<\/syntaxtype.keyword> Position<\/decl.name> : Equatable<\/ref.protocol><\/decl.enum>",
             "key.inheritedtypes" : [
               {
@@ -68501,14 +70722,14 @@
                     "key.doc.column" : 14,
                     "key.doc.comment" : "Scroll the item to the top of the list.",
                     "key.doc.declaration" : "",
-                    "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollPosition.swift",
-                    "key.doc.full_as_xml" : "top<\/Name>s:10ListableUI14ScrollPositionV0D0O3topyA2EmF<\/USR><\/Declaration>Scroll the item to the top of the list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                    "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollPosition.swift",
+                    "key.doc.full_as_xml" : "top<\/Name>s:10ListableUI14ScrollPositionV0D0O3topyA2EmF<\/USR><\/Declaration>Scroll the item to the top of the list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
                     "key.doc.line" : 44,
                     "key.doc.name" : "top",
                     "key.doc.type" : "Other",
                     "key.doclength" : 44,
                     "key.docoffset" : 1188,
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollPosition.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollPosition.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> top<\/decl.name><\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 3,
@@ -68538,14 +70759,14 @@
                     "key.doc.column" : 14,
                     "key.doc.comment" : "Scroll the item to the middle of the list.",
                     "key.doc.declaration" : "",
-                    "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollPosition.swift",
-                    "key.doc.full_as_xml" : "centered<\/Name>s:10ListableUI14ScrollPositionV0D0O8centeredyA2EmF<\/USR><\/Declaration>Scroll the item to the middle of the list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                    "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollPosition.swift",
+                    "key.doc.full_as_xml" : "centered<\/Name>s:10ListableUI14ScrollPositionV0D0O8centeredyA2EmF<\/USR><\/Declaration>Scroll the item to the middle of the list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
                     "key.doc.line" : 47,
                     "key.doc.name" : "centered",
                     "key.doc.type" : "Other",
                     "key.doclength" : 47,
                     "key.docoffset" : 1266,
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollPosition.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollPosition.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> centered<\/decl.name><\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 8,
@@ -68575,14 +70796,14 @@
                     "key.doc.column" : 14,
                     "key.doc.comment" : "Scroll the item to the bottom of the list.",
                     "key.doc.declaration" : "",
-                    "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollPosition.swift",
-                    "key.doc.full_as_xml" : "bottom<\/Name>s:10ListableUI14ScrollPositionV0D0O6bottomyA2EmF<\/USR><\/Declaration>Scroll the item to the bottom of the list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                    "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollPosition.swift",
+                    "key.doc.full_as_xml" : "bottom<\/Name>s:10ListableUI14ScrollPositionV0D0O6bottomyA2EmF<\/USR><\/Declaration>Scroll the item to the bottom of the list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
                     "key.doc.line" : 50,
                     "key.doc.name" : "bottom",
                     "key.doc.type" : "Other",
                     "key.doclength" : 47,
                     "key.docoffset" : 1352,
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollPosition.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollPosition.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> bottom<\/decl.name><\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 6,
@@ -68604,7 +70825,7 @@
                 "key.annotated_decl" : "var UICollectionViewScrollPosition: UICollectionView<\/Type>.ScrollPosition<\/Type> { get }<\/Declaration>",
                 "key.bodylength" : 180,
                 "key.bodyoffset" : 1506,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollPosition.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollPosition.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> UICollectionViewScrollPosition<\/decl.name>: UICollectionView<\/ref.class>.ScrollPosition<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 251,
@@ -68639,8 +70860,8 @@
             "key.doc.column" : 17,
             "key.doc.comment" : "What action should be taken if an item is already partially visible within a list.",
             "key.doc.declaration" : "public enum IfAlreadyVisible : Equatable",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollPosition.swift",
-            "key.doc.full_as_xml" : "IfAlreadyVisible<\/Name>s:10ListableUI14ScrollPositionV16IfAlreadyVisibleO<\/USR>public enum IfAlreadyVisible : Equatable<\/Declaration>What action should be taken if an item is already partially visible within a list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollPosition.swift",
+            "key.doc.full_as_xml" : "IfAlreadyVisible<\/Name>s:10ListableUI14ScrollPositionV16IfAlreadyVisibleO<\/USR>public enum IfAlreadyVisible : Equatable<\/Declaration>What action should be taken if an item is already partially visible within a list.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 63,
             "key.doc.name" : "IfAlreadyVisible",
             "key.doc.type" : "Other",
@@ -68653,7 +70874,7 @@
                 "key.offset" : 1830
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollPosition.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollPosition.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> enum<\/syntaxtype.keyword> IfAlreadyVisible<\/decl.name> : Equatable<\/ref.protocol><\/decl.enum>",
             "key.inheritedtypes" : [
               {
@@ -68683,14 +70904,14 @@
                     "key.doc.column" : 14,
                     "key.doc.comment" : "Do not perform any action if the item is already partially visible.",
                     "key.doc.declaration" : "",
-                    "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollPosition.swift",
-                    "key.doc.full_as_xml" : "doNothing<\/Name>s:10ListableUI14ScrollPositionV16IfAlreadyVisibleO9doNothingyA2EmF<\/USR><\/Declaration>Do not perform any action if the item is already partially visible.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                    "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollPosition.swift",
+                    "key.doc.full_as_xml" : "doNothing<\/Name>s:10ListableUI14ScrollPositionV16IfAlreadyVisibleO9doNothingyA2EmF<\/USR><\/Declaration>Do not perform any action if the item is already partially visible.<\/Para><\/Abstract><\/CommentParts><\/Other>",
                     "key.doc.line" : 66,
                     "key.doc.name" : "doNothing",
                     "key.doc.type" : "Other",
                     "key.doclength" : 72,
                     "key.docoffset" : 1854,
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollPosition.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollPosition.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> doNothing<\/decl.name><\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 9,
@@ -68720,14 +70941,14 @@
                     "key.doc.column" : 14,
                     "key.doc.comment" : "Scroll the item to the desired `Position`, even if it is already partially visible.",
                     "key.doc.declaration" : "",
-                    "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollPosition.swift",
-                    "key.doc.full_as_xml" : "scrollToPosition<\/Name>s:10ListableUI14ScrollPositionV16IfAlreadyVisibleO08scrollToD0yA2EmF<\/USR><\/Declaration>Scroll the item to the desired Position<\/codeVoice>, even if it is already partially visible.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                    "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollPosition.swift",
+                    "key.doc.full_as_xml" : "scrollToPosition<\/Name>s:10ListableUI14ScrollPositionV16IfAlreadyVisibleO08scrollToD0yA2EmF<\/USR><\/Declaration>Scroll the item to the desired Position<\/codeVoice>, even if it is already partially visible.<\/Para><\/Abstract><\/CommentParts><\/Other>",
                     "key.doc.line" : 69,
                     "key.doc.name" : "scrollToPosition",
                     "key.doc.type" : "Other",
                     "key.doclength" : 88,
                     "key.docoffset" : 1966,
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/ScrollPosition.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/ScrollPosition.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> scrollToPosition<\/decl.name><\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 16,
@@ -68757,9 +70978,9 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/Section.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
-    "key.length" : 6626,
+    "key.length" : 5271,
     "key.offset" : 0,
     "key.substructure" : [
       {
@@ -68772,18 +70993,18 @@
             "key.offset" : 86
           }
         ],
-        "key.bodylength" : 4315,
+        "key.bodylength" : 3990,
         "key.bodyoffset" : 109,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/Section.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> Section<\/decl.name><\/decl.struct>",
         "key.kind" : "source.lang.swift.decl.struct",
-        "key.length" : 4332,
+        "key.length" : 4007,
         "key.name" : "Section",
         "key.namelength" : 7,
         "key.nameoffset" : 100,
         "key.offset" : 93,
         "key.parsed_declaration" : "public struct Section",
-        "key.parsed_scope.end" : 182,
+        "key.parsed_scope.end" : 170,
         "key.parsed_scope.start" : 9,
         "key.substructure" : [
           {
@@ -68807,14 +71028,14 @@
             "key.doc.column" : 16,
             "key.doc.comment" : "Data backing the identity and updates to the section – for example\nif the section has been moved, plus the identifier for the section's content.",
             "key.doc.declaration" : "public var info: AnySectionInfo",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
-            "key.doc.full_as_xml" : "info<\/Name>s:10ListableUI7SectionV4infoAA03AnyC4Info_pvp<\/USR>public var info: AnySectionInfo<\/Declaration>Data backing the identity and updates to the section – for example if the section has been moved, plus the identifier for the section’s content.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/Section.swift",
+            "key.doc.full_as_xml" : "info<\/Name>s:10ListableUI7SectionV4infoAA03AnyC4Info_pvp<\/USR>public var info: AnySectionInfo<\/Declaration>Data backing the identity and updates to the section – for example if the section has been moved, plus the identifier for the section’s content.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 17,
             "key.doc.name" : "info",
             "key.doc.type" : "Other",
             "key.doclength" : 159,
             "key.docoffset" : 164,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/Section.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> info<\/decl.name>: AnySectionInfo<\/ref.protocol><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 25,
@@ -68830,78 +71051,6 @@
             "key.typeusr" : "$s10ListableUI14AnySectionInfo_pD",
             "key.usr" : "s:10ListableUI7SectionV4infoAA03AnyC4Info_pvp"
           },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public var layout: Layout<\/Type><\/Declaration>",
-            "key.attributes" : [
-              {
-                "key.attribute" : "source.decl.attribute.public",
-                "key.length" : 6,
-                "key.offset" : 474
-              }
-            ],
-            "key.doc.column" : 16,
-            "key.doc.comment" : "The layout for the section and all its content.\nOnly relevant to the `list` layout type.",
-            "key.doc.declaration" : "public var layout: Layout",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
-            "key.doc.full_as_xml" : "layout<\/Name>s:10ListableUI7SectionV6layoutAC6LayoutVvp<\/USR>public var layout: Layout<\/Declaration>The layout for the section and all its content. Only relevant to the list<\/codeVoice> layout type.<\/Para><\/Abstract><\/CommentParts><\/Other>",
-            "key.doc.line" : 21,
-            "key.doc.name" : "layout",
-            "key.doc.type" : "Other",
-            "key.doclength" : 101,
-            "key.docoffset" : 369,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> layout<\/decl.name>: Layout<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 19,
-            "key.name" : "layout",
-            "key.namelength" : 6,
-            "key.nameoffset" : 485,
-            "key.offset" : 481,
-            "key.parsed_declaration" : "public var layout : Layout",
-            "key.parsed_scope.end" : 21,
-            "key.parsed_scope.start" : 21,
-            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-            "key.typename" : "Section.Layout",
-            "key.typeusr" : "$s10ListableUI7SectionV6LayoutVD",
-            "key.usr" : "s:10ListableUI7SectionV6layoutAC6LayoutVvp"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public var columns: Columns<\/Type><\/Declaration>",
-            "key.attributes" : [
-              {
-                "key.attribute" : "source.decl.attribute.public",
-                "key.length" : 6,
-                "key.offset" : 621
-              }
-            ],
-            "key.doc.column" : 16,
-            "key.doc.comment" : "How columns within the section should be distributed.\nOnly relevant to the `list` layout type.",
-            "key.doc.declaration" : "public var columns: Columns",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
-            "key.doc.full_as_xml" : "columns<\/Name>s:10ListableUI7SectionV7columnsAC7ColumnsVvp<\/USR>public var columns: Columns<\/Declaration>How columns within the section should be distributed. Only relevant to the list<\/codeVoice> layout type.<\/Para><\/Abstract><\/CommentParts><\/Other>",
-            "key.doc.line" : 25,
-            "key.doc.name" : "columns",
-            "key.doc.type" : "Other",
-            "key.doclength" : 107,
-            "key.docoffset" : 510,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> columns<\/decl.name>: Columns<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-            "key.kind" : "source.lang.swift.decl.var.instance",
-            "key.length" : 21,
-            "key.name" : "columns",
-            "key.namelength" : 7,
-            "key.nameoffset" : 632,
-            "key.offset" : 628,
-            "key.parsed_declaration" : "public var columns : Columns",
-            "key.parsed_scope.end" : 25,
-            "key.parsed_scope.start" : 25,
-            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-            "key.typename" : "Section.Columns",
-            "key.typeusr" : "$s10ListableUI7SectionV7ColumnsVD",
-            "key.usr" : "s:10ListableUI7SectionV7columnsAC7ColumnsVvp"
-          },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
             "key.annotated_decl" : "public var header: AnyHeaderFooter<\/Type>?<\/Declaration>",
@@ -68909,30 +71058,30 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 716
+                "key.offset" : 426
               }
             ],
             "key.doc.column" : 16,
             "key.doc.comment" : "The header, if any, associated with the section.",
             "key.doc.declaration" : "public var header: AnyHeaderFooter?",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
-            "key.doc.full_as_xml" : "header<\/Name>s:10ListableUI7SectionV6headerAA15AnyHeaderFooter_pSgvp<\/USR>public var header: AnyHeaderFooter?<\/Declaration>The header, if any, associated with the section.<\/Para><\/Abstract><\/CommentParts><\/Other>",
-            "key.doc.line" : 28,
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/Section.swift",
+            "key.doc.full_as_xml" : "header<\/Name>s:10ListableUI7SectionV6headerAA15AnyHeaderFooter_pSgvp<\/USR>public var header: AnyHeaderFooter?<\/Declaration>The header, if any, associated with the section.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.line" : 20,
             "key.doc.name" : "header",
             "key.doc.type" : "Other",
             "key.doclength" : 53,
-            "key.docoffset" : 659,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
+            "key.docoffset" : 369,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/Section.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> header<\/decl.name>: AnyHeaderFooter<\/ref.protocol>?<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 29,
             "key.name" : "header",
             "key.namelength" : 6,
-            "key.nameoffset" : 727,
-            "key.offset" : 723,
+            "key.nameoffset" : 437,
+            "key.offset" : 433,
             "key.parsed_declaration" : "public var header : AnyHeaderFooter?",
-            "key.parsed_scope.end" : 28,
-            "key.parsed_scope.start" : 28,
+            "key.parsed_scope.end" : 20,
+            "key.parsed_scope.start" : 20,
             "key.setter_accessibility" : "source.lang.swift.accessibility.public",
             "key.typename" : "AnyHeaderFooter?",
             "key.typeusr" : "$s10ListableUI15AnyHeaderFooter_pSgD",
@@ -68945,30 +71094,30 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 819
+                "key.offset" : 529
               }
             ],
             "key.doc.column" : 16,
             "key.doc.comment" : "The footer, if any, associated with the section.",
             "key.doc.declaration" : "public var footer: AnyHeaderFooter?",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
-            "key.doc.full_as_xml" : "footer<\/Name>s:10ListableUI7SectionV6footerAA15AnyHeaderFooter_pSgvp<\/USR>public var footer: AnyHeaderFooter?<\/Declaration>The footer, if any, associated with the section.<\/Para><\/Abstract><\/CommentParts><\/Other>",
-            "key.doc.line" : 31,
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/Section.swift",
+            "key.doc.full_as_xml" : "footer<\/Name>s:10ListableUI7SectionV6footerAA15AnyHeaderFooter_pSgvp<\/USR>public var footer: AnyHeaderFooter?<\/Declaration>The footer, if any, associated with the section.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.line" : 23,
             "key.doc.name" : "footer",
             "key.doc.type" : "Other",
             "key.doclength" : 53,
-            "key.docoffset" : 762,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
+            "key.docoffset" : 472,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/Section.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> footer<\/decl.name>: AnyHeaderFooter<\/ref.protocol>?<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 29,
             "key.name" : "footer",
             "key.namelength" : 6,
-            "key.nameoffset" : 830,
-            "key.offset" : 826,
+            "key.nameoffset" : 540,
+            "key.offset" : 536,
             "key.parsed_declaration" : "public var footer : AnyHeaderFooter?",
-            "key.parsed_scope.end" : 31,
-            "key.parsed_scope.start" : 31,
+            "key.parsed_scope.end" : 23,
+            "key.parsed_scope.start" : 23,
             "key.setter_accessibility" : "source.lang.swift.accessibility.public",
             "key.typename" : "AnyHeaderFooter?",
             "key.typeusr" : "$s10ListableUI15AnyHeaderFooter_pSgD",
@@ -68981,30 +71130,30 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 921
+                "key.offset" : 631
               }
             ],
             "key.doc.column" : 16,
             "key.doc.comment" : "The items, if any, associated with the section.",
             "key.doc.declaration" : "public var items: [AnyItem]",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
-            "key.doc.full_as_xml" : "items<\/Name>s:10ListableUI7SectionV5itemsSayAA7AnyItem_pGvp<\/USR>public var items: [AnyItem]<\/Declaration>The items, if any, associated with the section.<\/Para><\/Abstract><\/CommentParts><\/Other>",
-            "key.doc.line" : 34,
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/Section.swift",
+            "key.doc.full_as_xml" : "items<\/Name>s:10ListableUI7SectionV5itemsSayAA7AnyItem_pGvp<\/USR>public var items: [AnyItem]<\/Declaration>The items, if any, associated with the section.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.line" : 26,
             "key.doc.name" : "items",
             "key.doc.type" : "Other",
             "key.doclength" : 52,
-            "key.docoffset" : 865,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
+            "key.docoffset" : 575,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/Section.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> items<\/decl.name>: [AnyItem<\/ref.protocol>]<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 21,
             "key.name" : "items",
             "key.namelength" : 5,
-            "key.nameoffset" : 932,
-            "key.offset" : 928,
+            "key.nameoffset" : 642,
+            "key.offset" : 638,
             "key.parsed_declaration" : "public var items : [AnyItem]",
-            "key.parsed_scope.end" : 34,
-            "key.parsed_scope.start" : 34,
+            "key.parsed_scope.end" : 26,
+            "key.parsed_scope.start" : 26,
             "key.setter_accessibility" : "source.lang.swift.accessibility.public",
             "key.typename" : "[AnyItem]",
             "key.typeusr" : "$sSay10ListableUI7AnyItem_pGD",
@@ -69017,32 +71166,32 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 1141
+                "key.offset" : 851
               }
             ],
             "key.bodylength" : 626,
-            "key.bodyoffset" : 1217,
+            "key.bodyoffset" : 927,
             "key.doc.column" : 17,
             "key.doc.comment" : "Check if the section contains any of the given types, which you specify via the `filters`\nparameter. If you do not specify a `filters` parameter, `[.items]` is used.",
             "key.doc.declaration" : "public func contains(any filters: Set = [.items]) -> Bool",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
-            "key.doc.full_as_xml" : "contains(any:)<\/Name>s:10ListableUI7SectionV8contains3anySbShyAA14ContentFiltersOG_tF<\/USR>public func contains(any filters: Set<ContentFilters> = [.items]) -> Bool<\/Declaration>Check if the section contains any of the given types, which you specify via the filters<\/codeVoice> parameter. If you do not specify a filters<\/codeVoice> parameter, [.items]<\/codeVoice> is used.<\/Para><\/Abstract><\/CommentParts><\/Function>",
-            "key.doc.line" : 38,
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/Section.swift",
+            "key.doc.full_as_xml" : "contains(any:)<\/Name>s:10ListableUI7SectionV8contains3anySbShyAA14ContentFiltersOG_tF<\/USR>public func contains(any filters: Set<ContentFilters> = [.items]) -> Bool<\/Declaration>Check if the section contains any of the given types, which you specify via the filters<\/codeVoice> parameter. If you do not specify a filters<\/codeVoice> parameter, [.items]<\/codeVoice> is used.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.line" : 30,
             "key.doc.name" : "contains(any:)",
             "key.doc.type" : "Function",
             "key.doclength" : 178,
-            "key.docoffset" : 959,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
+            "key.docoffset" : 669,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/Section.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> contains<\/decl.name>(any<\/decl.var.parameter.argument_label> filters<\/decl.var.parameter.name>: Set<\/ref.struct><ContentFilters<\/ref.enum>><\/decl.var.parameter.type> = [.items]<\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 696,
             "key.name" : "contains(any:)",
             "key.namelength" : 54,
-            "key.nameoffset" : 1153,
-            "key.offset" : 1148,
+            "key.nameoffset" : 863,
+            "key.offset" : 858,
             "key.parsed_declaration" : "public func contains(any filters : Set = [.items]) -> Bool",
-            "key.parsed_scope.end" : 62,
-            "key.parsed_scope.start" : 38,
+            "key.parsed_scope.end" : 54,
+            "key.parsed_scope.start" : 30,
             "key.substructure" : [
 
             ],
@@ -69052,138 +71201,100 @@
           },
           {
             "key.kind" : "source.lang.swift.syntaxtype.comment.mark",
-            "key.length" : 20,
-            "key.name" : "MARK: Initialization",
+            "key.length" : 32,
+            "key.name" : "MARK: Layout Specific Parameters",
             "key.namelength" : 0,
             "key.nameoffset" : 0,
-            "key.offset" : 1864
+            "key.offset" : 1574
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public typealias Section<\/Type>.Build = (inout Section<\/Type>) -> ()<\/Declaration>",
+            "key.annotated_decl" : "public var layouts: SectionLayouts<\/Type><\/Declaration>",
             "key.attributes" : [
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 1901
+                "key.offset" : 1623
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> typealias<\/syntaxtype.keyword> Section<\/ref.struct>.Build<\/decl.name> = (inout<\/syntaxtype.keyword> Section<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.typealias>",
-            "key.kind" : "source.lang.swift.decl.typealias",
-            "key.length" : 39,
-            "key.name" : "Build",
-            "key.namelength" : 5,
-            "key.nameoffset" : 1918,
-            "key.offset" : 1908,
-            "key.parsed_declaration" : "public typealias Build = (inout Section) -> ()",
-            "key.parsed_scope.end" : 68,
-            "key.parsed_scope.start" : 68,
-            "key.typename" : "((inout Section) -> ()).Type",
-            "key.typeusr" : "$sy10ListableUI7SectionVzcmD",
-            "key.usr" : "s:10ListableUI7SectionV5Builda"
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/Section.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> layouts<\/decl.name>: SectionLayouts<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 38,
+            "key.name" : "layouts",
+            "key.namelength" : 7,
+            "key.nameoffset" : 1634,
+            "key.offset" : 1630,
+            "key.parsed_declaration" : "public var layouts : SectionLayouts = .init()",
+            "key.parsed_scope.end" : 60,
+            "key.parsed_scope.start" : 60,
+            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+            "key.typename" : "SectionLayouts",
+            "key.typeusr" : "$s10ListableUI14SectionLayoutsVD",
+            "key.usr" : "s:10ListableUI7SectionV7layoutsAA0C7LayoutsVvp"
+          },
+          {
+            "key.kind" : "source.lang.swift.syntaxtype.comment.mark",
+            "key.length" : 20,
+            "key.name" : "MARK: Initialization",
+            "key.namelength" : 0,
+            "key.nameoffset" : 0,
+            "key.offset" : 1688
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public init<Identifier>(_ identifier: Identifier<\/Type>, build: Build<\/Type>) where Identifier : Hashable<\/Type><\/Declaration>",
+            "key.annotated_decl" : "public typealias Section<\/Type>.Configure = (inout Section<\/Type>) -> ()<\/Declaration>",
             "key.attributes" : [
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 1957
+                "key.offset" : 1725
               }
             ],
-            "key.bodylength" : 65,
-            "key.bodyoffset" : 2063,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword><Identifier<\/decl.generic_type_param.name><\/decl.generic_type_param>>(_<\/decl.var.parameter.argument_label> identifier<\/decl.var.parameter.name>: Identifier<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, build<\/decl.var.parameter.argument_label>: Build<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>) where<\/syntaxtype.keyword> Identifier : Hashable<\/ref.protocol><\/decl.generic_type_requirement><\/decl.function.constructor>",
-            "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 165,
-            "key.name" : "init(_:build:)",
-            "key.namelength" : 93,
-            "key.nameoffset" : 1964,
-            "key.offset" : 1964,
-            "key.parsed_declaration" : "public init(\n    _ identifier : Identifier,\n    build : Build\n    )",
-            "key.parsed_scope.end" : 78,
-            "key.parsed_scope.start" : 70,
-            "key.related_decls" : [
-              {
-                "key.annotated_decl" : "init<Info>(_: Info, build: Build) where Info : SectionInfo<\/RelatedName>"
-              },
-              {
-                "key.annotated_decl" : "init<Identifier>(_: Identifier, layout: Layout = Layout(), columns: Columns = .one, header: AnyHeaderFooter? = nil, footer: AnyHeaderFooter? = nil, items: [AnyItem] = []) where Identifier : Hashable<\/RelatedName>"
-              },
-              {
-                "key.annotated_decl" : "init<Info>(_: Info, layout: Layout = Layout(), columns: Columns = .one, header: AnyHeaderFooter? = nil, footer: AnyHeaderFooter? = nil, items: [AnyItem] = []) where Info : SectionInfo<\/RelatedName>"
-              }
-            ],
-            "key.substructure" : [
-              {
-                "key.annotated_decl" : "Identifier : Hashable<\/Type><\/Declaration>",
-                "key.elements" : [
-                  {
-                    "key.kind" : "source.lang.swift.structure.elem.typeref",
-                    "key.length" : 8,
-                    "key.offset" : 1980
-                  }
-                ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
-                "key.fully_annotated_decl" : "Identifier<\/decl.generic_type_param.name> : Hashable<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
-                "key.inheritedtypes" : [
-                  {
-                    "key.name" : "Hashable"
-                  }
-                ],
-                "key.kind" : "source.lang.swift.decl.generic_type_param",
-                "key.length" : 19,
-                "key.name" : "Identifier",
-                "key.namelength" : 10,
-                "key.nameoffset" : 1969,
-                "key.offset" : 1969,
-                "key.parsed_declaration" : "public init (Section.Type) -> (Identifier, (inout Section) -> ()) -> Section",
-            "key.typeusr" : "$s_5build10ListableUI7SectionVx_yADzXEtcSHRzluD",
-            "key.usr" : "s:10ListableUI7SectionV_5buildACx_yACzXEtcSHRzlufc"
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/Section.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> typealias<\/syntaxtype.keyword> Section<\/ref.struct>.Configure<\/decl.name> = (inout<\/syntaxtype.keyword> Section<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.typealias>",
+            "key.kind" : "source.lang.swift.decl.typealias",
+            "key.length" : 43,
+            "key.name" : "Configure",
+            "key.namelength" : 9,
+            "key.nameoffset" : 1742,
+            "key.offset" : 1732,
+            "key.parsed_declaration" : "public typealias Configure = (inout Section) -> ()",
+            "key.parsed_scope.end" : 66,
+            "key.parsed_scope.start" : 66,
+            "key.typename" : "((inout Section) -> ()).Type",
+            "key.typeusr" : "$sy10ListableUI7SectionVzcmD",
+            "key.usr" : "s:10ListableUI7SectionV9Configurea"
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public init<Info>(_ info: Info<\/Type>, build: Build<\/Type>) where Info : SectionInfo<\/Type><\/Declaration>",
+            "key.annotated_decl" : "public init<Info>(_ info: Info<\/Type>, configure: Configure<\/Type>) where Info : SectionInfo<\/Type><\/Declaration>",
             "key.attributes" : [
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 2139
+                "key.offset" : 1789
               }
             ],
-            "key.bodylength" : 59,
-            "key.bodyoffset" : 2229,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword><Info<\/decl.generic_type_param.name><\/decl.generic_type_param>>(_<\/decl.var.parameter.argument_label> info<\/decl.var.parameter.name>: Info<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, build<\/decl.var.parameter.argument_label>: Build<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>) where<\/syntaxtype.keyword> Info : SectionInfo<\/ref.protocol><\/decl.generic_type_requirement><\/decl.function.constructor>",
+            "key.bodylength" : 63,
+            "key.bodyoffset" : 1887,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/Section.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword><Info<\/decl.generic_type_param.name><\/decl.generic_type_param>>(_<\/decl.var.parameter.argument_label> info<\/decl.var.parameter.name>: Info<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, configure<\/decl.var.parameter.argument_label>: Configure<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>) where<\/syntaxtype.keyword> Info : SectionInfo<\/ref.protocol><\/decl.generic_type_requirement><\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 143,
-            "key.name" : "init(_:build:)",
-            "key.namelength" : 77,
-            "key.nameoffset" : 2146,
-            "key.offset" : 2146,
-            "key.parsed_declaration" : "public init(\n    _ info: Info,\n    build : Build\n    )",
-            "key.parsed_scope.end" : 88,
-            "key.parsed_scope.start" : 80,
+            "key.length" : 155,
+            "key.name" : "init(_:configure:)",
+            "key.namelength" : 85,
+            "key.nameoffset" : 1796,
+            "key.offset" : 1796,
+            "key.parsed_declaration" : "public init(\n    _ info: Info,\n    configure : Configure\n    )",
+            "key.parsed_scope.end" : 76,
+            "key.parsed_scope.start" : 68,
             "key.related_decls" : [
               {
-                "key.annotated_decl" : "init<Identifier>(_: Identifier, build: Build) where Identifier : Hashable<\/RelatedName>"
-              },
-              {
-                "key.annotated_decl" : "init<Identifier>(_: Identifier, layout: Layout = Layout(), columns: Columns = .one, header: AnyHeaderFooter? = nil, footer: AnyHeaderFooter? = nil, items: [AnyItem] = []) where Identifier : Hashable<\/RelatedName>"
+                "key.annotated_decl" : "init<Identifier>(_: Identifier, layouts: SectionLayouts = .init(), header: AnyHeaderFooter? = nil, footer: AnyHeaderFooter? = nil, items: [AnyItem] = [], configure: Configure = { _ in }) where Identifier : Hashable<\/RelatedName>"
               },
               {
-                "key.annotated_decl" : "init<Info>(_: Info, layout: Layout = Layout(), columns: Columns = .one, header: AnyHeaderFooter? = nil, footer: AnyHeaderFooter? = nil, items: [AnyItem] = []) where Info : SectionInfo<\/RelatedName>"
+                "key.annotated_decl" : "init<Info>(_: Info, layouts: SectionLayouts = .init(), header: AnyHeaderFooter? = nil, footer: AnyHeaderFooter? = nil, items: [AnyItem] = [], configure: Configure = { _ in }) where Info : SectionInfo<\/RelatedName>"
               }
             ],
             "key.substructure" : [
@@ -69193,10 +71304,10 @@
                   {
                     "key.kind" : "source.lang.swift.structure.elem.typeref",
                     "key.length" : 11,
-                    "key.offset" : 2156
+                    "key.offset" : 1806
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/Section.swift",
                 "key.fully_annotated_decl" : "Info<\/decl.generic_type_param.name> : SectionInfo<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
                 "key.inheritedtypes" : [
                   {
@@ -69207,52 +71318,49 @@
                 "key.length" : 16,
                 "key.name" : "Info",
                 "key.namelength" : 4,
-                "key.nameoffset" : 2151,
-                "key.offset" : 2151,
+                "key.nameoffset" : 1801,
+                "key.offset" : 1801,
                 "key.parsed_declaration" : "public init (Section.Type) -> (Info, (inout Section) -> ()) -> Section",
-            "key.typeusr" : "$s_5build10ListableUI7SectionVx_yADzXEtcAB0D4InfoRzluD",
-            "key.usr" : "s:10ListableUI7SectionV_5buildACx_yACzXEtcAA0C4InfoRzlufc"
+            "key.typeusr" : "$s_9configure10ListableUI7SectionVx_yADzXEtcAB0D4InfoRzluD",
+            "key.usr" : "s:10ListableUI7SectionV_9configureACx_yACzXEtcAA0C4InfoRzlufc"
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public init<Identifier>(_ identifier: Identifier<\/Type>, layout: Layout<\/Type> = Layout(), columns: Columns<\/Type> = .one, header: AnyHeaderFooter<\/Type>? = nil, footer: AnyHeaderFooter<\/Type>? = nil, items: [AnyItem<\/Type>] = []) where Identifier : Hashable<\/Type><\/Declaration>",
+            "key.annotated_decl" : "public init<Identifier>(_ identifier: Identifier<\/Type>, layouts: SectionLayouts<\/Type> = .init(), header: AnyHeaderFooter<\/Type>? = nil, footer: AnyHeaderFooter<\/Type>? = nil, items: [AnyItem<\/Type>] = [], configure: Configure<\/Type> = { _ in }) where Identifier : Hashable<\/Type><\/Declaration>",
             "key.attributes" : [
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 2299
+                "key.offset" : 1961
               }
             ],
-            "key.bodylength" : 218,
-            "key.bodyoffset" : 2566,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword><Identifier<\/decl.generic_type_param.name><\/decl.generic_type_param>>(_<\/decl.var.parameter.argument_label> identifier<\/decl.var.parameter.name>: Identifier<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, layout<\/decl.var.parameter.argument_label>: Layout<\/ref.struct><\/decl.var.parameter.type> = Layout()<\/decl.var.parameter>, columns<\/decl.var.parameter.argument_label>: Columns<\/ref.struct><\/decl.var.parameter.type> = .one<\/decl.var.parameter>, header<\/decl.var.parameter.argument_label>: AnyHeaderFooter<\/ref.protocol>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, footer<\/decl.var.parameter.argument_label>: AnyHeaderFooter<\/ref.protocol>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, items<\/decl.var.parameter.argument_label>: [AnyItem<\/ref.protocol>]<\/decl.var.parameter.type> = []<\/decl.var.parameter>) where<\/syntaxtype.keyword> Identifier : Hashable<\/ref.protocol><\/decl.generic_type_requirement><\/decl.function.constructor>",
+            "key.bodylength" : 194,
+            "key.bodyoffset" : 2244,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/Section.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword><Identifier<\/decl.generic_type_param.name><\/decl.generic_type_param>>(_<\/decl.var.parameter.argument_label> identifier<\/decl.var.parameter.name>: Identifier<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, layouts<\/decl.var.parameter.argument_label>: SectionLayouts<\/ref.struct><\/decl.var.parameter.type> = .init()<\/decl.var.parameter>, header<\/decl.var.parameter.argument_label>: AnyHeaderFooter<\/ref.protocol>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, footer<\/decl.var.parameter.argument_label>: AnyHeaderFooter<\/ref.protocol>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, items<\/decl.var.parameter.argument_label>: [AnyItem<\/ref.protocol>]<\/decl.var.parameter.type> = []<\/decl.var.parameter>, configure<\/decl.var.parameter.argument_label>: Configure<\/ref.typealias><\/decl.var.parameter.type> = { _ in }<\/decl.var.parameter>) where<\/syntaxtype.keyword> Identifier : Hashable<\/ref.protocol><\/decl.generic_type_requirement><\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 479,
-            "key.name" : "init(_:layout:columns:header:footer:items:)",
-            "key.namelength" : 254,
-            "key.nameoffset" : 2306,
-            "key.offset" : 2306,
-            "key.parsed_declaration" : "public init(\n    _ identifier : Identifier,\n    layout : Layout = Layout(),\n    columns : Columns = .one,\n    header : AnyHeaderFooter? = nil,\n    footer : AnyHeaderFooter? = nil,\n    items : [AnyItem] = []\n    )",
-            "key.parsed_scope.end" : 107,
-            "key.parsed_scope.start" : 90,
+            "key.length" : 471,
+            "key.name" : "init(_:layouts:header:footer:items:configure:)",
+            "key.namelength" : 270,
+            "key.nameoffset" : 1968,
+            "key.offset" : 1968,
+            "key.parsed_declaration" : "public init(\n    _ identifier : Identifier,\n    layouts : SectionLayouts = .init(),\n    header : AnyHeaderFooter? = nil,\n    footer : AnyHeaderFooter? = nil,\n    items : [AnyItem] = [],\n    configure : Configure = { _ in }\n    )",
+            "key.parsed_scope.end" : 94,
+            "key.parsed_scope.start" : 78,
             "key.related_decls" : [
               {
-                "key.annotated_decl" : "init<Identifier>(_: Identifier, build: Build) where Identifier : Hashable<\/RelatedName>"
-              },
-              {
-                "key.annotated_decl" : "init<Info>(_: Info, build: Build) where Info : SectionInfo<\/RelatedName>"
+                "key.annotated_decl" : "init(_:configure:)<\/RelatedName>"
               },
               {
-                "key.annotated_decl" : "init<Info>(_: Info, layout: Layout = Layout(), columns: Columns = .one, header: AnyHeaderFooter? = nil, footer: AnyHeaderFooter? = nil, items: [AnyItem] = []) where Info : SectionInfo<\/RelatedName>"
+                "key.annotated_decl" : "init<Info>(_: Info, layouts: SectionLayouts = .init(), header: AnyHeaderFooter? = nil, footer: AnyHeaderFooter? = nil, items: [AnyItem] = [], configure: Configure = { _ in }) where Info : SectionInfo<\/RelatedName>"
               }
             ],
             "key.substructure" : [
@@ -69262,10 +71370,10 @@
                   {
                     "key.kind" : "source.lang.swift.structure.elem.typeref",
                     "key.length" : 8,
-                    "key.offset" : 2322
+                    "key.offset" : 1984
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/Section.swift",
                 "key.fully_annotated_decl" : "Identifier<\/decl.generic_type_param.name> : Hashable<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
                 "key.inheritedtypes" : [
                   {
@@ -69276,52 +71384,49 @@
                 "key.length" : 19,
                 "key.name" : "Identifier",
                 "key.namelength" : 10,
-                "key.nameoffset" : 2311,
-                "key.offset" : 2311,
+                "key.nameoffset" : 1973,
+                "key.offset" : 1973,
                 "key.parsed_declaration" : "public init (Section.Type) -> (Identifier, Section.Layout, Section.Columns, AnyHeaderFooter?, AnyHeaderFooter?, [AnyItem]) -> Section",
-            "key.typeusr" : "$s_6layout7columns6header6footer5items10ListableUI7SectionVx_AH6LayoutVAH7ColumnsVAF15AnyHeaderFooter_pSgANSayAF0K4Item_pGtcSHRzluD",
-            "key.usr" : "s:10ListableUI7SectionV_6layout7columns6header6footer5itemsACx_AC6LayoutVAC7ColumnsVAA15AnyHeaderFooter_pSgANSayAA0K4Item_pGtcSHRzlufc"
+            "key.typename" : " (Section.Type) -> (Identifier, SectionLayouts, AnyHeaderFooter?, AnyHeaderFooter?, [AnyItem], (inout Section) -> ()) -> Section",
+            "key.typeusr" : "$s_7layouts6header6footer5items9configure10ListableUI7SectionVx_AF0H7LayoutsVAF15AnyHeaderFooter_pSgALSayAF0J4Item_pGyAHzXEtcSHRzluD",
+            "key.usr" : "s:10ListableUI7SectionV_7layouts6header6footer5items9configureACx_AA0C7LayoutsVAA15AnyHeaderFooter_pSgALSayAA0J4Item_pGyACzXEtcSHRzlufc"
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public init<Info>(_ info: Info<\/Type>, layout: Layout<\/Type> = Layout(), columns: Columns<\/Type> = .one, header: AnyHeaderFooter<\/Type>? = nil, footer: AnyHeaderFooter<\/Type>? = nil, items: [AnyItem<\/Type>] = []) where Info : SectionInfo<\/Type><\/Declaration>",
+            "key.annotated_decl" : "public init<Info>(_ info: Info<\/Type>, layouts: SectionLayouts<\/Type> = .init(), header: AnyHeaderFooter<\/Type>? = nil, footer: AnyHeaderFooter<\/Type>? = nil, items: [AnyItem<\/Type>] = [], configure: Configure<\/Type> = { _ in }) where Info : SectionInfo<\/Type><\/Declaration>",
             "key.attributes" : [
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 2795
+                "key.offset" : 2449
               }
             ],
-            "key.bodylength" : 202,
-            "key.bodyoffset" : 3046,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword><Info<\/decl.generic_type_param.name><\/decl.generic_type_param>>(_<\/decl.var.parameter.argument_label> info<\/decl.var.parameter.name>: Info<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, layout<\/decl.var.parameter.argument_label>: Layout<\/ref.struct><\/decl.var.parameter.type> = Layout()<\/decl.var.parameter>, columns<\/decl.var.parameter.argument_label>: Columns<\/ref.struct><\/decl.var.parameter.type> = .one<\/decl.var.parameter>, header<\/decl.var.parameter.argument_label>: AnyHeaderFooter<\/ref.protocol>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, footer<\/decl.var.parameter.argument_label>: AnyHeaderFooter<\/ref.protocol>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, items<\/decl.var.parameter.argument_label>: [AnyItem<\/ref.protocol>]<\/decl.var.parameter.type> = []<\/decl.var.parameter>) where<\/syntaxtype.keyword> Info : SectionInfo<\/ref.protocol><\/decl.generic_type_requirement><\/decl.function.constructor>",
+            "key.bodylength" : 207,
+            "key.bodyoffset" : 2716,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/Section.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword><Info<\/decl.generic_type_param.name><\/decl.generic_type_param>>(_<\/decl.var.parameter.argument_label> info<\/decl.var.parameter.name>: Info<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>, layouts<\/decl.var.parameter.argument_label>: SectionLayouts<\/ref.struct><\/decl.var.parameter.type> = .init()<\/decl.var.parameter>, header<\/decl.var.parameter.argument_label>: AnyHeaderFooter<\/ref.protocol>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, footer<\/decl.var.parameter.argument_label>: AnyHeaderFooter<\/ref.protocol>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, items<\/decl.var.parameter.argument_label>: [AnyItem<\/ref.protocol>]<\/decl.var.parameter.type> = []<\/decl.var.parameter>, configure<\/decl.var.parameter.argument_label>: Configure<\/ref.typealias><\/decl.var.parameter.type> = { _ in }<\/decl.var.parameter>) where<\/syntaxtype.keyword> Info : SectionInfo<\/ref.protocol><\/decl.generic_type_requirement><\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
-            "key.length" : 447,
-            "key.name" : "init(_:layout:columns:header:footer:items:)",
-            "key.namelength" : 238,
-            "key.nameoffset" : 2802,
-            "key.offset" : 2802,
-            "key.parsed_declaration" : "public init(\n    _ info: Info,\n    layout : Layout = Layout(),\n    columns : Columns = .one,\n    header : AnyHeaderFooter? = nil,\n    footer : AnyHeaderFooter? = nil,\n    items : [AnyItem] = []\n    )",
-            "key.parsed_scope.end" : 127,
-            "key.parsed_scope.start" : 109,
+            "key.length" : 468,
+            "key.name" : "init(_:layouts:header:footer:items:configure:)",
+            "key.namelength" : 254,
+            "key.nameoffset" : 2456,
+            "key.offset" : 2456,
+            "key.parsed_declaration" : "public init(\n    _ info: Info,\n    layouts : SectionLayouts = .init(),\n    header : AnyHeaderFooter? = nil,\n    footer : AnyHeaderFooter? = nil,\n    items : [AnyItem] = [],\n    configure : Configure = { _ in }\n    )",
+            "key.parsed_scope.end" : 115,
+            "key.parsed_scope.start" : 96,
             "key.related_decls" : [
               {
-                "key.annotated_decl" : "init<Identifier>(_: Identifier, build: Build) where Identifier : Hashable<\/RelatedName>"
-              },
-              {
-                "key.annotated_decl" : "init<Info>(_: Info, build: Build) where Info : SectionInfo<\/RelatedName>"
+                "key.annotated_decl" : "init(_:configure:)<\/RelatedName>"
               },
               {
-                "key.annotated_decl" : "init<Identifier>(_: Identifier, layout: Layout = Layout(), columns: Columns = .one, header: AnyHeaderFooter? = nil, footer: AnyHeaderFooter? = nil, items: [AnyItem] = []) where Identifier : Hashable<\/RelatedName>"
+                "key.annotated_decl" : "init<Identifier>(_: Identifier, layouts: SectionLayouts = .init(), header: AnyHeaderFooter? = nil, footer: AnyHeaderFooter? = nil, items: [AnyItem] = [], configure: Configure = { _ in }) where Identifier : Hashable<\/RelatedName>"
               }
             ],
             "key.substructure" : [
@@ -69331,10 +71436,10 @@
                   {
                     "key.kind" : "source.lang.swift.structure.elem.typeref",
                     "key.length" : 11,
-                    "key.offset" : 2812
+                    "key.offset" : 2466
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/Section.swift",
                 "key.fully_annotated_decl" : "Info<\/decl.generic_type_param.name> : SectionInfo<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
                 "key.inheritedtypes" : [
                   {
@@ -69345,19 +71450,19 @@
                 "key.length" : 16,
                 "key.name" : "Info",
                 "key.namelength" : 4,
-                "key.nameoffset" : 2807,
-                "key.offset" : 2807,
+                "key.nameoffset" : 2461,
+                "key.offset" : 2461,
                 "key.parsed_declaration" : "public init (Section.Type) -> (Info, Section.Layout, Section.Columns, AnyHeaderFooter?, AnyHeaderFooter?, [AnyItem]) -> Section",
-            "key.typeusr" : "$s_6layout7columns6header6footer5items10ListableUI7SectionVx_AH6LayoutVAH7ColumnsVAF15AnyHeaderFooter_pSgANSayAF0K4Item_pGtcAF0H4InfoRzluD",
-            "key.usr" : "s:10ListableUI7SectionV_6layout7columns6header6footer5itemsACx_AC6LayoutVAC7ColumnsVAA15AnyHeaderFooter_pSgANSayAA0K4Item_pGtcAA0C4InfoRzlufc"
+            "key.typename" : " (Section.Type) -> (Info, SectionLayouts, AnyHeaderFooter?, AnyHeaderFooter?, [AnyItem], (inout Section) -> ()) -> Section",
+            "key.typeusr" : "$s_7layouts6header6footer5items9configure10ListableUI7SectionVx_AF0H7LayoutsVAF15AnyHeaderFooter_pSgALSayAF0J4Item_pGyAHzXEtcAF0H4InfoRzluD",
+            "key.usr" : "s:10ListableUI7SectionV_7layouts6header6footer5items9configureACx_AA0C7LayoutsVAA15AnyHeaderFooter_pSgALSayAA0J4Item_pGyACzXEtcAA0C4InfoRzlufc"
           },
           {
             "key.kind" : "source.lang.swift.syntaxtype.comment.mark",
@@ -69365,7 +71470,7 @@
             "key.name" : "MARK: Adding & Removing Single Items",
             "key.namelength" : 0,
             "key.nameoffset" : 0,
-            "key.offset" : 3269
+            "key.offset" : 2944
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
@@ -69374,27 +71479,27 @@
               {
                 "key.attribute" : "source.decl.attribute.mutating",
                 "key.length" : 8,
-                "key.offset" : 3329
+                "key.offset" : 3004
               },
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 3322
+                "key.offset" : 2997
               }
             ],
             "key.bodylength" : 37,
-            "key.bodyoffset" : 3370,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
+            "key.bodyoffset" : 3045,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/Section.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> mutating<\/syntaxtype.keyword> func<\/syntaxtype.keyword> add<\/decl.name>(_<\/decl.var.parameter.argument_label> item<\/decl.var.parameter.name>: AnyItem<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 70,
             "key.name" : "add(_:)",
             "key.namelength" : 21,
-            "key.nameoffset" : 3343,
-            "key.offset" : 3338,
+            "key.nameoffset" : 3018,
+            "key.offset" : 3013,
             "key.parsed_declaration" : "public mutating func add(_ item : AnyItem)",
-            "key.parsed_scope.end" : 136,
-            "key.parsed_scope.start" : 133,
+            "key.parsed_scope.end" : 124,
+            "key.parsed_scope.start" : 121,
             "key.substructure" : [
 
             ],
@@ -69409,22 +71514,22 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 3418
+                "key.offset" : 3093
               }
             ],
             "key.bodylength" : 26,
-            "key.bodyoffset" : 3482,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
+            "key.bodyoffset" : 3157,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/Section.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> += <\/decl.name>(lhs<\/decl.var.parameter.name>: inout<\/syntaxtype.keyword> Section<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, rhs<\/decl.var.parameter.name>: AnyItem<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.operator.infix>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
             "key.length" : 84,
             "key.name" : "+=(_:_:)",
             "key.namelength" : 39,
-            "key.nameoffset" : 3437,
-            "key.offset" : 3425,
+            "key.nameoffset" : 3112,
+            "key.offset" : 3100,
             "key.parsed_declaration" : "public static func += (lhs : inout Section, rhs : AnyItem)",
-            "key.parsed_scope.end" : 141,
-            "key.parsed_scope.start" : 138,
+            "key.parsed_scope.end" : 129,
+            "key.parsed_scope.start" : 126,
             "key.related_decls" : [
               {
                 "key.annotated_decl" : "+= (_: inout Content, _: Section)<\/RelatedName>"
@@ -69567,22 +71672,22 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 3519
+                "key.offset" : 3194
               }
             ],
             "key.bodylength" : 26,
-            "key.bodyoffset" : 3610,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
+            "key.bodyoffset" : 3285,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/Section.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> += <\/decl.name><Content<\/decl.generic_type_param.name><\/decl.generic_type_param>>(lhs<\/decl.var.parameter.name>: inout<\/syntaxtype.keyword> Section<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, rhs<\/decl.var.parameter.name>: Item<\/ref.struct><Content<\/ref.generic_type_param>><\/decl.var.parameter.type><\/decl.var.parameter>) where<\/syntaxtype.keyword> Content : ItemContent<\/ref.protocol><\/decl.generic_type_requirement><\/decl.function.operator.infix>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
             "key.length" : 111,
             "key.name" : "+=(_:_:)",
             "key.namelength" : 66,
-            "key.nameoffset" : 3538,
-            "key.offset" : 3526,
+            "key.nameoffset" : 3213,
+            "key.offset" : 3201,
             "key.parsed_declaration" : "public static func += (lhs : inout Section, rhs : Item)",
-            "key.parsed_scope.end" : 146,
-            "key.parsed_scope.start" : 143,
+            "key.parsed_scope.end" : 134,
+            "key.parsed_scope.start" : 131,
             "key.related_decls" : [
               {
                 "key.annotated_decl" : "+= (_: inout Content, _: Section)<\/RelatedName>"
@@ -69718,10 +71823,10 @@
                   {
                     "key.kind" : "source.lang.swift.structure.elem.typeref",
                     "key.length" : 11,
-                    "key.offset" : 3550
+                    "key.offset" : 3225
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/Section.swift",
                 "key.fully_annotated_decl" : "Content<\/decl.generic_type_param.name> : ItemContent<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
                 "key.inheritedtypes" : [
                   {
@@ -69732,11 +71837,11 @@
                 "key.length" : 19,
                 "key.name" : "Content",
                 "key.namelength" : 7,
-                "key.nameoffset" : 3542,
-                "key.offset" : 3542,
+                "key.nameoffset" : 3217,
+                "key.offset" : 3217,
                 "key.parsed_declaration" : "public static func += public<\/syntaxtype.keyword> static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> += <\/decl.name><Content<\/decl.generic_type_param.name><\/decl.generic_type_param>>(lhs<\/decl.var.parameter.name>: inout<\/syntaxtype.keyword> Section<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, rhs<\/decl.var.parameter.name>: Content<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) where<\/syntaxtype.keyword> Content : ItemContent<\/ref.protocol><\/decl.generic_type_requirement><\/decl.function.operator.infix>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
             "key.length" : 109,
             "key.name" : "+=(_:_:)",
             "key.namelength" : 60,
-            "key.nameoffset" : 3666,
-            "key.offset" : 3654,
+            "key.nameoffset" : 3341,
+            "key.offset" : 3329,
             "key.parsed_declaration" : "public static func += (lhs : inout Section, rhs : Content)",
-            "key.parsed_scope.end" : 151,
-            "key.parsed_scope.start" : 148,
+            "key.parsed_scope.end" : 139,
+            "key.parsed_scope.start" : 136,
             "key.related_decls" : [
               {
                 "key.annotated_decl" : "+= (_: inout Content, _: Section)<\/RelatedName>"
@@ -69904,10 +72009,10 @@
                   {
                     "key.kind" : "source.lang.swift.structure.elem.typeref",
                     "key.length" : 11,
-                    "key.offset" : 3678
+                    "key.offset" : 3353
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/Section.swift",
                 "key.fully_annotated_decl" : "Content<\/decl.generic_type_param.name> : ItemContent<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
                 "key.inheritedtypes" : [
                   {
@@ -69918,11 +72023,11 @@
                 "key.length" : 19,
                 "key.name" : "Content",
                 "key.namelength" : 7,
-                "key.nameoffset" : 3670,
-                "key.offset" : 3670,
+                "key.nameoffset" : 3345,
+                "key.offset" : 3345,
                 "key.parsed_declaration" : "public static func += public<\/syntaxtype.keyword> static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> += <\/decl.name>(lhs<\/decl.var.parameter.name>: inout<\/syntaxtype.keyword> Section<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, rhs<\/decl.var.parameter.name>: [AnyItem<\/ref.protocol>]<\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.operator.infix>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
             "key.length" : 90,
             "key.name" : "+=(_:_:)",
             "key.namelength" : 41,
-            "key.nameoffset" : 3857,
-            "key.offset" : 3845,
+            "key.nameoffset" : 3532,
+            "key.offset" : 3520,
             "key.parsed_declaration" : "public static func += (lhs : inout Section, rhs : [AnyItem])",
-            "key.parsed_scope.end" : 160,
-            "key.parsed_scope.start" : 157,
+            "key.parsed_scope.end" : 148,
+            "key.parsed_scope.start" : 145,
             "key.related_decls" : [
               {
                 "key.annotated_decl" : "+= (_: inout Content, _: Section)<\/RelatedName>"
@@ -70105,22 +72210,22 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 3945
+                "key.offset" : 3620
               }
             ],
             "key.bodylength" : 30,
-            "key.bodyoffset" : 4038,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
+            "key.bodyoffset" : 3713,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/Section.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> += <\/decl.name><Content<\/decl.generic_type_param.name><\/decl.generic_type_param>>(lhs<\/decl.var.parameter.name>: inout<\/syntaxtype.keyword> Section<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, rhs<\/decl.var.parameter.name>: [Item<\/ref.struct><Content<\/ref.generic_type_param>>]<\/decl.var.parameter.type><\/decl.var.parameter>) where<\/syntaxtype.keyword> Content : ItemContent<\/ref.protocol><\/decl.generic_type_requirement><\/decl.function.operator.infix>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
             "key.length" : 117,
             "key.name" : "+=(_:_:)",
             "key.namelength" : 68,
-            "key.nameoffset" : 3964,
-            "key.offset" : 3952,
+            "key.nameoffset" : 3639,
+            "key.offset" : 3627,
             "key.parsed_declaration" : "public static func += (lhs : inout Section, rhs : [Item])",
-            "key.parsed_scope.end" : 165,
-            "key.parsed_scope.start" : 162,
+            "key.parsed_scope.end" : 153,
+            "key.parsed_scope.start" : 150,
             "key.related_decls" : [
               {
                 "key.annotated_decl" : "+= (_: inout Content, _: Section)<\/RelatedName>"
@@ -70256,10 +72361,10 @@
                   {
                     "key.kind" : "source.lang.swift.structure.elem.typeref",
                     "key.length" : 11,
-                    "key.offset" : 3976
+                    "key.offset" : 3651
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/Section.swift",
                 "key.fully_annotated_decl" : "Content<\/decl.generic_type_param.name> : ItemContent<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
                 "key.inheritedtypes" : [
                   {
@@ -70270,11 +72375,11 @@
                 "key.length" : 19,
                 "key.name" : "Content",
                 "key.namelength" : 7,
-                "key.nameoffset" : 3968,
-                "key.offset" : 3968,
+                "key.nameoffset" : 3643,
+                "key.offset" : 3643,
                 "key.parsed_declaration" : "public static func += public<\/syntaxtype.keyword> static<\/syntaxtype.keyword> func<\/syntaxtype.keyword> += <\/decl.name><Content<\/decl.generic_type_param.name><\/decl.generic_type_param>>(lhs<\/decl.var.parameter.name>: inout<\/syntaxtype.keyword> Section<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, rhs<\/decl.var.parameter.name>: [Content<\/ref.generic_type_param>]<\/decl.var.parameter.type><\/decl.var.parameter>) where<\/syntaxtype.keyword> Content : ItemContent<\/ref.protocol><\/decl.generic_type_requirement><\/decl.function.operator.infix>",
             "key.kind" : "source.lang.swift.decl.function.method.static",
             "key.length" : 128,
             "key.name" : "+=(_:_:)",
             "key.namelength" : 62,
-            "key.nameoffset" : 4098,
-            "key.offset" : 4086,
+            "key.nameoffset" : 3773,
+            "key.offset" : 3761,
             "key.parsed_declaration" : "public static func += (lhs : inout Section, rhs : [Content])",
-            "key.parsed_scope.end" : 170,
-            "key.parsed_scope.start" : 167,
+            "key.parsed_scope.end" : 158,
+            "key.parsed_scope.start" : 155,
             "key.related_decls" : [
               {
                 "key.annotated_decl" : "+= (_: inout Content, _: Section)<\/RelatedName>"
@@ -70442,10 +72547,10 @@
                   {
                     "key.kind" : "source.lang.swift.structure.elem.typeref",
                     "key.length" : 11,
-                    "key.offset" : 4110
+                    "key.offset" : 3785
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/Section.swift",
                 "key.fully_annotated_decl" : "Content<\/decl.generic_type_param.name> : ItemContent<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
                 "key.inheritedtypes" : [
                   {
@@ -70456,11 +72561,11 @@
                 "key.length" : 19,
                 "key.name" : "Content",
                 "key.namelength" : 7,
-                "key.nameoffset" : 4102,
-                "key.offset" : 4102,
+                "key.nameoffset" : 3777,
+                "key.offset" : 3777,
                 "key.parsed_declaration" : "public static func += internal<\/syntaxtype.keyword> func<\/syntaxtype.keyword> itemsUpTo<\/decl.name>(limit<\/decl.var.parameter.argument_label>: Int<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> [AnyItem<\/ref.protocol>]<\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 150,
             "key.name" : "itemsUpTo(limit:)",
             "key.namelength" : 22,
-            "key.nameoffset" : 4278,
-            "key.offset" : 4273,
+            "key.nameoffset" : 3953,
+            "key.offset" : 3948,
             "key.parsed_declaration" : "internal func itemsUpTo(limit : Int) -> [AnyItem]",
-            "key.parsed_scope.end" : 181,
-            "key.parsed_scope.start" : 176,
+            "key.parsed_scope.end" : 169,
+            "key.parsed_scope.start" : 164,
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let end: Int<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/Section.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> end<\/decl.name>: Int<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 38,
                 "key.name" : "end",
                 "key.namelength" : 3,
-                "key.nameoffset" : 4332,
-                "key.offset" : 4328,
+                "key.nameoffset" : 4007,
+                "key.offset" : 4003,
                 "key.parsed_declaration" : "let end = min(self.items.count, limit)",
-                "key.parsed_scope.end" : 178,
-                "key.parsed_scope.start" : 178,
+                "key.parsed_scope.end" : 166,
+                "key.parsed_scope.start" : 166,
                 "key.typename" : "Int",
                 "key.typeusr" : "$sSiD",
                 "key.usr" : "s:10ListableUI7SectionV9itemsUpTo5limitSayAA7AnyItem_pGSi_tF3endL_Sivp"
@@ -70529,298 +72634,6 @@
         "key.typeusr" : "$s10ListableUI7SectionVmD",
         "key.usr" : "s:10ListableUI7SectionV"
       },
-      {
-        "key.annotated_decl" : "public struct Section<\/Declaration>",
-        "key.bodylength" : 1007,
-        "key.bodyoffset" : 4447,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
-        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> Section<\/decl.name><\/decl.struct>",
-        "key.kind" : "source.lang.swift.decl.extension",
-        "key.length" : 1027,
-        "key.name" : "Section",
-        "key.namelength" : 7,
-        "key.nameoffset" : 4438,
-        "key.offset" : 4428,
-        "key.parsed_declaration" : "extension Section",
-        "key.parsed_scope.end" : 220,
-        "key.parsed_scope.start" : 185,
-        "key.substructure" : [
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public struct Layout : Equatable<\/Type><\/Declaration>",
-            "key.attributes" : [
-              {
-                "key.attribute" : "source.decl.attribute.public",
-                "key.length" : 6,
-                "key.offset" : 4452
-              }
-            ],
-            "key.bodylength" : 392,
-            "key.bodyoffset" : 4490,
-            "key.elements" : [
-              {
-                "key.kind" : "source.lang.swift.structure.elem.typeref",
-                "key.length" : 9,
-                "key.offset" : 4475
-              }
-            ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> Layout<\/decl.name> : Equatable<\/ref.protocol><\/decl.struct>",
-            "key.inheritedtypes" : [
-              {
-                "key.name" : "Equatable"
-              }
-            ],
-            "key.kind" : "source.lang.swift.decl.struct",
-            "key.length" : 424,
-            "key.name" : "Layout",
-            "key.namelength" : 6,
-            "key.nameoffset" : 4466,
-            "key.offset" : 4459,
-            "key.parsed_declaration" : "public struct Layout : Equatable",
-            "key.parsed_scope.end" : 199,
-            "key.parsed_scope.start" : 187,
-            "key.substructure" : [
-              {
-                "key.accessibility" : "source.lang.swift.accessibility.public",
-                "key.annotated_decl" : "public var width: CustomWidth<\/Type><\/Declaration>",
-                "key.attributes" : [
-                  {
-                    "key.attribute" : "source.decl.attribute.public",
-                    "key.length" : 6,
-                    "key.offset" : 4499
-                  }
-                ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
-                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> width<\/decl.name>: CustomWidth<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 23,
-                "key.name" : "width",
-                "key.namelength" : 5,
-                "key.nameoffset" : 4510,
-                "key.offset" : 4506,
-                "key.parsed_declaration" : "public var width : CustomWidth",
-                "key.parsed_scope.end" : 189,
-                "key.parsed_scope.start" : 189,
-                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-                "key.typename" : "CustomWidth",
-                "key.typeusr" : "$s10ListableUI11CustomWidthOD",
-                "key.usr" : "s:10ListableUI7SectionV6LayoutV5widthAA11CustomWidthOvp"
-              },
-              {
-                "key.accessibility" : "source.lang.swift.accessibility.public",
-                "key.annotated_decl" : "public var customInterSectionSpacing: CGFloat<\/Type>?<\/Declaration>",
-                "key.attributes" : [
-                  {
-                    "key.attribute" : "source.decl.attribute.public",
-                    "key.length" : 6,
-                    "key.offset" : 4603
-                  }
-                ],
-                "key.doc.column" : 20,
-                "key.doc.comment" : "Overrides the calculated spacing after this section",
-                "key.doc.declaration" : "public var customInterSectionSpacing: CGFloat?",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
-                "key.doc.full_as_xml" : "customInterSectionSpacing<\/Name>s:10ListableUI7SectionV6LayoutV011customInterC7Spacing12CoreGraphics7CGFloatVSgvp<\/USR>public var customInterSectionSpacing: CGFloat?<\/Declaration>Overrides the calculated spacing after this section<\/Para><\/Abstract><\/CommentParts><\/Other>",
-                "key.doc.line" : 192,
-                "key.doc.name" : "customInterSectionSpacing",
-                "key.doc.type" : "Other",
-                "key.doclength" : 56,
-                "key.docoffset" : 4539,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
-                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> customInterSectionSpacing<\/decl.name>: CGFloat<\/ref.struct>?<\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 40,
-                "key.name" : "customInterSectionSpacing",
-                "key.namelength" : 25,
-                "key.nameoffset" : 4614,
-                "key.offset" : 4610,
-                "key.parsed_declaration" : "public var customInterSectionSpacing : CGFloat?",
-                "key.parsed_scope.end" : 192,
-                "key.parsed_scope.start" : 192,
-                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-                "key.typename" : "CGFloat?",
-                "key.typeusr" : "$s12CoreGraphics7CGFloatVSgD",
-                "key.usr" : "s:10ListableUI7SectionV6LayoutV011customInterC7Spacing12CoreGraphics7CGFloatVSgvp"
-              },
-              {
-                "key.accessibility" : "source.lang.swift.accessibility.public",
-                "key.annotated_decl" : "public init(width: CustomWidth<\/Type> = .default, customInterSectionSpacing: CGFloat<\/Type>? = nil)<\/Declaration>",
-                "key.attributes" : [
-                  {
-                    "key.attribute" : "source.decl.attribute.public",
-                    "key.length" : 6,
-                    "key.offset" : 4668
-                  }
-                ],
-                "key.bodylength" : 111,
-                "key.bodyoffset" : 4765,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
-                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(width<\/decl.var.parameter.argument_label>: CustomWidth<\/ref.enum><\/decl.var.parameter.type> = .default<\/decl.var.parameter>, customInterSectionSpacing<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>)<\/decl.function.constructor>",
-                "key.kind" : "source.lang.swift.decl.function.method.instance",
-                "key.length" : 202,
-                "key.name" : "init(width:customInterSectionSpacing:)",
-                "key.namelength" : 80,
-                "key.nameoffset" : 4675,
-                "key.offset" : 4675,
-                "key.parsed_declaration" : "public init(width : CustomWidth = .default, customInterSectionSpacing : CGFloat? = nil)",
-                "key.parsed_scope.end" : 198,
-                "key.parsed_scope.start" : 194,
-                "key.substructure" : [
-
-                ],
-                "key.typename" : "(Section.Layout.Type) -> (CustomWidth, CGFloat?) -> Section.Layout",
-                "key.typeusr" : "$s5width25customInterSectionSpacing10ListableUI0D0V6LayoutVAC11CustomWidthO_12CoreGraphics7CGFloatVSgtcD",
-                "key.usr" : "s:10ListableUI7SectionV6LayoutV5width011customInterC7SpacingAeA11CustomWidthO_12CoreGraphics7CGFloatVSgtcfc"
-              }
-            ],
-            "key.typename" : "Section.Layout.Type",
-            "key.typeusr" : "$s10ListableUI7SectionV6LayoutVmD",
-            "key.usr" : "s:10ListableUI7SectionV6LayoutV"
-          },
-          {
-            "key.accessibility" : "source.lang.swift.accessibility.public",
-            "key.annotated_decl" : "public struct Columns<\/Declaration>",
-            "key.attributes" : [
-              {
-                "key.attribute" : "source.decl.attribute.public",
-                "key.length" : 6,
-                "key.offset" : 4898
-              }
-            ],
-            "key.bodylength" : 527,
-            "key.bodyoffset" : 4925,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
-            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> Columns<\/decl.name><\/decl.struct>",
-            "key.kind" : "source.lang.swift.decl.struct",
-            "key.length" : 548,
-            "key.name" : "Columns",
-            "key.namelength" : 7,
-            "key.nameoffset" : 4912,
-            "key.offset" : 4905,
-            "key.parsed_declaration" : "public struct Columns",
-            "key.parsed_scope.end" : 219,
-            "key.parsed_scope.start" : 202,
-            "key.substructure" : [
-              {
-                "key.accessibility" : "source.lang.swift.accessibility.public",
-                "key.annotated_decl" : "public var count: Int<\/Type><\/Declaration>",
-                "key.attributes" : [
-                  {
-                    "key.attribute" : "source.decl.attribute.public",
-                    "key.length" : 6,
-                    "key.offset" : 4934
-                  }
-                ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
-                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> count<\/decl.name>: Int<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 15,
-                "key.name" : "count",
-                "key.namelength" : 5,
-                "key.nameoffset" : 4945,
-                "key.offset" : 4941,
-                "key.parsed_declaration" : "public var count : Int",
-                "key.parsed_scope.end" : 204,
-                "key.parsed_scope.start" : 204,
-                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-                "key.typename" : "Int",
-                "key.typeusr" : "$sSiD",
-                "key.usr" : "s:10ListableUI7SectionV7ColumnsV5countSivp"
-              },
-              {
-                "key.accessibility" : "source.lang.swift.accessibility.public",
-                "key.annotated_decl" : "public var spacing: CGFloat<\/Type><\/Declaration>",
-                "key.attributes" : [
-                  {
-                    "key.attribute" : "source.decl.attribute.public",
-                    "key.length" : 6,
-                    "key.offset" : 4965
-                  }
-                ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
-                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> spacing<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
-                "key.kind" : "source.lang.swift.decl.var.instance",
-                "key.length" : 21,
-                "key.name" : "spacing",
-                "key.namelength" : 7,
-                "key.nameoffset" : 4976,
-                "key.offset" : 4972,
-                "key.parsed_declaration" : "public var spacing : CGFloat",
-                "key.parsed_scope.end" : 205,
-                "key.parsed_scope.start" : 205,
-                "key.setter_accessibility" : "source.lang.swift.accessibility.public",
-                "key.typename" : "CGFloat",
-                "key.typeusr" : "$s12CoreGraphics7CGFloatVD",
-                "key.usr" : "s:10ListableUI7SectionV7ColumnsV7spacing12CoreGraphics7CGFloatVvp"
-              },
-              {
-                "key.accessibility" : "source.lang.swift.accessibility.public",
-                "key.annotated_decl" : "public static var one: Columns<\/Type> { get }<\/Declaration>",
-                "key.attributes" : [
-                  {
-                    "key.attribute" : "source.decl.attribute.public",
-                    "key.length" : 6,
-                    "key.offset" : 5011
-                  }
-                ],
-                "key.bodylength" : 60,
-                "key.bodyoffset" : 5044,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
-                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> static<\/syntaxtype.keyword> var<\/syntaxtype.keyword> one<\/decl.name>: Columns<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.static>",
-                "key.kind" : "source.lang.swift.decl.var.static",
-                "key.length" : 87,
-                "key.name" : "one",
-                "key.namelength" : 3,
-                "key.nameoffset" : 5029,
-                "key.offset" : 5018,
-                "key.parsed_declaration" : "public static var one : Columns",
-                "key.parsed_scope.end" : 209,
-                "key.parsed_scope.start" : 207,
-                "key.typename" : "Section.Columns",
-                "key.typeusr" : "$s10ListableUI7SectionV7ColumnsVD",
-                "key.usr" : "s:10ListableUI7SectionV7ColumnsV3oneAEvpZ"
-              },
-              {
-                "key.accessibility" : "source.lang.swift.accessibility.public",
-                "key.annotated_decl" : "public init(count: Int<\/Type> = 1, spacing: CGFloat<\/Type> = 0.0)<\/Declaration>",
-                "key.attributes" : [
-                  {
-                    "key.attribute" : "source.decl.attribute.public",
-                    "key.length" : 6,
-                    "key.offset" : 5123
-                  }
-                ],
-                "key.bodylength" : 260,
-                "key.bodyoffset" : 5186,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
-                "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(count<\/decl.var.parameter.argument_label>: Int<\/ref.struct><\/decl.var.parameter.type> = 1<\/decl.var.parameter>, spacing<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = 0.0<\/decl.var.parameter>)<\/decl.function.constructor>",
-                "key.kind" : "source.lang.swift.decl.function.method.instance",
-                "key.length" : 317,
-                "key.name" : "init(count:spacing:)",
-                "key.namelength" : 46,
-                "key.nameoffset" : 5130,
-                "key.offset" : 5130,
-                "key.parsed_declaration" : "public init(count : Int = 1, spacing : CGFloat = 0.0)",
-                "key.parsed_scope.end" : 218,
-                "key.parsed_scope.start" : 211,
-                "key.substructure" : [
-
-                ],
-                "key.typename" : "(Section.Columns.Type) -> (Int, CGFloat) -> Section.Columns",
-                "key.typeusr" : "$s5count7spacing10ListableUI7SectionV7ColumnsVSi_12CoreGraphics7CGFloatVtcD",
-                "key.usr" : "s:10ListableUI7SectionV7ColumnsV5count7spacingAESi_12CoreGraphics7CGFloatVtcfc"
-              }
-            ],
-            "key.typename" : "Section.Columns.Type",
-            "key.typeusr" : "$s10ListableUI7SectionV7ColumnsVmD",
-            "key.usr" : "s:10ListableUI7SectionV7ColumnsV"
-          }
-        ],
-        "key.typename" : "Section.Type",
-        "key.typeusr" : "$s10ListableUI7SectionVmD",
-        "key.usr" : "s:10ListableUI7SectionV"
-      },
       {
         "key.accessibility" : "source.lang.swift.accessibility.public",
         "key.annotated_decl" : "public protocol SectionInfo : AnySectionInfo<\/Type><\/Declaration>",
@@ -70828,19 +72641,19 @@
           {
             "key.attribute" : "source.decl.attribute.public",
             "key.length" : 6,
-            "key.offset" : 5458
+            "key.offset" : 4103
           }
         ],
         "key.bodylength" : 165,
-        "key.bodyoffset" : 5504,
+        "key.bodyoffset" : 4149,
         "key.elements" : [
           {
             "key.kind" : "source.lang.swift.structure.elem.typeref",
             "key.length" : 14,
-            "key.offset" : 5488
+            "key.offset" : 4133
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/Section.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> SectionInfo<\/decl.name> : AnySectionInfo<\/ref.protocol><\/decl.protocol>",
         "key.inheritedtypes" : [
           {
@@ -70851,11 +72664,11 @@
         "key.length" : 205,
         "key.name" : "SectionInfo",
         "key.namelength" : 11,
-        "key.nameoffset" : 5474,
-        "key.offset" : 5465,
+        "key.nameoffset" : 4119,
+        "key.offset" : 4110,
         "key.parsed_declaration" : "public protocol SectionInfo : AnySectionInfo",
-        "key.parsed_scope.end" : 232,
-        "key.parsed_scope.start" : 223,
+        "key.parsed_scope.end" : 182,
+        "key.parsed_scope.start" : 173,
         "key.substructure" : [
           {
             "key.kind" : "source.lang.swift.syntaxtype.comment.mark",
@@ -70863,24 +72676,24 @@
             "key.name" : "MARK: Identifying Content & Changes",
             "key.namelength" : 0,
             "key.nameoffset" : 0,
-            "key.offset" : 5519
+            "key.offset" : 4164
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
             "key.annotated_decl" : "var identifier: Identifier<\/Type><Self<\/Type>> { get }<\/Declaration>",
             "key.bodylength" : 5,
-            "key.bodyoffset" : 5606,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
+            "key.bodyoffset" : 4251,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/Section.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> identifier<\/decl.name>: Identifier<\/ref.class><Self<\/ref.generic_type_param>><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 41,
             "key.name" : "identifier",
             "key.namelength" : 10,
-            "key.nameoffset" : 5575,
-            "key.offset" : 5571,
+            "key.nameoffset" : 4220,
+            "key.offset" : 4216,
             "key.parsed_declaration" : "var identifier : Identifier",
-            "key.parsed_scope.end" : 229,
-            "key.parsed_scope.start" : 229,
+            "key.parsed_scope.end" : 179,
+            "key.parsed_scope.start" : 179,
             "key.typename" : "Identifier",
             "key.typeusr" : "$s10ListableUI10IdentifierCyxGD",
             "key.usr" : "s:10ListableUI11SectionInfoP10identifierAA10IdentifierCyxGvp"
@@ -70888,17 +72701,17 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
             "key.annotated_decl" : "func wasMoved(comparedTo other: Self<\/Type>) -> Bool<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/Section.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> wasMoved<\/decl.name>(comparedTo<\/decl.var.parameter.argument_label> other<\/decl.var.parameter.name>: Self<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 46,
             "key.name" : "wasMoved(comparedTo:)",
             "key.namelength" : 33,
-            "key.nameoffset" : 5627,
-            "key.offset" : 5622,
+            "key.nameoffset" : 4272,
+            "key.offset" : 4267,
             "key.parsed_declaration" : "func wasMoved(comparedTo other : Self) -> Bool",
-            "key.parsed_scope.end" : 231,
-            "key.parsed_scope.start" : 231,
+            "key.parsed_scope.end" : 181,
+            "key.parsed_scope.start" : 181,
             "key.substructure" : [
 
             ],
@@ -70918,22 +72731,22 @@
           {
             "key.attribute" : "source.decl.attribute.public",
             "key.length" : 6,
-            "key.offset" : 5673
+            "key.offset" : 4318
           }
         ],
         "key.bodylength" : 178,
-        "key.bodyoffset" : 5705,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
+        "key.bodyoffset" : 4350,
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/Section.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> AnySectionInfo<\/decl.name><\/decl.protocol>",
         "key.kind" : "source.lang.swift.decl.protocol",
         "key.length" : 204,
         "key.name" : "AnySectionInfo",
         "key.namelength" : 14,
-        "key.nameoffset" : 5689,
-        "key.offset" : 5680,
+        "key.nameoffset" : 4334,
+        "key.offset" : 4325,
         "key.parsed_declaration" : "public protocol AnySectionInfo",
-        "key.parsed_scope.end" : 244,
-        "key.parsed_scope.start" : 235,
+        "key.parsed_scope.end" : 194,
+        "key.parsed_scope.start" : 185,
         "key.substructure" : [
           {
             "key.kind" : "source.lang.swift.syntaxtype.comment.mark",
@@ -70941,24 +72754,24 @@
             "key.name" : "MARK: Identifying Content & Changes",
             "key.namelength" : 0,
             "key.nameoffset" : 0,
-            "key.offset" : 5720
+            "key.offset" : 4365
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
             "key.annotated_decl" : "var anyIdentifier: AnyIdentifier<\/Type> { get }<\/Declaration>",
             "key.bodylength" : 5,
-            "key.bodyoffset" : 5807,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
+            "key.bodyoffset" : 4452,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/Section.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> anyIdentifier<\/decl.name>: AnyIdentifier<\/ref.class><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 41,
             "key.name" : "anyIdentifier",
             "key.namelength" : 13,
-            "key.nameoffset" : 5776,
-            "key.offset" : 5772,
+            "key.nameoffset" : 4421,
+            "key.offset" : 4417,
             "key.parsed_declaration" : "var anyIdentifier : AnyIdentifier",
-            "key.parsed_scope.end" : 241,
-            "key.parsed_scope.start" : 241,
+            "key.parsed_scope.end" : 191,
+            "key.parsed_scope.start" : 191,
             "key.typename" : "AnyIdentifier",
             "key.typeusr" : "$s10ListableUI13AnyIdentifierCD",
             "key.usr" : "s:10ListableUI14AnySectionInfoP13anyIdentifierAA0cG0Cvp"
@@ -70966,17 +72779,17 @@
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
             "key.annotated_decl" : "func anyWasMoved(comparedTo other: AnySectionInfo<\/Type>) -> Bool<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/Section.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> anyWasMoved<\/decl.name>(comparedTo<\/decl.var.parameter.argument_label> other<\/decl.var.parameter.name>: AnySectionInfo<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 59,
             "key.name" : "anyWasMoved(comparedTo:)",
             "key.namelength" : 46,
-            "key.nameoffset" : 5828,
-            "key.offset" : 5823,
+            "key.nameoffset" : 4473,
+            "key.offset" : 4468,
             "key.parsed_declaration" : "func anyWasMoved(comparedTo other : AnySectionInfo) -> Bool",
-            "key.parsed_scope.end" : 243,
-            "key.parsed_scope.start" : 243,
+            "key.parsed_scope.end" : 193,
+            "key.parsed_scope.start" : 193,
             "key.substructure" : [
 
             ],
@@ -70996,39 +72809,39 @@
           {
             "key.attribute" : "source.decl.attribute.public",
             "key.length" : 6,
-            "key.offset" : 5887
+            "key.offset" : 4532
           }
         ],
         "key.bodylength" : 291,
-        "key.bodyoffset" : 5917,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
+        "key.bodyoffset" : 4562,
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/Section.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> SectionInfo<\/decl.name> : AnySectionInfo<\/ref.protocol><\/decl.protocol>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 315,
         "key.name" : "SectionInfo",
         "key.namelength" : 11,
-        "key.nameoffset" : 5904,
-        "key.offset" : 5894,
+        "key.nameoffset" : 4549,
+        "key.offset" : 4539,
         "key.parsed_declaration" : "public extension SectionInfo",
-        "key.parsed_scope.end" : 261,
-        "key.parsed_scope.start" : 247,
+        "key.parsed_scope.end" : 211,
+        "key.parsed_scope.start" : 197,
         "key.substructure" : [
           {
             "key.accessibility" : "source.lang.swift.accessibility.public",
             "key.annotated_decl" : "var anyIdentifier: AnyIdentifier<\/Type> { get }<\/Declaration>",
             "key.bodylength" : 29,
-            "key.bodyoffset" : 5957,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
+            "key.bodyoffset" : 4602,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/Section.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> anyIdentifier<\/decl.name>: AnyIdentifier<\/ref.class><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 65,
             "key.name" : "anyIdentifier",
             "key.namelength" : 13,
-            "key.nameoffset" : 5926,
-            "key.offset" : 5922,
+            "key.nameoffset" : 4571,
+            "key.offset" : 4567,
             "key.parsed_declaration" : "var anyIdentifier : AnyIdentifier",
-            "key.parsed_scope.end" : 251,
-            "key.parsed_scope.start" : 249,
+            "key.parsed_scope.end" : 201,
+            "key.parsed_scope.start" : 199,
             "key.related_decls" : [
               {
                 "key.annotated_decl" : "anyIdentifier<\/RelatedName>"
@@ -71042,18 +72855,18 @@
             "key.accessibility" : "source.lang.swift.accessibility.public",
             "key.annotated_decl" : "func anyWasMoved(comparedTo other: AnySectionInfo<\/Type>) -> Bool<\/Type><\/Declaration>",
             "key.bodylength" : 144,
-            "key.bodyoffset" : 6062,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
+            "key.bodyoffset" : 4707,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/Section.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> anyWasMoved<\/decl.name>(comparedTo<\/decl.var.parameter.argument_label> other<\/decl.var.parameter.name>: AnySectionInfo<\/ref.protocol><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 210,
             "key.name" : "anyWasMoved(comparedTo:)",
             "key.namelength" : 46,
-            "key.nameoffset" : 6002,
-            "key.offset" : 5997,
+            "key.nameoffset" : 4647,
+            "key.offset" : 4642,
             "key.parsed_declaration" : "func anyWasMoved(comparedTo other : AnySectionInfo) -> Bool",
-            "key.parsed_scope.end" : 260,
-            "key.parsed_scope.start" : 253,
+            "key.parsed_scope.end" : 210,
+            "key.parsed_scope.start" : 203,
             "key.related_decls" : [
               {
                 "key.annotated_decl" : "anyWasMoved(comparedTo: AnySectionInfo) -> Bool<\/RelatedName>"
@@ -71078,19 +72891,19 @@
           {
             "key.attribute" : "source.decl.attribute.private",
             "key.length" : 7,
-            "key.offset" : 6212
+            "key.offset" : 4857
           }
         ],
         "key.bodylength" : 346,
-        "key.bodyoffset" : 6278,
+        "key.bodyoffset" : 4923,
         "key.elements" : [
           {
             "key.kind" : "source.lang.swift.structure.elem.typeref",
             "key.length" : 11,
-            "key.offset" : 6265
+            "key.offset" : 4910
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/Section.swift",
         "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> HashableSectionInfo<\/decl.name><Value<\/decl.generic_type_param.name><\/decl.generic_type_param>> : SectionInfo<\/ref.protocol> where<\/syntaxtype.keyword> Value : Hashable<\/ref.protocol><\/decl.generic_type_requirement><\/decl.struct>",
         "key.inheritedtypes" : [
           {
@@ -71101,11 +72914,11 @@
         "key.length" : 405,
         "key.name" : "HashableSectionInfo",
         "key.namelength" : 19,
-        "key.nameoffset" : 6227,
-        "key.offset" : 6220,
+        "key.nameoffset" : 4872,
+        "key.offset" : 4865,
         "key.parsed_declaration" : "private struct HashableSectionInfo : SectionInfo",
-        "key.parsed_scope.end" : 283,
-        "key.parsed_scope.start" : 264,
+        "key.parsed_scope.end" : 233,
+        "key.parsed_scope.start" : 214,
         "key.substructure" : [
           {
             "key.annotated_decl" : "Value : Hashable<\/Type><\/Declaration>",
@@ -71113,10 +72926,10 @@
               {
                 "key.kind" : "source.lang.swift.structure.elem.typeref",
                 "key.length" : 8,
-                "key.offset" : 6253
+                "key.offset" : 4898
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/Section.swift",
             "key.fully_annotated_decl" : "Value<\/decl.generic_type_param.name> : Hashable<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
             "key.inheritedtypes" : [
               {
@@ -71127,11 +72940,11 @@
             "key.length" : 14,
             "key.name" : "Value",
             "key.namelength" : 5,
-            "key.nameoffset" : 6247,
-            "key.offset" : 6247,
+            "key.nameoffset" : 4892,
+            "key.offset" : 4892,
             "key.parsed_declaration" : "private struct HashableSectionInfovar value: Value<\/Type><\/Declaration>",
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/Section.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> value<\/decl.name>: Value<\/ref.generic_type_param><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 17,
             "key.name" : "value",
             "key.namelength" : 5,
-            "key.nameoffset" : 6287,
-            "key.offset" : 6283,
+            "key.nameoffset" : 4932,
+            "key.offset" : 4928,
             "key.parsed_declaration" : "var value : Value",
-            "key.parsed_scope.end" : 266,
-            "key.parsed_scope.start" : 266,
+            "key.parsed_scope.end" : 216,
+            "key.parsed_scope.start" : 216,
             "key.setter_accessibility" : "source.lang.swift.accessibility.internal",
             "key.typename" : "Value",
             "key.typeusr" : "$sxD",
@@ -71159,18 +72972,18 @@
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "init(_ value: Value<\/Type>)<\/Declaration>",
             "key.bodylength" : 32,
-            "key.bodyoffset" : 6337,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
+            "key.bodyoffset" : 4982,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/Section.swift",
             "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(_<\/decl.var.parameter.argument_label> value<\/decl.var.parameter.name>: Value<\/ref.generic_type_param><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 60,
             "key.name" : "init(_:)",
             "key.namelength" : 21,
-            "key.nameoffset" : 6310,
-            "key.offset" : 6310,
+            "key.nameoffset" : 4955,
+            "key.offset" : 4955,
             "key.parsed_declaration" : "init(_ value : Value)",
-            "key.parsed_scope.end" : 271,
-            "key.parsed_scope.start" : 268,
+            "key.parsed_scope.end" : 221,
+            "key.parsed_scope.start" : 218,
             "key.substructure" : [
 
             ],
@@ -71184,29 +72997,29 @@
             "key.name" : "MARK: SectionInfo",
             "key.namelength" : 0,
             "key.nameoffset" : 0,
-            "key.offset" : 6383
+            "key.offset" : 5028
           },
           {
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "var identifier: Identifier<\/Type><HashableSectionInfo<\/Type>> { get }<\/Declaration>",
             "key.bodylength" : 38,
-            "key.bodyoffset" : 6460,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
+            "key.bodyoffset" : 5105,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/Section.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> identifier<\/decl.name>: Identifier<\/ref.class><HashableSectionInfo<\/ref.struct>><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 89,
             "key.name" : "identifier",
             "key.namelength" : 10,
-            "key.nameoffset" : 6414,
-            "key.offset" : 6410,
+            "key.nameoffset" : 5059,
+            "key.offset" : 5055,
             "key.overrides" : [
               {
                 "key.usr" : "s:10ListableUI11SectionInfoP10identifierAA10IdentifierCyxGvp"
               }
             ],
             "key.parsed_declaration" : "var identifier : Identifier",
-            "key.parsed_scope.end" : 277,
-            "key.parsed_scope.start" : 275,
+            "key.parsed_scope.end" : 227,
+            "key.parsed_scope.start" : 225,
             "key.typename" : "Identifier>",
             "key.typeusr" : "$s10ListableUI10IdentifierCyAA19HashableSectionInfo33_FA8ED5564F05383C9BFB9054A4B67C50LLVyxGGD",
             "key.usr" : "s:10ListableUI19HashableSectionInfo33_FA8ED5564F05383C9BFB9054A4B67C50LLV10identifierAA10IdentifierCyADyxGGvp"
@@ -71215,23 +73028,23 @@
             "key.accessibility" : "source.lang.swift.accessibility.internal",
             "key.annotated_decl" : "func wasMoved(comparedTo other: HashableSectionInfo<\/Type>) -> Bool<\/Type><\/Declaration>",
             "key.bodylength" : 46,
-            "key.bodyoffset" : 6576,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Section.swift",
+            "key.bodyoffset" : 5221,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/Section.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> wasMoved<\/decl.name>(comparedTo<\/decl.var.parameter.argument_label> other<\/decl.var.parameter.name>: HashableSectionInfo<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> Bool<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 114,
             "key.name" : "wasMoved(comparedTo:)",
             "key.namelength" : 48,
-            "key.nameoffset" : 6514,
-            "key.offset" : 6509,
+            "key.nameoffset" : 5159,
+            "key.offset" : 5154,
             "key.overrides" : [
               {
                 "key.usr" : "s:10ListableUI11SectionInfoP8wasMoved10comparedToSbx_tF"
               }
             ],
             "key.parsed_declaration" : "func wasMoved(comparedTo other : HashableSectionInfo) -> Bool",
-            "key.parsed_scope.end" : 282,
-            "key.parsed_scope.start" : 279,
+            "key.parsed_scope.end" : 232,
+            "key.parsed_scope.start" : 229,
             "key.substructure" : [
 
             ],
@@ -71247,9 +73060,296 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/SectionLayouts.swift" : {
+    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
+    "key.length" : 3464,
+    "key.offset" : 0,
+    "key.substructure" : [
+      {
+        "key.accessibility" : "source.lang.swift.accessibility.public",
+        "key.annotated_decl" : "public struct SectionLayouts<\/Declaration>",
+        "key.attributes" : [
+          {
+            "key.attribute" : "source.decl.attribute.public",
+            "key.length" : 6,
+            "key.offset" : 1472
+          }
+        ],
+        "key.bodylength" : 1268,
+        "key.bodyoffset" : 1502,
+        "key.doc.column" : 15,
+        "key.doc.comment" : "\n`SectionLayouts` allows you to provide `ListLayout`-specific layout configuration for\nindividual sections within a list. Eg, customize the layout for a section when it is in a table, a grid, etc.\n\nFor example, if you want to specify a custom layout for table layouts, you\nwould do the following on your section:\n\n```\nmySection.layouts.table = .init(\n    width: .fill\n)\n```\n\nAnd then, when the `Section` is used within a `.table` style\nlist layout, the provided layout will be used.\n\nIf you plan on swapping between multiple `ListLayout` types on your list,\nyou can provide multiple layouts. The correct one will be used at the correct time:\n\n```\nmySection.layouts.table = .init(\n    width: .fill\n)\n\nmySection.layouts.otherLayout = .init(\n    width: 300,\n    alignment: .left\n)\n```\n\nNote\n----\nWhen implementing your own custom layout, you should add an extension to `SectionLayouts`,\nto provide easier access to your layout-specific `SectionLayoutsValue` type, like so:\n\n```\nextension SectionLayouts {\n    public var table : TableAppearance.Section.Layout {\n        get { self[TableAppearance.Section.Layout.self] }\n        set { self[TableAppearance.Section.Layout.self] = newValue }\n    }\n}\n```",
+        "key.doc.declaration" : "public struct SectionLayouts",
+        "key.doc.discussion" : [
+          {
+            "Para" : "For example, if you want to specify a custom layout for table layouts, you would do the following on your section:"
+          },
+          {
+            "CodeListing" : ""
+          },
+          {
+            "Para" : "And then, when the `Section` is used within a `.table` style list layout, the provided layout will be used."
+          },
+          {
+            "Para" : "If you plan on swapping between multiple `ListLayout` types on your list, you can provide multiple layouts. The correct one will be used at the correct time:"
+          },
+          {
+            "CodeListing" : ""
+          },
+          {
+            "Para" : "When implementing your own custom layout, you should add an extension to `SectionLayouts`, to provide easier access to your layout-specific `SectionLayoutsValue` type, like so:"
+          },
+          {
+            "CodeListing" : ""
+          }
+        ],
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/SectionLayouts.swift",
+        "key.doc.full_as_xml" : "SectionLayouts<\/Name>s:10ListableUI14SectionLayoutsV<\/USR>public struct SectionLayouts<\/Declaration>SectionLayouts<\/codeVoice> allows you to provide ListLayout<\/codeVoice>-specific layout configuration for individual sections within a list. Eg, customize the layout for a section when it is in a table, a grid, etc.<\/Para><\/Abstract>For example, if you want to specify a custom layout for table layouts, you would do the following on your section:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>And then, when the Section<\/codeVoice> is used within a .table<\/codeVoice> style list layout, the provided layout will be used.<\/Para>If you plan on swapping between multiple ListLayout<\/codeVoice> types on your list, you can provide multiple layouts. The correct one will be used at the correct time:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing>]]><\/rawHTML>Note]]><\/rawHTML>When implementing your own custom layout, you should add an extension to SectionLayouts<\/codeVoice>, to provide easier access to your layout-specific SectionLayoutsValue<\/codeVoice> type, like so:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.line" : 54,
+        "key.doc.name" : "SectionLayouts",
+        "key.doc.type" : "Class",
+        "key.doclength" : 1360,
+        "key.docoffset" : 112,
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/SectionLayouts.swift",
+        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> SectionLayouts<\/decl.name><\/decl.struct>",
+        "key.kind" : "source.lang.swift.decl.struct",
+        "key.length" : 1292,
+        "key.name" : "SectionLayouts",
+        "key.namelength" : 14,
+        "key.nameoffset" : 1486,
+        "key.offset" : 1479,
+        "key.parsed_declaration" : "public struct SectionLayouts",
+        "key.parsed_scope.end" : 88,
+        "key.parsed_scope.start" : 54,
+        "key.substructure" : [
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "public init(_ configure: (inout `Self`) -> () = { _ in })<\/Declaration>",
+            "key.attributes" : [
+              {
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 1648
+              }
+            ],
+            "key.bodylength" : 70,
+            "key.bodyoffset" : 1720,
+            "key.doc.column" : 12,
+            "key.doc.comment" : "Creates a new instance of the layouts, with an optional `configure`\nclosure, to allow you to set up styling inline.",
+            "key.doc.declaration" : "public init(_ configure: (inout `Self`) -> () = { _ in })",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/SectionLayouts.swift",
+            "key.doc.full_as_xml" : "init(_:)<\/Name>s:10ListableUI14SectionLayoutsVyACyACzXEcfc<\/USR>public init(_ configure: (inout `Self`) -> () = { _ in })<\/Declaration>Creates a new instance of the layouts, with an optional configure<\/codeVoice> closure, to allow you to set up styling inline.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.line" : 58,
+            "key.doc.name" : "init(_:)",
+            "key.doc.type" : "Function",
+            "key.doclength" : 128,
+            "key.docoffset" : 1516,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/SectionLayouts.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(_<\/decl.var.parameter.argument_label> configure<\/decl.var.parameter.name>: (inout<\/syntaxtype.keyword> `Self`<\/decl.var.parameter.type><\/decl.var.parameter>) -> ()<\/tuple><\/decl.function.returntype><\/decl.var.parameter.type> = { _ in }<\/decl.var.parameter>)<\/decl.function.constructor>",
+            "key.kind" : "source.lang.swift.decl.function.method.instance",
+            "key.length" : 136,
+            "key.name" : "init(_:)",
+            "key.namelength" : 63,
+            "key.nameoffset" : 1655,
+            "key.offset" : 1655,
+            "key.parsed_declaration" : "public init(\n    _ configure : (inout Self) -> () = { _ in }\n)",
+            "key.parsed_scope.end" : 64,
+            "key.parsed_scope.start" : 58,
+            "key.substructure" : [
+
+            ],
+            "key.typename" : "(SectionLayouts.Type) -> ((inout SectionLayouts) -> ()) -> SectionLayouts",
+            "key.typeusr" : "$sy10ListableUI14SectionLayoutsVyACzXEcD",
+            "key.usr" : "s:10ListableUI14SectionLayoutsVyACyACzXEcfc"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.private",
+            "key.annotated_decl" : "private var storage: ContentLayoutsStorage<\/Type><\/Declaration>",
+            "key.attributes" : [
+              {
+                "key.attribute" : "source.decl.attribute.private",
+                "key.length" : 7,
+                "key.offset" : 1801
+              }
+            ],
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/SectionLayouts.swift",
+            "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> var<\/syntaxtype.keyword> storage<\/decl.name>: ContentLayoutsStorage<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
+            "key.kind" : "source.lang.swift.decl.var.instance",
+            "key.length" : 35,
+            "key.name" : "storage",
+            "key.namelength" : 7,
+            "key.nameoffset" : 1813,
+            "key.offset" : 1809,
+            "key.parsed_declaration" : "private var storage : ContentLayoutsStorage",
+            "key.parsed_scope.end" : 66,
+            "key.parsed_scope.start" : 66,
+            "key.setter_accessibility" : "source.lang.swift.accessibility.private",
+            "key.typename" : "ContentLayoutsStorage",
+            "key.typeusr" : "$s10ListableUI21ContentLayoutsStorageVD",
+            "key.usr" : "s:10ListableUI14SectionLayoutsV7storage33_0ABDCA340DBDD359496A50C3AD6DC411LLAA07ContentD7StorageVvp"
+          },
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "public subscript<ValueType>(valueType: ValueType<\/Type>.Type) -> ValueType<\/Type> where ValueType : SectionLayoutsValue<\/Type> { get set }<\/Declaration>",
+            "key.attributes" : [
+              {
+                "key.attribute" : "source.decl.attribute.public",
+                "key.length" : 6,
+                "key.offset" : 2535
+              }
+            ],
+            "key.bodylength" : 141,
+            "key.bodyoffset" : 2627,
+            "key.doc.column" : 12,
+            "key.doc.comment" : "Allows accessing the various `SectionLayoutsValue`s stored within the object.\nThis method will return the `defaultValue` for a value if none is set.\n\nNote\n----\nWhen implementing your own custom layout, you should add an extension to `SectionLayouts`,\nto provide easier access to your layout-specific `SectionLayoutsValue` type.\n\n```\nextension SectionLayouts {\n    public var table : TableAppearance.Section.Layout {\n        get { self[TableAppearance.Section.Layout.self] }\n        set { self[TableAppearance.Section.Layout.self] = newValue }\n    }\n}\n```",
+            "key.doc.declaration" : "public subscript(valueType: ValueType.Type) -> ValueType where ValueType : ListableUI.SectionLayoutsValue { get set }",
+            "key.doc.discussion" : [
+              {
+                "Para" : "When implementing your own custom layout, you should add an extension to `SectionLayouts`, to provide easier access to your layout-specific `SectionLayoutsValue` type."
+              },
+              {
+                "CodeListing" : ""
+              }
+            ],
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/SectionLayouts.swift",
+            "key.doc.full_as_xml" : "subscript(_:)<\/Name>s:10ListableUI14SectionLayoutsVyxxmcAA0cD5ValueRzluip<\/USR>public subscript<ValueType>(valueType: ValueType.Type) -> ValueType where ValueType : ListableUI.SectionLayoutsValue { get set }<\/Declaration>Allows accessing the various SectionLayoutsValue<\/codeVoice>s stored within the object. This method will return the defaultValue<\/codeVoice> for a value if none is set.<\/Para><\/Abstract>]]><\/rawHTML>Note]]><\/rawHTML>When implementing your own custom layout, you should add an extension to SectionLayouts<\/codeVoice>, to provide easier access to your layout-specific SectionLayoutsValue<\/codeVoice> type.<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Other>",
+            "key.doc.line" : 84,
+            "key.doc.name" : "subscript(_:)",
+            "key.doc.type" : "Other",
+            "key.doclength" : 677,
+            "key.docoffset" : 1854,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/SectionLayouts.swift",
+            "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> subscript<\/syntaxtype.keyword><ValueType<\/decl.generic_type_param.name><\/decl.generic_type_param>>(valueType<\/decl.var.parameter.name>: ValueType<\/ref.generic_type_param>.Type<\/decl.var.parameter.type><\/decl.var.parameter>) -> ValueType<\/ref.generic_type_param><\/decl.function.returntype> where<\/syntaxtype.keyword> ValueType : SectionLayoutsValue<\/ref.protocol><\/decl.generic_type_requirement> { get<\/syntaxtype.keyword> set<\/syntaxtype.keyword> }<\/decl.function.subscript>",
+            "key.kind" : "source.lang.swift.decl.function.subscript",
+            "key.length" : 227,
+            "key.name" : "subscript(_:)",
+            "key.namelength" : 70,
+            "key.nameoffset" : 2542,
+            "key.offset" : 2542,
+            "key.parsed_declaration" : "public subscript(_ valueType : ValueType.Type) -> ValueType",
+            "key.parsed_scope.end" : 87,
+            "key.parsed_scope.start" : 84,
+            "key.setter_accessibility" : "source.lang.swift.accessibility.public",
+            "key.substructure" : [
+              {
+                "key.annotated_decl" : "ValueType : SectionLayoutsValue<\/Type><\/Declaration>",
+                "key.elements" : [
+                  {
+                    "key.kind" : "source.lang.swift.structure.elem.typeref",
+                    "key.length" : 19,
+                    "key.offset" : 2562
+                  }
+                ],
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/SectionLayouts.swift",
+                "key.fully_annotated_decl" : "ValueType<\/decl.generic_type_param.name> : SectionLayoutsValue<\/ref.protocol><\/decl.generic_type_param.constraint><\/decl.generic_type_param>",
+                "key.inheritedtypes" : [
+                  {
+                    "key.name" : "SectionLayoutsValue"
+                  }
+                ],
+                "key.kind" : "source.lang.swift.decl.generic_type_param",
+                "key.length" : 29,
+                "key.name" : "ValueType",
+                "key.namelength" : 9,
+                "key.nameoffset" : 2552,
+                "key.offset" : 2552,
+                "key.parsed_declaration" : "public subscript (ValueType.Type) -> ValueType",
+            "key.typeusr" : "$syxxmc10ListableUI19SectionLayoutsValueRzluD",
+            "key.usr" : "s:10ListableUI14SectionLayoutsVyxxmcAA0cD5ValueRzluip"
+          }
+        ],
+        "key.typename" : "SectionLayouts.Type",
+        "key.typeusr" : "$s10ListableUI14SectionLayoutsVmD",
+        "key.usr" : "s:10ListableUI14SectionLayoutsV"
+      },
+      {
+        "key.accessibility" : "source.lang.swift.accessibility.public",
+        "key.annotated_decl" : "public protocol SectionLayoutsValue<\/Declaration>",
+        "key.attributes" : [
+          {
+            "key.attribute" : "source.decl.attribute.public",
+            "key.length" : 6,
+            "key.offset" : 3307
+          }
+        ],
+        "key.bodylength" : 118,
+        "key.bodyoffset" : 3344,
+        "key.doc.column" : 17,
+        "key.doc.comment" : "\nThe `SectionLayoutsValue` protocol provides a default value for the different layouts stored\nwithin `SectionLayouts`. Provide a `defaultValue` with reasonable defaults, as the\ndeveloper should not need to set these values at all times when using your layout.\n\n```\npublic struct Layout : Equatable, SectionLayoutsValue\n{\n    public var width : CGFloat\n    public var minHeight : CGFloat\n\n    ...\n\n    public static var defaultValue : Self {\n        ...\n    }\n}\n```",
+        "key.doc.declaration" : "public protocol SectionLayoutsValue",
+        "key.doc.discussion" : [
+          {
+            "CodeListing" : ""
+          }
+        ],
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/SectionLayouts.swift",
+        "key.doc.full_as_xml" : "SectionLayoutsValue<\/Name>s:10ListableUI19SectionLayoutsValueP<\/USR>public protocol SectionLayoutsValue<\/Declaration>The SectionLayoutsValue<\/codeVoice> protocol provides a default value for the different layouts stored within SectionLayouts<\/codeVoice>. Provide a defaultValue<\/codeVoice> with reasonable defaults, as the developer should not need to set these values at all times when using your layout.<\/Para><\/Abstract><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Class>",
+        "key.doc.line" : 109,
+        "key.doc.name" : "SectionLayoutsValue",
+        "key.doc.type" : "Class",
+        "key.doclength" : 533,
+        "key.docoffset" : 2774,
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/SectionLayouts.swift",
+        "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> protocol<\/syntaxtype.keyword> SectionLayoutsValue<\/decl.name><\/decl.protocol>",
+        "key.kind" : "source.lang.swift.decl.protocol",
+        "key.length" : 149,
+        "key.name" : "SectionLayoutsValue",
+        "key.namelength" : 19,
+        "key.nameoffset" : 3323,
+        "key.offset" : 3314,
+        "key.parsed_declaration" : "public protocol SectionLayoutsValue",
+        "key.parsed_scope.end" : 113,
+        "key.parsed_scope.start" : 109,
+        "key.substructure" : [
+          {
+            "key.accessibility" : "source.lang.swift.accessibility.public",
+            "key.annotated_decl" : "static var defaultValue: Self<\/Type> { get }<\/Declaration>",
+            "key.bodylength" : 5,
+            "key.bodyoffset" : 3455,
+            "key.doc.column" : 16,
+            "key.doc.comment" : "The default value used when accessing the value, if none is set.",
+            "key.doc.declaration" : "static var defaultValue: Self { get }",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/SectionLayouts.swift",
+            "key.doc.full_as_xml" : "defaultValue<\/Name>s:10ListableUI19SectionLayoutsValueP07defaultE0xvpZ<\/USR>static var defaultValue: Self { get }<\/Declaration>The default value used when accessing the value, if none is set.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.line" : 112,
+            "key.doc.name" : "defaultValue",
+            "key.doc.type" : "Other",
+            "key.doclength" : 69,
+            "key.docoffset" : 3350,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Section\/SectionLayouts.swift",
+            "key.fully_annotated_decl" : "static<\/syntaxtype.keyword> var<\/syntaxtype.keyword> defaultValue<\/decl.name>: Self<\/ref.generic_type_param><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.static>",
+            "key.kind" : "source.lang.swift.decl.var.static",
+            "key.length" : 38,
+            "key.name" : "defaultValue",
+            "key.namelength" : 12,
+            "key.nameoffset" : 3434,
+            "key.offset" : 3423,
+            "key.parsed_declaration" : "static var defaultValue : Self",
+            "key.parsed_scope.end" : 112,
+            "key.parsed_scope.start" : 112,
+            "key.typename" : "Self",
+            "key.typeusr" : "$sxD",
+            "key.usr" : "s:10ListableUI19SectionLayoutsValueP07defaultE0xvpZ"
+          }
+        ],
+        "key.typename" : "SectionLayoutsValue.Protocol",
+        "key.typeusr" : "$s10ListableUI19SectionLayoutsValue_pmD",
+        "key.usr" : "s:10ListableUI19SectionLayoutsValueP"
+      }
+    ]
+  }
+}, {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
-    "key.length" : 10912,
+    "key.length" : 10913,
     "key.offset" : 0,
     "key.substructure" : [
       {
@@ -71267,8 +73367,8 @@
         "key.doc.column" : 13,
         "key.doc.comment" : "\nControls how a header, footer, or item in a list view is sized.",
         "key.doc.declaration" : "public enum Sizing : Hashable",
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
-        "key.doc.full_as_xml" : "Sizing<\/Name>s:10ListableUI6SizingO<\/USR>public enum Sizing : Hashable<\/Declaration>Controls how a header, footer, or item in a list view is sized.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
+        "key.doc.full_as_xml" : "Sizing<\/Name>s:10ListableUI6SizingO<\/USR>public enum Sizing : Hashable<\/Declaration>Controls how a header, footer, or item in a list view is sized.<\/Para><\/Abstract><\/CommentParts><\/Other>",
         "key.doc.line" : 14,
         "key.doc.name" : "Sizing",
         "key.doc.type" : "Other",
@@ -71281,7 +73381,7 @@
             "key.offset" : 202
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> enum<\/syntaxtype.keyword> Sizing<\/decl.name> : Hashable<\/ref.protocol><\/decl.enum>",
         "key.inheritedtypes" : [
           {
@@ -71311,14 +73411,14 @@
                 "key.doc.column" : 10,
                 "key.doc.comment" : "The default size from the list's appearance is used. The size is not dynamic at all.",
                 "key.doc.declaration" : "",
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
-                "key.doc.full_as_xml" : "default<\/Name>s:10ListableUI6SizingO7defaultyA2CmF<\/USR><\/Declaration>The default size from the list’s appearance is used. The size is not dynamic at all.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
+                "key.doc.full_as_xml" : "default<\/Name>s:10ListableUI6SizingO7defaultyA2CmF<\/USR><\/Declaration>The default size from the list’s appearance is used. The size is not dynamic at all.<\/Para><\/Abstract><\/CommentParts><\/Other>",
                 "key.doc.line" : 17,
                 "key.doc.name" : "default",
                 "key.doc.type" : "Other",
                 "key.doclength" : 89,
                 "key.docoffset" : 217,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
                 "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> `default`<\/decl.name><\/decl.enumelement>",
                 "key.kind" : "source.lang.swift.decl.enumelement",
                 "key.length" : 9,
@@ -71353,14 +73453,14 @@
                     "Para" : "This option takes in both a size and a width. However, for standard list views, only the height is used. The width is provided for when custom layouts are used, which may allow sizing for other types of layouts, eg, grids."
                   }
                 ],
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
-                "key.doc.full_as_xml" : "fixed(width:height:)<\/Name>s:10ListableUI6SizingO5fixedyAC12CoreGraphics7CGFloatV_AGtcACmF<\/USR><\/Declaration>Fixes the size to the absolute value passed in.<\/Para><\/Abstract>]]><\/rawHTML>Note]]><\/rawHTML>This option takes in both a size and a width. However, for standard list views, only the height is used. The width is provided for when custom layouts are used, which may allow sizing for other types of layouts, eg, grids.<\/Para><\/Discussion><\/CommentParts><\/Other>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
+                "key.doc.full_as_xml" : "fixed(width:height:)<\/Name>s:10ListableUI6SizingO5fixedyAC12CoreGraphics7CGFloatV_AGtcACmF<\/USR><\/Declaration>Fixes the size to the absolute value passed in.<\/Para><\/Abstract>]]><\/rawHTML>Note]]><\/rawHTML>This option takes in both a size and a width. However, for standard list views, only the height is used. The width is provided for when custom layouts are used, which may allow sizing for other types of layouts, eg, grids.<\/Para><\/Discussion><\/CommentParts><\/Other>",
                 "key.doc.line" : 27,
                 "key.doc.name" : "fixed(width:height:)",
                 "key.doc.type" : "Other",
                 "key.doclength" : 341,
                 "key.docoffset" : 334,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
                 "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> fixed<\/decl.name>(width<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = 0.0<\/decl.var.parameter>, height<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = 0.0<\/decl.var.parameter>)<\/decl.enumelement>",
                 "key.kind" : "source.lang.swift.decl.enumelement",
                 "key.length" : 52,
@@ -71401,14 +73501,14 @@
                     "CodeListing" : ""
                   }
                 ],
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
-                "key.doc.full_as_xml" : "thatFits(_:)<\/Name>s:10ListableUI6SizingO8thatFitsyA2C10ConstraintVcACmF<\/USR><\/Declaration>Sizes the item by calling sizeThatFits<\/codeVoice> on its underlying view type. The passed in constraint is used to clamp the size to a minimum, maximum, or range. If you do not specify a constraint, .noConstraint<\/codeVoice> is used.<\/Para><\/Abstract>]]><\/rawHTML>Example]]><\/rawHTML>If you would like to use sizeThatFits<\/codeVoice> to size an item, but would like to enforce a minimum size, you would do something similar to the following:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Other>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
+                "key.doc.full_as_xml" : "thatFits(_:)<\/Name>s:10ListableUI6SizingO8thatFitsyA2C10ConstraintVcACmF<\/USR><\/Declaration>Sizes the item by calling sizeThatFits<\/codeVoice> on its underlying view type. The passed in constraint is used to clamp the size to a minimum, maximum, or range. If you do not specify a constraint, .noConstraint<\/codeVoice> is used.<\/Para><\/Abstract>]]><\/rawHTML>Example]]><\/rawHTML>If you would like to use sizeThatFits<\/codeVoice> to size an item, but would like to enforce a minimum size, you would do something similar to the following:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Other>",
                 "key.doc.line" : 45,
                 "key.doc.name" : "thatFits(_:)",
                 "key.doc.type" : "Other",
                 "key.doclength" : 705,
                 "key.docoffset" : 746,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
                 "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> thatFits<\/decl.name>(_<\/decl.var.parameter.argument_label>: Constraint<\/ref.struct><\/decl.var.parameter.type> = .noConstraint<\/decl.var.parameter>)<\/decl.enumelement>",
                 "key.kind" : "source.lang.swift.decl.enumelement",
                 "key.length" : 36,
@@ -71449,14 +73549,14 @@
                     "CodeListing" : ""
                   }
                 ],
-                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
-                "key.doc.full_as_xml" : "autolayout(_:)<\/Name>s:10ListableUI6SizingO10autolayoutyA2C10ConstraintVcACmF<\/USR><\/Declaration>Sizes the item by calling systemLayoutSizeFitting<\/codeVoice> on its underlying view type. The passed in constraint is used to clamp the size to a minimum, maximum, or range. If you do not specify a constraint, .noConstraint<\/codeVoice> is used.<\/Para><\/Abstract>]]><\/rawHTML>Example]]><\/rawHTML>If you would like to use systemLayoutSizeFitting<\/codeVoice> to size an item, but would like to enforce a minimum size, you would do something similar to the following:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Other>",
+                "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
+                "key.doc.full_as_xml" : "autolayout(_:)<\/Name>s:10ListableUI6SizingO10autolayoutyA2C10ConstraintVcACmF<\/USR><\/Declaration>Sizes the item by calling systemLayoutSizeFitting<\/codeVoice> on its underlying view type. The passed in constraint is used to clamp the size to a minimum, maximum, or range. If you do not specify a constraint, .noConstraint<\/codeVoice> is used.<\/Para><\/Abstract>]]><\/rawHTML>Example]]><\/rawHTML>If you would like to use systemLayoutSizeFitting<\/codeVoice> to size an item, but would like to enforce a minimum size, you would do something similar to the following:<\/Para><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/zCodeLineNumbered><\/CodeListing><\/Discussion><\/CommentParts><\/Other>",
                 "key.doc.line" : 63,
                 "key.doc.name" : "autolayout(_:)",
                 "key.doc.type" : "Other",
                 "key.doclength" : 731,
                 "key.docoffset" : 1506,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
                 "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> autolayout<\/decl.name>(_<\/decl.var.parameter.argument_label>: Constraint<\/ref.struct><\/decl.var.parameter.type> = .noConstraint<\/decl.var.parameter>)<\/decl.enumelement>",
                 "key.kind" : "source.lang.swift.decl.enumelement",
                 "key.length" : 38,
@@ -71484,14 +73584,14 @@
             "key.doc.column" : 10,
             "key.doc.comment" : "Measures the given view with the provided options.\nThe returned value is `ceil()`'d to round up to the next full integer value.",
             "key.doc.declaration" : "func measure(with view: UIView, info: MeasureInfo) -> CGSize",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
-            "key.doc.full_as_xml" : "measure(with:info:)<\/Name>s:10ListableUI6SizingO7measure4with4infoSo6CGSizeVSo6UIViewC_AC11MeasureInfoVtF<\/USR>func measure(with view: UIView, info: MeasureInfo) -> CGSize<\/Declaration>Measures the given view with the provided options. The returned value is ceil()<\/codeVoice>’d to round up to the next full integer value.<\/Para><\/Abstract><\/CommentParts><\/Function>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
+            "key.doc.full_as_xml" : "measure(with:info:)<\/Name>s:10ListableUI6SizingO7measure4with4infoSo6CGSizeVSo6UIViewC_AC11MeasureInfoVtF<\/USR>func measure(with view: UIView, info: MeasureInfo) -> CGSize<\/Declaration>Measures the given view with the provided options. The returned value is ceil()<\/codeVoice>’d to round up to the next full integer value.<\/Para><\/Abstract><\/CommentParts><\/Function>",
             "key.doc.line" : 67,
             "key.doc.name" : "measure(with:info:)",
             "key.doc.type" : "Function",
             "key.doclength" : 140,
             "key.docoffset" : 2294,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
             "key.fully_annotated_decl" : "func<\/syntaxtype.keyword> measure<\/decl.name>(with<\/decl.var.parameter.argument_label> view<\/decl.var.parameter.name>: UIView<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, info<\/decl.var.parameter.argument_label>: MeasureInfo<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGSize<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 1694,
@@ -71505,7 +73605,7 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let size: CGSize<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> size<\/decl.name>: CGSize<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 1445,
@@ -71537,7 +73637,7 @@
             ],
             "key.bodylength" : 729,
             "key.bodyoffset" : 4194,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
             "key.fully_annotated_decl" : "private<\/syntaxtype.keyword> func<\/syntaxtype.keyword> validateMeasuredSize<\/decl.name>(_<\/decl.var.parameter.argument_label> size<\/decl.var.parameter.name>: CGSize<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 774,
@@ -71551,7 +73651,7 @@
             "key.substructure" : [
               {
                 "key.annotated_decl" : "let reasonableMaxDimension: CGFloat<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
                 "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> reasonableMaxDimension<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                 "key.kind" : "source.lang.swift.decl.var.local",
                 "key.length" : 45,
@@ -71582,12 +73682,12 @@
         "key.bodyoffset" : 4947,
         "key.doc.column" : 13,
         "key.doc.declaration" : "public enum Sizing : Hashable",
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
-        "key.doc.full_as_xml" : "Sizing<\/Name>s:10ListableUI6SizingO<\/USR>public enum Sizing : Hashable<\/Declaration>Controls how a header, footer, or item in a list view is sized.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
+        "key.doc.full_as_xml" : "Sizing<\/Name>s:10ListableUI6SizingO<\/USR>public enum Sizing : Hashable<\/Declaration>Controls how a header, footer, or item in a list view is sized.<\/Para><\/Abstract><\/CommentParts><\/Other>",
         "key.doc.line" : 14,
         "key.doc.name" : "Sizing",
         "key.doc.type" : "Other",
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> enum<\/syntaxtype.keyword> Sizing<\/decl.name> : Hashable<\/ref.protocol><\/decl.enum>",
         "key.kind" : "source.lang.swift.decl.extension",
         "key.length" : 2563,
@@ -71611,7 +73711,7 @@
             ],
             "key.bodylength" : 398,
             "key.bodyoffset" : 4983,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> MeasureInfo<\/decl.name><\/decl.struct>",
             "key.kind" : "source.lang.swift.decl.struct",
             "key.length" : 423,
@@ -71626,7 +73726,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var sizeConstraint: CGSize<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> sizeConstraint<\/decl.name>: CGSize<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 27,
@@ -71645,7 +73745,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var defaultSize: CGSize<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> defaultSize<\/decl.name>: CGSize<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 24,
@@ -71664,7 +73764,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var direction: LayoutDirection<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> direction<\/decl.name>: LayoutDirection<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 31,
@@ -71685,7 +73785,7 @@
                 "key.annotated_decl" : "init(sizeConstraint: CGSize<\/Type>, defaultSize: CGSize<\/Type>, direction: LayoutDirection<\/Type>)<\/Declaration>",
                 "key.bodylength" : 140,
                 "key.bodyoffset" : 5235,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
                 "key.fully_annotated_decl" : "init<\/syntaxtype.keyword>(sizeConstraint<\/decl.var.parameter.argument_label>: CGSize<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, defaultSize<\/decl.var.parameter.argument_label>: CGSize<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, direction<\/decl.var.parameter.argument_label>: LayoutDirection<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 266,
@@ -71727,7 +73827,7 @@
                 "key.offset" : 5419
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> Constraint<\/decl.name> : Hashable<\/ref.protocol><\/decl.struct>",
             "key.inheritedtypes" : [
               {
@@ -71754,7 +73854,7 @@
                     "key.offset" : 5442
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> width<\/decl.name>: Axis<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 16,
@@ -71780,7 +73880,7 @@
                     "key.offset" : 5474
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> height<\/decl.name>: Axis<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 17,
@@ -71808,7 +73908,7 @@
                 ],
                 "key.bodylength" : 123,
                 "key.bodyoffset" : 5561,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> static<\/syntaxtype.keyword> var<\/syntaxtype.keyword> noConstraint<\/decl.name>: Constraint<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.static>",
                 "key.kind" : "source.lang.swift.decl.var.static",
                 "key.length" : 162,
@@ -71835,7 +73935,7 @@
                 ],
                 "key.bodylength" : 72,
                 "key.bodyoffset" : 5740,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(_<\/decl.var.parameter.argument_label> value<\/decl.var.parameter.name>: Axis<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 103,
@@ -71870,7 +73970,7 @@
                 ],
                 "key.bodylength" : 73,
                 "key.bodyoffset" : 5907,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(width<\/decl.var.parameter.argument_label>: Axis<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>, height<\/decl.var.parameter.argument_label>: Axis<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 143,
@@ -71905,7 +74005,7 @@
                 ],
                 "key.bodylength" : 211,
                 "key.bodyoffset" : 6081,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> clamp<\/decl.name>(_<\/decl.var.parameter.argument_label> value<\/decl.var.parameter.name>: CGSize<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, with<\/decl.var.parameter.argument_label> defaultSize<\/decl.var.parameter.name>: CGSize<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGSize<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 287,
@@ -71942,7 +74042,7 @@
                     "key.offset" : 6330
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> enum<\/syntaxtype.keyword> Sizing<\/ref.enum>.Constraint<\/ref.struct>.Axis<\/decl.name> : Hashable<\/ref.protocol><\/decl.enum>",
                 "key.inheritedtypes" : [
                   {
@@ -71969,7 +74069,7 @@
                       {
                         "key.accessibility" : "source.lang.swift.accessibility.public",
                         "key.annotated_decl" : "case noConstraint<\/Declaration>",
-                        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+                        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
                         "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> noConstraint<\/decl.name><\/decl.enumelement>",
                         "key.kind" : "source.lang.swift.decl.enumelement",
                         "key.length" : 12,
@@ -71996,7 +74096,7 @@
                       {
                         "key.accessibility" : "source.lang.swift.accessibility.public",
                         "key.annotated_decl" : "case atLeast(Value<\/Type>)<\/Declaration>",
-                        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+                        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
                         "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> atLeast<\/decl.name>(Value<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.enumelement>",
                         "key.kind" : "source.lang.swift.decl.enumelement",
                         "key.length" : 14,
@@ -72026,7 +74126,7 @@
                       {
                         "key.accessibility" : "source.lang.swift.accessibility.public",
                         "key.annotated_decl" : "case atMost(CGFloat<\/Type>)<\/Declaration>",
-                        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+                        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
                         "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> atMost<\/decl.name>(CGFloat<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.enumelement>",
                         "key.kind" : "source.lang.swift.decl.enumelement",
                         "key.length" : 15,
@@ -72056,7 +74156,7 @@
                       {
                         "key.accessibility" : "source.lang.swift.accessibility.public",
                         "key.annotated_decl" : "case within(Value<\/Type>, CGFloat<\/Type>)<\/Declaration>",
-                        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+                        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
                         "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> within<\/decl.name>(Value<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>, CGFloat<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.enumelement>",
                         "key.kind" : "source.lang.swift.decl.enumelement",
                         "key.length" : 22,
@@ -72095,7 +74195,7 @@
                         "key.offset" : 6555
                       }
                     ],
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
                     "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> enum<\/syntaxtype.keyword> Sizing<\/ref.enum>.Constraint<\/ref.struct>.Axis<\/ref.enum>.Value<\/decl.name> : Hashable<\/ref.protocol><\/decl.enum>",
                     "key.inheritedtypes" : [
                       {
@@ -72122,7 +74222,7 @@
                           {
                             "key.accessibility" : "source.lang.swift.accessibility.public",
                             "key.annotated_decl" : "case `default`<\/Declaration>",
-                            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+                            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
                             "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> `default`<\/decl.name><\/decl.enumelement>",
                             "key.kind" : "source.lang.swift.decl.enumelement",
                             "key.length" : 9,
@@ -72149,7 +74249,7 @@
                           {
                             "key.accessibility" : "source.lang.swift.accessibility.public",
                             "key.annotated_decl" : "case fixed(CGFloat<\/Type>)<\/Declaration>",
-                            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+                            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
                             "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> fixed<\/decl.name>(CGFloat<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.enumelement>",
                             "key.kind" : "source.lang.swift.decl.enumelement",
                             "key.length" : 14,
@@ -72181,7 +74281,7 @@
                         ],
                         "key.bodylength" : 188,
                         "key.bodyoffset" : 6754,
-                        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+                        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
                         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> value<\/decl.name>(with<\/decl.var.parameter.argument_label> defaultHeight<\/decl.var.parameter.name>: CGFloat<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGFloat<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
                         "key.kind" : "source.lang.swift.decl.function.method.instance",
                         "key.length" : 258,
@@ -72216,7 +74316,7 @@
                     ],
                     "key.bodylength" : 400,
                     "key.bodyoffset" : 7073,
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
                     "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> clamp<\/decl.name>(_<\/decl.var.parameter.argument_label> value<\/decl.var.parameter.name>: CGFloat<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, with<\/decl.var.parameter.argument_label> defaultValue<\/decl.var.parameter.name>: CGFloat<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGFloat<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
                     "key.kind" : "source.lang.swift.decl.function.method.instance",
                     "key.length" : 484,
@@ -72268,7 +74368,7 @@
             "key.offset" : 7525
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> enum<\/syntaxtype.keyword> WidthConstraint<\/decl.name> : Equatable<\/ref.protocol><\/decl.enum>",
         "key.inheritedtypes" : [
           {
@@ -72295,7 +74395,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.public",
                 "key.annotated_decl" : "case noConstraint<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
                 "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> noConstraint<\/decl.name><\/decl.enumelement>",
                 "key.kind" : "source.lang.swift.decl.enumelement",
                 "key.length" : 12,
@@ -72322,7 +74422,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.public",
                 "key.annotated_decl" : "case fixed(CGFloat<\/Type>)<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
                 "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> fixed<\/decl.name>(CGFloat<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.enumelement>",
                 "key.kind" : "source.lang.swift.decl.enumelement",
                 "key.length" : 14,
@@ -72352,7 +74452,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.public",
                 "key.annotated_decl" : "case atMost(CGFloat<\/Type>)<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
                 "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> atMost<\/decl.name>(CGFloat<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.enumelement>",
                 "key.kind" : "source.lang.swift.decl.enumelement",
                 "key.length" : 15,
@@ -72384,7 +74484,7 @@
             ],
             "key.bodylength" : 185,
             "key.bodyoffset" : 7670,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> clamp<\/decl.name>(_<\/decl.var.parameter.argument_label> value<\/decl.var.parameter.name>: CGFloat<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGFloat<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 232,
@@ -72417,7 +74517,7 @@
             "key.offset" : 7861
           }
         ],
-        "key.bodylength" : 2540,
+        "key.bodylength" : 2541,
         "key.bodyoffset" : 7898,
         "key.elements" : [
           {
@@ -72426,7 +74526,7 @@
             "key.offset" : 7887
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> enum<\/syntaxtype.keyword> CustomWidth<\/decl.name> : Equatable<\/ref.protocol><\/decl.enum>",
         "key.inheritedtypes" : [
           {
@@ -72434,7 +74534,7 @@
           }
         ],
         "key.kind" : "source.lang.swift.decl.enum",
-        "key.length" : 2571,
+        "key.length" : 2572,
         "key.name" : "CustomWidth",
         "key.namelength" : 11,
         "key.nameoffset" : 7873,
@@ -72453,7 +74553,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.public",
                 "key.annotated_decl" : "case `default`<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
                 "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> `default`<\/decl.name><\/decl.enumelement>",
                 "key.kind" : "source.lang.swift.decl.enumelement",
                 "key.length" : 9,
@@ -72480,7 +74580,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.public",
                 "key.annotated_decl" : "case fill<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
                 "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> fill<\/decl.name><\/decl.enumelement>",
                 "key.kind" : "source.lang.swift.decl.enumelement",
                 "key.length" : 4,
@@ -72507,7 +74607,7 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.public",
                 "key.annotated_decl" : "case custom(Custom<\/Type>)<\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
                 "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> custom<\/decl.name>(Custom<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.enumelement>",
                 "key.kind" : "source.lang.swift.decl.enumelement",
                 "key.length" : 14,
@@ -72539,7 +74639,7 @@
             ],
             "key.bodylength" : 143,
             "key.bodyoffset" : 8030,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> merge<\/decl.name>(with<\/decl.var.parameter.argument_label> parent<\/decl.var.parameter.name>: CustomWidth<\/ref.enum><\/decl.var.parameter.type><\/decl.var.parameter>) -> CustomWidth<\/ref.enum><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 202,
@@ -72569,7 +74669,7 @@
             ],
             "key.bodylength" : 480,
             "key.bodyoffset" : 8270,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> position<\/decl.name>(with<\/decl.var.parameter.argument_label> viewSize<\/decl.var.parameter.name>: CGSize<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, defaultWidth<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> Position<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 560,
@@ -72597,7 +74697,7 @@
                 "key.offset" : 8761
               }
             ],
-            "key.bodylength" : 1004,
+            "key.bodylength" : 1005,
             "key.bodyoffset" : 8799,
             "key.elements" : [
               {
@@ -72606,7 +74706,7 @@
                 "key.offset" : 8784
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> CustomWidth<\/ref.enum>.Custom<\/decl.name> : Equatable<\/ref.protocol><\/decl.struct>",
             "key.inheritedtypes" : [
               {
@@ -72614,7 +74714,7 @@
               }
             ],
             "key.kind" : "source.lang.swift.decl.struct",
-            "key.length" : 1036,
+            "key.length" : 1037,
             "key.name" : "Custom",
             "key.namelength" : 6,
             "key.nameoffset" : 8775,
@@ -72633,7 +74733,7 @@
                     "key.offset" : 8808
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> padding<\/decl.name>: HorizontalPadding<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 31,
@@ -72659,7 +74759,7 @@
                     "key.offset" : 8855
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> width<\/decl.name>: WidthConstraint<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 27,
@@ -72685,7 +74785,7 @@
                     "key.offset" : 8898
                   }
                 ],
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> alignment<\/decl.name>: Alignment<\/ref.enum><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 25,
@@ -72713,7 +74813,7 @@
                 ],
                 "key.bodylength" : 114,
                 "key.bodyoffset" : 9126,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(padding<\/decl.var.parameter.argument_label>: HorizontalPadding<\/ref.struct><\/decl.var.parameter.type> = .zero<\/decl.var.parameter>, width<\/decl.var.parameter.argument_label>: WidthConstraint<\/ref.enum><\/decl.var.parameter.type> = .noConstraint<\/decl.var.parameter>, alignment<\/decl.var.parameter.argument_label>: Alignment<\/ref.enum><\/decl.var.parameter.type> = .center<\/decl.var.parameter>)<\/decl.function.constructor>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 286,
@@ -72741,12 +74841,12 @@
                     "key.offset" : 9259
                   }
                 ],
-                "key.bodylength" : 472,
+                "key.bodylength" : 473,
                 "key.bodyoffset" : 9325,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> position<\/decl.name>(with<\/decl.var.parameter.argument_label> viewSize<\/decl.var.parameter.name>: CGSize<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> Position<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
-                "key.length" : 532,
+                "key.length" : 533,
                 "key.name" : "position(with:)",
                 "key.namelength" : 32,
                 "key.nameoffset" : 9271,
@@ -72757,15 +74857,15 @@
                 "key.substructure" : [
                   {
                     "key.annotated_decl" : "let width: CGFloat<\/Type><\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
                     "key.fully_annotated_decl" : "let<\/syntaxtype.keyword> width<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.local>",
                     "key.kind" : "source.lang.swift.decl.var.local",
-                    "key.length" : 170,
+                    "key.length" : 171,
                     "key.name" : "width",
                     "key.namelength" : 5,
                     "key.nameoffset" : 9342,
                     "key.offset" : 9338,
-                    "key.parsed_declaration" : "let width = ListAppearance.Layout.width(\n    with: viewSize.width,\n    padding: self.padding,\n    constraint: self.width\n)",
+                    "key.parsed_declaration" : "let width = TableAppearance.Layout.width(\n    with: viewSize.width,\n    padding: self.padding,\n    constraint: self.width\n)",
                     "key.parsed_scope.end" : 295,
                     "key.parsed_scope.start" : 295,
                     "key.related_decls" : [
@@ -72794,19 +74894,19 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 9814
+                "key.offset" : 9815
               }
             ],
             "key.bodylength" : 470,
-            "key.bodyoffset" : 9853,
+            "key.bodyoffset" : 9854,
             "key.elements" : [
               {
                 "key.kind" : "source.lang.swift.structure.elem.typeref",
                 "key.length" : 9,
-                "key.offset" : 9838
+                "key.offset" : 9839
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> enum<\/syntaxtype.keyword> CustomWidth<\/ref.enum>.Alignment<\/decl.name> : Equatable<\/ref.protocol><\/decl.enum>",
             "key.inheritedtypes" : [
               {
@@ -72817,8 +74917,8 @@
             "key.length" : 503,
             "key.name" : "Alignment",
             "key.namelength" : 9,
-            "key.nameoffset" : 9826,
-            "key.offset" : 9821,
+            "key.nameoffset" : 9827,
+            "key.offset" : 9822,
             "key.parsed_declaration" : "public enum Alignment : Equatable",
             "key.parsed_scope.end" : 329,
             "key.parsed_scope.start" : 312,
@@ -72828,19 +74928,19 @@
                 "key.length" : 9,
                 "key.namelength" : 0,
                 "key.nameoffset" : 0,
-                "key.offset" : 9862,
+                "key.offset" : 9863,
                 "key.substructure" : [
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.public",
                     "key.annotated_decl" : "case left<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> left<\/decl.name><\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 4,
                     "key.name" : "left",
                     "key.namelength" : 4,
-                    "key.nameoffset" : 9867,
-                    "key.offset" : 9867,
+                    "key.nameoffset" : 9868,
+                    "key.offset" : 9868,
                     "key.parsed_declaration" : "case left",
                     "key.parsed_scope.end" : 314,
                     "key.parsed_scope.start" : 314,
@@ -72855,19 +74955,19 @@
                 "key.length" : 11,
                 "key.namelength" : 0,
                 "key.nameoffset" : 0,
-                "key.offset" : 9880,
+                "key.offset" : 9881,
                 "key.substructure" : [
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.public",
                     "key.annotated_decl" : "case center<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> center<\/decl.name><\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 6,
                     "key.name" : "center",
                     "key.namelength" : 6,
-                    "key.nameoffset" : 9885,
-                    "key.offset" : 9885,
+                    "key.nameoffset" : 9886,
+                    "key.offset" : 9886,
                     "key.parsed_declaration" : "case center",
                     "key.parsed_scope.end" : 315,
                     "key.parsed_scope.start" : 315,
@@ -72882,19 +74982,19 @@
                 "key.length" : 10,
                 "key.namelength" : 0,
                 "key.nameoffset" : 0,
-                "key.offset" : 9900,
+                "key.offset" : 9901,
                 "key.substructure" : [
                   {
                     "key.accessibility" : "source.lang.swift.accessibility.public",
                     "key.annotated_decl" : "case right<\/Declaration>",
-                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+                    "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
                     "key.fully_annotated_decl" : "case<\/syntaxtype.keyword> right<\/decl.name><\/decl.enumelement>",
                     "key.kind" : "source.lang.swift.decl.enumelement",
                     "key.length" : 5,
                     "key.name" : "right",
                     "key.namelength" : 5,
-                    "key.nameoffset" : 9905,
-                    "key.offset" : 9905,
+                    "key.nameoffset" : 9906,
+                    "key.offset" : 9906,
                     "key.parsed_declaration" : "case right",
                     "key.parsed_scope.end" : 316,
                     "key.parsed_scope.start" : 316,
@@ -72911,19 +75011,19 @@
                   {
                     "key.attribute" : "source.decl.attribute.public",
                     "key.length" : 6,
-                    "key.offset" : 9928
+                    "key.offset" : 9929
                   }
                 ],
                 "key.bodylength" : 277,
-                "key.bodyoffset" : 10040,
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+                "key.bodyoffset" : 10041,
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
                 "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> func<\/syntaxtype.keyword> originWith<\/decl.name>(parentWidth<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, width<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, padding<\/decl.var.parameter.argument_label>: HorizontalPadding<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> CGFloat<\/ref.struct><\/decl.function.returntype><\/decl.function.method.instance>",
                 "key.kind" : "source.lang.swift.decl.function.method.instance",
                 "key.length" : 383,
                 "key.name" : "originWith(parentWidth:width:padding:)",
                 "key.namelength" : 79,
-                "key.nameoffset" : 9940,
-                "key.offset" : 9935,
+                "key.nameoffset" : 9941,
+                "key.offset" : 9936,
                 "key.parsed_declaration" : "public func originWith(parentWidth : CGFloat, width : CGFloat, padding : HorizontalPadding) -> CGFloat",
                 "key.parsed_scope.end" : 328,
                 "key.parsed_scope.start" : 318,
@@ -72946,19 +75046,19 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 10334
+                "key.offset" : 10335
               }
             ],
             "key.bodylength" : 62,
-            "key.bodyoffset" : 10374,
+            "key.bodyoffset" : 10375,
             "key.elements" : [
               {
                 "key.kind" : "source.lang.swift.structure.elem.typeref",
                 "key.length" : 9,
-                "key.offset" : 10359
+                "key.offset" : 10360
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> CustomWidth<\/ref.enum>.Position<\/decl.name> : Equatable<\/ref.protocol><\/decl.struct>",
             "key.inheritedtypes" : [
               {
@@ -72969,8 +75069,8 @@
             "key.length" : 96,
             "key.name" : "Position",
             "key.namelength" : 8,
-            "key.nameoffset" : 10348,
-            "key.offset" : 10341,
+            "key.nameoffset" : 10349,
+            "key.offset" : 10342,
             "key.parsed_declaration" : "public struct Position : Equatable",
             "key.parsed_scope.end" : 335,
             "key.parsed_scope.start" : 331,
@@ -72978,14 +75078,14 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var origin: CGFloat<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> origin<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 20,
                 "key.name" : "origin",
                 "key.namelength" : 6,
-                "key.nameoffset" : 10387,
-                "key.offset" : 10383,
+                "key.nameoffset" : 10388,
+                "key.offset" : 10384,
                 "key.parsed_declaration" : "var origin : CGFloat",
                 "key.parsed_scope.end" : 333,
                 "key.parsed_scope.start" : 333,
@@ -72997,14 +75097,14 @@
               {
                 "key.accessibility" : "source.lang.swift.accessibility.internal",
                 "key.annotated_decl" : "var width: CGFloat<\/Type><\/Declaration>",
-                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+                "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
                 "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> width<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
                 "key.kind" : "source.lang.swift.decl.var.instance",
                 "key.length" : 19,
                 "key.name" : "width",
                 "key.namelength" : 5,
-                "key.nameoffset" : 10416,
-                "key.offset" : 10412,
+                "key.nameoffset" : 10417,
+                "key.offset" : 10413,
                 "key.parsed_declaration" : "var width : CGFloat",
                 "key.parsed_scope.end" : 334,
                 "key.parsed_scope.start" : 334,
@@ -73030,19 +75130,19 @@
           {
             "key.attribute" : "source.decl.attribute.public",
             "key.length" : 6,
-            "key.offset" : 10442
+            "key.offset" : 10443
           }
         ],
         "key.bodylength" : 423,
-        "key.bodyoffset" : 10487,
+        "key.bodyoffset" : 10488,
         "key.elements" : [
           {
             "key.kind" : "source.lang.swift.structure.elem.typeref",
             "key.length" : 9,
-            "key.offset" : 10476
+            "key.offset" : 10477
           }
         ],
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> HorizontalPadding<\/decl.name> : Equatable<\/ref.protocol><\/decl.struct>",
         "key.inheritedtypes" : [
           {
@@ -73053,8 +75153,8 @@
         "key.length" : 462,
         "key.name" : "HorizontalPadding",
         "key.namelength" : 17,
-        "key.nameoffset" : 10456,
-        "key.offset" : 10449,
+        "key.nameoffset" : 10457,
+        "key.offset" : 10450,
         "key.parsed_declaration" : "public struct HorizontalPadding : Equatable",
         "key.parsed_scope.end" : 359,
         "key.parsed_scope.start" : 339,
@@ -73066,17 +75166,17 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 10492
+                "key.offset" : 10493
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> left<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 18,
             "key.name" : "left",
             "key.namelength" : 4,
-            "key.nameoffset" : 10503,
-            "key.offset" : 10499,
+            "key.nameoffset" : 10504,
+            "key.offset" : 10500,
             "key.parsed_declaration" : "public var left : CGFloat",
             "key.parsed_scope.end" : 341,
             "key.parsed_scope.start" : 341,
@@ -73092,17 +75192,17 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 10522
+                "key.offset" : 10523
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> right<\/decl.name>: CGFloat<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 19,
             "key.name" : "right",
             "key.namelength" : 5,
-            "key.nameoffset" : 10533,
-            "key.offset" : 10529,
+            "key.nameoffset" : 10534,
+            "key.offset" : 10530,
             "key.parsed_declaration" : "public var right : CGFloat",
             "key.parsed_scope.end" : 342,
             "key.parsed_scope.start" : 342,
@@ -73118,19 +75218,19 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 10558
+                "key.offset" : 10559
               }
             ],
             "key.bodylength" : 61,
-            "key.bodyoffset" : 10602,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+            "key.bodyoffset" : 10603,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> static<\/syntaxtype.keyword> var<\/syntaxtype.keyword> zero<\/decl.name>: HorizontalPadding<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.static>",
             "key.kind" : "source.lang.swift.decl.var.static",
             "key.length" : 99,
             "key.name" : "zero",
             "key.namelength" : 4,
-            "key.nameoffset" : 10576,
-            "key.offset" : 10565,
+            "key.nameoffset" : 10577,
+            "key.offset" : 10566,
             "key.parsed_declaration" : "public static var zero : HorizontalPadding",
             "key.parsed_scope.end" : 346,
             "key.parsed_scope.start" : 344,
@@ -73145,19 +75245,19 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 10674
+                "key.offset" : 10675
               }
             ],
             "key.bodylength" : 57,
-            "key.bodyoffset" : 10736,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+            "key.bodyoffset" : 10737,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(left<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = 0.0<\/decl.var.parameter>, right<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = 0.0<\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 113,
             "key.name" : "init(left:right:)",
             "key.namelength" : 49,
-            "key.nameoffset" : 10681,
-            "key.offset" : 10681,
+            "key.nameoffset" : 10682,
+            "key.offset" : 10682,
             "key.parsed_declaration" : "public init(left : CGFloat = 0.0, right : CGFloat = 0.0)",
             "key.parsed_scope.end" : 352,
             "key.parsed_scope.start" : 348,
@@ -73180,19 +75280,19 @@
               {
                 "key.attribute" : "source.decl.attribute.public",
                 "key.length" : 6,
-                "key.offset" : 10804
+                "key.offset" : 10805
               }
             ],
             "key.bodylength" : 62,
-            "key.bodyoffset" : 10846,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/Sizing.swift",
+            "key.bodyoffset" : 10847,
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/Sizing.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(uniform<\/decl.var.parameter.argument_label>: CGFloat<\/ref.struct><\/decl.var.parameter.type> = 0.0<\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 98,
             "key.name" : "init(uniform:)",
             "key.namelength" : 29,
-            "key.nameoffset" : 10811,
-            "key.offset" : 10811,
+            "key.nameoffset" : 10812,
+            "key.offset" : 10812,
             "key.parsed_declaration" : "public init(uniform : CGFloat = 0.0)",
             "key.parsed_scope.end" : 358,
             "key.parsed_scope.start" : 354,
@@ -73216,7 +75316,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/SwipeActionsConfiguration.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/SwipeActionsConfiguration.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 1879,
     "key.offset" : 0,
@@ -73236,14 +75336,14 @@
         "key.doc.column" : 15,
         "key.doc.comment" : "Use SwipeActionsConfiguration to configure an item with SwipeActions.\nThese are actions that are revealed when swiping on the cell.",
         "key.doc.declaration" : "public struct SwipeActionsConfiguration",
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/SwipeActionsConfiguration.swift",
-        "key.doc.full_as_xml" : "SwipeActionsConfiguration<\/Name>s:10ListableUI25SwipeActionsConfigurationV<\/USR>public struct SwipeActionsConfiguration<\/Declaration>Use SwipeActionsConfiguration to configure an item with SwipeActions. These are actions that are revealed when swiping on the cell.<\/Para><\/Abstract><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/SwipeActionsConfiguration.swift",
+        "key.doc.full_as_xml" : "SwipeActionsConfiguration<\/Name>s:10ListableUI25SwipeActionsConfigurationV<\/USR>public struct SwipeActionsConfiguration<\/Declaration>Use SwipeActionsConfiguration to configure an item with SwipeActions. These are actions that are revealed when swiping on the cell.<\/Para><\/Abstract><\/CommentParts><\/Class>",
         "key.doc.line" : 13,
         "key.doc.name" : "SwipeActionsConfiguration",
         "key.doc.type" : "Class",
         "key.doclength" : 140,
         "key.docoffset" : 110,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/SwipeActionsConfiguration.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/SwipeActionsConfiguration.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> SwipeActionsConfiguration<\/decl.name><\/decl.struct>",
         "key.kind" : "source.lang.swift.decl.struct",
         "key.length" : 687,
@@ -73268,14 +75368,14 @@
             "key.doc.column" : 16,
             "key.doc.comment" : "The actions to display when the cell is swiped.",
             "key.doc.declaration" : "public var actions: [SwipeAction]",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/SwipeActionsConfiguration.swift",
-            "key.doc.full_as_xml" : "actions<\/Name>s:10ListableUI25SwipeActionsConfigurationV7actionsSayAA0C6ActionVGvp<\/USR>public var actions: [SwipeAction]<\/Declaration>The actions to display when the cell is swiped.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/SwipeActionsConfiguration.swift",
+            "key.doc.full_as_xml" : "actions<\/Name>s:10ListableUI25SwipeActionsConfigurationV7actionsSayAA0C6ActionVGvp<\/USR>public var actions: [SwipeAction]<\/Declaration>The actions to display when the cell is swiped.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 16,
             "key.doc.name" : "actions",
             "key.doc.type" : "Other",
             "key.doclength" : 52,
             "key.docoffset" : 297,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/SwipeActionsConfiguration.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/SwipeActionsConfiguration.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> actions<\/decl.name>: [SwipeAction<\/ref.struct>]<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 27,
@@ -73304,14 +75404,14 @@
             "key.doc.column" : 16,
             "key.doc.comment" : "Whether the first action is performed automatically with a full swipe.",
             "key.doc.declaration" : "public var performsFirstActionWithFullSwipe: Bool",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/SwipeActionsConfiguration.swift",
-            "key.doc.full_as_xml" : "performsFirstActionWithFullSwipe<\/Name>s:10ListableUI25SwipeActionsConfigurationV027performsFirstActionWithFullC0Sbvp<\/USR>public var performsFirstActionWithFullSwipe: Bool<\/Declaration>Whether the first action is performed automatically with a full swipe.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/SwipeActionsConfiguration.swift",
+            "key.doc.full_as_xml" : "performsFirstActionWithFullSwipe<\/Name>s:10ListableUI25SwipeActionsConfigurationV027performsFirstActionWithFullC0Sbvp<\/USR>public var performsFirstActionWithFullSwipe: Bool<\/Declaration>Whether the first action is performed automatically with a full swipe.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 19,
             "key.doc.name" : "performsFirstActionWithFullSwipe",
             "key.doc.type" : "Other",
             "key.doclength" : 75,
             "key.docoffset" : 393,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/SwipeActionsConfiguration.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/SwipeActionsConfiguration.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> performsFirstActionWithFullSwipe<\/decl.name>: Bool<\/ref.struct><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 43,
@@ -73339,7 +75439,7 @@
             ],
             "key.bodylength" : 110,
             "key.bodyoffset" : 616,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/SwipeActionsConfiguration.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/SwipeActionsConfiguration.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(action<\/decl.var.parameter.argument_label>: SwipeAction<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, performsFirstActionWithFullSwipe<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type> = false<\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 188,
@@ -73374,7 +75474,7 @@
             ],
             "key.bodylength" : 117,
             "key.bodyoffset" : 824,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/SwipeActionsConfiguration.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/SwipeActionsConfiguration.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(actions<\/decl.var.parameter.argument_label>: [SwipeAction<\/ref.struct>]<\/decl.var.parameter.type><\/decl.var.parameter>, performsFirstActionWithFullSwipe<\/decl.var.parameter.argument_label>: Bool<\/ref.struct><\/decl.var.parameter.type> = false<\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 198,
@@ -73417,14 +75517,14 @@
         "key.doc.column" : 15,
         "key.doc.comment" : "Create SwipeActions to define actions that can be performed in a SwipeActionsConfiguration.",
         "key.doc.declaration" : "public struct SwipeAction",
-        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/SwipeActionsConfiguration.swift",
-        "key.doc.full_as_xml" : "SwipeAction<\/Name>s:10ListableUI11SwipeActionV<\/USR>public struct SwipeAction<\/Declaration>Create SwipeActions to define actions that can be performed in a SwipeActionsConfiguration.<\/Para><\/Abstract><\/CommentParts><\/Class>",
+        "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/SwipeActionsConfiguration.swift",
+        "key.doc.full_as_xml" : "SwipeAction<\/Name>s:10ListableUI11SwipeActionV<\/USR>public struct SwipeAction<\/Declaration>Create SwipeActions to define actions that can be performed in a SwipeActionsConfiguration.<\/Para><\/Abstract><\/CommentParts><\/Class>",
         "key.doc.line" : 33,
         "key.doc.name" : "SwipeAction",
         "key.doc.type" : "Class",
         "key.doclength" : 96,
         "key.docoffset" : 947,
-        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/SwipeActionsConfiguration.swift",
+        "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/SwipeActionsConfiguration.swift",
         "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> struct<\/syntaxtype.keyword> SwipeAction<\/decl.name><\/decl.struct>",
         "key.kind" : "source.lang.swift.decl.struct",
         "key.length" : 828,
@@ -73454,14 +75554,14 @@
                 "Para" : "Pass in `true` to expand the actions (typically only used when deleting the row) or `false` to collapse them."
               }
             ],
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/SwipeActionsConfiguration.swift",
-            "key.doc.full_as_xml" : "CompletionHandler<\/Name>s:10ListableUI11SwipeActionV17CompletionHandlera<\/USR>public typealias ListableUI.SwipeAction.CompletionHandler = (_ expandActions: Bool) -> Void<\/Declaration>The completion handler to call after performing the swipe action.<\/Para><\/Abstract>Pass in true<\/codeVoice> to expand the actions (typically only used when deleting the row) or false<\/codeVoice> to collapse them.<\/Para><\/Discussion><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/SwipeActionsConfiguration.swift",
+            "key.doc.full_as_xml" : "CompletionHandler<\/Name>s:10ListableUI11SwipeActionV17CompletionHandlera<\/USR>public typealias ListableUI.SwipeAction.CompletionHandler = (_ expandActions: Bool) -> Void<\/Declaration>The completion handler to call after performing the swipe action.<\/Para><\/Abstract>Pass in true<\/codeVoice> to expand the actions (typically only used when deleting the row) or false<\/codeVoice> to collapse them.<\/Para><\/Discussion><\/CommentParts><\/Other>",
             "key.doc.line" : 39,
             "key.doc.name" : "CompletionHandler",
             "key.doc.type" : "Other",
             "key.doclength" : 204,
             "key.docoffset" : 1076,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/SwipeActionsConfiguration.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/SwipeActionsConfiguration.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> typealias<\/syntaxtype.keyword> SwipeAction<\/ref.struct>.CompletionHandler<\/decl.name> = (_<\/decl.var.parameter.argument_label> expandActions<\/decl.var.parameter.name>: Bool<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>) -> Void<\/ref.typealias><\/decl.function.returntype><\/decl.typealias>",
             "key.kind" : "source.lang.swift.decl.typealias",
             "key.length" : 61,
@@ -73489,14 +75589,14 @@
             "key.doc.column" : 22,
             "key.doc.comment" : "The completion handler called when the action is tapped.",
             "key.doc.declaration" : "public typealias ListableUI.SwipeAction.Handler = (@escaping CompletionHandler) -> Void",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/SwipeActionsConfiguration.swift",
-            "key.doc.full_as_xml" : "Handler<\/Name>s:10ListableUI11SwipeActionV7Handlera<\/USR>public typealias ListableUI.SwipeAction.Handler = (@escaping CompletionHandler) -> Void<\/Declaration>The completion handler called when the action is tapped.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/SwipeActionsConfiguration.swift",
+            "key.doc.full_as_xml" : "Handler<\/Name>s:10ListableUI11SwipeActionV7Handlera<\/USR>public typealias ListableUI.SwipeAction.Handler = (@escaping CompletionHandler) -> Void<\/Declaration>The completion handler called when the action is tapped.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 42,
             "key.doc.name" : "Handler",
             "key.doc.type" : "Other",
             "key.doclength" : 61,
             "key.docoffset" : 1358,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/SwipeActionsConfiguration.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/SwipeActionsConfiguration.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> typealias<\/syntaxtype.keyword> SwipeAction<\/ref.struct>.Handler<\/decl.name> = (@escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> CompletionHandler<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>) -> Void<\/ref.typealias><\/decl.function.returntype><\/decl.typealias>",
             "key.kind" : "source.lang.swift.decl.typealias",
             "key.length" : 57,
@@ -73521,7 +75621,7 @@
                 "key.offset" : 1493
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/SwipeActionsConfiguration.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/SwipeActionsConfiguration.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> title<\/decl.name>: String<\/ref.struct>?<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 18,
@@ -73547,7 +75647,7 @@
                 "key.offset" : 1523
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/SwipeActionsConfiguration.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/SwipeActionsConfiguration.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> backgroundColor<\/decl.name>: UIColor<\/ref.class>?<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 29,
@@ -73573,7 +75673,7 @@
                 "key.offset" : 1564
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/SwipeActionsConfiguration.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/SwipeActionsConfiguration.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> image<\/decl.name>: UIImage<\/ref.class>?<\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 19,
@@ -73599,7 +75699,7 @@
                 "key.offset" : 1596
               }
             ],
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/SwipeActionsConfiguration.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/SwipeActionsConfiguration.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> var<\/syntaxtype.keyword> handler<\/decl.name>: Handler<\/ref.typealias><\/decl.var.type><\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 20,
@@ -73627,7 +75727,7 @@
             ],
             "key.bodylength" : 137,
             "key.bodyoffset" : 1738,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/SwipeActionsConfiguration.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/SwipeActionsConfiguration.swift",
             "key.fully_annotated_decl" : "public<\/syntaxtype.keyword> init<\/syntaxtype.keyword>(title<\/decl.var.parameter.argument_label>: String<\/ref.struct><\/decl.var.parameter.type><\/decl.var.parameter>, backgroundColor<\/decl.var.parameter.argument_label>: UIColor<\/ref.class><\/decl.var.parameter.type><\/decl.var.parameter>, image<\/decl.var.parameter.argument_label>: UIImage<\/ref.class>?<\/decl.var.parameter.type> = nil<\/decl.var.parameter>, handler<\/decl.var.parameter.argument_label>: @escaping<\/syntaxtype.attribute.name><\/syntaxtype.attribute.builtin> Handler<\/ref.typealias><\/decl.var.parameter.type><\/decl.var.parameter>)<\/decl.function.constructor>",
             "key.kind" : "source.lang.swift.decl.function.method.instance",
             "key.length" : 236,
@@ -73653,7 +75753,7 @@
     ]
   }
 }, {
-  "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/UIScrollView+Extensions.swift" : {
+  "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/UIScrollView+Extensions.swift" : {
     "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
     "key.length" : 368,
     "key.offset" : 0,
@@ -73683,14 +75783,14 @@
             "key.doc.column" : 9,
             "key.doc.comment" : "The frame of the collection view inset by the adjusted content inset,\ni.e., the visible frame of the content.",
             "key.doc.declaration" : "var contentFrame: CGRect { get }",
-            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/UIScrollView+Extensions.swift",
-            "key.doc.full_as_xml" : "contentFrame<\/Name>s:So12UIScrollViewC10ListableUIE12contentFrameSo6CGRectVvp<\/USR>var contentFrame: CGRect { get }<\/Declaration>The frame of the collection view inset by the adjusted content inset, i.e., the visible frame of the content.<\/Para><\/Abstract><\/CommentParts><\/Other>",
+            "key.doc.file" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/UIScrollView+Extensions.swift",
+            "key.doc.full_as_xml" : "contentFrame<\/Name>s:So12UIScrollViewC10ListableUIE12contentFrameSo6CGRectVvp<\/USR>var contentFrame: CGRect { get }<\/Declaration>The frame of the collection view inset by the adjusted content inset, i.e., the visible frame of the content.<\/Para><\/Abstract><\/CommentParts><\/Other>",
             "key.doc.line" : 14,
             "key.doc.name" : "contentFrame",
             "key.doc.type" : "Other",
             "key.doclength" : 122,
             "key.docoffset" : 143,
-            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable3\/ListableUI\/Sources\/UIScrollView+Extensions.swift",
+            "key.filepath" : "\/Users\/k\/Desktop\/Development\/Listable2\/ListableUI\/Sources\/UIScrollView+Extensions.swift",
             "key.fully_annotated_decl" : "var<\/syntaxtype.keyword> contentFrame<\/decl.name>: CGRect<\/ref.struct><\/decl.var.type> { get<\/syntaxtype.keyword> }<\/decl.var.instance>",
             "key.kind" : "source.lang.swift.decl.var.instance",
             "key.length" : 96,
diff --git a/docs/Listable/Classes.html b/docs/Listable/Classes.html
index 3ec1de95c..d9c826a4d 100644
--- a/docs/Listable/Classes.html
+++ b/docs/Listable/Classes.html
@@ -23,7 +23,7 @@
         
           Listable
         
-         (44% documented)
+         (45% documented)
       

@@ -256,6 +256,9 @@

+ @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + +
  • + +
    +
    +
    +
    +
    +

    The HeaderFooterLayoutsValue protocol provides a default value for the different layouts stored +within HeaderFooterLayouts. Provide a defaultValue with reasonable defaults, as the +developer should not need to set these values at all times when using your layout.

    +
    public struct Layout : Equatable, HeaderFooterLayoutsValue
    +{
    +    public var width : CGFloat
    +    public var minHeight : CGFloat
    +
    +    ...
    +
    +    public static var defaultValue : Self {
    +        ...
    +    }
    +}
    +
    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol HeaderFooterLayoutsValue
    + +
    +
    +
    +
    +
  • @@ -876,6 +942,48 @@

    Declaration

  • +
  • +
    + + + + ItemLayoutsValue + +
    +
    +
    +
    +
    +
    +

    The ItemLayoutsValue protocol provides a default value for the different layouts stored +within ItemLayouts. Provide a defaultValue with reasonable defaults, as the +developer should not need to set these values at all times when using your layout.

    +
    public struct Layout : Equatable, ItemLayoutsValue
    +{
    +    public var width : CGFloat
    +    public var minHeight : CGFloat
    +
    +    ...
    +
    +    public static var defaultValue : Self {
    +        ...
    +    }
    +}
    +
    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol ItemLayoutsValue
    + +
    +
    +
    +
    +
  • @@ -1217,6 +1325,48 @@

    Declaration

    +
  • +
    + + + + SectionLayoutsValue + +
    +
    +
    +
    +
    +
    +

    The SectionLayoutsValue protocol provides a default value for the different layouts stored +within SectionLayouts. Provide a defaultValue with reasonable defaults, as the +developer should not need to set these values at all times when using your layout.

    +
    public struct Layout : Equatable, SectionLayoutsValue
    +{
    +    public var width : CGFloat
    +    public var minHeight : CGFloat
    +
    +    ...
    +
    +    public static var defaultValue : Self {
    +        ...
    +    }
    +}
    +
    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol SectionLayoutsValue
    + +
    +
    +
    +
    +
  • @@ -1225,7 +1375,7 @@

    Declaration

    diff --git a/docs/Listable/Protocols/AnyHeaderFooter.html b/docs/Listable/Protocols/AnyHeaderFooter.html index aedda60bc..9b5618da7 100644 --- a/docs/Listable/Protocols/AnyHeaderFooter.html +++ b/docs/Listable/Protocols/AnyHeaderFooter.html @@ -23,7 +23,7 @@ Listable - (44% documented) + (45% documented)

    @@ -256,6 +256,9 @@

    + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + +
  • - - - layout + + + layouts
    @@ -605,7 +629,7 @@

    Declaration

    Declaration

    Swift

    -
    var layout: HeaderFooterLayout { get set }
    +
    var layouts: HeaderFooterLayouts { get set }
    @@ -620,7 +644,7 @@

    Declaration

    diff --git a/docs/Listable/Protocols/AnyHeaderFooter_Internal.html b/docs/Listable/Protocols/AnyHeaderFooter_Internal.html index 3a3e2c116..3866ba60a 100644 --- a/docs/Listable/Protocols/AnyHeaderFooter_Internal.html +++ b/docs/Listable/Protocols/AnyHeaderFooter_Internal.html @@ -23,7 +23,7 @@ Listable - (44% documented) + (45% documented)

    @@ -256,6 +256,9 @@

  • + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + +
  • - - - layout + + + layouts
    @@ -578,7 +602,7 @@

    AnyHeaderFooter_Internal

    Declaration

    Swift

    -
    var layout: HeaderFooterLayout { get }
    +
    var layouts: HeaderFooterLayouts { get }
    @@ -678,7 +702,7 @@

    Declaration

    diff --git a/docs/Listable/Protocols/AnyItem.html b/docs/Listable/Protocols/AnyItem.html index 6df77714d..792c6355b 100644 --- a/docs/Listable/Protocols/AnyItem.html +++ b/docs/Listable/Protocols/AnyItem.html @@ -23,7 +23,7 @@ Listable - (44% documented) + (45% documented)

    @@ -256,6 +256,9 @@

  • + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + +
  • - - - layout + + + layouts
    @@ -659,7 +683,7 @@

    Declaration

    Declaration

    Swift

    -
    var layout: ItemLayout { get set }
    +
    var layouts: ItemLayouts { get }
    @@ -782,7 +806,7 @@

    Declaration

    diff --git a/docs/Listable/Protocols/AnyItem_Internal.html b/docs/Listable/Protocols/AnyItem_Internal.html index 82957cd86..368ea613d 100644 --- a/docs/Listable/Protocols/AnyItem_Internal.html +++ b/docs/Listable/Protocols/AnyItem_Internal.html @@ -23,7 +23,7 @@ Listable - (44% documented) + (45% documented)

    @@ -256,6 +256,9 @@

  • + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + +
  • - - - itemSpacing - -
    -
    -
    -
    -
    -
    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public var itemSpacing: CGFloat?
    - -
    -
    -
    -
    -
  • -
  • - -
    -
    -
    -
    -
    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public var itemToSectionFooterSpacing: CGFloat?
    - -
    -
    -
    -
    -
  • -
  • -
    - - - - width - -
    -
    -
    -
    -
    -
    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public var width: CustomWidth
    - -
    -
    -
    -
    -
  • -
  • -
    @@ -652,18 +609,14 @@

    Declaration

    -

    Undocumented

    +

    The default value used when accessing the value, if none is set.

    Declaration

    Swift

    -
    public init(
    -    itemSpacing : CGFloat? = nil,
    -    itemToSectionFooterSpacing : CGFloat? = nil,
    -    width : CustomWidth = .default
    -)
    +
    static var defaultValue: Self { get }
    @@ -678,7 +631,7 @@

    Declaration

    diff --git a/docs/Listable/Protocols/ItemContent.html b/docs/Listable/Protocols/ItemContent.html index b77a74a01..a89d045de 100644 --- a/docs/Listable/Protocols/ItemContent.html +++ b/docs/Listable/Protocols/ItemContent.html @@ -23,7 +23,7 @@ Listable - (44% documented) + (45% documented)

    @@ -256,6 +256,9 @@

  • + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + +
  • - - - width - -
    -
    -
    -
    -
    -
    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public var width: CustomWidth
    - -
    -
    -
    -
    -
  • -
  • -
    - - - - init(width:) + + + defaultValue
    @@ -598,16 +609,14 @@

    Declaration

    -

    Undocumented

    +

    The default value used when accessing the value, if none is set.

    Declaration

    Swift

    -
    public init(
    -    width : CustomWidth = .default
    -)
    +
    static var defaultValue: Self { get }
    @@ -622,7 +631,7 @@

    Declaration

    diff --git a/docs/Listable/Protocols/ListEnvironmentKey.html b/docs/Listable/Protocols/ListEnvironmentKey.html index a5e96d412..4a94a26a3 100644 --- a/docs/Listable/Protocols/ListEnvironmentKey.html +++ b/docs/Listable/Protocols/ListEnvironmentKey.html @@ -23,7 +23,7 @@ Listable - (44% documented) + (45% documented)

    @@ -256,6 +256,9 @@

  • + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + +
  • - - - itemSpacing - -
    -
    -
    -
    -
    -
    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public var itemSpacing: CGFloat?
    - -
    -
    -
    -
    -
  • -
  • - -
    -
    -
    -
    -
    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public var itemToSectionFooterSpacing: CGFloat?
    - -
    -
    -
    -
    -
  • -
  • -
    - - - - width - -
    -
    -
    -
    -
    -
    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public var width: CustomWidth
    - -
    -
    -
    -
    -
  • -
  • -
    @@ -652,18 +609,14 @@

    Declaration

    -

    Undocumented

    +

    The default value used when accessing the value, if none is set.

    Declaration

    Swift

    -
    public init(
    -    itemSpacing : CGFloat? = nil,
    -    itemToSectionFooterSpacing : CGFloat? = nil,
    -    width : CustomWidth = .default
    -)
    +
    static var defaultValue: Self { get }
    @@ -678,7 +631,7 @@

    Declaration

    diff --git a/docs/Listable/Structs.html b/docs/Listable/Structs.html index d00da3942..2380677ec 100644 --- a/docs/Listable/Structs.html +++ b/docs/Listable/Structs.html @@ -23,7 +23,7 @@ Listable - (44% documented) + (45% documented)

    @@ -256,6 +256,9 @@

  • + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + +
  • @@ -832,15 +856,50 @@

    Declaration

    -

    Undocumented

    +

    HeaderFooterLayouts allows you to provide ListLayout-specific layout configuration for +individual headers and footers within a list. Eg, customize the layout for a header when it is in a table, a grid, etc.

    + +

    For example, if you want to specify a custom layout for table layouts, you +would do the following on your header:

    +
    myHeader.layouts.table = .init(
    +    width: .fill
    +)
    +
    - See more +

    And then, when the HeaderFooter is used within a .table style +list layout, the provided layout will be used.

    + +

    If you plan on swapping between multiple ListLayout types on your list, +you can provide multiple layouts. The correct one will be used at the correct time:

    +
    myHeader.layouts.table = .init(
    +    width: .fill
    +)
    +
    +myHeader.layouts.otherLayout = .init(
    +    width: 300,
    +    alignment: .left
    +    padding: 10
    +)
    +
    +

    Note

    + +

    When implementing your own custom layout, you should add an extension to HeaderFooterLayouts, +to provide easier access to your layout-specific HeaderFooterLayoutsValue type, like so:

    +
    extension HeaderFooterLayouts {
    +    public var table : TableAppearance.HeaderFooter.Layout {
    +        get { self[TableAppearance.HeaderFooter.Layout.self] }
    +        set { self[TableAppearance.HeaderFooter.Layout.self] = newValue }
    +    }
    +}
    +
    + + See more

    Declaration

    Swift

    -
    public struct HeaderFooterLayout : Equatable
    +
    public struct HeaderFooterLayouts
    @@ -1002,9 +1061,9 @@

    Declaration

  • - - - ItemLayout + + + ItemLayouts
    @@ -1012,15 +1071,49 @@

    Declaration

    -

    Undocumented

    +

    ItemLayouts allows you to provide ListLayout-specific layout configuration for +individual items within a list. Eg, customize the layout for an item when it is in a table, a grid, etc.

    + +

    For example, if you want to specify a custom layout for table layouts, you +would do the following on your item:

    +
    myItem.layouts.table = .init(
    +    width: .fill
    +)
    +
    - See more +

    And then, when the Item is used within a .table style +list layout, the provided layout will be used.

    + +

    If you plan on swapping between multiple ListLayout types on your list, +you can provide multiple layouts. The correct one will be used at the correct time:

    +
    myItem.layouts.table = .init(
    +    width: .fill
    +)
    +
    +myItem.layouts.otherLayout = .init(
    +    width: 300,
    +    alignment: .left
    +)
    +
    +

    Note

    + +

    When implementing your own custom layout, you should add an extension to ItemLayouts, +to provide easier access to your layout-specific ItemLayoutsValue type, like so:

    +
    extension ItemLayoutsValue {
    +    public var table : TableAppearance.Item.Layout {
    +        get { self[TableAppearance.Item.Layout.self] }
    +        set { self[TableAppearance.Item.Layout.self] = newValue }
    +    }
    +}
    +
    + + See more

    Declaration

    Swift

    -
    public struct ItemLayout : Equatable
    +
    public struct ItemLayouts
    @@ -1102,7 +1195,7 @@

    Declaration

    customize the layoutAppearance of the provided list type.

    For example, to use a standard list layout, and customize the layout, your code would look something like this:

    -
    listView.layout = .list {
    +
    listView.layout = .table {
         $0.stickySectionHeaders = true
     
         $0.layout.padding = UIEdgeInsets(top: 10, left: 10, bottom: 10, right: 10)
    @@ -1165,9 +1258,9 @@ 

    Declaration

  • @@ -1175,96 +1268,49 @@

    Declaration

    -

    ListAppearance defines the appearance and layout attribute for list layouts within a Listable list.

    +

    SectionLayouts allows you to provide ListLayout-specific layout configuration for +individual sections within a list. Eg, customize the layout for a section when it is in a table, a grid, etc.

    + +

    For example, if you want to specify a custom layout for table layouts, you +would do the following on your section:

    +
    mySection.layouts.table = .init(
    +    width: .fill
    +)
    +
    -

    The below diagram shows where each of the properties on the ListAppearance.Layout values are -applied when laying out the list.

    +

    And then, when the Section is used within a .table style +list layout, the provided layout will be used.

    + +

    If you plan on swapping between multiple ListLayout types on your list, +you can provide multiple layouts. The correct one will be used at the correct time:

    +
    mySection.layouts.table = .init(
    +    width: .fill
    +)
    +
    +mySection.layouts.otherLayout = .init(
    +    width: 300,
    +    alignment: .left
    +)
    +

    Note

    -

    Do not edit this ASCII diagram directly. -Edit the ListAppearance.monopic file in this directory using Monodraw.

    -
    ┌─────────────────────────────────────────────────────────────────┐
    -                          padding.top                            
    -   ┌─────────────────────────────────────────────────────────┐   
    -   │┌───────────────────────────────────────────────────────┐│   
    -   ││                                                       ││   
    -   ││                      List Header                      ││   
    -   ││                                                       ││   
    -   │└───────────────────────────────────────────────────────┘│   
    -                                                               
    -                  headerToFirstSectionSpacing                  
    -                                                               
    -   │┌───────────────────────────────────────────────────────┐│   
    -   ││                                                       ││   
    -   ││                    Section Header                     ││   
    -   ││                                                       ││   
    -   │└───────────────────────────────────────────────────────┘│   
    -                  sectionHeaderBottomSpacing                   
    -   │┌───────────────────────────────────────────────────────┐│   
    -   ││                         Item                          ││   
    -   │└───────────────────────────────────────────────────────┘│   
    -                          itemSpacing                          
    -   │┌───────────────────────────────────────────────────────┐│   
    -   ││                         Item                          ││   
    -   │└───────────────────────────────────────────────────────┘│   
    -                  itemToSectionFooterSpacing                   
    -   │┌───────────────────────────────────────────────────────┐│   
    -   ││                                                       ││   
    - p ││                    Section Footer                     ││ p 
    - a ││                                                       ││ a 
    - d │└───────────────────────────────────────────────────────┘│ d 
    - d                                                           d 
    - i                interSectionSpacingWithFooter              i 
    - n                                                           n 
    - g │┌───────────────────────────────────────────────────────┐│ g 
    - . ││                                                       ││ . 
    - l ││                    Section Header                     ││ r 
    - e ││                                                       ││ i 
    - f │└───────────────────────────────────────────────────────┘│ g 
    - t                sectionHeaderBottomSpacing                 h 
    -   │┌───────────────────────────────────────────────────────┐│ t 
    -   ││                         Item                          ││   
    -   │└───────────────────────────────────────────────────────┘│   
    -                          itemSpacing                          
    -   │┌───────────────────────────────────────────────────────┐│   
    -   ││                         Item                          ││   
    -   │└───────────────────────────────────────────────────────┘│   
    -                                                               
    -                 interSectionSpacingWithNoFooter               
    -                                                               
    -   │┌───────────────────────────────────────────────────────┐│   
    -   ││                                                       ││   
    -   ││                    Section Header                     ││   
    -   ││                                                       ││   
    -   │└───────────────────────────────────────────────────────┘│   
    -                  sectionHeaderBottomSpacing                   
    -   │┌───────────────────────────────────────────────────────┐│   
    -   ││                         Item                          ││   
    -   │└───────────────────────────────────────────────────────┘│   
    -                          itemSpacing                          
    -   │┌───────────────────────────────────────────────────────┐│   
    -   ││                         Item                          ││   
    -   │└───────────────────────────────────────────────────────┘│   
    -                                                               
    -                  lastSectionToFooterSpacing                   
    -                                                               
    -   │┌───────────────────────────────────────────────────────┐│   
    -   ││                                                       ││   
    -   ││                      List Footer                      ││   
    -   ││                                                       ││   
    -   │└───────────────────────────────────────────────────────┘│   
    -   └─────────────────────────────────────────────────────────┘   
    -                         padding.bottom                          
    -└─────────────────────────────────────────────────────────────────┘
    +

    When implementing your own custom layout, you should add an extension to SectionLayouts, +to provide easier access to your layout-specific SectionLayoutsValue type, like so:

    +
    extension SectionLayouts {
    +    public var table : TableAppearance.Section.Layout {
    +        get { self[TableAppearance.Section.Layout.self] }
    +        set { self[TableAppearance.Section.Layout.self] = newValue }
    +    }
    +}
     
    - See more + See more

    Declaration

    Swift

    -
    public struct ListAppearance : ListLayoutAppearance
    +
    public struct SectionLayouts
    @@ -1471,6 +1517,115 @@

    Declaration

  • +
  • +
    + + + + TableAppearance + +
    +
    +
    +
    +
    +
    +

    TableAppearance defines the appearance and layout attribute for list layouts within a Listable list.

    + +

    The below diagram shows where each of the properties on the TableAppearance.Layout values are +applied when laying out the list.

    +

    Note

    + +

    Do not edit this ASCII diagram directly. +Edit the TableAppearance.monopic file in this directory using Monodraw.

    +
    ┌─────────────────────────────────────────────────────────────────┐
    +                          padding.top                            
    +   ┌─────────────────────────────────────────────────────────┐   
    +   │┌───────────────────────────────────────────────────────┐│   
    +   ││                                                       ││   
    +   ││                      List Header                      ││   
    +   ││                                                       ││   
    +   │└───────────────────────────────────────────────────────┘│   
    +                                                               
    +                  headerToFirstSectionSpacing                  
    +                                                               
    +   │┌───────────────────────────────────────────────────────┐│   
    +   ││                                                       ││   
    +   ││                    Section Header                     ││   
    +   ││                                                       ││   
    +   │└───────────────────────────────────────────────────────┘│   
    +                  sectionHeaderBottomSpacing                   
    +   │┌───────────────────────────────────────────────────────┐│   
    +   ││                         Item                          ││   
    +   │└───────────────────────────────────────────────────────┘│   
    +                          itemSpacing                          
    +   │┌───────────────────────────────────────────────────────┐│   
    +   ││                         Item                          ││   
    +   │└───────────────────────────────────────────────────────┘│   
    +                  itemToSectionFooterSpacing                   
    +   │┌───────────────────────────────────────────────────────┐│   
    +   ││                                                       ││   
    + p ││                    Section Footer                     ││ p 
    + a ││                                                       ││ a 
    + d │└───────────────────────────────────────────────────────┘│ d 
    + d                                                           d 
    + i                interSectionSpacingWithFooter              i 
    + n                                                           n 
    + g │┌───────────────────────────────────────────────────────┐│ g 
    + . ││                                                       ││ . 
    + l ││                    Section Header                     ││ r 
    + e ││                                                       ││ i 
    + f │└───────────────────────────────────────────────────────┘│ g 
    + t                sectionHeaderBottomSpacing                 h 
    +   │┌───────────────────────────────────────────────────────┐│ t 
    +   ││                         Item                          ││   
    +   │└───────────────────────────────────────────────────────┘│   
    +                          itemSpacing                          
    +   │┌───────────────────────────────────────────────────────┐│   
    +   ││                         Item                          ││   
    +   │└───────────────────────────────────────────────────────┘│   
    +                                                               
    +                 interSectionSpacingWithNoFooter               
    +                                                               
    +   │┌───────────────────────────────────────────────────────┐│   
    +   ││                                                       ││   
    +   ││                    Section Header                     ││   
    +   ││                                                       ││   
    +   │└───────────────────────────────────────────────────────┘│   
    +                  sectionHeaderBottomSpacing                   
    +   │┌───────────────────────────────────────────────────────┐│   
    +   ││                         Item                          ││   
    +   │└───────────────────────────────────────────────────────┘│   
    +                          itemSpacing                          
    +   │┌───────────────────────────────────────────────────────┐│   
    +   ││                         Item                          ││   
    +   │└───────────────────────────────────────────────────────┘│   
    +                                                               
    +                  lastSectionToFooterSpacing                   
    +                                                               
    +   │┌───────────────────────────────────────────────────────┐│   
    +   ││                                                       ││   
    +   ││                      List Footer                      ││   
    +   ││                                                       ││   
    +   │└───────────────────────────────────────────────────────┘│   
    +   └─────────────────────────────────────────────────────────┘   
    +                         padding.bottom                          
    +└─────────────────────────────────────────────────────────────────┘
    +
    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct TableAppearance : ListLayoutAppearance
    + +
    +
    +
    +
    +
  • @@ -1979,7 +2134,7 @@

    Declaration

    diff --git a/docs/Listable/Structs/Appearance.html b/docs/Listable/Structs/Appearance.html index de69e13e8..9fabd684b 100644 --- a/docs/Listable/Structs/Appearance.html +++ b/docs/Listable/Structs/Appearance.html @@ -23,7 +23,7 @@ Listable - (44% documented) + (45% documented)

    @@ -256,6 +256,9 @@

  • + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ +
  • + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews
  • - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + +
  • @@ -1226,7 +1250,7 @@

    Declaration

    Declaration

    Swift

    -
    public mutating func callAsFunction<Identifier>(_ identifier: Identifier, build: Section.Build) where Identifier : Hashable
    +
    public mutating func callAsFunction<Identifier>(_ identifier: Identifier, configure: Section.Configure) where Identifier : Hashable
    @@ -1241,7 +1265,7 @@

    Declaration

    diff --git a/docs/Listable/Structs/DefaultItemProperties.html b/docs/Listable/Structs/DefaultItemProperties.html index 54ff77ac3..c2f03435c 100644 --- a/docs/Listable/Structs/DefaultItemProperties.html +++ b/docs/Listable/Structs/DefaultItemProperties.html @@ -23,7 +23,7 @@ Listable - (44% documented) + (45% documented)

    @@ -256,6 +256,9 @@

  • + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + +
  • - - - layout + + + layouts
    @@ -613,7 +637,7 @@

    Declaration

    Declaration

    Swift

    -
    public var layout: ItemLayout?
    +
    public var layouts: ItemLayouts?
    @@ -704,9 +728,9 @@

    Declaration

  • @@ -723,7 +747,7 @@

    Declaration

    Swift

    public init(
         sizing : Sizing? = nil,
    -    layout : ItemLayout? = nil,
    +    layouts : ItemLayouts? = nil,
         selectionStyle : ItemSelectionStyle? = nil,
         insertAndRemoveAnimations : ItemInsertAndRemoveAnimations? = nil,
         swipeActions : SwipeActionsConfiguration? = nil
    @@ -742,7 +766,7 @@ 

    Declaration

    diff --git a/docs/Listable/Structs/EmbeddedList.html b/docs/Listable/Structs/EmbeddedList.html index 31699d1e0..0d615f4ac 100644 --- a/docs/Listable/Structs/EmbeddedList.html +++ b/docs/Listable/Structs/EmbeddedList.html @@ -23,7 +23,7 @@ Listable - (44% documented) + (45% documented)

    @@ -256,6 +256,9 @@

  • + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + +
  • +
    + + + + ItemLayout + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct ItemLayout : ItemLayoutsValue
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + HeaderFooterLayout + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct HeaderFooterLayout : HeaderFooterLayoutsValue
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + SectionLayout + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct SectionLayout : SectionLayoutsValue
    + +
    +
    +
    +
    +
  • @@ -788,7 +896,7 @@

    Declaration

    diff --git a/docs/Listable/Structs/Section/Columns.html b/docs/Listable/Structs/GridAppearance/HeaderFooterLayout.html similarity index 89% rename from docs/Listable/Structs/Section/Columns.html rename to docs/Listable/Structs/GridAppearance/HeaderFooterLayout.html index 6dc3f9eea..5afe5b9a4 100644 --- a/docs/Listable/Structs/Section/Columns.html +++ b/docs/Listable/Structs/GridAppearance/HeaderFooterLayout.html @@ -1,7 +1,7 @@ - Columns Structure Reference + HeaderFooterLayout Structure Reference @@ -14,16 +14,16 @@ - + - +

    Listable - (44% documented) + (45% documented)

    @@ -44,7 +44,7 @@

    @@ -256,6 +256,9 @@ + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + +
    diff --git a/docs/Listable/Structs/Section/Layout.html b/docs/Listable/Structs/GridAppearance/SectionLayout.html similarity index 89% rename from docs/Listable/Structs/Section/Layout.html rename to docs/Listable/Structs/GridAppearance/SectionLayout.html index afd302eff..eb4b749ba 100644 --- a/docs/Listable/Structs/Section/Layout.html +++ b/docs/Listable/Structs/GridAppearance/SectionLayout.html @@ -1,7 +1,7 @@ - Layout Structure Reference + SectionLayout Structure Reference @@ -14,16 +14,16 @@ - + - +

    Listable - (44% documented) + (45% documented)

    @@ -44,7 +44,7 @@

    @@ -256,6 +256,9 @@ + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + +
    diff --git a/docs/Listable/Structs/GridAppearance/Sizing/ItemSize.html b/docs/Listable/Structs/GridAppearance/Sizing/ItemSize.html index 60ecd8c2a..430712b73 100644 --- a/docs/Listable/Structs/GridAppearance/Sizing/ItemSize.html +++ b/docs/Listable/Structs/GridAppearance/Sizing/ItemSize.html @@ -23,7 +23,7 @@ Listable - (44% documented) + (45% documented)

    @@ -256,6 +256,9 @@

    + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + +
  • - - - layout + + + layouts
    @@ -632,7 +656,7 @@

    Declaration

    Declaration

    Swift

    -
    public var layout: HeaderFooterLayout
    +
    public var layouts: HeaderFooterLayouts
    @@ -793,9 +817,9 @@

    Declaration

  • @@ -813,7 +837,7 @@

    Declaration

    public init(
         _ content : Content,
         sizing : Sizing = .thatFits(.init(.atLeast(.default))),
    -    layout : HeaderFooterLayout = HeaderFooterLayout(),
    +    layouts : HeaderFooterLayouts = .init(),
         onTap : OnTap? = nil
     )
    @@ -928,7 +952,7 @@

    Declaration

    diff --git a/docs/Listable/Structs/HeaderFooterContentViews.html b/docs/Listable/Structs/HeaderFooterContentViews.html index 6b71e3207..77a2c3e2e 100644 --- a/docs/Listable/Structs/HeaderFooterContentViews.html +++ b/docs/Listable/Structs/HeaderFooterContentViews.html @@ -23,7 +23,7 @@ Listable - (44% documented) + (45% documented)

    @@ -256,6 +256,9 @@

  • + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + +
  • - - - layout + + + layouts
    @@ -660,7 +684,7 @@

    Declaration

    Declaration

    Swift

    -
    public var layout: ItemLayout
    +
    public var layouts: ItemLayouts
    @@ -1091,9 +1115,9 @@

    Declaration

  • @@ -1111,7 +1135,7 @@

    Declaration

    public init(
         _ content : Content,
         sizing : Sizing? = nil,
    -    layout : ItemLayout? = nil,
    +    layouts : ItemLayouts? = nil,
         selectionStyle : ItemSelectionStyle? = nil,
         insertAndRemoveAnimations : ItemInsertAndRemoveAnimations? = nil,
         swipeActions : SwipeActionsConfiguration? = nil,
    @@ -1527,7 +1551,7 @@ 

    Available where sizing: .fixed(height: 200) ) { list in - list.layout = .list { + list.layout = .table { $0.direction = .horizontal } @@ -1601,7 +1625,7 @@

    Declaration

    diff --git a/docs/Listable/Structs/Item/OnDeselect.html b/docs/Listable/Structs/Item/OnDeselect.html index a4d4277f8..d278c19e9 100644 --- a/docs/Listable/Structs/Item/OnDeselect.html +++ b/docs/Listable/Structs/Item/OnDeselect.html @@ -23,7 +23,7 @@ Listable - (44% documented) + (45% documented)

    @@ -256,6 +256,9 @@

  • + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + +
  • +
    + + + + insertionsAndRemovals + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let insertionsAndRemovals: InsertionsAndRemovals
    + +
    +
    +
    +
    +
  • @@ -639,6 +690,34 @@

    Declaration

  • +
  • +
    + + + + InsertionsAndRemovals + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct InsertionsAndRemovals
    + +
    +
    +
    +
    +
  • @@ -647,7 +726,7 @@

    Declaration

    diff --git a/docs/Listable/Structs/ListStateObserver/ContentUpdated/InsertionsAndRemovals.html b/docs/Listable/Structs/ListStateObserver/ContentUpdated/InsertionsAndRemovals.html new file mode 100644 index 000000000..8c549caa1 --- /dev/null +++ b/docs/Listable/Structs/ListStateObserver/ContentUpdated/InsertionsAndRemovals.html @@ -0,0 +1,680 @@ + + + + InsertionsAndRemovals Structure Reference + + + + + + + + + + + + + + + + +
    +

    + + Listable + + (45% documented) +

    + +

    +

    + +
    +

    + +

    + + + View on GitHub + +

    + +
    + + + +
    + +
    + +
    +
    +

    InsertionsAndRemovals

    +
    +
    + +
    public struct InsertionsAndRemovals
    + +
    +
    +

    Undocumented

    + +
    +
    + +
    +
    +
    +
      +
    • +
      + + + + sections + +
      +
      +
      +
      +
      +
      +

      Undocumented

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public var sections: ChangedIDs
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + items + +
      +
      +
      +
      +
      +
      +

      Undocumented

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public var items: ChangedIDs
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + ChangedIDs + +
      +
      +
      +
      +
      +
      +

      Undocumented

      + + See more +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public struct ChangedIDs
      + +
      +
      +
      +
      +
    • +
    +
    +
    +
    + +
    +
    + + + + diff --git a/docs/Listable/Structs/ListStateObserver/ContentUpdated/InsertionsAndRemovals/ChangedIDs.html b/docs/Listable/Structs/ListStateObserver/ContentUpdated/InsertionsAndRemovals/ChangedIDs.html new file mode 100644 index 000000000..a773defc2 --- /dev/null +++ b/docs/Listable/Structs/ListStateObserver/ContentUpdated/InsertionsAndRemovals/ChangedIDs.html @@ -0,0 +1,652 @@ + + + + ChangedIDs Structure Reference + + + + + + + + + + + + + + + + +
    +

    + + Listable + + (45% documented) +

    + +

    +

    + +
    +

    + +

    + + + View on GitHub + +

    + +
    + + + +
    + +
    + +
    +
    +

    ChangedIDs

    +
    +
    + +
    public struct ChangedIDs
    + +
    +
    +

    Undocumented

    + +
    +
    + +
    +
    +
    +
      +
    • +
      + + + + inserted + +
      +
      +
      +
      +
      +
      +

      Undocumented

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public var inserted: Set<AnyIdentifier>
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + removed + +
      +
      +
      +
      +
      +
      +

      Undocumented

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public var removed: Set<AnyIdentifier>
      + +
      +
      +
      +
      +
    • +
    +
    +
    +
    + +
    +
    + + + + diff --git a/docs/Listable/Structs/ListStateObserver/DidScroll.html b/docs/Listable/Structs/ListStateObserver/DidScroll.html index d00641230..7b72067a5 100644 --- a/docs/Listable/Structs/ListStateObserver/DidScroll.html +++ b/docs/Listable/Structs/ListStateObserver/DidScroll.html @@ -23,7 +23,7 @@ Listable - (44% documented) + (45% documented)

    @@ -256,6 +256,9 @@

    + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + -
  • -
    - - - - layout - -
    -
    -
    -
    -
    -
    -

    The layout for the section and all its content. -Only relevant to the list layout type.

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public var layout: Layout
    - -
    -
    -
    -
    -
  • -
  • -
    - - - - columns - -
    -
    -
    -
    -
    -
    -

    How columns within the section should be distributed. -Only relevant to the list layout type.

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public var columns: Columns
    - -
    -
    -
    -
    -
  • @@ -764,11 +732,11 @@

    Declaration

    - - + +
    - -

    Initialization

    + +

    Layout Specific Parameters

    @@ -776,9 +744,9 @@

    Initialization

  • - - - Build + + + layouts
    @@ -793,19 +761,32 @@

    Initialization

    Declaration

    Swift

    -
    public typealias Build = (inout Section) -> ()
    +
    public var layouts: SectionLayouts
  • + + +
    +
    + + +
    + +

    Initialization

    +

    +
    +
    +
    -
  • -
    - - - - Layout - -
    -
    -
    -
    -
    -
    -

    Undocumented

    - - See more -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public struct Layout : Equatable
    - -
    -
    -
    -
    -
  • -
  • -
    - - - - Columns - -
    -
    -
    -
    -
    -
    -

    Undocumented

    - - See more -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public struct Columns
    - -
    -
    -
    -
    -
  • @@ -1207,7 +1129,7 @@

    Declaration

    diff --git a/docs/Listable/Structs/SectionLayouts.html b/docs/Listable/Structs/SectionLayouts.html new file mode 100644 index 000000000..7e32f8328 --- /dev/null +++ b/docs/Listable/Structs/SectionLayouts.html @@ -0,0 +1,755 @@ + + + + SectionLayouts Structure Reference + + + + + + + + + + + + + + + + +
    +

    + + Listable + + (45% documented) +

    + +

    +

    + +
    +

    + +

    + + + View on GitHub + +

    + +
    + + + +
    + +
    + +
    +
    +

    SectionLayouts

    +
    +
    + +
    public struct SectionLayouts
    + +
    +
    +

    SectionLayouts allows you to provide ListLayout-specific layout configuration for +individual sections within a list. Eg, customize the layout for a section when it is in a table, a grid, etc.

    + +

    For example, if you want to specify a custom layout for table layouts, you +would do the following on your section:

    +
    mySection.layouts.table = .init(
    +    width: .fill
    +)
    +
    + +

    And then, when the Section is used within a .table style +list layout, the provided layout will be used.

    + +

    If you plan on swapping between multiple ListLayout types on your list, +you can provide multiple layouts. The correct one will be used at the correct time:

    +
    mySection.layouts.table = .init(
    +    width: .fill
    +)
    +
    +mySection.layouts.otherLayout = .init(
    +    width: 300,
    +    alignment: .left
    +)
    +
    +

    Note

    + +

    When implementing your own custom layout, you should add an extension to SectionLayouts, +to provide easier access to your layout-specific SectionLayoutsValue type, like so:

    +
    extension SectionLayouts {
    +    public var table : TableAppearance.Section.Layout {
    +        get { self[TableAppearance.Section.Layout.self] }
    +        set { self[TableAppearance.Section.Layout.self] = newValue }
    +    }
    +}
    +
    + +
    +
    + +
    +
    +
    +
      +
    • +
      + + + + init(_:) + +
      +
      +
      +
      +
      +
      +

      Creates a new instance of the layouts, with an optional configure +closure, to allow you to set up styling inline.

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public init(
      +    _ configure : (inout Self) -> () = { _ in }
      +)
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + subscript(_:) + +
      +
      +
      +
      +
      +
      +

      Allows accessing the various SectionLayoutsValues stored within the object. +This method will return the defaultValue for a value if none is set.

      +

      Note

      + +

      When implementing your own custom layout, you should add an extension to SectionLayouts, +to provide easier access to your layout-specific SectionLayoutsValue type.

      +
      extension SectionLayouts {
      +    public var table : TableAppearance.Section.Layout {
      +        get { self[TableAppearance.Section.Layout.self] }
      +        set { self[TableAppearance.Section.Layout.self] = newValue }
      +    }
      +}
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public subscript<ValueType>(valueType: ValueType.Type) -> ValueType where ValueType : SectionLayoutsValue { get set }
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + grid + +
      +
      +
      +
      +
      +
      +

      Undocumented

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public var grid: GridAppearance.SectionLayout { get set }
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + table + +
      +
      +
      +
      +
      +
      +

      Allows customization of a Section‘s layout when it is presented within a .table style layout.

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public var table: TableAppearance.SectionLayout { get set }
      + +
      +
      +
      +
      +
    • +
    +
    +
    +
    + +
    +
    + + + + diff --git a/docs/Listable/Structs/SwipeAction.html b/docs/Listable/Structs/SwipeAction.html index 855eeb3c9..5477fc581 100644 --- a/docs/Listable/Structs/SwipeAction.html +++ b/docs/Listable/Structs/SwipeAction.html @@ -23,7 +23,7 @@ Listable - (44% documented) + (45% documented)

    @@ -256,6 +256,9 @@

    + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + +
  • - + - padding + padding
    @@ -588,9 +612,9 @@

    Declaration

  • - + - width + width
    @@ -615,9 +639,9 @@

    Declaration

  • @@ -643,9 +667,9 @@

    Declaration

  • @@ -670,9 +694,9 @@

    Declaration

  • @@ -697,9 +721,9 @@

    Declaration

  • @@ -725,9 +749,9 @@

    Declaration

  • @@ -752,9 +776,9 @@

    Declaration

  • @@ -780,9 +804,9 @@

    Declaration

  • @@ -808,9 +832,9 @@

    Declaration

  • @@ -845,9 +869,9 @@

    Declaration

  • @@ -877,7 +901,7 @@

    Declaration

    diff --git a/docs/Listable/Structs/TableAppearance/SectionLayout.html b/docs/Listable/Structs/TableAppearance/SectionLayout.html new file mode 100644 index 000000000..4f9939bf1 --- /dev/null +++ b/docs/Listable/Structs/TableAppearance/SectionLayout.html @@ -0,0 +1,764 @@ + + + + SectionLayout Structure Reference + + + + + + + + + + + + + + + + +
    +

    + + Listable + + (45% documented) +

    + +

    +

    + +
    +

    + +

    + + + View on GitHub + +

    + +
    + + + +
    + +
    + +
    +
    +

    SectionLayout

    +
    +
    + +
    public struct SectionLayout : Equatable, SectionLayoutsValue
    + +
    +
    +

    Undocumented

    + +
    +
    + +
    +
    +
    +
      +
    • +
      + + + + width + +
      +
      +
      +
      +
      +
      +

      Undocumented

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public var width: CustomWidth
      + +
      +
      +
      +
      +
    • +
    • + +
      +
      +
      +
      +
      +

      Overrides the calculated spacing after this section

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public var customInterSectionSpacing: CGFloat?
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + columns + +
      +
      +
      +
      +
      +
      +

      Undocumented

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public var columns: Columns
      + +
      +
      +
      +
      +
    • +
    • + +
      +
      +
      +
      +
      +

      Undocumented

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public init(
      +    width : CustomWidth = .default,
      +    customInterSectionSpacing : CGFloat? = nil,
      +    columns : Columns = .one
      +)
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + defaultValue + +
      +
      +
      +
      +
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public static var defaultValue: `Self` { get }
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + Columns + +
      +
      +
      +
      +
      +
      +

      Undocumented

      + + See more +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public struct Columns : Equatable
      + +
      +
      +
      +
      +
    • +
    +
    +
    +
    + +
    +
    + + + + diff --git a/docs/Listable/Structs/TableAppearance/SectionLayout/Columns.html b/docs/Listable/Structs/TableAppearance/SectionLayout/Columns.html new file mode 100644 index 000000000..988a0943d --- /dev/null +++ b/docs/Listable/Structs/TableAppearance/SectionLayout/Columns.html @@ -0,0 +1,706 @@ + + + + Columns Structure Reference + + + + + + + + + + + + + + + + +
    +

    + + Listable + + (45% documented) +

    + +

    +

    + +
    +

    + +

    + + + View on GitHub + +

    + +
    + + + +
    + +
    + +
    +
    +

    Columns

    +
    +
    + +
    public struct Columns : Equatable
    + +
    +
    +

    Undocumented

    + +
    +
    + +
    +
    +
    +
      +
    • +
      + + + + count + +
      +
      +
      +
      +
      +
      +

      Undocumented

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public var count: Int
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + spacing + +
      +
      +
      +
      +
      +
      +

      Undocumented

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public var spacing: CGFloat
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + one + +
      +
      +
      +
      +
      +
      +

      Undocumented

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public static var one: Columns { get }
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + init(count:spacing:) + +
      +
      +
      +
      +
      +
      +

      Undocumented

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public init(count: Int = 1, spacing: CGFloat = 0.0)
      + +
      +
      +
      +
      +
    • +
    +
    +
    +
    + +
    +
    + + + + diff --git a/docs/Listable/Structs/ListAppearance/Sizing.html b/docs/Listable/Structs/TableAppearance/Sizing.html similarity index 90% rename from docs/Listable/Structs/ListAppearance/Sizing.html rename to docs/Listable/Structs/TableAppearance/Sizing.html index 59ecc513c..83d830165 100644 --- a/docs/Listable/Structs/ListAppearance/Sizing.html +++ b/docs/Listable/Structs/TableAppearance/Sizing.html @@ -23,7 +23,7 @@ Listable - (44% documented) + (45% documented)

    @@ -256,6 +256,9 @@

  • + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + +
  • @@ -588,9 +612,9 @@

    Declaration

  • @@ -615,9 +639,9 @@

    Declaration

  • @@ -642,9 +666,9 @@

    Declaration

  • @@ -669,9 +693,9 @@

    Declaration

  • @@ -696,9 +720,9 @@

    Declaration

  • @@ -723,9 +747,9 @@

    Declaration

  • @@ -752,9 +776,9 @@

    Declaration

  • @@ -787,9 +811,9 @@

    Declaration

  • @@ -819,7 +843,7 @@

    Declaration

    diff --git a/docs/Listable/Typealiases.html b/docs/Listable/Typealiases.html index c67ced74e..d907a2c66 100644 --- a/docs/Listable/Typealiases.html +++ b/docs/Listable/Typealiases.html @@ -23,7 +23,7 @@ Listable - (44% documented) + (45% documented)

    @@ -256,6 +256,9 @@

  • + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + +
  • + +
    +
    +
    +
    +
    +

    The HeaderFooterLayoutsValue protocol provides a default value for the different layouts stored +within HeaderFooterLayouts. Provide a defaultValue with reasonable defaults, as the +developer should not need to set these values at all times when using your layout.

    +
    public struct Layout : Equatable, HeaderFooterLayoutsValue
    +{
    +    public var width : CGFloat
    +    public var minHeight : CGFloat
    +
    +    ...
    +
    +    public static var defaultValue : Self {
    +        ...
    +    }
    +}
    +
    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol HeaderFooterLayoutsValue
    + +
    +
    +
    +
    +
  • @@ -876,6 +942,48 @@

    Declaration

  • +
  • +
    + + + + ItemLayoutsValue + +
    +
    +
    +
    +
    +
    +

    The ItemLayoutsValue protocol provides a default value for the different layouts stored +within ItemLayouts. Provide a defaultValue with reasonable defaults, as the +developer should not need to set these values at all times when using your layout.

    +
    public struct Layout : Equatable, ItemLayoutsValue
    +{
    +    public var width : CGFloat
    +    public var minHeight : CGFloat
    +
    +    ...
    +
    +    public static var defaultValue : Self {
    +        ...
    +    }
    +}
    +
    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol ItemLayoutsValue
    + +
    +
    +
    +
    +
  • @@ -1217,6 +1325,48 @@

    Declaration

    +
  • +
    + + + + SectionLayoutsValue + +
    +
    +
    +
    +
    +
    +

    The SectionLayoutsValue protocol provides a default value for the different layouts stored +within SectionLayouts. Provide a defaultValue with reasonable defaults, as the +developer should not need to set these values at all times when using your layout.

    +
    public struct Layout : Equatable, SectionLayoutsValue
    +{
    +    public var width : CGFloat
    +    public var minHeight : CGFloat
    +
    +    ...
    +
    +    public static var defaultValue : Self {
    +        ...
    +    }
    +}
    +
    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol SectionLayoutsValue
    + +
    +
    +
    +
    +
  • @@ -1225,7 +1375,7 @@

    Declaration

    diff --git a/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Protocols/AnyHeaderFooter.html b/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Protocols/AnyHeaderFooter.html index aedda60bc..9b5618da7 100644 --- a/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Protocols/AnyHeaderFooter.html +++ b/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Protocols/AnyHeaderFooter.html @@ -23,7 +23,7 @@ Listable - (44% documented) + (45% documented)

    @@ -256,6 +256,9 @@

    + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + +
  • - - - layout + + + layouts
    @@ -605,7 +629,7 @@

    Declaration

    Declaration

    Swift

    -
    var layout: HeaderFooterLayout { get set }
    +
    var layouts: HeaderFooterLayouts { get set }
    @@ -620,7 +644,7 @@

    Declaration

    diff --git a/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Protocols/AnyHeaderFooter_Internal.html b/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Protocols/AnyHeaderFooter_Internal.html index 3a3e2c116..3866ba60a 100644 --- a/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Protocols/AnyHeaderFooter_Internal.html +++ b/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Protocols/AnyHeaderFooter_Internal.html @@ -23,7 +23,7 @@ Listable - (44% documented) + (45% documented)

    @@ -256,6 +256,9 @@

  • + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + +
  • - - - layout + + + layouts
    @@ -578,7 +602,7 @@

    AnyHeaderFooter_Internal

    Declaration

    Swift

    -
    var layout: HeaderFooterLayout { get }
    +
    var layouts: HeaderFooterLayouts { get }
    @@ -678,7 +702,7 @@

    Declaration

    diff --git a/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Protocols/AnyItem.html b/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Protocols/AnyItem.html index 6df77714d..792c6355b 100644 --- a/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Protocols/AnyItem.html +++ b/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Protocols/AnyItem.html @@ -23,7 +23,7 @@ Listable - (44% documented) + (45% documented)

    @@ -256,6 +256,9 @@

  • + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + +
  • - - - layout + + + layouts
    @@ -659,7 +683,7 @@

    Declaration

    Declaration

    Swift

    -
    var layout: ItemLayout { get set }
    +
    var layouts: ItemLayouts { get }
    @@ -782,7 +806,7 @@

    Declaration

    diff --git a/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Protocols/AnyItem_Internal.html b/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Protocols/AnyItem_Internal.html index 82957cd86..368ea613d 100644 --- a/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Protocols/AnyItem_Internal.html +++ b/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Protocols/AnyItem_Internal.html @@ -23,7 +23,7 @@ Listable - (44% documented) + (45% documented)

    @@ -256,6 +256,9 @@

  • + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + +
  • - - - width - -
    -
    -
    -
    -
    -
    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public var width: CustomWidth
    - -
    -
    -
    -
    -
  • -
  • -
    - - - - init(width:) + + + defaultValue
    @@ -598,16 +609,14 @@

    Declaration

    -

    Undocumented

    +

    The default value used when accessing the value, if none is set.

    Declaration

    Swift

    -
    public init(
    -    width : CustomWidth = .default
    -)
    +
    static var defaultValue: Self { get }
    @@ -622,7 +631,7 @@

    Declaration

    diff --git a/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Protocols/ListEnvironmentKey.html b/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Protocols/ListEnvironmentKey.html index a5e96d412..4a94a26a3 100644 --- a/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Protocols/ListEnvironmentKey.html +++ b/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Protocols/ListEnvironmentKey.html @@ -23,7 +23,7 @@ Listable - (44% documented) + (45% documented)

    @@ -256,6 +256,9 @@

  • + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + +
  • @@ -832,15 +856,50 @@

    Declaration

    -

    Undocumented

    +

    HeaderFooterLayouts allows you to provide ListLayout-specific layout configuration for +individual headers and footers within a list. Eg, customize the layout for a header when it is in a table, a grid, etc.

    + +

    For example, if you want to specify a custom layout for table layouts, you +would do the following on your header:

    +
    myHeader.layouts.table = .init(
    +    width: .fill
    +)
    +
    - See more +

    And then, when the HeaderFooter is used within a .table style +list layout, the provided layout will be used.

    + +

    If you plan on swapping between multiple ListLayout types on your list, +you can provide multiple layouts. The correct one will be used at the correct time:

    +
    myHeader.layouts.table = .init(
    +    width: .fill
    +)
    +
    +myHeader.layouts.otherLayout = .init(
    +    width: 300,
    +    alignment: .left
    +    padding: 10
    +)
    +
    +

    Note

    + +

    When implementing your own custom layout, you should add an extension to HeaderFooterLayouts, +to provide easier access to your layout-specific HeaderFooterLayoutsValue type, like so:

    +
    extension HeaderFooterLayouts {
    +    public var table : TableAppearance.HeaderFooter.Layout {
    +        get { self[TableAppearance.HeaderFooter.Layout.self] }
    +        set { self[TableAppearance.HeaderFooter.Layout.self] = newValue }
    +    }
    +}
    +
    + + See more

    Declaration

    Swift

    -
    public struct HeaderFooterLayout : Equatable
    +
    public struct HeaderFooterLayouts
    @@ -1002,9 +1061,9 @@

    Declaration

  • - - - ItemLayout + + + ItemLayouts
    @@ -1012,15 +1071,49 @@

    Declaration

    -

    Undocumented

    +

    ItemLayouts allows you to provide ListLayout-specific layout configuration for +individual items within a list. Eg, customize the layout for an item when it is in a table, a grid, etc.

    + +

    For example, if you want to specify a custom layout for table layouts, you +would do the following on your item:

    +
    myItem.layouts.table = .init(
    +    width: .fill
    +)
    +
    - See more +

    And then, when the Item is used within a .table style +list layout, the provided layout will be used.

    + +

    If you plan on swapping between multiple ListLayout types on your list, +you can provide multiple layouts. The correct one will be used at the correct time:

    +
    myItem.layouts.table = .init(
    +    width: .fill
    +)
    +
    +myItem.layouts.otherLayout = .init(
    +    width: 300,
    +    alignment: .left
    +)
    +
    +

    Note

    + +

    When implementing your own custom layout, you should add an extension to ItemLayouts, +to provide easier access to your layout-specific ItemLayoutsValue type, like so:

    +
    extension ItemLayoutsValue {
    +    public var table : TableAppearance.Item.Layout {
    +        get { self[TableAppearance.Item.Layout.self] }
    +        set { self[TableAppearance.Item.Layout.self] = newValue }
    +    }
    +}
    +
    + + See more

    Declaration

    Swift

    -
    public struct ItemLayout : Equatable
    +
    public struct ItemLayouts
    @@ -1102,7 +1195,7 @@

    Declaration

    customize the layoutAppearance of the provided list type.

    For example, to use a standard list layout, and customize the layout, your code would look something like this:

    -
    listView.layout = .list {
    +
    listView.layout = .table {
         $0.stickySectionHeaders = true
     
         $0.layout.padding = UIEdgeInsets(top: 10, left: 10, bottom: 10, right: 10)
    @@ -1165,9 +1258,9 @@ 

    Declaration

  • @@ -1175,96 +1268,49 @@

    Declaration

    -

    ListAppearance defines the appearance and layout attribute for list layouts within a Listable list.

    +

    SectionLayouts allows you to provide ListLayout-specific layout configuration for +individual sections within a list. Eg, customize the layout for a section when it is in a table, a grid, etc.

    + +

    For example, if you want to specify a custom layout for table layouts, you +would do the following on your section:

    +
    mySection.layouts.table = .init(
    +    width: .fill
    +)
    +
    -

    The below diagram shows where each of the properties on the ListAppearance.Layout values are -applied when laying out the list.

    +

    And then, when the Section is used within a .table style +list layout, the provided layout will be used.

    + +

    If you plan on swapping between multiple ListLayout types on your list, +you can provide multiple layouts. The correct one will be used at the correct time:

    +
    mySection.layouts.table = .init(
    +    width: .fill
    +)
    +
    +mySection.layouts.otherLayout = .init(
    +    width: 300,
    +    alignment: .left
    +)
    +

    Note

    -

    Do not edit this ASCII diagram directly. -Edit the ListAppearance.monopic file in this directory using Monodraw.

    -
    ┌─────────────────────────────────────────────────────────────────┐
    -                          padding.top                            
    -   ┌─────────────────────────────────────────────────────────┐   
    -   │┌───────────────────────────────────────────────────────┐│   
    -   ││                                                       ││   
    -   ││                      List Header                      ││   
    -   ││                                                       ││   
    -   │└───────────────────────────────────────────────────────┘│   
    -                                                               
    -                  headerToFirstSectionSpacing                  
    -                                                               
    -   │┌───────────────────────────────────────────────────────┐│   
    -   ││                                                       ││   
    -   ││                    Section Header                     ││   
    -   ││                                                       ││   
    -   │└───────────────────────────────────────────────────────┘│   
    -                  sectionHeaderBottomSpacing                   
    -   │┌───────────────────────────────────────────────────────┐│   
    -   ││                         Item                          ││   
    -   │└───────────────────────────────────────────────────────┘│   
    -                          itemSpacing                          
    -   │┌───────────────────────────────────────────────────────┐│   
    -   ││                         Item                          ││   
    -   │└───────────────────────────────────────────────────────┘│   
    -                  itemToSectionFooterSpacing                   
    -   │┌───────────────────────────────────────────────────────┐│   
    -   ││                                                       ││   
    - p ││                    Section Footer                     ││ p 
    - a ││                                                       ││ a 
    - d │└───────────────────────────────────────────────────────┘│ d 
    - d                                                           d 
    - i                interSectionSpacingWithFooter              i 
    - n                                                           n 
    - g │┌───────────────────────────────────────────────────────┐│ g 
    - . ││                                                       ││ . 
    - l ││                    Section Header                     ││ r 
    - e ││                                                       ││ i 
    - f │└───────────────────────────────────────────────────────┘│ g 
    - t                sectionHeaderBottomSpacing                 h 
    -   │┌───────────────────────────────────────────────────────┐│ t 
    -   ││                         Item                          ││   
    -   │└───────────────────────────────────────────────────────┘│   
    -                          itemSpacing                          
    -   │┌───────────────────────────────────────────────────────┐│   
    -   ││                         Item                          ││   
    -   │└───────────────────────────────────────────────────────┘│   
    -                                                               
    -                 interSectionSpacingWithNoFooter               
    -                                                               
    -   │┌───────────────────────────────────────────────────────┐│   
    -   ││                                                       ││   
    -   ││                    Section Header                     ││   
    -   ││                                                       ││   
    -   │└───────────────────────────────────────────────────────┘│   
    -                  sectionHeaderBottomSpacing                   
    -   │┌───────────────────────────────────────────────────────┐│   
    -   ││                         Item                          ││   
    -   │└───────────────────────────────────────────────────────┘│   
    -                          itemSpacing                          
    -   │┌───────────────────────────────────────────────────────┐│   
    -   ││                         Item                          ││   
    -   │└───────────────────────────────────────────────────────┘│   
    -                                                               
    -                  lastSectionToFooterSpacing                   
    -                                                               
    -   │┌───────────────────────────────────────────────────────┐│   
    -   ││                                                       ││   
    -   ││                      List Footer                      ││   
    -   ││                                                       ││   
    -   │└───────────────────────────────────────────────────────┘│   
    -   └─────────────────────────────────────────────────────────┘   
    -                         padding.bottom                          
    -└─────────────────────────────────────────────────────────────────┘
    +

    When implementing your own custom layout, you should add an extension to SectionLayouts, +to provide easier access to your layout-specific SectionLayoutsValue type, like so:

    +
    extension SectionLayouts {
    +    public var table : TableAppearance.Section.Layout {
    +        get { self[TableAppearance.Section.Layout.self] }
    +        set { self[TableAppearance.Section.Layout.self] = newValue }
    +    }
    +}
     
    - See more + See more

    Declaration

    Swift

    -
    public struct ListAppearance : ListLayoutAppearance
    +
    public struct SectionLayouts
    @@ -1471,6 +1517,115 @@

    Declaration

  • +
  • +
    + + + + TableAppearance + +
    +
    +
    +
    +
    +
    +

    TableAppearance defines the appearance and layout attribute for list layouts within a Listable list.

    + +

    The below diagram shows where each of the properties on the TableAppearance.Layout values are +applied when laying out the list.

    +

    Note

    + +

    Do not edit this ASCII diagram directly. +Edit the TableAppearance.monopic file in this directory using Monodraw.

    +
    ┌─────────────────────────────────────────────────────────────────┐
    +                          padding.top                            
    +   ┌─────────────────────────────────────────────────────────┐   
    +   │┌───────────────────────────────────────────────────────┐│   
    +   ││                                                       ││   
    +   ││                      List Header                      ││   
    +   ││                                                       ││   
    +   │└───────────────────────────────────────────────────────┘│   
    +                                                               
    +                  headerToFirstSectionSpacing                  
    +                                                               
    +   │┌───────────────────────────────────────────────────────┐│   
    +   ││                                                       ││   
    +   ││                    Section Header                     ││   
    +   ││                                                       ││   
    +   │└───────────────────────────────────────────────────────┘│   
    +                  sectionHeaderBottomSpacing                   
    +   │┌───────────────────────────────────────────────────────┐│   
    +   ││                         Item                          ││   
    +   │└───────────────────────────────────────────────────────┘│   
    +                          itemSpacing                          
    +   │┌───────────────────────────────────────────────────────┐│   
    +   ││                         Item                          ││   
    +   │└───────────────────────────────────────────────────────┘│   
    +                  itemToSectionFooterSpacing                   
    +   │┌───────────────────────────────────────────────────────┐│   
    +   ││                                                       ││   
    + p ││                    Section Footer                     ││ p 
    + a ││                                                       ││ a 
    + d │└───────────────────────────────────────────────────────┘│ d 
    + d                                                           d 
    + i                interSectionSpacingWithFooter              i 
    + n                                                           n 
    + g │┌───────────────────────────────────────────────────────┐│ g 
    + . ││                                                       ││ . 
    + l ││                    Section Header                     ││ r 
    + e ││                                                       ││ i 
    + f │└───────────────────────────────────────────────────────┘│ g 
    + t                sectionHeaderBottomSpacing                 h 
    +   │┌───────────────────────────────────────────────────────┐│ t 
    +   ││                         Item                          ││   
    +   │└───────────────────────────────────────────────────────┘│   
    +                          itemSpacing                          
    +   │┌───────────────────────────────────────────────────────┐│   
    +   ││                         Item                          ││   
    +   │└───────────────────────────────────────────────────────┘│   
    +                                                               
    +                 interSectionSpacingWithNoFooter               
    +                                                               
    +   │┌───────────────────────────────────────────────────────┐│   
    +   ││                                                       ││   
    +   ││                    Section Header                     ││   
    +   ││                                                       ││   
    +   │└───────────────────────────────────────────────────────┘│   
    +                  sectionHeaderBottomSpacing                   
    +   │┌───────────────────────────────────────────────────────┐│   
    +   ││                         Item                          ││   
    +   │└───────────────────────────────────────────────────────┘│   
    +                          itemSpacing                          
    +   │┌───────────────────────────────────────────────────────┐│   
    +   ││                         Item                          ││   
    +   │└───────────────────────────────────────────────────────┘│   
    +                                                               
    +                  lastSectionToFooterSpacing                   
    +                                                               
    +   │┌───────────────────────────────────────────────────────┐│   
    +   ││                                                       ││   
    +   ││                      List Footer                      ││   
    +   ││                                                       ││   
    +   │└───────────────────────────────────────────────────────┘│   
    +   └─────────────────────────────────────────────────────────┘   
    +                         padding.bottom                          
    +└─────────────────────────────────────────────────────────────────┘
    +
    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct TableAppearance : ListLayoutAppearance
    + +
    +
    +
    +
    +
  • @@ -1979,7 +2134,7 @@

    Declaration

    diff --git a/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/Appearance.html b/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/Appearance.html index de69e13e8..9fabd684b 100644 --- a/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/Appearance.html +++ b/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/Appearance.html @@ -23,7 +23,7 @@ Listable - (44% documented) + (45% documented)

    @@ -256,6 +256,9 @@

  • + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ +
  • + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews
  • - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + +
  • @@ -1226,7 +1250,7 @@

    Declaration

    Declaration

    Swift

    -
    public mutating func callAsFunction<Identifier>(_ identifier: Identifier, build: Section.Build) where Identifier : Hashable
    +
    public mutating func callAsFunction<Identifier>(_ identifier: Identifier, configure: Section.Configure) where Identifier : Hashable
    @@ -1241,7 +1265,7 @@

    Declaration

    diff --git a/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/DefaultItemProperties.html b/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/DefaultItemProperties.html index 54ff77ac3..c2f03435c 100644 --- a/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/DefaultItemProperties.html +++ b/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/DefaultItemProperties.html @@ -23,7 +23,7 @@ Listable - (44% documented) + (45% documented)

    @@ -256,6 +256,9 @@

  • + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + +
  • - - - layout + + + layouts
    @@ -613,7 +637,7 @@

    Declaration

    Declaration

    Swift

    -
    public var layout: ItemLayout?
    +
    public var layouts: ItemLayouts?
    @@ -704,9 +728,9 @@

    Declaration

  • @@ -723,7 +747,7 @@

    Declaration

    Swift

    public init(
         sizing : Sizing? = nil,
    -    layout : ItemLayout? = nil,
    +    layouts : ItemLayouts? = nil,
         selectionStyle : ItemSelectionStyle? = nil,
         insertAndRemoveAnimations : ItemInsertAndRemoveAnimations? = nil,
         swipeActions : SwipeActionsConfiguration? = nil
    @@ -742,7 +766,7 @@ 

    Declaration

    diff --git a/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/EmbeddedList.html b/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/EmbeddedList.html index 31699d1e0..0d615f4ac 100644 --- a/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/EmbeddedList.html +++ b/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/EmbeddedList.html @@ -23,7 +23,7 @@ Listable - (44% documented) + (45% documented)

    @@ -256,6 +256,9 @@

  • + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + +
  • +
    + + + + ItemLayout + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct ItemLayout : ItemLayoutsValue
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + HeaderFooterLayout + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct HeaderFooterLayout : HeaderFooterLayoutsValue
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + SectionLayout + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct SectionLayout : SectionLayoutsValue
    + +
    +
    +
    +
    +
  • @@ -788,7 +896,7 @@

    Declaration

    diff --git a/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/Section/Columns.html b/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/GridAppearance/HeaderFooterLayout.html similarity index 89% rename from docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/Section/Columns.html rename to docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/GridAppearance/HeaderFooterLayout.html index 6dc3f9eea..5afe5b9a4 100644 --- a/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/Section/Columns.html +++ b/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/GridAppearance/HeaderFooterLayout.html @@ -1,7 +1,7 @@ - Columns Structure Reference + HeaderFooterLayout Structure Reference @@ -14,16 +14,16 @@ - + - +

    Listable - (44% documented) + (45% documented)

    @@ -44,7 +44,7 @@

    @@ -256,6 +256,9 @@ + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + +
    diff --git a/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/Section/Layout.html b/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/GridAppearance/SectionLayout.html similarity index 89% rename from docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/Section/Layout.html rename to docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/GridAppearance/SectionLayout.html index afd302eff..eb4b749ba 100644 --- a/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/Section/Layout.html +++ b/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/GridAppearance/SectionLayout.html @@ -1,7 +1,7 @@ - Layout Structure Reference + SectionLayout Structure Reference @@ -14,16 +14,16 @@ - + - +

    Listable - (44% documented) + (45% documented)

    @@ -44,7 +44,7 @@

    @@ -256,6 +256,9 @@ + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + +
    diff --git a/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/GridAppearance/Sizing/ItemSize.html b/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/GridAppearance/Sizing/ItemSize.html index 60ecd8c2a..430712b73 100644 --- a/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/GridAppearance/Sizing/ItemSize.html +++ b/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/GridAppearance/Sizing/ItemSize.html @@ -23,7 +23,7 @@ Listable - (44% documented) + (45% documented)

    @@ -256,6 +256,9 @@

    + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + +
  • - - - layout + + + layouts
    @@ -632,7 +656,7 @@

    Declaration

    Declaration

    Swift

    -
    public var layout: HeaderFooterLayout
    +
    public var layouts: HeaderFooterLayouts
    @@ -793,9 +817,9 @@

    Declaration

  • @@ -813,7 +837,7 @@

    Declaration

    public init(
         _ content : Content,
         sizing : Sizing = .thatFits(.init(.atLeast(.default))),
    -    layout : HeaderFooterLayout = HeaderFooterLayout(),
    +    layouts : HeaderFooterLayouts = .init(),
         onTap : OnTap? = nil
     )
    @@ -928,7 +952,7 @@

    Declaration

    diff --git a/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/HeaderFooterContentViews.html b/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/HeaderFooterContentViews.html index 6b71e3207..77a2c3e2e 100644 --- a/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/HeaderFooterContentViews.html +++ b/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/HeaderFooterContentViews.html @@ -23,7 +23,7 @@ Listable - (44% documented) + (45% documented)

    @@ -256,6 +256,9 @@

  • + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + +
  • - - - layout + + + layouts
    @@ -660,7 +684,7 @@

    Declaration

    Declaration

    Swift

    -
    public var layout: ItemLayout
    +
    public var layouts: ItemLayouts
    @@ -1091,9 +1115,9 @@

    Declaration

  • @@ -1111,7 +1135,7 @@

    Declaration

    public init(
         _ content : Content,
         sizing : Sizing? = nil,
    -    layout : ItemLayout? = nil,
    +    layouts : ItemLayouts? = nil,
         selectionStyle : ItemSelectionStyle? = nil,
         insertAndRemoveAnimations : ItemInsertAndRemoveAnimations? = nil,
         swipeActions : SwipeActionsConfiguration? = nil,
    @@ -1527,7 +1551,7 @@ 

    Available where sizing: .fixed(height: 200) ) { list in - list.layout = .list { + list.layout = .table { $0.direction = .horizontal } @@ -1601,7 +1625,7 @@

    Declaration

    diff --git a/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/Item/OnDeselect.html b/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/Item/OnDeselect.html index a4d4277f8..d278c19e9 100644 --- a/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/Item/OnDeselect.html +++ b/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/Item/OnDeselect.html @@ -23,7 +23,7 @@ Listable - (44% documented) + (45% documented)

    @@ -256,6 +256,9 @@

  • + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + +
  • +
    + + + + insertionsAndRemovals + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let insertionsAndRemovals: InsertionsAndRemovals
    + +
    +
    +
    +
    +
  • @@ -639,6 +690,34 @@

    Declaration

  • +
  • +
    + + + + InsertionsAndRemovals + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct InsertionsAndRemovals
    + +
    +
    +
    +
    +
  • @@ -647,7 +726,7 @@

    Declaration

    diff --git a/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/ListStateObserver/ContentUpdated/InsertionsAndRemovals.html b/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/ListStateObserver/ContentUpdated/InsertionsAndRemovals.html new file mode 100644 index 000000000..8c549caa1 --- /dev/null +++ b/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/ListStateObserver/ContentUpdated/InsertionsAndRemovals.html @@ -0,0 +1,680 @@ + + + + InsertionsAndRemovals Structure Reference + + + + + + + + + + + + + + + + +
    +

    + + Listable + + (45% documented) +

    + +

    +

    + +
    +

    + +

    + + + View on GitHub + +

    + +
    + + + +
    + +
    + +
    +
    +

    InsertionsAndRemovals

    +
    +
    + +
    public struct InsertionsAndRemovals
    + +
    +
    +

    Undocumented

    + +
    +
    + +
    +
    +
    +
      +
    • +
      + + + + sections + +
      +
      +
      +
      +
      +
      +

      Undocumented

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public var sections: ChangedIDs
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + items + +
      +
      +
      +
      +
      +
      +

      Undocumented

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public var items: ChangedIDs
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + ChangedIDs + +
      +
      +
      +
      +
      +
      +

      Undocumented

      + + See more +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public struct ChangedIDs
      + +
      +
      +
      +
      +
    • +
    +
    +
    +
    + +
    +
    + + + + diff --git a/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/ListStateObserver/ContentUpdated/InsertionsAndRemovals/ChangedIDs.html b/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/ListStateObserver/ContentUpdated/InsertionsAndRemovals/ChangedIDs.html new file mode 100644 index 000000000..a773defc2 --- /dev/null +++ b/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/ListStateObserver/ContentUpdated/InsertionsAndRemovals/ChangedIDs.html @@ -0,0 +1,652 @@ + + + + ChangedIDs Structure Reference + + + + + + + + + + + + + + + + +
    +

    + + Listable + + (45% documented) +

    + +

    +

    + +
    +

    + +

    + + + View on GitHub + +

    + +
    + + + +
    + +
    + +
    +
    +

    ChangedIDs

    +
    +
    + +
    public struct ChangedIDs
    + +
    +
    +

    Undocumented

    + +
    +
    + +
    +
    +
    +
      +
    • +
      + + + + inserted + +
      +
      +
      +
      +
      +
      +

      Undocumented

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public var inserted: Set<AnyIdentifier>
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + removed + +
      +
      +
      +
      +
      +
      +

      Undocumented

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public var removed: Set<AnyIdentifier>
      + +
      +
      +
      +
      +
    • +
    +
    +
    +
    + +
    +
    + + + + diff --git a/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/ListStateObserver/DidScroll.html b/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/ListStateObserver/DidScroll.html index d00641230..7b72067a5 100644 --- a/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/ListStateObserver/DidScroll.html +++ b/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/ListStateObserver/DidScroll.html @@ -23,7 +23,7 @@ Listable - (44% documented) + (45% documented)

    @@ -256,6 +256,9 @@

    + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + -
  • -
    - - - - layout - -
    -
    -
    -
    -
    -
    -

    The layout for the section and all its content. -Only relevant to the list layout type.

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public var layout: Layout
    - -
    -
    -
    -
    -
  • -
  • -
    - - - - columns - -
    -
    -
    -
    -
    -
    -

    How columns within the section should be distributed. -Only relevant to the list layout type.

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public var columns: Columns
    - -
    -
    -
    -
    -
  • @@ -764,11 +732,11 @@

    Declaration

    - - + +
    - -

    Initialization

    + +

    Layout Specific Parameters

    @@ -776,9 +744,9 @@

    Initialization

  • - - - Build + + + layouts
    @@ -793,19 +761,32 @@

    Initialization

    Declaration

    Swift

    -
    public typealias Build = (inout Section) -> ()
    +
    public var layouts: SectionLayouts
  • + + +
    +
    + + +
    + +

    Initialization

    +

    +
    +
    +
    -
  • -
    - - - - Layout - -
    -
    -
    -
    -
    -
    -

    Undocumented

    - - See more -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public struct Layout : Equatable
    - -
    -
    -
    -
    -
  • -
  • -
    - - - - Columns - -
    -
    -
    -
    -
    -
    -

    Undocumented

    - - See more -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public struct Columns
    - -
    -
    -
    -
    -
  • @@ -1207,7 +1129,7 @@

    Declaration

    diff --git a/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/SectionLayouts.html b/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/SectionLayouts.html new file mode 100644 index 000000000..7e32f8328 --- /dev/null +++ b/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/SectionLayouts.html @@ -0,0 +1,755 @@ + + + + SectionLayouts Structure Reference + + + + + + + + + + + + + + + + +
    +

    + + Listable + + (45% documented) +

    + +

    +

    + +
    +

    + +

    + + + View on GitHub + +

    + +
    + + + +
    + +
    + +
    +
    +

    SectionLayouts

    +
    +
    + +
    public struct SectionLayouts
    + +
    +
    +

    SectionLayouts allows you to provide ListLayout-specific layout configuration for +individual sections within a list. Eg, customize the layout for a section when it is in a table, a grid, etc.

    + +

    For example, if you want to specify a custom layout for table layouts, you +would do the following on your section:

    +
    mySection.layouts.table = .init(
    +    width: .fill
    +)
    +
    + +

    And then, when the Section is used within a .table style +list layout, the provided layout will be used.

    + +

    If you plan on swapping between multiple ListLayout types on your list, +you can provide multiple layouts. The correct one will be used at the correct time:

    +
    mySection.layouts.table = .init(
    +    width: .fill
    +)
    +
    +mySection.layouts.otherLayout = .init(
    +    width: 300,
    +    alignment: .left
    +)
    +
    +

    Note

    + +

    When implementing your own custom layout, you should add an extension to SectionLayouts, +to provide easier access to your layout-specific SectionLayoutsValue type, like so:

    +
    extension SectionLayouts {
    +    public var table : TableAppearance.Section.Layout {
    +        get { self[TableAppearance.Section.Layout.self] }
    +        set { self[TableAppearance.Section.Layout.self] = newValue }
    +    }
    +}
    +
    + +
    +
    + +
    +
    +
    +
      +
    • +
      + + + + init(_:) + +
      +
      +
      +
      +
      +
      +

      Creates a new instance of the layouts, with an optional configure +closure, to allow you to set up styling inline.

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public init(
      +    _ configure : (inout Self) -> () = { _ in }
      +)
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + subscript(_:) + +
      +
      +
      +
      +
      +
      +

      Allows accessing the various SectionLayoutsValues stored within the object. +This method will return the defaultValue for a value if none is set.

      +

      Note

      + +

      When implementing your own custom layout, you should add an extension to SectionLayouts, +to provide easier access to your layout-specific SectionLayoutsValue type.

      +
      extension SectionLayouts {
      +    public var table : TableAppearance.Section.Layout {
      +        get { self[TableAppearance.Section.Layout.self] }
      +        set { self[TableAppearance.Section.Layout.self] = newValue }
      +    }
      +}
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public subscript<ValueType>(valueType: ValueType.Type) -> ValueType where ValueType : SectionLayoutsValue { get set }
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + grid + +
      +
      +
      +
      +
      +
      +

      Undocumented

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public var grid: GridAppearance.SectionLayout { get set }
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + table + +
      +
      +
      +
      +
      +
      +

      Allows customization of a Section‘s layout when it is presented within a .table style layout.

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public var table: TableAppearance.SectionLayout { get set }
      + +
      +
      +
      +
      +
    • +
    +
    +
    +
    + +
    +
    + + + + diff --git a/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/SwipeAction.html b/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/SwipeAction.html index 855eeb3c9..5477fc581 100644 --- a/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/SwipeAction.html +++ b/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/SwipeAction.html @@ -23,7 +23,7 @@ Listable - (44% documented) + (45% documented)

    @@ -256,6 +256,9 @@

    + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + +
  • - + - padding + padding
    @@ -588,9 +612,9 @@

    Declaration

  • - + - width + width
    @@ -615,9 +639,9 @@

    Declaration

  • @@ -643,9 +667,9 @@

    Declaration

  • @@ -670,9 +694,9 @@

    Declaration

  • @@ -697,9 +721,9 @@

    Declaration

  • @@ -725,9 +749,9 @@

    Declaration

  • @@ -752,9 +776,9 @@

    Declaration

  • @@ -780,9 +804,9 @@

    Declaration

  • @@ -808,9 +832,9 @@

    Declaration

  • @@ -845,9 +869,9 @@

    Declaration

  • @@ -877,7 +901,7 @@

    Declaration

    diff --git a/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/TableAppearance/SectionLayout.html b/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/TableAppearance/SectionLayout.html new file mode 100644 index 000000000..4f9939bf1 --- /dev/null +++ b/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/TableAppearance/SectionLayout.html @@ -0,0 +1,764 @@ + + + + SectionLayout Structure Reference + + + + + + + + + + + + + + + + +
    +

    + + Listable + + (45% documented) +

    + +

    +

    + +
    +

    + +

    + + + View on GitHub + +

    + +
    + + + +
    + +
    + +
    +
    +

    SectionLayout

    +
    +
    + +
    public struct SectionLayout : Equatable, SectionLayoutsValue
    + +
    +
    +

    Undocumented

    + +
    +
    + +
    +
    +
    +
      +
    • +
      + + + + width + +
      +
      +
      +
      +
      +
      +

      Undocumented

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public var width: CustomWidth
      + +
      +
      +
      +
      +
    • +
    • + +
      +
      +
      +
      +
      +

      Overrides the calculated spacing after this section

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public var customInterSectionSpacing: CGFloat?
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + columns + +
      +
      +
      +
      +
      +
      +

      Undocumented

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public var columns: Columns
      + +
      +
      +
      +
      +
    • +
    • + +
      +
      +
      +
      +
      +

      Undocumented

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public init(
      +    width : CustomWidth = .default,
      +    customInterSectionSpacing : CGFloat? = nil,
      +    columns : Columns = .one
      +)
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + defaultValue + +
      +
      +
      +
      +
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public static var defaultValue: `Self` { get }
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + Columns + +
      +
      +
      +
      +
      +
      +

      Undocumented

      + + See more +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public struct Columns : Equatable
      + +
      +
      +
      +
      +
    • +
    +
    +
    +
    + +
    +
    + + + + diff --git a/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/TableAppearance/SectionLayout/Columns.html b/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/TableAppearance/SectionLayout/Columns.html new file mode 100644 index 000000000..988a0943d --- /dev/null +++ b/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/TableAppearance/SectionLayout/Columns.html @@ -0,0 +1,706 @@ + + + + Columns Structure Reference + + + + + + + + + + + + + + + + +
    +

    + + Listable + + (45% documented) +

    + +

    +

    + +
    +

    + +

    + + + View on GitHub + +

    + +
    + + + +
    + +
    + +
    +
    +

    Columns

    +
    +
    + +
    public struct Columns : Equatable
    + +
    +
    +

    Undocumented

    + +
    +
    + +
    +
    +
    +
      +
    • +
      + + + + count + +
      +
      +
      +
      +
      +
      +

      Undocumented

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public var count: Int
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + spacing + +
      +
      +
      +
      +
      +
      +

      Undocumented

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public var spacing: CGFloat
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + one + +
      +
      +
      +
      +
      +
      +

      Undocumented

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public static var one: Columns { get }
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + init(count:spacing:) + +
      +
      +
      +
      +
      +
      +

      Undocumented

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public init(count: Int = 1, spacing: CGFloat = 0.0)
      + +
      +
      +
      +
      +
    • +
    +
    +
    +
    + +
    +
    + + + + diff --git a/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/ListAppearance/Sizing.html b/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/TableAppearance/Sizing.html similarity index 90% rename from docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/ListAppearance/Sizing.html rename to docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/TableAppearance/Sizing.html index 59ecc513c..83d830165 100644 --- a/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/ListAppearance/Sizing.html +++ b/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Structs/TableAppearance/Sizing.html @@ -23,7 +23,7 @@ Listable - (44% documented) + (45% documented)

    @@ -256,6 +256,9 @@

  • + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + +
  • @@ -588,9 +612,9 @@

    Declaration

  • @@ -615,9 +639,9 @@

    Declaration

  • @@ -642,9 +666,9 @@

    Declaration

  • @@ -669,9 +693,9 @@

    Declaration

  • @@ -696,9 +720,9 @@

    Declaration

  • @@ -723,9 +747,9 @@

    Declaration

  • @@ -752,9 +776,9 @@

    Declaration

  • @@ -787,9 +811,9 @@

    Declaration

  • @@ -819,7 +843,7 @@

    Declaration

    diff --git a/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Typealiases.html b/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Typealiases.html index c67ced74e..d907a2c66 100644 --- a/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Typealiases.html +++ b/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/Typealiases.html @@ -23,7 +23,7 @@ Listable - (44% documented) + (45% documented)

    @@ -256,6 +256,9 @@

  • + @@ -265,6 +268,9 @@ + @@ -283,6 +289,9 @@ + + + + @@ -343,7 +361,7 @@ HeaderFooterContentViews - - - @@ -505,10 +514,7 @@ Section - + + + + + + + @@ -264,6 +267,9 @@ + @@ -282,6 +288,9 @@ + + + + @@ -342,7 +360,7 @@ HeaderFooterContentViews - - - @@ -504,10 +513,7 @@ Section - + + + + + +
    -

    You use the ListAppearance.Sizing struct to control the default measurements within the list: How tall are standard rows, headers, footers, etc.

    -
    public struct ListAppearance.Sizing : Equatable
    +

    You use the TableAppearance.Sizing struct to control the default measurements within the list: How tall are standard rows, headers, footers, etc.

    +
    public struct TableAppearance.Sizing : Equatable
     {
         public var itemHeight : CGFloat
     
    @@ -645,8 +669,8 @@ 

    Highly Customizable

    }
    -

    You can use ListAppearance.Layout to customize the padding of the entire list, how wide the list should be (eg, up to 700px, more than 400px, etc) plus control spacing between items, headers, and footers.

    -
    public struct ListAppearance.Layout : Equatable
    +

    You can use TableAppearance.Layout to customize the padding of the entire list, how wide the list should be (eg, up to 700px, more than 400px, etc) plus control spacing between items, headers, and footers.

    +
    public struct TableAppearance.Layout : Equatable
     {
         public var padding : UIEdgeInsets
         public var width : WidthConstraint
    @@ -1200,7 +1224,7 @@ 
           
         
         
       
    diff --git a/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/search.json b/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/search.json
    index b043357cc..ac6498fa1 100644
    --- a/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/search.json
    +++ b/docs/Listable/docsets/Listable.docset/Contents/Resources/Documents/search.json
    @@ -1 +1 @@
    -{"Typealiases.html#/s:10ListableUI6Headera":{"name":"Header","abstract":"

    Undocumented

    "},"Typealiases.html#/s:10ListableUI6Footera":{"name":"Footer","abstract":"

    Undocumented

    "},"Typealiases.html#/s:10ListableUI13HeaderContenta":{"name":"HeaderContent","abstract":"

    Undocumented

    "},"Typealiases.html#/s:10ListableUI13FooterContenta":{"name":"FooterContent","abstract":"

    Undocumented

    "},"Structs/SwipeAction.html#/s:10ListableUI11SwipeActionV17CompletionHandlera":{"name":"CompletionHandler","abstract":"

    The completion handler to call after performing the swipe action.

    ","parent_name":"SwipeAction"},"Structs/SwipeAction.html#/s:10ListableUI11SwipeActionV7Handlera":{"name":"Handler","abstract":"

    The completion handler called when the action is tapped.

    ","parent_name":"SwipeAction"},"Structs/SwipeAction.html#/s:10ListableUI11SwipeActionV5titleSSSgvp":{"name":"title","abstract":"

    Undocumented

    ","parent_name":"SwipeAction"},"Structs/SwipeAction.html#/s:10ListableUI11SwipeActionV15backgroundColorSo7UIColorCSgvp":{"name":"backgroundColor","abstract":"

    Undocumented

    ","parent_name":"SwipeAction"},"Structs/SwipeAction.html#/s:10ListableUI11SwipeActionV5imageSo7UIImageCSgvp":{"name":"image","abstract":"

    Undocumented

    ","parent_name":"SwipeAction"},"Structs/SwipeAction.html#/s:10ListableUI11SwipeActionV7handleryyySbccvp":{"name":"handler","abstract":"

    Undocumented

    ","parent_name":"SwipeAction"},"Structs/SwipeAction.html#/s:10ListableUI11SwipeActionV5title15backgroundColor5image7handlerACSS_So7UIColorCSo7UIImageCSgyySbcctcfc":{"name":"init(title:backgroundColor:image:handler:)","abstract":"

    Undocumented

    ","parent_name":"SwipeAction"},"Structs/SwipeActionsConfiguration.html#/s:10ListableUI25SwipeActionsConfigurationV7actionsSayAA0C6ActionVGvp":{"name":"actions","abstract":"

    The actions to display when the cell is swiped.

    ","parent_name":"SwipeActionsConfiguration"},"Structs/SwipeActionsConfiguration.html#/s:10ListableUI25SwipeActionsConfigurationV027performsFirstActionWithFullC0Sbvp":{"name":"performsFirstActionWithFullSwipe","abstract":"

    Whether the first action is performed automatically with a full swipe.

    ","parent_name":"SwipeActionsConfiguration"},"Structs/SwipeActionsConfiguration.html#/s:10ListableUI25SwipeActionsConfigurationV6action027performsFirstActionWithFullC0AcA0cI0V_Sbtcfc":{"name":"init(action:performsFirstActionWithFullSwipe:)","abstract":"

    Undocumented

    ","parent_name":"SwipeActionsConfiguration"},"Structs/SwipeActionsConfiguration.html#/s:10ListableUI25SwipeActionsConfigurationV7actions027performsFirstActionWithFullC0ACSayAA0cI0VG_Sbtcfc":{"name":"init(actions:performsFirstActionWithFullSwipe:)","abstract":"

    Undocumented

    ","parent_name":"SwipeActionsConfiguration"},"Structs/HorizontalPadding.html#/s:10ListableUI17HorizontalPaddingV4left12CoreGraphics7CGFloatVvp":{"name":"left","abstract":"

    Undocumented

    ","parent_name":"HorizontalPadding"},"Structs/HorizontalPadding.html#/s:10ListableUI17HorizontalPaddingV5right12CoreGraphics7CGFloatVvp":{"name":"right","abstract":"

    Undocumented

    ","parent_name":"HorizontalPadding"},"Structs/HorizontalPadding.html#/s:10ListableUI17HorizontalPaddingV4zeroACvpZ":{"name":"zero","abstract":"

    Undocumented

    ","parent_name":"HorizontalPadding"},"Structs/HorizontalPadding.html#/s:10ListableUI17HorizontalPaddingV4left5rightAC12CoreGraphics7CGFloatV_AHtcfc":{"name":"init(left:right:)","abstract":"

    Undocumented

    ","parent_name":"HorizontalPadding"},"Structs/HorizontalPadding.html#/s:10ListableUI17HorizontalPaddingV7uniformAC12CoreGraphics7CGFloatV_tcfc":{"name":"init(uniform:)","abstract":"

    Undocumented

    ","parent_name":"HorizontalPadding"},"Structs/Section/Columns.html#/s:10ListableUI7SectionV7ColumnsV5countSivp":{"name":"count","abstract":"

    Undocumented

    ","parent_name":"Columns"},"Structs/Section/Columns.html#/s:10ListableUI7SectionV7ColumnsV7spacing12CoreGraphics7CGFloatVvp":{"name":"spacing","abstract":"

    Undocumented

    ","parent_name":"Columns"},"Structs/Section/Columns.html#/s:10ListableUI7SectionV7ColumnsV3oneAEvpZ":{"name":"one","abstract":"

    Undocumented

    ","parent_name":"Columns"},"Structs/Section/Columns.html#/s:10ListableUI7SectionV7ColumnsV5count7spacingAESi_12CoreGraphics7CGFloatVtcfc":{"name":"init(count:spacing:)","abstract":"

    Undocumented

    ","parent_name":"Columns"},"Structs/Section/Layout.html#/s:10ListableUI7SectionV6LayoutV5widthAA11CustomWidthOvp":{"name":"width","abstract":"

    Undocumented

    ","parent_name":"Layout"},"Structs/Section/Layout.html#/s:10ListableUI7SectionV6LayoutV011customInterC7Spacing12CoreGraphics7CGFloatVSgvp":{"name":"customInterSectionSpacing","abstract":"

    Overrides the calculated spacing after this section

    ","parent_name":"Layout"},"Structs/Section/Layout.html#/s:10ListableUI7SectionV6LayoutV5width011customInterC7SpacingAeA11CustomWidthO_12CoreGraphics7CGFloatVSgtcfc":{"name":"init(width:customInterSectionSpacing:)","abstract":"

    Undocumented

    ","parent_name":"Layout"},"Structs/Section.html#/s:10ListableUI7SectionV4infoAA03AnyC4Info_pvp":{"name":"info","abstract":"

    Data backing the identity and updates to the section – for example","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV6layoutAC6LayoutVvp":{"name":"layout","abstract":"

    The layout for the section and all its content.","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV7columnsAC7ColumnsVvp":{"name":"columns","abstract":"

    How columns within the section should be distributed.","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV6headerAA15AnyHeaderFooter_pSgvp":{"name":"header","abstract":"

    The header, if any, associated with the section.

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV6footerAA15AnyHeaderFooter_pSgvp":{"name":"footer","abstract":"

    The footer, if any, associated with the section.

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV5itemsSayAA7AnyItem_pGvp":{"name":"items","abstract":"

    The items, if any, associated with the section.

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV8contains3anySbShyAA14ContentFiltersOG_tF":{"name":"contains(any:)","abstract":"

    Check if the section contains any of the given types, which you specify via the filters","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV5Builda":{"name":"Build","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV_5buildACx_yACzXEtcSHRzlufc":{"name":"init(_:build:)","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV_5buildACx_yACzXEtcAA0C4InfoRzlufc":{"name":"init(_:build:)","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV_6layout7columns6header6footer5itemsACx_AC6LayoutVAC7ColumnsVAA15AnyHeaderFooter_pSgANSayAA0K4Item_pGtcSHRzlufc":{"name":"init(_:layout:columns:header:footer:items:)","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV_6layout7columns6header6footer5itemsACx_AC6LayoutVAC7ColumnsVAA15AnyHeaderFooter_pSgANSayAA0K4Item_pGtcAA0C4InfoRzlufc":{"name":"init(_:layout:columns:header:footer:items:)","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV3addyyAA7AnyItem_pF":{"name":"add(_:)","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV2peoiyyACz_AA7AnyItem_ptFZ":{"name":"+=(_:_:)","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV2peoiyyACz_AA4ItemVyxGtAA0E7ContentRzlFZ":{"name":"+=(_:_:)","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV2peoiyyACz_xtAA11ItemContentRzlFZ":{"name":"+=(_:_:)","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV2peoiyyACz_SayAA7AnyItem_pGtFZ":{"name":"+=(_:_:)","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV2peoiyyACz_SayAA4ItemVyxGGtAA0E7ContentRzlFZ":{"name":"+=(_:_:)","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV2peoiyyACz_SayxGtAA11ItemContentRzlFZ":{"name":"+=(_:_:)","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/Section/Layout.html":{"name":"Layout","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/Section/Columns.html":{"name":"Columns","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/ScrollPosition/IfAlreadyVisible.html#/s:10ListableUI14ScrollPositionV16IfAlreadyVisibleO9doNothingyA2EmF":{"name":"doNothing","abstract":"

    Do not perform any action if the item is already partially visible.

    ","parent_name":"IfAlreadyVisible"},"Structs/ScrollPosition/IfAlreadyVisible.html#/s:10ListableUI14ScrollPositionV16IfAlreadyVisibleO08scrollToD0yA2EmF":{"name":"scrollToPosition","abstract":"

    Scroll the item to the desired Position, even if it is already partially visible.

    ","parent_name":"IfAlreadyVisible"},"Structs/ScrollPosition/Position.html#/s:10ListableUI14ScrollPositionV0D0O3topyA2EmF":{"name":"top","abstract":"

    Scroll the item to the top of the list.

    ","parent_name":"Position"},"Structs/ScrollPosition/Position.html#/s:10ListableUI14ScrollPositionV0D0O8centeredyA2EmF":{"name":"centered","abstract":"

    Scroll the item to the middle of the list.

    ","parent_name":"Position"},"Structs/ScrollPosition/Position.html#/s:10ListableUI14ScrollPositionV0D0O6bottomyA2EmF":{"name":"bottom","abstract":"

    Scroll the item to the bottom of the list.

    ","parent_name":"Position"},"Structs/ScrollPosition.html#/s:10ListableUI14ScrollPositionV8position16ifAlreadyVisible6offsetA2C0D0O_AC02IfgH0O12CoreGraphics7CGFloatVtcfc":{"name":"init(position:ifAlreadyVisible:offset:)","abstract":"

    Creates a new scroll position with the provided values.

    ","parent_name":"ScrollPosition"},"Structs/ScrollPosition/Position.html":{"name":"Position","abstract":"

    How the item should be positioned within the list.

    ","parent_name":"ScrollPosition"},"Structs/ScrollPosition/IfAlreadyVisible.html":{"name":"IfAlreadyVisible","abstract":"

    What action should be taken if an item is already partially visible within a list.

    ","parent_name":"ScrollPosition"},"Structs/RefreshControl/Title.html#/s:10ListableUI14RefreshControlV5TitleO6stringyAESScAEmF":{"name":"string(_:)","abstract":"

    Undocumented

    ","parent_name":"Title"},"Structs/RefreshControl/Title.html#/s:10ListableUI14RefreshControlV5TitleO10attributedyAESo18NSAttributedStringCcAEmF":{"name":"attributed(_:)","abstract":"

    Undocumented

    ","parent_name":"Title"},"Structs/RefreshControl.html#/s:10ListableUI14RefreshControlV12isRefreshingSbvp":{"name":"isRefreshing","abstract":"

    Undocumented

    ","parent_name":"RefreshControl"},"Structs/RefreshControl.html#/s:10ListableUI14RefreshControlV5titleAC5TitleOSgvp":{"name":"title","abstract":"

    Undocumented

    ","parent_name":"RefreshControl"},"Structs/RefreshControl.html#/s:10ListableUI14RefreshControlV9tintColorSo7UIColorCSgvp":{"name":"tintColor","abstract":"

    Undocumented

    ","parent_name":"RefreshControl"},"Structs/RefreshControl.html#/s:10ListableUI14RefreshControlV02OnC0a":{"name":"OnRefresh","abstract":"

    Undocumented

    ","parent_name":"RefreshControl"},"Structs/RefreshControl.html#/s:10ListableUI14RefreshControlV02onC0yycvp":{"name":"onRefresh","abstract":"

    Undocumented

    ","parent_name":"RefreshControl"},"Structs/RefreshControl.html#/s:10ListableUI14RefreshControlV12isRefreshing5title9tintColor02onC0ACSb_AC5TitleOSgSo7UIColorCSgyyctcfc":{"name":"init(isRefreshing:title:tintColor:onRefresh:)","abstract":"

    Undocumented

    ","parent_name":"RefreshControl"},"Structs/RefreshControl/Title.html":{"name":"Title","abstract":"

    Undocumented

    ","parent_name":"RefreshControl"},"Structs/ItemPreviewAppearance.html#/s:10ListableUI21ItemPreviewAppearanceV7padding15backgroundColorAC12CoreGraphics7CGFloatV_So7UIColorCtcfc":{"name":"init(padding:backgroundColor:)","abstract":"

    Creates a new preview appearance.

    ","parent_name":"ItemPreviewAppearance"},"Structs/ItemPreview/Properties.html#/s:10ListableUI11ItemPreviewV10PropertiesV5width12CoreGraphics7CGFloatVvp":{"name":"width","abstract":"

    The width of the preview.

    ","parent_name":"Properties"},"Structs/ItemPreview/Properties.html#/s:10ListableUI11ItemPreviewV10PropertiesV5stateAA0C5StateVvp":{"name":"state","abstract":"

    The ItemState to use in the preview.

    ","parent_name":"Properties"},"Structs/ItemPreview/Properties.html#/s:10ListableUI11ItemPreviewV10PropertiesV10appearanceAA0cD10AppearanceVvp":{"name":"appearance","abstract":"

    The desired appearance of the preview.

    ","parent_name":"Properties"},"Structs/ItemPreview/Properties.html#/s:10ListableUI11ItemPreviewV10PropertiesV4with5state10appearanceAE12CoreGraphics7CGFloatV_AA0C5StateVAA0cD10AppearanceVtcfc":{"name":"init(with:state:appearance:)","abstract":"

    Creates a new preview with the desired options.

    ","parent_name":"Properties"},"Structs/ItemPreview.html#/s:10ListableUI11ItemPreviewV4itemAA03AnyC0_pvp":{"name":"item","abstract":"

    The item being previewed by the preview.

    ","parent_name":"ItemPreview"},"Structs/ItemPreview.html#/s:10ListableUI11ItemPreviewV10propertiesAC10PropertiesVvp":{"name":"properties","abstract":"

    The properties of the current preview.

    ","parent_name":"ItemPreview"},"Structs/ItemPreview/Properties.html":{"name":"Properties","abstract":"

    The properties of a preview.

    ","parent_name":"ItemPreview"},"Structs/ItemPreview.html#/s:10ListableUI11ItemPreviewV8previews3for4withQrAA03AnyC0_p_SayAC10PropertiesVGtFZ":{"name":"previews(for:with:)","abstract":"

    Creates and returns a SwiftUI view that contains individual previews for each of the provided","parent_name":"ItemPreview"},"Structs/ItemPreview.html#/s:10ListableUI11ItemPreviewV07withAllC6States3for5width10appearanceQrAA03AnyC0_p_12CoreGraphics7CGFloatVAA0cD10AppearanceVtFZ":{"name":"withAllItemStates(for:width:appearance:)","abstract":"

    Creates and returns a SwiftUI view that contains individual previews for all the possible","parent_name":"ItemPreview"},"Structs/ItemPreview.html#/s:10ListableUI11ItemPreviewV_5width5state10appearanceAcA03AnyC0_p_12CoreGraphics7CGFloatVAA0C5StateVAA0cD10AppearanceVtcfc":{"name":"init(_:width:state:appearance:)","abstract":"

    Creates a new preview with the provided properties.

    ","parent_name":"ItemPreview"},"Structs/ItemPreview.html#/s:10ListableUI11ItemPreviewV_10propertiesAcA03AnyC0_p_AC10PropertiesVtcfc":{"name":"init(_:properties:)","abstract":"

    Creates a new preview with the provided properties.

    ","parent_name":"ItemPreview"},"Structs/ItemPreview.html#/s:7SwiftUI4ViewP4body4BodyQzvp":{"name":"body","parent_name":"ItemPreview"},"Structs/LocalizedItemCollator/CollatedSection.html#/s:10ListableUI21LocalizedItemCollatorV15CollatedSectionV5titleSSvp":{"name":"title","abstract":"

    The title of section – a single letter like A, B, C, D, E, etc.","parent_name":"CollatedSection"},"Structs/LocalizedItemCollator/CollatedSection.html#/s:10ListableUI21LocalizedItemCollatorV15CollatedSectionV5itemsSayAA03AnyD0_pGvp":{"name":"items","abstract":"

    The sorted items in the collated sections.

    ","parent_name":"CollatedSection"},"Structs/LocalizedItemCollator.html#/s:10ListableUI21LocalizedItemCollatorV7collate9collation5itemsSayAC15CollatedSectionVGSo27UILocalizedIndexedCollationC_SayAA03Anyc10CollatableD0_pGtFZ":{"name":"collate(collation:items:)","abstract":"

    Collates and returns the set of items into CollatedSections.","parent_name":"LocalizedItemCollator"},"Structs/LocalizedItemCollator.html#/s:10ListableUI21LocalizedItemCollatorV8sections9collation4with_SayAA7SectionVGSo27UILocalizedIndexedCollationC_SayAA03Anyc10CollatableD0_pGyAC08CollatedI0V_AHztXEtFZ":{"name":"sections(collation:with:_:)","abstract":"

    Collates and returns the set of items into list Sections,","parent_name":"LocalizedItemCollator"},"Structs/LocalizedItemCollator/CollatedSection.html":{"name":"CollatedSection","abstract":"

    The output of the collator, with the collated title and items","parent_name":"LocalizedItemCollator"},"Structs/ListStateObserver/SelectionChanged.html#/s:10ListableUI17ListStateObserverV16SelectionChangedV7actionsAA0C7ActionsCvp":{"name":"actions","abstract":"

    Undocumented

    ","parent_name":"SelectionChanged"},"Structs/ListStateObserver/SelectionChanged.html#/s:10ListableUI17ListStateObserverV16SelectionChangedV12positionInfoAA0c14ScrollPositionI0Vvp":{"name":"positionInfo","abstract":"

    Undocumented

    ","parent_name":"SelectionChanged"},"Structs/ListStateObserver/SelectionChanged.html#/s:10ListableUI17ListStateObserverV16SelectionChangedV3oldShyAA13AnyIdentifierCGvp":{"name":"old","abstract":"

    Undocumented

    ","parent_name":"SelectionChanged"},"Structs/ListStateObserver/SelectionChanged.html#/s:10ListableUI17ListStateObserverV16SelectionChangedV3newShyAA13AnyIdentifierCGvp":{"name":"new","abstract":"

    Undocumented

    ","parent_name":"SelectionChanged"},"Structs/ListStateObserver/FrameChanged.html#/s:10ListableUI17ListStateObserverV12FrameChangedV7actionsAA0C7ActionsCvp":{"name":"actions","abstract":"

    Undocumented

    ","parent_name":"FrameChanged"},"Structs/ListStateObserver/FrameChanged.html#/s:10ListableUI17ListStateObserverV12FrameChangedV12positionInfoAA0c14ScrollPositionI0Vvp":{"name":"positionInfo","abstract":"

    Undocumented

    ","parent_name":"FrameChanged"},"Structs/ListStateObserver/FrameChanged.html#/s:10ListableUI17ListStateObserverV12FrameChangedV3oldSo6CGRectVvp":{"name":"old","abstract":"

    Undocumented

    ","parent_name":"FrameChanged"},"Structs/ListStateObserver/FrameChanged.html#/s:10ListableUI17ListStateObserverV12FrameChangedV3newSo6CGRectVvp":{"name":"new","abstract":"

    Undocumented

    ","parent_name":"FrameChanged"},"Structs/ListStateObserver/VisibilityChanged.html#/s:10ListableUI17ListStateObserverV17VisibilityChangedV7actionsAA0C7ActionsCvp":{"name":"actions","abstract":"

    Undocumented

    ","parent_name":"VisibilityChanged"},"Structs/ListStateObserver/VisibilityChanged.html#/s:10ListableUI17ListStateObserverV17VisibilityChangedV12positionInfoAA0c14ScrollPositionI0Vvp":{"name":"positionInfo","abstract":"

    Undocumented

    ","parent_name":"VisibilityChanged"},"Structs/ListStateObserver/VisibilityChanged.html#/s:10ListableUI17ListStateObserverV17VisibilityChangedV9displayedSayAA7AnyItem_pGvp":{"name":"displayed","abstract":"

    Undocumented

    ","parent_name":"VisibilityChanged"},"Structs/ListStateObserver/VisibilityChanged.html#/s:10ListableUI17ListStateObserverV17VisibilityChangedV12endedDisplaySayAA7AnyItem_pGvp":{"name":"endedDisplay","abstract":"

    Undocumented

    ","parent_name":"VisibilityChanged"},"Structs/ListStateObserver/ContentUpdated.html#/s:10ListableUI17ListStateObserverV14ContentUpdatedV10hadChangesSbvp":{"name":"hadChanges","abstract":"

    Undocumented

    ","parent_name":"ContentUpdated"},"Structs/ListStateObserver/ContentUpdated.html#/s:10ListableUI17ListStateObserverV14ContentUpdatedV7actionsAA0C7ActionsCvp":{"name":"actions","abstract":"

    Undocumented

    ","parent_name":"ContentUpdated"},"Structs/ListStateObserver/ContentUpdated.html#/s:10ListableUI17ListStateObserverV14ContentUpdatedV12positionInfoAA0c14ScrollPositionI0Vvp":{"name":"positionInfo","abstract":"

    Undocumented

    ","parent_name":"ContentUpdated"},"Structs/ListStateObserver/DidScroll.html#/s:10ListableUI17ListStateObserverV9DidScrollV7actionsAA0C7ActionsCvp":{"name":"actions","abstract":"

    Undocumented

    ","parent_name":"DidScroll"},"Structs/ListStateObserver/DidScroll.html#/s:10ListableUI17ListStateObserverV9DidScrollV12positionInfoAA0cg8PositionI0Vvp":{"name":"positionInfo","abstract":"

    Undocumented

    ","parent_name":"DidScroll"},"Structs/ListStateObserver.html#/s:10ListableUI17ListStateObserverVyACyACzXEcfc":{"name":"init(_:)","abstract":"

    Creates and optionally allows you to configure an observer.

    ","parent_name":"ListStateObserver"},"Structs/ListStateObserver.html#/s:10ListableUI17ListStateObserverV11OnDidScrolla":{"name":"OnDidScroll","abstract":"

    Undocumented

    ","parent_name":"ListStateObserver"},"Structs/ListStateObserver.html#/s:10ListableUI17ListStateObserverV11onDidScrollyyyAC0gH0VcF":{"name":"onDidScroll(_:)","abstract":"

    Registers a callback which will be called when the list view is scrolled, or is","parent_name":"ListStateObserver"},"Structs/ListStateObserver.html#/s:10ListableUI17ListStateObserverV16OnContentUpdateda":{"name":"OnContentUpdated","abstract":"

    Undocumented

    ","parent_name":"ListStateObserver"},"Structs/ListStateObserver.html#/s:10ListableUI17ListStateObserverV16onContentUpdatedyyyAC0gH0VcF":{"name":"onContentUpdated(_:)","abstract":"

    Registers a callback which will be called when the list view’s content is updated","parent_name":"ListStateObserver"},"Structs/ListStateObserver.html#/s:10ListableUI17ListStateObserverV19OnVisibilityChangeda":{"name":"OnVisibilityChanged","abstract":"

    Undocumented

    ","parent_name":"ListStateObserver"},"Structs/ListStateObserver.html#/s:10ListableUI17ListStateObserverV19onVisibilityChangedyyyAC0gH0VcF":{"name":"onVisibilityChanged(_:)","abstract":"

    Registers a callback which will be called when the list view’s content is changed – eg through","parent_name":"ListStateObserver"},"Structs/ListStateObserver.html#/s:10ListableUI17ListStateObserverV14OnFrameChangeda":{"name":"OnFrameChanged","abstract":"

    Undocumented

    ","parent_name":"ListStateObserver"},"Structs/ListStateObserver.html#/s:10ListableUI17ListStateObserverV14onFrameChangedyyyAC0gH0VcF":{"name":"onFrameChanged(_:)","abstract":"

    Registers a callback which will be called when the list view’s frame is changed.

    ","parent_name":"ListStateObserver"},"Structs/ListStateObserver.html#/s:10ListableUI17ListStateObserverV18OnSelectionChangeda":{"name":"OnSelectionChanged","abstract":"

    Undocumented

    ","parent_name":"ListStateObserver"},"Structs/ListStateObserver.html#/s:10ListableUI17ListStateObserverV18onSelectionChangedyyyAC0gH0VcF":{"name":"onSelectionChanged(_:)","abstract":"

    Registers a callback which will be called when the list view’s selected items are changed by the user.

    ","parent_name":"ListStateObserver"},"Structs/ListStateObserver/DidScroll.html":{"name":"DidScroll","abstract":"

    Parameters available for OnDidScroll callbacks.

    ","parent_name":"ListStateObserver"},"Structs/ListStateObserver/ContentUpdated.html":{"name":"ContentUpdated","abstract":"

    Parameters available for OnContentUpdated callbacks.

    ","parent_name":"ListStateObserver"},"Structs/ListStateObserver/VisibilityChanged.html":{"name":"VisibilityChanged","abstract":"

    Parameters available for OnVisibilityChanged callbacks.

    ","parent_name":"ListStateObserver"},"Structs/ListStateObserver/FrameChanged.html":{"name":"FrameChanged","abstract":"

    Parameters available for OnFrameChanged callbacks.

    ","parent_name":"ListStateObserver"},"Structs/ListStateObserver/SelectionChanged.html":{"name":"SelectionChanged","abstract":"

    Parameters available for OnSelectionChanged callbacks.

    ","parent_name":"ListStateObserver"},"Structs/ListScrollPositionInfo.html#/s:10ListableUI22ListScrollPositionInfoV12visibleItemsShyAA13AnyIdentifierCGvp":{"name":"visibleItems","abstract":"

    Which items within the list are currently visible.

    ","parent_name":"ListScrollPositionInfo"},"Structs/ListScrollPositionInfo.html#/s:10ListableUI22ListScrollPositionInfoV18isFirstItemVisibleSbvp":{"name":"isFirstItemVisible","abstract":"

    If the first item list is partially visible.

    ","parent_name":"ListScrollPositionInfo"},"Structs/ListScrollPositionInfo.html#/s:10ListableUI22ListScrollPositionInfoV17isLastItemVisibleSbvp":{"name":"isLastItemVisible","abstract":"

    If the last item list is partially visible.

    ","parent_name":"ListScrollPositionInfo"},"Structs/ListScrollPositionInfo.html#/s:10ListableUI22ListScrollPositionInfoV19visibleContentEdges017includingSafeAreaI0So10UIRectEdgeVAG_tF":{"name":"visibleContentEdges(includingSafeAreaEdges:)","abstract":"

    Used to retrieve the visible content edges for the list’s content.

    ","parent_name":"ListScrollPositionInfo"},"Structs/ListScrollPositionInfo.html#/s:10ListableUI22ListScrollPositionInfoV10scrollView12visibleItems18isFirstItemVisible0k4LastmN0ACSo08UIScrollH0C_ShyAA13AnyIdentifierCGS2btcfc":{"name":"init(scrollView:visibleItems:isFirstItemVisible:isLastItemVisible:)","abstract":"

    Creates a ListScrollPositionInfo for the provided scroll view.

    ","parent_name":"ListScrollPositionInfo"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV15animatesChangesSbvp":{"name":"animatesChanges","abstract":"

    If the changes applied should be animated or not.","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV7contentAA7ContentVvp":{"name":"content","abstract":"

    The content displayed by the list.","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV11environmentAA0C11EnvironmentVvp":{"name":"environment","abstract":"

    The environment associated with the List.

    ","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV6layoutAA17LayoutDescriptionVvp":{"name":"layout","abstract":"

    The layout type to use with the list. Defaults to .list(), aka a list","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV10appearanceAA10AppearanceVvp":{"name":"appearance","abstract":"

    The appearance to use with the list.

    ","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV21scrollIndicatorInsetsSo06UIEdgeG0Vvp":{"name":"scrollIndicatorInsets","abstract":"

    The scroll insets to apply to the list view.

    ","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV8behaviorAA8BehaviorVvp":{"name":"behavior","abstract":"

    The various behavior options to apply to the list, which affect how the user","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV13stateObserverAA0c5StateF0Vvp":{"name":"stateObserver","abstract":"

    The state reader to use with your list. A ListStateObserver","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV7actionsAA0C7ActionsCSgvp":{"name":"actions","abstract":"

    The actions instance to use to control the list, eg to scroll to a given","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV16autoScrollActionAA04AutofG0Ovp":{"name":"autoScrollAction","abstract":"

    The auto scroll action to apply to the list. This allows you to","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV23accessibilityIdentifierSSSgvp":{"name":"accessibilityIdentifier","abstract":"

    The accessibility identifier assigned to the inner UICollectionView.

    ","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV19debuggingIdentifierSSSgvp":{"name":"debuggingIdentifier","abstract":"

    The debugging identifier assigned to the list. Used for os_signpost integration","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV5Builda":{"name":"Build","abstract":"

    Undocumented

    ","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV7default4withACyACzXE_tFZ":{"name":"default(with:)","abstract":"

    An instance of ListProperties with sensible default values.

    ","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV15animatesChanges6layout10appearance21scrollIndicatorInsets8behavior16autoScrollAction23accessibilityIdentifier09debuggingQ05buildACSb_AA17LayoutDescriptionVAA10AppearanceVSo06UIEdgeK0VAA8BehaviorVAA04AutonO0OSSSgAWyACzXEtcfc":{"name":"init(animatesChanges:layout:appearance:scrollIndicatorInsets:behavior:autoScrollAction:accessibilityIdentifier:debuggingIdentifier:build:)","abstract":"

    Create a new instance of ListProperties with the provided values.

    ","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV6modify5usingyyACzXE_tF":{"name":"modify(using:)","abstract":"

    Updates the ListProperties object with the changes in the provided builder.

    ","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV8modified5usingACyACzXE_tF":{"name":"modified(using:)","abstract":"

    Creates a new ListProperties object modified by the changes in the provided builder.

    ","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV3addyyAA7SectionVF":{"name":"add(_:)","abstract":"

    Adds a new section to the content.

    ","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV2peoiyyACz_AA7SectionVtFZ":{"name":"+=(_:_:)","abstract":"

    Adds a new section to the content.

    ","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV2peoiyyACz_SayAA7SectionVGtFZ":{"name":"+=(_:_:)","abstract":"

    Adds a list of new sections to the content.

    ","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV14callAsFunction_5buildyx_yAA7SectionVzXEtSHRzlF":{"name":"callAsFunction(_:build:)","abstract":"

    Allows streamlined creation of sections when building a list.

    ","parent_name":"ListProperties"},"Structs/ListEnvironment.html#/s:10ListableUI15ListEnvironmentV5emptyACvpZ":{"name":"empty","abstract":"

    A default “empty” environment, with no values overridden.","parent_name":"ListEnvironment"},"Structs/ListEnvironment.html#/s:10ListableUI15ListEnvironmentVy5ValueQzxmcAA0cD3KeyRzluip":{"name":"subscript(_:)","abstract":"

    Gets or sets an environment value by its key.

    ","parent_name":"ListEnvironment"},"Structs/PagedAppearance.html#/s:10ListableUI15PagedAppearanceV7defaultACvpZ":{"name":"default","abstract":"

    Undocumented

    ","parent_name":"PagedAppearance"},"Structs/PagedAppearance.html#/s:10ListableUI15PagedAppearanceV9directionAA15LayoutDirectionOvp":{"name":"direction","abstract":"

    The direction the paging layout should occur in. Defaults to vertical.

    ","parent_name":"PagedAppearance"},"Structs/PagedAppearance.html#/s:10ListableUI15PagedAppearanceV20stickySectionHeadersSbvp":{"name":"stickySectionHeaders","abstract":"

    Undocumented

    ","parent_name":"PagedAppearance"},"Structs/PagedAppearance.html#/s:10ListableUI15PagedAppearanceV21showsScrollIndicatorsSbvp":{"name":"showsScrollIndicators","abstract":"

    If scroll indicators should be visible along the scrollable axis.

    ","parent_name":"PagedAppearance"},"Structs/PagedAppearance.html#/s:10ListableUI15PagedAppearanceV10itemInsetsSo06UIEdgeF0Vvp":{"name":"itemInsets","abstract":"

    How far each item in the list should be inset from the edges of the view.

    ","parent_name":"PagedAppearance"},"Structs/PagedAppearance.html#/s:10ListableUI15PagedAppearanceV9direction21showsScrollIndicators10itemInsetsAcA15LayoutDirectionO_SbSo06UIEdgeJ0Vtcfc":{"name":"init(direction:showsScrollIndicators:itemInsets:)","abstract":"

    Undocumented

    ","parent_name":"PagedAppearance"},"Structs/ListLayoutSize.html#/s:10ListableUI14ListLayoutSizeV5width12CoreGraphics7CGFloatVvp":{"name":"width","abstract":"

    Undocumented

    ","parent_name":"ListLayoutSize"},"Structs/ListLayoutSize.html#/s:10ListableUI14ListLayoutSizeV6height12CoreGraphics7CGFloatVvp":{"name":"height","abstract":"

    Undocumented

    ","parent_name":"ListLayoutSize"},"Structs/ListLayoutSize.html#/s:10ListableUI14ListLayoutSizeV7rotatesSbvp":{"name":"rotates","abstract":"

    Undocumented

    ","parent_name":"ListLayoutSize"},"Structs/ListLayoutSize.html#/s:10ListableUI14ListLayoutSizeV5width6height7rotatesAC12CoreGraphics7CGFloatV_AISbtcfc":{"name":"init(width:height:rotates:)","abstract":"

    Undocumented

    ","parent_name":"ListLayoutSize"},"Structs/ListLayoutSize.html#/s:10ListableUI14ListLayoutSizeV12CGPointValue3forSo6CGSizeVAA0D9DirectionO_tF":{"name":"CGPointValue(for:)","abstract":"

    Undocumented

    ","parent_name":"ListLayoutSize"},"Structs/ListLayoutPoint.html#/s:10ListableUI15ListLayoutPointV1x12CoreGraphics7CGFloatVvp":{"name":"x","abstract":"

    Undocumented

    ","parent_name":"ListLayoutPoint"},"Structs/ListLayoutPoint.html#/s:10ListableUI15ListLayoutPointV1y12CoreGraphics7CGFloatVvp":{"name":"y","abstract":"

    Undocumented

    ","parent_name":"ListLayoutPoint"},"Structs/ListLayoutPoint.html#/s:10ListableUI15ListLayoutPointV7rotatesSbvp":{"name":"rotates","abstract":"

    Undocumented

    ","parent_name":"ListLayoutPoint"},"Structs/ListLayoutPoint.html#/s:10ListableUI15ListLayoutPointV1x1y7rotatesAC12CoreGraphics7CGFloatV_AISbtcfc":{"name":"init(x:y:rotates:)","abstract":"

    Undocumented

    ","parent_name":"ListLayoutPoint"},"Structs/ListLayoutPoint.html#/s:10ListableUI15ListLayoutPointV12CGPointValue3forSo0F0VAA0D9DirectionO_tF":{"name":"CGPointValue(for:)","abstract":"

    Undocumented

    ","parent_name":"ListLayoutPoint"},"Structs/ListLayoutScrollViewProperties/ContentInsetAdjustmentBehavior.html#/s:10ListableUI30ListLayoutScrollViewPropertiesV30ContentInsetAdjustmentBehaviorO9automaticyA2EmF":{"name":"automatic","abstract":"

    Undocumented

    ","parent_name":"ContentInsetAdjustmentBehavior"},"Structs/ListLayoutScrollViewProperties/ContentInsetAdjustmentBehavior.html#/s:10ListableUI30ListLayoutScrollViewPropertiesV30ContentInsetAdjustmentBehaviorO14scrollableAxesyA2EmF":{"name":"scrollableAxes","abstract":"

    Undocumented

    ","parent_name":"ContentInsetAdjustmentBehavior"},"Structs/ListLayoutScrollViewProperties/ContentInsetAdjustmentBehavior.html#/s:10ListableUI30ListLayoutScrollViewPropertiesV30ContentInsetAdjustmentBehaviorO5neveryA2EmF":{"name":"never","abstract":"

    Undocumented

    ","parent_name":"ContentInsetAdjustmentBehavior"},"Structs/ListLayoutScrollViewProperties/ContentInsetAdjustmentBehavior.html#/s:10ListableUI30ListLayoutScrollViewPropertiesV30ContentInsetAdjustmentBehaviorO6alwaysyA2EmF":{"name":"always","abstract":"

    Undocumented

    ","parent_name":"ContentInsetAdjustmentBehavior"},"Structs/ListLayoutScrollViewProperties.html#/s:10ListableUI30ListLayoutScrollViewPropertiesV15isPagingEnabledSbvp":{"name":"isPagingEnabled","abstract":"

    Undocumented

    ","parent_name":"ListLayoutScrollViewProperties"},"Structs/ListLayoutScrollViewProperties.html#/s:10ListableUI30ListLayoutScrollViewPropertiesV30contentInsetAdjustmentBehaviorAC07ContentijK0Ovp":{"name":"contentInsetAdjustmentBehavior","abstract":"

    Undocumented

    ","parent_name":"ListLayoutScrollViewProperties"},"Structs/ListLayoutScrollViewProperties.html#/s:10ListableUI30ListLayoutScrollViewPropertiesV20allowsBounceVerticalSbvp":{"name":"allowsBounceVertical","abstract":"

    Undocumented

    ","parent_name":"ListLayoutScrollViewProperties"},"Structs/ListLayoutScrollViewProperties.html#/s:10ListableUI30ListLayoutScrollViewPropertiesV22allowsBounceHorizontalSbvp":{"name":"allowsBounceHorizontal","abstract":"

    Undocumented

    ","parent_name":"ListLayoutScrollViewProperties"},"Structs/ListLayoutScrollViewProperties.html#/s:10ListableUI30ListLayoutScrollViewPropertiesV016allowsHorizontalE9IndicatorSbvp":{"name":"allowsHorizontalScrollIndicator","abstract":"

    Undocumented

    ","parent_name":"ListLayoutScrollViewProperties"},"Structs/ListLayoutScrollViewProperties.html#/s:10ListableUI30ListLayoutScrollViewPropertiesV014allowsVerticalE9IndicatorSbvp":{"name":"allowsVerticalScrollIndicator","abstract":"

    Undocumented

    ","parent_name":"ListLayoutScrollViewProperties"},"Structs/ListLayoutScrollViewProperties.html#/s:10ListableUI30ListLayoutScrollViewPropertiesV15isPagingEnabled30contentInsetAdjustmentBehavior20allowsBounceVertical0oP10Horizontal0oqE9Indicator0oreS0ACSb_AC07ContentlmN0OS4btcfc":{"name":"init(isPagingEnabled:contentInsetAdjustmentBehavior:allowsBounceVertical:allowsBounceHorizontal:allowsVerticalScrollIndicator:allowsHorizontalScrollIndicator:)","abstract":"

    Undocumented

    ","parent_name":"ListLayoutScrollViewProperties"},"Structs/ListLayoutScrollViewProperties/ContentInsetAdjustmentBehavior.html":{"name":"ContentInsetAdjustmentBehavior","abstract":"

    Undocumented

    ","parent_name":"ListLayoutScrollViewProperties"},"Structs/ListLayoutDefaults.html#/s:10ListableUI18ListLayoutDefaultsV29itemInsertAndRemoveAnimationsAA04ItemghiJ0Vvp":{"name":"itemInsertAndRemoveAnimations","abstract":"

    Undocumented

    ","parent_name":"ListLayoutDefaults"},"Structs/ListLayoutDefaults.html#/s:10ListableUI18ListLayoutDefaultsV29itemInsertAndRemoveAnimationsAcA04ItemghiJ0V_tcfc":{"name":"init(itemInsertAndRemoveAnimations:)","abstract":"

    Undocumented

    ","parent_name":"ListLayoutDefaults"},"Structs/ListLayoutAttributes.html#/s:10ListableUI20ListLayoutAttributesV7SectionV":{"name":"Section","abstract":"

    Undocumented

    ","parent_name":"ListLayoutAttributes"},"Structs/ListLayoutAttributes.html#/s:10ListableUI20ListLayoutAttributesV13SupplementaryV":{"name":"Supplementary","abstract":"

    Undocumented

    ","parent_name":"ListLayoutAttributes"},"Structs/ListLayoutAttributes.html#/s:10ListableUI20ListLayoutAttributesV4ItemV":{"name":"Item","abstract":"

    Undocumented

    ","parent_name":"ListLayoutAttributes"},"Structs/ListAppearance/Layout.html#/s:10ListableUI14ListAppearanceV6LayoutV7paddingSo12UIEdgeInsetsVvp":{"name":"padding","abstract":"

    The padding to place around the outside of the content of the list.

    ","parent_name":"Layout"},"Structs/ListAppearance/Layout.html#/s:10ListableUI14ListAppearanceV6LayoutV5widthAA15WidthConstraintOvp":{"name":"width","abstract":"

    The width of the content of the list, which can be optionally constrained.

    ","parent_name":"Layout"},"Structs/ListAppearance/Layout.html#/s:10ListableUI14ListAppearanceV6LayoutV27headerToFirstSectionSpacing12CoreGraphics7CGFloatVvp":{"name":"headerToFirstSectionSpacing","abstract":"

    The spacing between the list header and the first section.","parent_name":"Layout"},"Structs/ListAppearance/Layout.html#/s:10ListableUI14ListAppearanceV6LayoutV31interSectionSpacingWithNoFooter12CoreGraphics7CGFloatVvp":{"name":"interSectionSpacingWithNoFooter","abstract":"

    The spacing to apply between sections, if the previous section has no footer.

    ","parent_name":"Layout"},"Structs/ListAppearance/Layout.html#/s:10ListableUI14ListAppearanceV6LayoutV29interSectionSpacingWithFooter12CoreGraphics7CGFloatVvp":{"name":"interSectionSpacingWithFooter","abstract":"

    The spacing to apply between sections, if the previous section has a footer.

    ","parent_name":"Layout"},"Structs/ListAppearance/Layout.html#/s:10ListableUI14ListAppearanceV6LayoutV26sectionHeaderBottomSpacing12CoreGraphics7CGFloatVvp":{"name":"sectionHeaderBottomSpacing","abstract":"

    The spacing to apply below a section header, before its items.","parent_name":"Layout"},"Structs/ListAppearance/Layout.html#/s:10ListableUI14ListAppearanceV6LayoutV11itemSpacing12CoreGraphics7CGFloatVvp":{"name":"itemSpacing","abstract":"

    The spacing between individual items within a section in a list.

    ","parent_name":"Layout"},"Structs/ListAppearance/Layout.html#/s:10ListableUI14ListAppearanceV6LayoutV26itemToSectionFooterSpacing12CoreGraphics7CGFloatVvp":{"name":"itemToSectionFooterSpacing","abstract":"

    The spacing between the last item in the section and the footer.","parent_name":"Layout"},"Structs/ListAppearance/Layout.html#/s:10ListableUI14ListAppearanceV6LayoutV26lastSectionToFooterSpacing12CoreGraphics7CGFloatVvp":{"name":"lastSectionToFooterSpacing","abstract":"

    The spacing between the last section and the footer of the list.","parent_name":"Layout"},"Structs/ListAppearance/Layout.html#/s:10ListableUI14ListAppearanceV6LayoutV7padding5width27headerToFirstSectionSpacing05interkL12WithNoFooter0mklnP0019sectionHeaderBottomL004itemL00tikpL004lastkipL0AESo12UIEdgeInsetsV_AA15WidthConstraintO12CoreGraphics7CGFloatVA6Utcfc":{"name":"init(padding:width:headerToFirstSectionSpacing:interSectionSpacingWithNoFooter:interSectionSpacingWithFooter:sectionHeaderBottomSpacing:itemSpacing:itemToSectionFooterSpacing:lastSectionToFooterSpacing:)","abstract":"

    Creates a new Layout with the provided options.

    ","parent_name":"Layout"},"Structs/ListAppearance/Layout.html#/s:10ListableUI14ListAppearanceV6LayoutV3set4withyyAEzXE_tF":{"name":"set(with:)","abstract":"

    Easily mutate the Layout in place.

    ","parent_name":"Layout"},"Structs/ListAppearance/Sizing.html#/s:10ListableUI14ListAppearanceV6SizingV10itemHeight12CoreGraphics7CGFloatVvp":{"name":"itemHeight","abstract":"

    The default height for items in a list.

    ","parent_name":"Sizing"},"Structs/ListAppearance/Sizing.html#/s:10ListableUI14ListAppearanceV6SizingV19sectionHeaderHeight12CoreGraphics7CGFloatVvp":{"name":"sectionHeaderHeight","abstract":"

    The default height for section headers in a list.

    ","parent_name":"Sizing"},"Structs/ListAppearance/Sizing.html#/s:10ListableUI14ListAppearanceV6SizingV19sectionFooterHeight12CoreGraphics7CGFloatVvp":{"name":"sectionFooterHeight","abstract":"

    The default height for section footer in a list.

    ","parent_name":"Sizing"},"Structs/ListAppearance/Sizing.html#/s:10ListableUI14ListAppearanceV6SizingV16listHeaderHeight12CoreGraphics7CGFloatVvp":{"name":"listHeaderHeight","abstract":"

    The default height for the list’s header.

    ","parent_name":"Sizing"},"Structs/ListAppearance/Sizing.html#/s:10ListableUI14ListAppearanceV6SizingV16listFooterHeight12CoreGraphics7CGFloatVvp":{"name":"listFooterHeight","abstract":"

    The default height for the list’s footer.

    ","parent_name":"Sizing"},"Structs/ListAppearance/Sizing.html#/s:10ListableUI14ListAppearanceV6SizingV22overscrollFooterHeight12CoreGraphics7CGFloatVvp":{"name":"overscrollFooterHeight","abstract":"

    The default height for the list’s overscroll footer.

    ","parent_name":"Sizing"},"Structs/ListAppearance/Sizing.html#/s:10ListableUI14ListAppearanceV6SizingV26itemPositionGroupingHeight12CoreGraphics7CGFloatVvp":{"name":"itemPositionGroupingHeight","abstract":"

    When providing the ItemPosition for items in a list, specifies the max spacing","parent_name":"Sizing"},"Structs/ListAppearance/Sizing.html#/s:10ListableUI14ListAppearanceV6SizingV10itemHeight013sectionHeaderG00h6FooterG004listiG00kjG0010overscrolljG00f16PositionGroupingG0AE12CoreGraphics7CGFloatV_A6Otcfc":{"name":"init(itemHeight:sectionHeaderHeight:sectionFooterHeight:listHeaderHeight:listFooterHeight:overscrollFooterHeight:itemPositionGroupingHeight:)","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Structs/ListAppearance/Sizing.html#/s:10ListableUI14ListAppearanceV6SizingV3set4withyyAEzXE_tF":{"name":"set(with:)","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Structs/ListAppearance.html#/s:10ListableUI14ListAppearanceV9directionAA15LayoutDirectionOvp":{"name":"direction","abstract":"

    Undocumented

    ","parent_name":"ListAppearance"},"Structs/ListAppearance.html#/s:10ListableUI14ListAppearanceV20stickySectionHeadersSbvp":{"name":"stickySectionHeaders","abstract":"

    Undocumented

    ","parent_name":"ListAppearance"},"Structs/ListAppearance.html#/s:10ListableUI14ListAppearanceV6sizingAC6SizingVvp":{"name":"sizing","abstract":"

    Default sizing attributes for content in the list.

    ","parent_name":"ListAppearance"},"Structs/ListAppearance.html#/s:10ListableUI14ListAppearanceV6layoutAC6LayoutVvp":{"name":"layout","abstract":"

    Layout attributes for content in the list.

    ","parent_name":"ListAppearance"},"Structs/ListAppearance.html#/s:10ListableUI14ListAppearanceV7defaultACvpZ":{"name":"default","abstract":"

    Undocumented

    ","parent_name":"ListAppearance"},"Structs/ListAppearance.html#/s:10ListableUI14ListAppearanceV20stickySectionHeaders6sizing6layoutACSb_AC6SizingVAC6LayoutVtcfc":{"name":"init(stickySectionHeaders:sizing:layout:)","abstract":"

    Creates a new ListAppearance object.

    ","parent_name":"ListAppearance"},"Structs/ListAppearance/Sizing.html":{"name":"Sizing","abstract":"

    Sizing options for the list.

    ","parent_name":"ListAppearance"},"Structs/ListAppearance/Layout.html":{"name":"Layout","abstract":"

    Layout options for the list.

    ","parent_name":"ListAppearance"},"Structs/GridAppearance/Layout.html#/s:10ListableUI14GridAppearanceV6LayoutV7paddingSo12UIEdgeInsetsVvp":{"name":"padding","abstract":"

    Undocumented

    ","parent_name":"Layout"},"Structs/GridAppearance/Layout.html#/s:10ListableUI14GridAppearanceV6LayoutV5widthAA15WidthConstraintOvp":{"name":"width","abstract":"

    Undocumented

    ","parent_name":"Layout"},"Structs/GridAppearance/Layout.html#/s:10ListableUI14GridAppearanceV6LayoutV31interSectionSpacingWithNoFooter12CoreGraphics7CGFloatVvp":{"name":"interSectionSpacingWithNoFooter","abstract":"

    Undocumented

    ","parent_name":"Layout"},"Structs/GridAppearance/Layout.html#/s:10ListableUI14GridAppearanceV6LayoutV29interSectionSpacingWithFooter12CoreGraphics7CGFloatVvp":{"name":"interSectionSpacingWithFooter","abstract":"

    Undocumented

    ","parent_name":"Layout"},"Structs/GridAppearance/Layout.html#/s:10ListableUI14GridAppearanceV6LayoutV26sectionHeaderBottomSpacing12CoreGraphics7CGFloatVvp":{"name":"sectionHeaderBottomSpacing","abstract":"

    Undocumented

    ","parent_name":"Layout"},"Structs/GridAppearance/Layout.html#/s:10ListableUI14GridAppearanceV6LayoutV26itemToSectionFooterSpacing12CoreGraphics7CGFloatVvp":{"name":"itemToSectionFooterSpacing","abstract":"

    Undocumented

    ","parent_name":"Layout"},"Structs/GridAppearance/Layout.html#/s:10ListableUI14GridAppearanceV6LayoutV7padding5width31interSectionSpacingWithNoFooter0hijkM0019sectionHeaderBottomJ006itemToimJ0AESo12UIEdgeInsetsV_AA15WidthConstraintO12CoreGraphics7CGFloatVA3Rtcfc":{"name":"init(padding:width:interSectionSpacingWithNoFooter:interSectionSpacingWithFooter:sectionHeaderBottomSpacing:itemToSectionFooterSpacing:)","abstract":"

    Undocumented

    ","parent_name":"Layout"},"Structs/GridAppearance/Layout.html#/s:10ListableUI14GridAppearanceV6LayoutV3set4withyyAEzXE_tF":{"name":"set(with:)","abstract":"

    Undocumented

    ","parent_name":"Layout"},"Structs/GridAppearance/Sizing/ItemSize.html#/s:10ListableUI14GridAppearanceV6SizingV8ItemSizeO5fixedyAGSo6CGSizeVcAGmF":{"name":"fixed(_:)","abstract":"

    Undocumented

    ","parent_name":"ItemSize"},"Structs/GridAppearance/Sizing.html#/s:10ListableUI14GridAppearanceV6SizingV8itemSizeAE04ItemG0Ovp":{"name":"itemSize","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Structs/GridAppearance/Sizing/ItemSize.html":{"name":"ItemSize","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Structs/GridAppearance/Sizing.html#/s:10ListableUI14GridAppearanceV6SizingV19sectionHeaderHeight12CoreGraphics7CGFloatVvp":{"name":"sectionHeaderHeight","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Structs/GridAppearance/Sizing.html#/s:10ListableUI14GridAppearanceV6SizingV19sectionFooterHeight12CoreGraphics7CGFloatVvp":{"name":"sectionFooterHeight","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Structs/GridAppearance/Sizing.html#/s:10ListableUI14GridAppearanceV6SizingV16listHeaderHeight12CoreGraphics7CGFloatVvp":{"name":"listHeaderHeight","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Structs/GridAppearance/Sizing.html#/s:10ListableUI14GridAppearanceV6SizingV16listFooterHeight12CoreGraphics7CGFloatVvp":{"name":"listFooterHeight","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Structs/GridAppearance/Sizing.html#/s:10ListableUI14GridAppearanceV6SizingV22overscrollFooterHeight12CoreGraphics7CGFloatVvp":{"name":"overscrollFooterHeight","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Structs/GridAppearance/Sizing.html#/s:10ListableUI14GridAppearanceV6SizingV8itemSize19sectionHeaderHeight0h6FooterJ004listiJ00lkJ0010overscrollkJ0A2E04ItemG0O_12CoreGraphics7CGFloatVA4Ptcfc":{"name":"init(itemSize:sectionHeaderHeight:sectionFooterHeight:listHeaderHeight:listFooterHeight:overscrollFooterHeight:)","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Structs/GridAppearance/Sizing.html#/s:10ListableUI14GridAppearanceV6SizingV3set4withyyAEzXE_tF":{"name":"set(with:)","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Structs/GridAppearance.html#/s:10ListableUI14GridAppearanceV6sizingAC6SizingVvp":{"name":"sizing","abstract":"

    Undocumented

    ","parent_name":"GridAppearance"},"Structs/GridAppearance.html#/s:10ListableUI14GridAppearanceV6layoutAC6LayoutVvp":{"name":"layout","abstract":"

    Undocumented

    ","parent_name":"GridAppearance"},"Structs/GridAppearance.html#/s:10ListableUI14GridAppearanceV9directionAA15LayoutDirectionOvp":{"name":"direction","abstract":"

    Undocumented

    ","parent_name":"GridAppearance"},"Structs/GridAppearance.html#/s:10ListableUI14GridAppearanceV20stickySectionHeadersSbvp":{"name":"stickySectionHeaders","abstract":"

    Undocumented

    ","parent_name":"GridAppearance"},"Structs/GridAppearance.html#/s:10ListableUI14GridAppearanceV7defaultACvpZ":{"name":"default","abstract":"

    Undocumented

    ","parent_name":"GridAppearance"},"Structs/GridAppearance.html#/s:10ListableUI14GridAppearanceV20stickySectionHeaders6sizing6layoutACSb_AC6SizingVAC6LayoutVtcfc":{"name":"init(stickySectionHeaders:sizing:layout:)","abstract":"

    Undocumented

    ","parent_name":"GridAppearance"},"Structs/GridAppearance/Sizing.html":{"name":"Sizing","abstract":"

    Undocumented

    ","parent_name":"GridAppearance"},"Structs/GridAppearance/Layout.html":{"name":"Layout","abstract":"

    Undocumented

    ","parent_name":"GridAppearance"},"Structs/LayoutDescription.html#/s:10ListableUI17LayoutDescriptionV10layoutType10appearanceACxm_y0C10AppearanceQzzctcAA04ListC0Rzlufc":{"name":"init(layoutType:appearance:)","abstract":"

    Creates a new layout description for the provided layout type, with the provided optional layout configuration.

    ","parent_name":"LayoutDescription"},"Structs/LayoutDescription.html#/s:10ListableUI17LayoutDescriptionV17grid_experimentalyACyAA14GridAppearanceVzcFZ":{"name":"grid_experimental(_:)","abstract":"

    Undocumented

    ","parent_name":"LayoutDescription"},"Structs/LayoutDescription.html#/s:10ListableUI17LayoutDescriptionV4listyACyAA14ListAppearanceVzcFZ":{"name":"list(_:)","abstract":"

    Undocumented

    ","parent_name":"LayoutDescription"},"Structs/LayoutDescription.html#/s:10ListableUI17LayoutDescriptionV5pagedyACyAA15PagedAppearanceVzcFZ":{"name":"paged(_:)","abstract":"

    Undocumented

    ","parent_name":"LayoutDescription"},"Structs/Reordering/Result.html#/s:10ListableUI10ReorderingV6ResultV11fromSectionAA0F0Vvp":{"name":"fromSection","abstract":"

    Undocumented

    ","parent_name":"Result"},"Structs/Reordering/Result.html#/s:10ListableUI10ReorderingV6ResultV13fromIndexPath10Foundation0fG0Vvp":{"name":"fromIndexPath","abstract":"

    Undocumented

    ","parent_name":"Result"},"Structs/Reordering/Result.html#/s:10ListableUI10ReorderingV6ResultV9toSectionAA0F0Vvp":{"name":"toSection","abstract":"

    Undocumented

    ","parent_name":"Result"},"Structs/Reordering/Result.html#/s:10ListableUI10ReorderingV6ResultV11toIndexPath10Foundation0fG0Vvp":{"name":"toIndexPath","abstract":"

    Undocumented

    ","parent_name":"Result"},"Structs/Reordering/Sections.html#/s:10ListableUI10ReorderingV8SectionsO4sameyA2EmF":{"name":"same","abstract":"

    Undocumented

    ","parent_name":"Sections"},"Structs/Reordering.html#/s:10ListableUI10ReorderingV8sectionsAC8SectionsOvp":{"name":"sections","abstract":"

    Undocumented

    ","parent_name":"Reordering"},"Structs/Reordering.html#/s:10ListableUI10ReorderingV10CanReordera":{"name":"CanReorder","abstract":"

    Undocumented

    ","parent_name":"Reordering"},"Structs/Reordering.html#/s:10ListableUI10ReorderingV10canReorderSbAC6ResultVcSgvp":{"name":"canReorder","abstract":"

    Undocumented

    ","parent_name":"Reordering"},"Structs/Reordering.html#/s:10ListableUI10ReorderingV10DidReordera":{"name":"DidReorder","abstract":"

    Undocumented

    ","parent_name":"Reordering"},"Structs/Reordering.html#/s:10ListableUI10ReorderingV10didReorderyyAC6ResultVcvp":{"name":"didReorder","abstract":"

    Undocumented

    ","parent_name":"Reordering"},"Structs/Reordering.html#/s:10ListableUI10ReorderingV8sections10canReorder03didF0A2C8SectionsO_SbAC6ResultVcSgyAJctcfc":{"name":"init(sections:canReorder:didReorder:)","abstract":"

    Undocumented

    ","parent_name":"Reordering"},"Structs/Reordering/Sections.html":{"name":"Sections","abstract":"

    Undocumented

    ","parent_name":"Reordering"},"Structs/Reordering/Result.html":{"name":"Result","abstract":"

    Undocumented

    ","parent_name":"Reordering"},"Structs/ItemState.html#/s:10ListableUI9ItemStateV10isSelected0E11HighlightedACSb_Sbtcfc":{"name":"init(isSelected:isHighlighted:)","abstract":"

    Undocumented

    ","parent_name":"ItemState"},"Structs/ItemState.html#/s:10ListableUI9ItemStateV4cellACSo20UICollectionViewCellC_tcfc":{"name":"init(cell:)","abstract":"

    Undocumented

    ","parent_name":"ItemState"},"Structs/ItemState.html#/s:10ListableUI9ItemStateV10isSelectedSbvp":{"name":"isSelected","abstract":"

    If the item is currently selected.

    ","parent_name":"ItemState"},"Structs/ItemState.html#/s:10ListableUI9ItemStateV13isHighlightedSbvp":{"name":"isHighlighted","abstract":"

    If the item is currently highlighted.

    ","parent_name":"ItemState"},"Structs/ItemState.html#/s:10ListableUI9ItemStateV8isActiveSbvp":{"name":"isActive","abstract":"

    If the item is either selected or highlighted.

    ","parent_name":"ItemState"},"Structs/ItemLayout.html#/s:10ListableUI10ItemLayoutV11itemSpacing12CoreGraphics7CGFloatVSgvp":{"name":"itemSpacing","abstract":"

    Undocumented

    ","parent_name":"ItemLayout"},"Structs/ItemLayout.html#/s:10ListableUI10ItemLayoutV26itemToSectionFooterSpacing12CoreGraphics7CGFloatVSgvp":{"name":"itemToSectionFooterSpacing","abstract":"

    Undocumented

    ","parent_name":"ItemLayout"},"Structs/ItemLayout.html#/s:10ListableUI10ItemLayoutV5widthAA11CustomWidthOvp":{"name":"width","abstract":"

    Undocumented

    ","parent_name":"ItemLayout"},"Structs/ItemLayout.html#/s:10ListableUI10ItemLayoutV11itemSpacing0e15ToSectionFooterF05widthAC12CoreGraphics7CGFloatVSg_AjA11CustomWidthOtcfc":{"name":"init(itemSpacing:itemToSectionFooterSpacing:width:)","abstract":"

    Undocumented

    ","parent_name":"ItemLayout"},"Structs/ItemInsertAndRemoveAnimations/Attributes.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV10AttributesV6boundsSo6CGRectVvp":{"name":"bounds","abstract":"

    Undocumented

    ","parent_name":"Attributes"},"Structs/ItemInsertAndRemoveAnimations/Attributes.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV10AttributesV6centerSo7CGPointVvp":{"name":"center","abstract":"

    Undocumented

    ","parent_name":"Attributes"},"Structs/ItemInsertAndRemoveAnimations/Attributes.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV10AttributesV9transformSo17CGAffineTransformVvp":{"name":"transform","abstract":"

    Undocumented

    ","parent_name":"Attributes"},"Structs/ItemInsertAndRemoveAnimations/Attributes.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV10AttributesV11transform3DSo13CATransform3DVvp":{"name":"transform3D","abstract":"

    Undocumented

    ","parent_name":"Attributes"},"Structs/ItemInsertAndRemoveAnimations/Attributes.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV10AttributesV5alpha12CoreGraphics7CGFloatVvp":{"name":"alpha","abstract":"

    Undocumented

    ","parent_name":"Attributes"},"Structs/ItemInsertAndRemoveAnimations/Attributes.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV10AttributesV6zIndexSivp":{"name":"zIndex","abstract":"

    Undocumented

    ","parent_name":"Attributes"},"Structs/ItemInsertAndRemoveAnimations/Attributes.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV10AttributesV5frameSo6CGRectVvp":{"name":"frame","abstract":"

    Undocumented

    ","parent_name":"Attributes"},"Structs/ItemInsertAndRemoveAnimations.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV7Preparea":{"name":"Prepare","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ItemInsertAndRemoveAnimations.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV02onD0yyAC10AttributesVzcvp":{"name":"onInsert","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ItemInsertAndRemoveAnimations.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV9onRemovalyyAC10AttributesVzcvp":{"name":"onRemoval","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ItemInsertAndRemoveAnimations.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV02onD00H7RemovalACyAC10AttributesVzc_yAGzctcfc":{"name":"init(onInsert:onRemoval:)","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ItemInsertAndRemoveAnimations.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV10attributesACyAC10AttributesVzc_tcfc":{"name":"init(attributes:)","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ItemInsertAndRemoveAnimations/Attributes.html":{"name":"Attributes","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ItemInsertAndRemoveAnimations.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV4fadeACvpZ":{"name":"fade","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ItemInsertAndRemoveAnimations.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV5rightACvpZ":{"name":"right","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ItemInsertAndRemoveAnimations.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV4leftACvpZ":{"name":"left","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ItemInsertAndRemoveAnimations.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV3topACvpZ":{"name":"top","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ItemInsertAndRemoveAnimations.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV6bottomACvpZ":{"name":"bottom","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ItemInsertAndRemoveAnimations.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV9scaleDownACvpZ":{"name":"scaleDown","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ItemInsertAndRemoveAnimations.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV7scaleUpACvpZ":{"name":"scaleUp","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ApplyItemContentInfo.html#/s:10ListableUI20ApplyItemContentInfoV5stateAA0D5StateVvp":{"name":"state","abstract":"

    The state of the Item currently displaying the content. Is it highlighted, selected, etc.

    ","parent_name":"ApplyItemContentInfo"},"Structs/ApplyItemContentInfo.html#/s:10ListableUI20ApplyItemContentInfoV8positionAA0D8PositionOvp":{"name":"position","abstract":"

    The position of the item within its section.

    ","parent_name":"ApplyItemContentInfo"},"Structs/ApplyItemContentInfo.html#/s:10ListableUI20ApplyItemContentInfoV10reorderingAA17ReorderingActionsCvp":{"name":"reordering","abstract":"

    Provides access to actions to handle re-ordering the content within the list.

    ","parent_name":"ApplyItemContentInfo"},"Structs/ApplyItemContentInfo.html#/s:10ListableUI20ApplyItemContentInfoV11environmentAA15ListEnvironmentVvp":{"name":"environment","abstract":"

    The environment of the containing list.","parent_name":"ApplyItemContentInfo"},"Structs/ItemContentViews.html#/s:10ListableUI16ItemContentViewsV7content0D4ViewQzvp":{"name":"content","abstract":"

    The content view of the content.

    ","parent_name":"ItemContentViews"},"Structs/ItemContentViews.html#/s:10ListableUI16ItemContentViewsV10background14BackgroundViewQzvp":{"name":"background","abstract":"

    The background view of the content.

    ","parent_name":"ItemContentViews"},"Structs/ItemContentViews.html#/s:10ListableUI16ItemContentViewsV18selectedBackground08SelectedG4ViewQzvp":{"name":"selectedBackground","abstract":"

    The selected background view of the content.","parent_name":"ItemContentViews"},"Structs/DefaultItemProperties.html#/s:10ListableUI21DefaultItemPropertiesV6sizingAA6SizingOSgvp":{"name":"sizing","abstract":"

    Undocumented

    ","parent_name":"DefaultItemProperties"},"Structs/DefaultItemProperties.html#/s:10ListableUI21DefaultItemPropertiesV6layoutAA0D6LayoutVSgvp":{"name":"layout","abstract":"

    Undocumented

    ","parent_name":"DefaultItemProperties"},"Structs/DefaultItemProperties.html#/s:10ListableUI21DefaultItemPropertiesV14selectionStyleAA0d9SelectionG0OSgvp":{"name":"selectionStyle","abstract":"

    Undocumented

    ","parent_name":"DefaultItemProperties"},"Structs/DefaultItemProperties.html#/s:10ListableUI21DefaultItemPropertiesV25insertAndRemoveAnimationsAA0d6InsertghI0VSgvp":{"name":"insertAndRemoveAnimations","abstract":"

    Undocumented

    ","parent_name":"DefaultItemProperties"},"Structs/DefaultItemProperties.html#/s:10ListableUI21DefaultItemPropertiesV12swipeActionsAA05SwipeG13ConfigurationVSgvp":{"name":"swipeActions","abstract":"

    Undocumented

    ","parent_name":"DefaultItemProperties"},"Structs/DefaultItemProperties.html#/s:10ListableUI21DefaultItemPropertiesV6sizing6layout14selectionStyle25insertAndRemoveAnimations12swipeActionsACyxGAA6SizingOSg_AA0D6LayoutVSgAA0d9SelectionI0OSgAA0d6InsertklM0VSgAA05SwipeO13ConfigurationVSgtcfc":{"name":"init(sizing:layout:selectionStyle:insertAndRemoveAnimations:swipeActions:)","abstract":"

    Undocumented

    ","parent_name":"DefaultItemProperties"},"Structs/HeaderFooterLayout.html#/s:10ListableUI18HeaderFooterLayoutV5widthAA11CustomWidthOvp":{"name":"width","abstract":"

    Undocumented

    ","parent_name":"HeaderFooterLayout"},"Structs/HeaderFooterLayout.html#/s:10ListableUI18HeaderFooterLayoutV5widthAcA11CustomWidthO_tcfc":{"name":"init(width:)","abstract":"

    Undocumented

    ","parent_name":"HeaderFooterLayout"},"Structs/HeaderFooterContentViews.html#/s:10ListableUI24HeaderFooterContentViewsV7content0E4ViewQzvp":{"name":"content","abstract":"

    The content view of the content.

    ","parent_name":"HeaderFooterContentViews"},"Structs/HeaderFooterContentViews.html#/s:10ListableUI24HeaderFooterContentViewsV10background14BackgroundViewQzvp":{"name":"background","abstract":"

    The background view of the content.

    ","parent_name":"HeaderFooterContentViews"},"Structs/HeaderFooterContentViews.html#/s:10ListableUI24HeaderFooterContentViewsV7pressed21PressedBackgroundViewQzvp":{"name":"pressed","abstract":"

    The background view of the content that’s displayed while a press is active.

    ","parent_name":"HeaderFooterContentViews"},"Structs/ApplyHeaderFooterContentInfo.html#/s:10ListableUI28ApplyHeaderFooterContentInfoV11environmentAA15ListEnvironmentVvp":{"name":"environment","abstract":"

    The environment of the containing list.","parent_name":"ApplyHeaderFooterContentInfo"},"Structs/HeaderFooter.html#/s:10ListableUI12HeaderFooterV7contentxvp":{"name":"content","abstract":"

    Undocumented

    ","parent_name":"HeaderFooter"},"Structs/HeaderFooter.html#/s:10ListableUI12HeaderFooterV6sizingAA6SizingOvp":{"name":"sizing","abstract":"

    Undocumented

    ","parent_name":"HeaderFooter"},"Structs/HeaderFooter.html#/s:10ListableUI12HeaderFooterV6layoutAA0cD6LayoutVvp":{"name":"layout","abstract":"

    Undocumented

    ","parent_name":"HeaderFooter"},"Structs/HeaderFooter.html#/s:10ListableUI12HeaderFooterV5OnTapa":{"name":"OnTap","abstract":"

    Undocumented

    ","parent_name":"HeaderFooter"},"Structs/HeaderFooter.html#/s:10ListableUI12HeaderFooterV5onTapyxcSgvp":{"name":"onTap","abstract":"

    Undocumented

    ","parent_name":"HeaderFooter"},"Structs/HeaderFooter.html#/s:10ListableUI12HeaderFooterV19debuggingIdentifierSSSgvp":{"name":"debuggingIdentifier","abstract":"

    Undocumented

    ","parent_name":"HeaderFooter"},"Structs/HeaderFooter.html#/s:10ListableUI12HeaderFooterV5Builda":{"name":"Build","abstract":"

    Undocumented

    ","parent_name":"HeaderFooter"},"Structs/HeaderFooter.html#/s:10ListableUI12HeaderFooterV_5buildACyxGx_yAEzXEtcfc":{"name":"init(_:build:)","abstract":"

    Undocumented

    ","parent_name":"HeaderFooter"},"Structs/HeaderFooter.html#/s:10ListableUI12HeaderFooterV_6sizing6layout5onTapACyxGx_AA6SizingOAA0cD6LayoutVyxcSgtcfc":{"name":"init(_:sizing:layout:onTap:)","abstract":"

    Undocumented

    ","parent_name":"HeaderFooter"},"Structs/HeaderFooter.html#/s:10ListableUI12HeaderFooterV5apply2to3for4withySo6UIViewC_AA11ApplyReasonOAA0jcD11ContentInfoVtF":{"name":"apply(to:for:with:)","abstract":"

    Undocumented

    ","parent_name":"HeaderFooter"},"Structs/HeaderFooter.html#/s:10ListableUI12HeaderFooterV15anyIsEquivalent2toSbAA03AnycD0_p_tF":{"name":"anyIsEquivalent(to:)","abstract":"

    Undocumented

    ","parent_name":"HeaderFooter"},"Structs/HeaderFooter.html#/s:10ListableUI12HeaderFooterV015newPresentationcD5State24performsContentCallbacksypSb_tF":{"name":"newPresentationHeaderFooterState(performsContentCallbacks:)","abstract":"

    Undocumented

    ","parent_name":"HeaderFooter"},"Structs/EmbeddedList/Sizing.html#/s:10ListableUI12EmbeddedListV6SizingO7defaultyA2EmF":{"name":"default","abstract":"

    Falls back to the default sizing of Items in the list view.

    ","parent_name":"Sizing"},"Structs/EmbeddedList/Sizing.html#/s:10ListableUI12EmbeddedListV6SizingO5fixedyAE12CoreGraphics7CGFloatV_AItcAEmF":{"name":"fixed(width:height:)","abstract":"

    A fixed size item with the given width or height.

    ","parent_name":"Sizing"},"Structs/EmbeddedList.html#/s:10ListableUI12EmbeddedListV10propertiesAA0D10PropertiesVvp":{"name":"properties","abstract":"

    Undocumented

    ","parent_name":"EmbeddedList"},"Structs/EmbeddedList.html#/s:10ListableUI12EmbeddedListV17contentIdentifiers11AnyHashableVvp":{"name":"contentIdentifier","abstract":"

    Undocumented

    ","parent_name":"EmbeddedList"},"Structs/EmbeddedList.html#/s:10ListableUI12EmbeddedListV10identifier5buildACx_yAA0D10PropertiesVzXEtcSHRzlufc":{"name":"init(identifier:build:)","abstract":"

    Undocumented

    ","parent_name":"EmbeddedList"},"Structs/EmbeddedList.html#/s:10ListableUI11ItemContentP0D4ViewQa":{"name":"ContentView","parent_name":"EmbeddedList"},"Structs/EmbeddedList.html#/s:10ListableUI11ItemContentP10identifierAA10IdentifierCyxGvp":{"name":"identifier","parent_name":"EmbeddedList"},"Structs/EmbeddedList.html#/s:10ListableUI11ItemContentP5apply2to3for4withyAA0cD5ViewsVyxG_AA11ApplyReasonOAA0jcD4InfoVtF":{"name":"apply(to:for:with:)","parent_name":"EmbeddedList"},"Structs/EmbeddedList.html#/s:10ListableUI11ItemContentP12isEquivalent2toSbx_tF":{"name":"isEquivalent(to:)","parent_name":"EmbeddedList"},"Structs/EmbeddedList.html#/s:10ListableUI11ItemContentP014createReusableD4View5frame0dG0QzSo6CGRectV_tFZ":{"name":"createReusableContentView(frame:)","parent_name":"EmbeddedList"},"Structs/EmbeddedList/Sizing.html":{"name":"Sizing","abstract":"

    How you specify sizing for an embedded list. The surface area","parent_name":"EmbeddedList"},"Structs/Item/OnUpdate.html#/s:10ListableUI4ItemV8OnUpdateV8Callbacka":{"name":"Callback","abstract":"

    Undocumented

    ","parent_name":"OnUpdate"},"Structs/Item/OnUpdate.html#/s:10ListableUI4ItemV8OnUpdateV3oldACyxGvp":{"name":"old","abstract":"

    Undocumented

    ","parent_name":"OnUpdate"},"Structs/Item/OnUpdate.html#/s:10ListableUI4ItemV8OnUpdateV3newACyxGvp":{"name":"new","abstract":"

    Undocumented

    ","parent_name":"OnUpdate"},"Structs/Item/OnMove.html#/s:10ListableUI4ItemV6OnMoveV8Callbacka":{"name":"Callback","abstract":"

    Undocumented

    ","parent_name":"OnMove"},"Structs/Item/OnMove.html#/s:10ListableUI4ItemV6OnMoveV3oldACyxGvp":{"name":"old","abstract":"

    Undocumented

    ","parent_name":"OnMove"},"Structs/Item/OnMove.html#/s:10ListableUI4ItemV6OnMoveV3newACyxGvp":{"name":"new","abstract":"

    Undocumented

    ","parent_name":"OnMove"},"Structs/Item/OnRemove.html#/s:10ListableUI4ItemV8OnRemoveV8Callbacka":{"name":"Callback","abstract":"

    Undocumented

    ","parent_name":"OnRemove"},"Structs/Item/OnRemove.html#/s:10ListableUI4ItemV8OnRemoveV4itemACyxGvp":{"name":"item","abstract":"

    Undocumented

    ","parent_name":"OnRemove"},"Structs/Item/OnInsert.html#/s:10ListableUI4ItemV8OnInsertV8Callbacka":{"name":"Callback","abstract":"

    Undocumented

    ","parent_name":"OnInsert"},"Structs/Item/OnInsert.html#/s:10ListableUI4ItemV8OnInsertV4itemACyxGvp":{"name":"item","abstract":"

    Undocumented

    ","parent_name":"OnInsert"},"Structs/Item/OnDeselect.html#/s:10ListableUI4ItemV10OnDeselectV8Callbacka":{"name":"Callback","abstract":"

    Undocumented

    ","parent_name":"OnDeselect"},"Structs/Item/OnDeselect.html#/s:10ListableUI4ItemV10OnDeselectV4itemACyxGvp":{"name":"item","abstract":"

    Undocumented

    ","parent_name":"OnDeselect"},"Structs/Item/OnSelect.html#/s:10ListableUI4ItemV8OnSelectV8Callbacka":{"name":"Callback","abstract":"

    Undocumented

    ","parent_name":"OnSelect"},"Structs/Item/OnSelect.html#/s:10ListableUI4ItemV8OnSelectV4itemACyxGvp":{"name":"item","abstract":"

    Undocumented

    ","parent_name":"OnSelect"},"Structs/Item/OnEndDisplay.html#/s:10ListableUI4ItemV12OnEndDisplayV8Callbacka":{"name":"Callback","abstract":"

    Undocumented

    ","parent_name":"OnEndDisplay"},"Structs/Item/OnEndDisplay.html#/s:10ListableUI4ItemV12OnEndDisplayV4itemACyxGvp":{"name":"item","abstract":"

    Undocumented

    ","parent_name":"OnEndDisplay"},"Structs/Item/OnEndDisplay.html#/s:10ListableUI4ItemV12OnEndDisplayV07isFirsteF0Sbvp":{"name":"isFirstEndDisplay","abstract":"

    Undocumented

    ","parent_name":"OnEndDisplay"},"Structs/Item/OnDisplay.html#/s:10ListableUI4ItemV9OnDisplayV8Callbacka":{"name":"Callback","abstract":"

    Undocumented

    ","parent_name":"OnDisplay"},"Structs/Item/OnDisplay.html#/s:10ListableUI4ItemV9OnDisplayV4itemACyxGvp":{"name":"item","abstract":"

    Undocumented

    ","parent_name":"OnDisplay"},"Structs/Item/OnDisplay.html#/s:10ListableUI4ItemV9OnDisplayV07isFirstE0Sbvp":{"name":"isFirstDisplay","abstract":"

    Undocumented

    ","parent_name":"OnDisplay"},"Structs/Item.html#/s:10ListableUI4ItemV10identifierAA13AnyIdentifierCvp":{"name":"identifier","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV7contentxvp":{"name":"content","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV6sizingAA6SizingOvp":{"name":"sizing","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV6layoutAA0C6LayoutVvp":{"name":"layout","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV14selectionStyleAA0c9SelectionE0Ovp":{"name":"selectionStyle","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV25insertAndRemoveAnimationsAA0c6InsertefG0VSgvp":{"name":"insertAndRemoveAnimations","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV12swipeActionsAA05SwipeE13ConfigurationVSgvp":{"name":"swipeActions","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV10reorderingAA10ReorderingVSgvp":{"name":"reordering","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV9onDisplayyAC02OnE0Vyx_GcSgvp":{"name":"onDisplay","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV12onEndDisplayyAC02OneF0Vyx_GcSgvp":{"name":"onEndDisplay","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV8onSelectyAC02OnE0Vyx_GcSgvp":{"name":"onSelect","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV10onDeselectyAC02OnE0Vyx_GcSgvp":{"name":"onDeselect","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV8onInsertyAC02OnE0Vyx_GcSgvp":{"name":"onInsert","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV8onRemoveyAC02OnE0Vyx_GcSgvp":{"name":"onRemove","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV6onMoveyAC02OnE0Vyx_GcSgvp":{"name":"onMove","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV8onUpdateyAC02OnE0Vyx_GcSgvp":{"name":"onUpdate","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV19debuggingIdentifierSSSgvp":{"name":"debuggingIdentifier","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV5Builda":{"name":"Build","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV_5buildACyxGx_yAEzXEtcfc":{"name":"init(_:build:)","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV_6sizing6layout14selectionStyle25insertAndRemoveAnimations12swipeActions10reordering9onDisplay0o3EndP00O6Select0O8Deselect0O6Insert0oJ00O4Move0O6UpdateACyxGx_AA6SizingOSgAA0C6LayoutVSgAA0c9SelectionG0OSgAA0ctijK0VSgAA05SwipeM13ConfigurationVSgAA10ReorderingVSgyAC02OnP0Vyx_GcSgyAC02OnqP0Vyx_GcSgyAC02OnR0Vyx_GcSgyAC02OnS0Vyx_GcSgyAC02OnT0Vyx_GcSgyAC02OnJ0Vyx_GcSgyAC02OnU0Vyx_GcSgyAC02OnV0Vyx_GcSgtcfc":{"name":"init(_:sizing:layout:selectionStyle:insertAndRemoveAnimations:swipeActions:reordering:onDisplay:onEndDisplay:onSelect:onDeselect:onInsert:onRemove:onMove:onUpdate:)","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV10anyContentypvp":{"name":"anyContent","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV15anyIsEquivalent2toSbAA03AnyC0_p_tF":{"name":"anyIsEquivalent(to:)","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV11anyWasMoved10comparedToSbAA03AnyC0_p_tF":{"name":"anyWasMoved(comparedTo:)","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV015newPresentationC5State4with15updateCallbacks015performsContentI0ypAA0cF12DependenciesV_AA06UpdateI0CSbtF":{"name":"newPresentationItemState(with:updateCallbacks:performsContentCallbacks:)","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item/OnDisplay.html":{"name":"OnDisplay","abstract":"

    Value passed to the onDisplay callback for Item.

    ","parent_name":"Item"},"Structs/Item/OnEndDisplay.html":{"name":"OnEndDisplay","abstract":"

    Value passed to the onEndDisplay callback for Item.

    ","parent_name":"Item"},"Structs/Item/OnSelect.html":{"name":"OnSelect","abstract":"

    Value passed to the onSelect callback for Item.

    ","parent_name":"Item"},"Structs/Item/OnDeselect.html":{"name":"OnDeselect","abstract":"

    Value passed to the onDeselect callback for Item.

    ","parent_name":"Item"},"Structs/Item/OnInsert.html":{"name":"OnInsert","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item/OnRemove.html":{"name":"OnRemove","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item/OnMove.html":{"name":"OnMove","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item/OnUpdate.html":{"name":"OnUpdate","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemVA2A12EmbeddedListVRszrlE4list_6sizing5buildACyAEGqd___AE6SizingOyAA0E10PropertiesVzXEtSHRd__lFZ":{"name":"list(_:sizing:build:)","abstract":"

    Creates an Item which can be used to embed a list inside another list,","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemVA2A019LocalizedCollatableC7ContentRzrlE15collationStringSSvp":{"name":"collationString","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Content.html#/s:10ListableUI7ContentV10identifiers11AnyHashableVSgvp":{"name":"identifier","abstract":"

    The identifier for the content, defaults to nil.","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV14refreshControlAA07RefreshE0VSgvp":{"name":"refreshControl","abstract":"

    The refresh control, if any, associated with the list.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV6headerAA15AnyHeaderFooter_pSgvp":{"name":"header","abstract":"

    The header for the list, usually displayed before all other content.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV6footerAA15AnyHeaderFooter_pSgvp":{"name":"footer","abstract":"

    The footer for the list, usually displayed after all other content.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV16overscrollFooterAA09AnyHeaderE0_pSgvp":{"name":"overscrollFooter","abstract":"

    The overscroll footer for the list, which is displayed below the bottom bounds of the visible frame,","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV8sectionsSayAA7SectionVGvp":{"name":"sections","abstract":"

    All sections in the list.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV16nonEmptySectionsSayAA7SectionVGvp":{"name":"nonEmptySections","abstract":"

    Any sections that have a non-zero number of items.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV9itemCountSivp":{"name":"itemCount","abstract":"

    The total number of items in all of the sections in the list.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV8contains3anySbShyAA0C7FiltersOG_tF":{"name":"contains(any:)","abstract":"

    Check if the content contains any of the given types, which you specify via the filters","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV5Builda":{"name":"Build","abstract":"

    Undocumented

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV4withACyACzXE_tcfc":{"name":"init(with:)","abstract":"

    Creates a new instance, configured as needed via the provided builder block.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV10identifier14refreshControl6header6footer16overscrollFooter8sectionsACs11AnyHashableVSg_AA07RefreshF0VSgAA0l6HeaderJ0_pSgA2QSayAA7SectionVGtcfc":{"name":"init(identifier:refreshControl:header:footer:overscrollFooter:sections:)","abstract":"

    Creates a new instance with the provided parameters.","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV9firstItemAA03AnyE0_pSgvp":{"name":"firstItem","abstract":"

    The first Item in the content. Returns nil if there is no content in any section.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV8lastItemAA03AnyE0_pSgvp":{"name":"lastItem","abstract":"

    The last Item in the content. Returns nil if there is no content in any section.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV4item2atAA7AnyItem_p10Foundation9IndexPathV_tF":{"name":"item(at:)","abstract":"

    Returns the Item at the given IndexPath.","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV14firstIndexPath3for10Foundation0eF0VSgAA13AnyIdentifierC_tF":{"name":"firstIndexPath(for:)","abstract":"

    Returns the first IndexPath for the contained Item with the given AnyIdentifier,","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV13lastIndexPath10Foundation0eF0VSgyF":{"name":"lastIndexPath()","abstract":"

    Returns the IndexPath of the last Item in the content.","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV11removeEmptyyyF":{"name":"removeEmpty()","abstract":"

    Removes all Sections that do not contain any Items.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV3addyyAA7SectionVF":{"name":"add(_:)","abstract":"

    Appends a Section to the end of the Content.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV2peoiyyACz_AA7SectionVtFZ":{"name":"+=(_:_:)","abstract":"

    Appends a Section to the end of the Content.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV2peoiyyACz_SayAA7SectionVGtFZ":{"name":"+=(_:_:)","abstract":"

    Appends a list of Sections to the end of the Content.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV14callAsFunction_5buildyx_yAA7SectionVzXEtSHRzlF":{"name":"callAsFunction(_:build:)","abstract":"

    Allows streamlined creation of sections when building a list, leveraging Swift’s callAsFunction","parent_name":"Content"},"Structs/Color.html#/s:10ListableUI5ColorV12wrappedValueSo7UIColorCvp":{"name":"wrappedValue","abstract":"

    The underlying color value.

    ","parent_name":"Color"},"Structs/Color.html#/s:10ListableUI5ColorVyACSo7UIColorCcfc":{"name":"init(_:)","abstract":"

    Undocumented

    ","parent_name":"Color"},"Structs/Color.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"Color"},"Structs/Behavior/Underflow/Alignment.html#/s:10ListableUI8BehaviorV9UnderflowV9AlignmentO3topyA2GmF":{"name":"top","abstract":"

    Undocumented

    ","parent_name":"Alignment"},"Structs/Behavior/Underflow/Alignment.html#/s:10ListableUI8BehaviorV9UnderflowV9AlignmentO6centeryA2GmF":{"name":"center","abstract":"

    Undocumented

    ","parent_name":"Alignment"},"Structs/Behavior/Underflow/Alignment.html#/s:10ListableUI8BehaviorV9UnderflowV9AlignmentO6bottomyA2GmF":{"name":"bottom","abstract":"

    Undocumented

    ","parent_name":"Alignment"},"Structs/Behavior/Underflow.html#/s:10ListableUI8BehaviorV9UnderflowV12alwaysBounceSbvp":{"name":"alwaysBounce","abstract":"

    Undocumented

    ","parent_name":"Underflow"},"Structs/Behavior/Underflow.html#/s:10ListableUI8BehaviorV9UnderflowV9alignmentAE9AlignmentOvp":{"name":"alignment","abstract":"

    Undocumented

    ","parent_name":"Underflow"},"Structs/Behavior/Underflow.html#/s:10ListableUI8BehaviorV9UnderflowV12alwaysBounce9alignmentAESb_AE9AlignmentOtcfc":{"name":"init(alwaysBounce:alignment:)","abstract":"

    Undocumented

    ","parent_name":"Underflow"},"Structs/Behavior/Underflow/Alignment.html":{"name":"Alignment","abstract":"

    Undocumented

    ","parent_name":"Underflow"},"Structs/Behavior/SelectionMode.html#/s:10ListableUI8BehaviorV13SelectionModeO4noneyA2EmF":{"name":"none","abstract":"

    The list view does not allow any selections.

    ","parent_name":"SelectionMode"},"Structs/Behavior/SelectionMode.html#/s:10ListableUI8BehaviorV13SelectionModeO6singleyAESb_tcAEmF":{"name":"single(clearsSelectionOnViewWillAppear:)","abstract":"

    The list view allows single selections. When an item is selected, the previously selected item (if any)","parent_name":"SelectionMode"},"Structs/Behavior/SelectionMode.html#/s:10ListableUI8BehaviorV13SelectionModeO8multipleyA2EmF":{"name":"multiple","abstract":"

    The list view allows multiple selections. It is your responsibility to update the content","parent_name":"SelectionMode"},"Structs/Behavior/ScrollsToTop.html#/s:10ListableUI8BehaviorV12ScrollsToTopO8disabledyA2EmF":{"name":"disabled","abstract":"

    No action is performed when the user taps on the status bar.

    ","parent_name":"ScrollsToTop"},"Structs/Behavior/ScrollsToTop.html#/s:10ListableUI8BehaviorV12ScrollsToTopO7enabledyA2EmF":{"name":"enabled","abstract":"

    When the user taps on the status bar, scroll to the top of the list.

    ","parent_name":"ScrollsToTop"},"Structs/Behavior/KeyboardAdjustmentMode.html#/s:10ListableUI8BehaviorV22KeyboardAdjustmentModeO4noneyA2EmF":{"name":"none","abstract":"

    The contentInset of the list is not adjusted when the keyboard appears or disappears.

    ","parent_name":"KeyboardAdjustmentMode"},"Structs/Behavior/KeyboardAdjustmentMode.html#/s:10ListableUI8BehaviorV22KeyboardAdjustmentModeO18adjustsWhenVisibleyA2EmF":{"name":"adjustsWhenVisible","abstract":"

    The contentInset of the list is adjusted when the keyboard appears or disappears.

    ","parent_name":"KeyboardAdjustmentMode"},"Structs/Behavior.html#/s:10ListableUI8BehaviorV19keyboardDismissModeSo020UIScrollViewKeyboardeF0Vvp":{"name":"keyboardDismissMode","abstract":"

    How the keyboard should be dismissed (if at all) based on scrolling of the list view.

    ","parent_name":"Behavior"},"Structs/Behavior.html#/s:10ListableUI8BehaviorV22keyboardAdjustmentModeAC08KeyboardeF0Ovp":{"name":"keyboardAdjustmentMode","abstract":"

    How to adjust the contentInset of the list when the keyboard visibility changes.

    ","parent_name":"Behavior"},"Structs/Behavior.html#/s:10ListableUI8BehaviorV12scrollsToTopAC07ScrollseF0Ovp":{"name":"scrollsToTop","abstract":"

    How the list should react when the user taps the application status bar.","parent_name":"Behavior"},"Structs/Behavior.html#/s:10ListableUI8BehaviorV13selectionModeAC09SelectionE0Ovp":{"name":"selectionMode","abstract":"

    How the list should respond to selection attempts.

    ","parent_name":"Behavior"},"Structs/Behavior.html#/s:10ListableUI8BehaviorV9underflowAC9UnderflowVvp":{"name":"underflow","abstract":"

    How the list should behave when its content takes up less space than is available in the list view.","parent_name":"Behavior"},"Structs/Behavior.html#/s:10ListableUI8BehaviorV23canCancelContentTouchesSbvp":{"name":"canCancelContentTouches","abstract":"

    A Boolean value that controls whether touches in the content view always lead to tracking.

    ","parent_name":"Behavior"},"Structs/Behavior.html#/s:10ListableUI8BehaviorV20delaysContentTouchesSbvp":{"name":"delaysContentTouches","abstract":"

    A Boolean value that determines whether the scroll view delays the handling of touch-down gestures.

    ","parent_name":"Behavior"},"Structs/Behavior.html#/s:10ListableUI8BehaviorV15isPagingEnabledSbvp":{"name":"isPagingEnabled","abstract":"

    Is paging enabled on the underlying scroll view.

    ","parent_name":"Behavior"},"Structs/Behavior.html#/s:10ListableUI8BehaviorV19keyboardDismissMode0d10AdjustmentF012scrollsToTop09selectionF09underflow23canCancelContentTouches06delaysoP015isPagingEnabledACSo020UIScrollViewKeyboardeF0V_AC0wgF0OAC07ScrollsiJ0OAC09SelectionF0OAC9UnderflowVS3btcfc":{"name":"init(keyboardDismissMode:keyboardAdjustmentMode:scrollsToTop:selectionMode:underflow:canCancelContentTouches:delaysContentTouches:isPagingEnabled:)","abstract":"

    Creates a new Behavior based on the provided parameters.

    ","parent_name":"Behavior"},"Structs/Behavior/KeyboardAdjustmentMode.html":{"name":"KeyboardAdjustmentMode","abstract":"

    How to adjust the contentInset of the list when the keyboard visibility changes.

    ","parent_name":"Behavior"},"Structs/Behavior/ScrollsToTop.html":{"name":"ScrollsToTop","abstract":"

    How to react when the user taps on the status bar of the application.

    ","parent_name":"Behavior"},"Structs/Behavior/SelectionMode.html":{"name":"SelectionMode","abstract":"

    The selection mode of the list view, which controls how many items (if any) can be selected at once.

    ","parent_name":"Behavior"},"Structs/Behavior/Underflow.html":{"name":"Underflow","abstract":"

    Undocumented

    ","parent_name":"Behavior"},"Structs/Appearance.html#/s:10ListableUI10AppearanceV15backgroundColorSo7UIColorCvp":{"name":"backgroundColor","abstract":"

    The background color for the list.

    ","parent_name":"Appearance"},"Structs/Appearance.html#/s:10ListableUI10AppearanceV21showsScrollIndicatorsSbvp":{"name":"showsScrollIndicators","abstract":"

    If the list should display its scroll indicators.

    ","parent_name":"Appearance"},"Structs/Appearance.html#/s:10ListableUI10AppearanceV15backgroundColor21showsScrollIndicators9configureACSo7UIColorC_SbyACzXEtcfc":{"name":"init(backgroundColor:showsScrollIndicators:configure:)","abstract":"

    Creates a new appearance object with the provided options.

    ","parent_name":"Appearance"},"Structs/Appearance.html#/s:10ListableUI10AppearanceV22defaultBackgroundColorSo7UIColorCvpZ":{"name":"defaultBackgroundColor","abstract":"

    The default background color for the Appearance.

    ","parent_name":"Appearance"},"Structs/Appearance.html":{"name":"Appearance","abstract":"

    Contains all the properties which affect the appearance of all possible kinds of list layouts.

    "},"Structs/Behavior.html":{"name":"Behavior","abstract":"

    Controls various behaviors of the list view, such as keyboard dismissal, selection mode, and behavior"},"Structs/Color.html":{"name":"Color","abstract":"

    A color wrapper which provides equatability for"},"Structs/Content.html":{"name":"Content","abstract":"

    Undocumented

    "},"Structs/Item.html":{"name":"Item","abstract":"

    Undocumented

    "},"Structs/EmbeddedList.html":{"name":"EmbeddedList","abstract":"

    Describes item content which can be used to embed a list inside another list,"},"Structs/HeaderFooter.html":{"name":"HeaderFooter","abstract":"

    Undocumented

    "},"Structs/ApplyHeaderFooterContentInfo.html":{"name":"ApplyHeaderFooterContentInfo","abstract":"

    Information about the current state of the content, which is passed to apply(to:for:with:)"},"Structs/HeaderFooterContentViews.html":{"name":"HeaderFooterContentViews","abstract":"

    The views owned by the item content, passed to the apply(to:) method to theme and provide content.

    "},"Structs/HeaderFooterLayout.html":{"name":"HeaderFooterLayout","abstract":"

    Undocumented

    "},"Structs.html#/s:10ListableUI21ItemStateDependenciesV":{"name":"ItemStateDependencies","abstract":"

    Undocumented

    "},"Structs/DefaultItemProperties.html":{"name":"DefaultItemProperties","abstract":"

    Allows specifying default properties to apply to an item when it is initialized,"},"Structs/ItemContentViews.html":{"name":"ItemContentViews","abstract":"

    The views owned by the item content, passed to the apply(to:) method to theme and provide content.

    "},"Structs/ApplyItemContentInfo.html":{"name":"ApplyItemContentInfo","abstract":"

    Information about the current state of the content, which is passed to apply(to:for:with:)"},"Structs/ItemInsertAndRemoveAnimations.html":{"name":"ItemInsertAndRemoveAnimations","abstract":"

    Undocumented

    "},"Structs/ItemLayout.html":{"name":"ItemLayout","abstract":"

    Undocumented

    "},"Structs/ItemState.html":{"name":"ItemState","abstract":"

    Undocumented

    "},"Structs/Reordering.html":{"name":"Reordering","abstract":"

    Undocumented

    "},"Structs/LayoutDescription.html":{"name":"LayoutDescription","abstract":"

    A LayoutDescription, well, describes the type of and properties of a layout to apply to a list view.

    "},"Structs/GridAppearance.html":{"name":"GridAppearance","abstract":"

    Undocumented

    "},"Structs/ListAppearance.html":{"name":"ListAppearance","abstract":"

    ListAppearance defines the appearance and layout attribute for list layouts within a Listable list.

    "},"Structs/ListLayoutAttributes.html":{"name":"ListLayoutAttributes","abstract":"

    Undocumented

    "},"Structs/ListLayoutDefaults.html":{"name":"ListLayoutDefaults","abstract":"

    Undocumented

    "},"Structs/ListLayoutScrollViewProperties.html":{"name":"ListLayoutScrollViewProperties","abstract":"

    Undocumented

    "},"Structs/ListLayoutPoint.html":{"name":"ListLayoutPoint","abstract":"

    Undocumented

    "},"Structs/ListLayoutSize.html":{"name":"ListLayoutSize","abstract":"

    Undocumented

    "},"Structs/PagedAppearance.html":{"name":"PagedAppearance","abstract":"

    Describes the available appearance configuration options for a paged list layout."},"Structs/ListEnvironment.html":{"name":"ListEnvironment","abstract":"

    An environment of keys and values that are passed to every ItemContent and HeaderFooter"},"Structs/ListProperties.html":{"name":"ListProperties","abstract":"

    The ListProperties object describes all of the given values needed to configure"},"Structs/ListScrollPositionInfo.html":{"name":"ListScrollPositionInfo","abstract":"

    Information about the current scroll position of a list,"},"Structs/ListStateObserver.html":{"name":"ListStateObserver","abstract":"

    Allows reading state and events based on state changes within the list view."},"Structs/LocalizedItemCollator.html":{"name":"LocalizedItemCollator","abstract":"

    If you’re looking for the equivalent of UILocalizedIndexedCollation for lists,"},"Structs/ItemPreview.html":{"name":"ItemPreview","abstract":"

    A SwiftUI view that you can use to preview your Item or ItemContent"},"Structs/ItemPreviewAppearance.html":{"name":"ItemPreviewAppearance","abstract":"

    The appearance options for a preview item.

    "},"Structs/RefreshControl.html":{"name":"RefreshControl","abstract":"

    Undocumented

    "},"Structs/ScrollPosition.html":{"name":"ScrollPosition","abstract":"

    Specifies how to position an item in a list when requesting the list scrolls to it.

    "},"Structs/Section.html":{"name":"Section","abstract":"

    Undocumented

    "},"Structs/HorizontalPadding.html":{"name":"HorizontalPadding","abstract":"

    Undocumented

    "},"Structs/SwipeActionsConfiguration.html":{"name":"SwipeActionsConfiguration","abstract":"

    Use SwipeActionsConfiguration to configure an item with SwipeActions."},"Structs/SwipeAction.html":{"name":"SwipeAction","abstract":"

    Create SwipeActions to define actions that can be performed in a SwipeActionsConfiguration.

    "},"Protocols/AnySectionInfo.html#/s:10ListableUI14AnySectionInfoP13anyIdentifierAA0cG0Cvp":{"name":"anyIdentifier","abstract":"

    Undocumented

    ","parent_name":"AnySectionInfo"},"Protocols/AnySectionInfo.html#/s:10ListableUI14AnySectionInfoP11anyWasMoved10comparedToSbAaB_p_tF":{"name":"anyWasMoved(comparedTo:)","abstract":"

    Undocumented

    ","parent_name":"AnySectionInfo"},"Protocols/SectionInfo.html#/s:10ListableUI11SectionInfoP10identifierAA10IdentifierCyxGvp":{"name":"identifier","abstract":"

    Undocumented

    ","parent_name":"SectionInfo"},"Protocols/SectionInfo.html#/s:10ListableUI11SectionInfoP8wasMoved10comparedToSbx_tF":{"name":"wasMoved(comparedTo:)","abstract":"

    Undocumented

    ","parent_name":"SectionInfo"},"Protocols/SectionInfo.html#/s:10ListableUI11SectionInfoPAAE13anyIdentifierAA03AnyF0Cvp":{"name":"anyIdentifier","abstract":"

    Undocumented

    ","parent_name":"SectionInfo"},"Protocols/SectionInfo.html#/s:10ListableUI11SectionInfoPAAE11anyWasMoved10comparedToSbAA03AnycD0_p_tF":{"name":"anyWasMoved(comparedTo:)","abstract":"

    Undocumented

    ","parent_name":"SectionInfo"},"Protocols/AnyLocalizedCollatableItem.html#/s:10ListableUI26AnyLocalizedCollatableItemP15collationStringSSvp":{"name":"collationString","abstract":"

    Undocumented

    ","parent_name":"AnyLocalizedCollatableItem"},"Protocols/LocalizedCollatableItemContent.html#/s:10ListableUI30LocalizedCollatableItemContentP15collationStringSSvp":{"name":"collationString","abstract":"

    A string that represents the primary content of your ItemContent; usually a name or title.

    ","parent_name":"LocalizedCollatableItemContent"},"Protocols/ListViewSource.html#/s:10ListableUI14ListViewSourceP5StateQa":{"name":"State","abstract":"

    Undocumented

    ","parent_name":"ListViewSource"},"Protocols/ListViewSource.html#/s:10ListableUI14ListViewSourceP7content4withADyAA0E5StateCy0H0QzG_AA7ContentVztF":{"name":"content(with:content:)","abstract":"

    Undocumented

    ","parent_name":"ListViewSource"},"Protocols/ListViewSource.html#/s:10ListableUI14ListViewSourceP7content4withAA7ContentVAA0E5StateCy0I0QzG_tF":{"name":"content(with:)","abstract":"

    Undocumented

    ","parent_name":"ListViewSource"},"Protocols/ListEnvironmentKey.html#/s:10ListableUI18ListEnvironmentKeyP5ValueQa":{"name":"Value","abstract":"

    The type of value stored by this key.

    ","parent_name":"ListEnvironmentKey"},"Protocols/ListEnvironmentKey.html#/s:10ListableUI18ListEnvironmentKeyP12defaultValue0G0QzvpZ":{"name":"defaultValue","abstract":"

    The default value that will be vended by an Environment for this key if no other value has been set.

    ","parent_name":"ListEnvironmentKey"},"Protocols/ListLayoutAppearance.html#/s:10ListableUI20ListLayoutAppearanceP7defaultxvpZ":{"name":"default","abstract":"

    Undocumented

    ","parent_name":"ListLayoutAppearance"},"Protocols/ListLayoutAppearance.html#/s:10ListableUI20ListLayoutAppearanceP9directionAA0D9DirectionOvp":{"name":"direction","abstract":"

    Undocumented

    ","parent_name":"ListLayoutAppearance"},"Protocols/ListLayoutAppearance.html#/s:10ListableUI20ListLayoutAppearanceP20stickySectionHeadersSbvp":{"name":"stickySectionHeaders","abstract":"

    Undocumented

    ","parent_name":"ListLayoutAppearance"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutP10appearanceAA10AppearanceVvp":{"name":"appearance","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutP8behaviorAA8BehaviorVvp":{"name":"behavior","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutP7contentAA0dE7ContentCvp":{"name":"content","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutP20scrollViewPropertiesAA0de6ScrollgH0Vvp":{"name":"scrollViewProperties","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutP9directionAA0E9DirectionOvp":{"name":"direction","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutP20stickySectionHeadersSbvp":{"name":"stickySectionHeaders","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutP06updateE02inySo16UICollectionViewC_tF":{"name":"updateLayout(in:)","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutP6layout8delegate2inyAA014CollectionViewE8Delegate_p_So012UICollectionJ0CtF":{"name":"layout(delegate:in:)","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutP11setZIndexesyyF":{"name":"setZIndexes()","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutPAAE19visibleContentFrame3forSo6CGRectVSo16UICollectionViewC_tF":{"name":"visibleContentFrame(for:)","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutPAAE36positionStickySectionHeadersIfNeeded2inySo16UICollectionViewC_tF":{"name":"positionStickySectionHeadersIfNeeded(in:)","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutPAAE30updateOverscrollFooterPosition2inySo16UICollectionViewC_tF":{"name":"updateOverscrollFooterPosition(in:)","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutPAAE018adjustPositionsForE9Underflow2inySo16UICollectionViewC_tF":{"name":"adjustPositionsForLayoutUnderflow(in:)","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyLayoutDescriptionConfiguration.html#/s:10ListableUI33AnyLayoutDescriptionConfigurationP011createEmptyD010appearance8behaviorAA0c4ListD0_pAA10AppearanceV_AA8BehaviorVtF":{"name":"createEmptyLayout(appearance:behavior:)","abstract":"

    Undocumented

    ","parent_name":"AnyLayoutDescriptionConfiguration"},"Protocols/AnyLayoutDescriptionConfiguration.html#/s:10ListableUI33AnyLayoutDescriptionConfigurationP015createPopulatedD010appearance8behavior8delegateAA0c4ListD0_pAA10AppearanceV_AA8BehaviorVAA014CollectionViewD8Delegate_ptF":{"name":"createPopulatedLayout(appearance:behavior:delegate:)","abstract":"

    Undocumented

    ","parent_name":"AnyLayoutDescriptionConfiguration"},"Protocols/AnyLayoutDescriptionConfiguration.html#/s:10ListableUI33AnyLayoutDescriptionConfigurationP13shouldRebuild6layoutSbAA0c4ListD0_p_tF":{"name":"shouldRebuild(layout:)","abstract":"

    Undocumented

    ","parent_name":"AnyLayoutDescriptionConfiguration"},"Protocols/AnyLayoutDescriptionConfiguration.html#/s:10ListableUI33AnyLayoutDescriptionConfigurationP06isSameD4Type2asSbAaB_p_tF":{"name":"isSameLayoutType(as:)","abstract":"

    Undocumented

    ","parent_name":"AnyLayoutDescriptionConfiguration"},"Protocols/ListLayout.html#/s:10ListableUI10ListLayoutP0D10AppearanceQa":{"name":"LayoutAppearance","abstract":"

    Undocumented

    ","parent_name":"ListLayout"},"Protocols/ListLayout.html#/s:10ListableUI10ListLayoutP8defaultsAA0cD8DefaultsVvpZ":{"name":"defaults","abstract":"

    Undocumented

    ","parent_name":"ListLayout"},"Protocols/ListLayout.html#/s:10ListableUI10ListLayoutP16layoutAppearance0dF0Qzvp":{"name":"layoutAppearance","abstract":"

    Undocumented

    ","parent_name":"ListLayout"},"Protocols/ListLayout.html#/s:10ListableUI10ListLayoutP16layoutAppearance10appearance8behavior7contentx0dF0Qz_AA0F0VAA8BehaviorVAA0cD7ContentCtcfc":{"name":"init(layoutAppearance:appearance:behavior:content:)","abstract":"

    Undocumented

    ","parent_name":"ListLayout"},"Protocols/ListLayout.html#/s:10ListableUI10ListLayoutPAAE8describe10appearanceAA0D11DescriptionVy0D10AppearanceQzzc_tFZ":{"name":"describe(appearance:)","abstract":"

    Creates a new layout description for a list layout, with the provided optional layout configuration.

    ","parent_name":"ListLayout"},"Protocols/ListLayout.html#/s:10ListableUI10ListLayoutPAAE9directionAA0D9DirectionOvp":{"name":"direction","abstract":"

    Undocumented

    ","parent_name":"ListLayout"},"Protocols/ListLayout.html#/s:10ListableUI10ListLayoutPAAE20stickySectionHeadersSbvp":{"name":"stickySectionHeaders","abstract":"

    Undocumented

    ","parent_name":"ListLayout"},"Protocols/CollectionViewLayoutDelegate.html#/s:10ListableUI28CollectionViewLayoutDelegateP04listdE20UpdatedItemPositionsyySo012UICollectionD0CF":{"name":"listViewLayoutUpdatedItemPositions(_:)","abstract":"

    Undocumented

    ","parent_name":"CollectionViewLayoutDelegate"},"Protocols/CollectionViewLayoutDelegate.html#/s:10ListableUI28CollectionViewLayoutDelegateP04listE7Content8defaultsAA04ListeH0CAA0jE8DefaultsV_tF":{"name":"listLayoutContent(defaults:)","abstract":"

    Undocumented

    ","parent_name":"CollectionViewLayoutDelegate"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP0cD4TypeQa":{"name":"ItemContentType","abstract":"

    The type of ItemContent associated with this coordinator.

    ","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP7actionsAA0cdE7ActionsCy0cD4TypeQzGvp":{"name":"actions","abstract":"

    The available actions you can perform on the coordinated Item. Eg, updating it to a new value.

    ","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP4infoAA0cdE4InfoCy0cD4TypeQzGvp":{"name":"info","abstract":"

    Info about the coordinated Item, such as its original and current value.

    ","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP11wasInsertedyyAA0C0V8OnInsertVy0cD4TypeQz_GF":{"name":"wasInserted(_:)","abstract":"

    Invoked on the coordinator when it is first created and configured.

    ","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP10wasRemovedyyAA0C0V8OnRemoveVy0cD4TypeQz_GF":{"name":"wasRemoved(_:)","abstract":"

    Invoked on the coordinator when its owned item is removed from the list due to","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP8wasMovedyyAA0C0V6OnMoveVy0cD4TypeQz_GF":{"name":"wasMoved(_:)","abstract":"

    Invoked on the coordinator when its owned item is moved inside a list due to its","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP10wasUpdatedyyAA0C0V8OnUpdateVy0cD4TypeQz_GF":{"name":"wasUpdated(_:)","abstract":"

    Invoked on the coordinator when an external update is pushed onto the owned Item.","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP4Viewa":{"name":"View","abstract":"

    The view type associated with the item.

    ","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP4view0cD4Type_0D4ViewQZSgvp":{"name":"view","abstract":"

    The view, if any, currently used to display the item.

    ","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP11willDisplay4withy0cD4Type_0D4ViewQZ_tF":{"name":"willDisplay(with:)","abstract":"

    Invoked when the list is about to begin displaying the item with the given view.

    ","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP13didEndDisplay4withy0cD4Type_0D4ViewQZ_tF":{"name":"didEndDisplay(with:)","abstract":"

    Invoked when the list is about to complete displaying the item with the given view.

    ","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP11wasSelectedyyF":{"name":"wasSelected()","abstract":"

    Invoked when the item is selected, via either user interaction or the selectionStyle.

    ","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP13wasDeselectedyyF":{"name":"wasDeselected()","abstract":"

    Invoked when the item is deselected, via either user interaction or the selectionStyle.

    ","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentSwipeActionsView.html#/s:10ListableUI27ItemContentSwipeActionsViewP05swipeF5Width12CoreGraphics7CGFloatVvp":{"name":"swipeActionsWidth","abstract":"

    Undocumented

    ","parent_name":"ItemContentSwipeActionsView"},"Protocols/ItemContentSwipeActionsView.html#/s:10ListableUI27ItemContentSwipeActionsViewP16didPerformActionxySbc_tcfc":{"name":"init(didPerformAction:)","abstract":"

    Undocumented

    ","parent_name":"ItemContentSwipeActionsView"},"Protocols/ItemContentSwipeActionsView.html#/s:10ListableUI27ItemContentSwipeActionsViewP5apply7actionsyAA0eF13ConfigurationV_tF":{"name":"apply(actions:)","abstract":"

    Undocumented

    ","parent_name":"ItemContentSwipeActionsView"},"Protocols/ItemContentSwipeActionsView.html#/s:10ListableUI27ItemContentSwipeActionsViewP5apply5stateyAA0E11ActionStateO_tF":{"name":"apply(state:)","abstract":"

    Undocumented

    ","parent_name":"ItemContentSwipeActionsView"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP10identifierAA10IdentifierCyxGvp":{"name":"identifier","abstract":"

    Identifies the content across updates to the list. This value must remain the same,","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP07defaultC10PropertiesAA07DefaultcF0VyxGvp":{"name":"defaultItemProperties","abstract":"

    Default values to assign to various properties on the Item which wraps","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP5apply2to3for4withyAA0cD5ViewsVyxG_AA11ApplyReasonOAA0jcD4InfoVtF":{"name":"apply(to:for:with:)","abstract":"

    Called when rendering the content. This is where you should push data from your","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP8wasMoved10comparedToSbx_tF":{"name":"wasMoved(comparedTo:)","abstract":"

    Return true if the content’s sort changed based on the old value passed into the function.

    ","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP12isEquivalent2toSbx_tF":{"name":"isEquivalent(to:)","abstract":"

    Return false if the content’ changed based on the old value passed into the function.

    ","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP16SwipeActionsViewQa":{"name":"SwipeActionsView","abstract":"

    The view type to use to render swipe actions (delete, etc) for this content.","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP0D4ViewQa":{"name":"ContentView","abstract":"

    The content view used to draw the content.","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP014createReusableD4View5frame0dG0QzSo6CGRectV_tFZ":{"name":"createReusableContentView(frame:)","abstract":"

    Create and return a new content view used to render the content.

    ","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP11CoordinatorQa":{"name":"Coordinator","abstract":"

    The coordinator type to use to manage the live state of the Item and ItemContent,","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP18CoordinatorActionsa":{"name":"CoordinatorActions","abstract":"

    The actions passed to the coordinator.

    ","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP15CoordinatorInfoa":{"name":"CoordinatorInfo","abstract":"

    The info passed to the coordinator.

    ","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP15makeCoordinator7actions4info0F0QzAA0cdF7ActionsCyxG_AA0cdF4InfoCyxGtF":{"name":"makeCoordinator(actions:info:)","abstract":"

    Creates a new coordinator with the provided actions and info.

    ","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP14BackgroundViewQa":{"name":"BackgroundView","abstract":"

    The background view used to draw the background of the content.","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP28createReusableBackgroundView5frame0gH0QzSo6CGRectV_tFZ":{"name":"createReusableBackgroundView(frame:)","abstract":"

    Create and return a new background view used to render the content’s background.

    ","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP22SelectedBackgroundViewQa":{"name":"SelectedBackgroundView","abstract":"

    The selected background view used to draw the background of the content when it is selected or highlighted.","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP36createReusableSelectedBackgroundView5frame0ghI0QzSo6CGRectV_tFZ":{"name":"createReusableSelectedBackgroundView(frame:)","abstract":"

    Create and return a new background view used to render the content’s selected background.

    ","parent_name":"ItemContent"},"Protocols/AnyItem_Internal.html#/s:10ListableUI16AnyItem_InternalP11anyWasMoved10comparedToSbAA0cD0_p_tF":{"name":"anyWasMoved(comparedTo:)","abstract":"

    Undocumented

    ","parent_name":"AnyItem_Internal"},"Protocols/AnyItem_Internal.html#/s:10ListableUI16AnyItem_InternalP15anyIsEquivalent2toSbAA0cD0_p_tF":{"name":"anyIsEquivalent(to:)","abstract":"

    Undocumented

    ","parent_name":"AnyItem_Internal"},"Protocols/AnyItem_Internal.html#/s:10ListableUI16AnyItem_InternalP015newPresentationD5State4with15updateCallbacks015performsContentK0ypAA0dH12DependenciesV_AA06UpdateK0CSbtF":{"name":"newPresentationItemState(with:updateCallbacks:performsContentCallbacks:)","abstract":"

    Undocumented

    ","parent_name":"AnyItem_Internal"},"Protocols/AnyItem.html#/s:10ListableUI7AnyItemP10identifierAA0C10IdentifierCvp":{"name":"identifier","abstract":"

    Undocumented

    ","parent_name":"AnyItem"},"Protocols/AnyItem.html#/s:10ListableUI7AnyItemP10anyContentypvp":{"name":"anyContent","abstract":"

    Undocumented

    ","parent_name":"AnyItem"},"Protocols/AnyItem.html#/s:10ListableUI7AnyItemP6sizingAA6SizingOvp":{"name":"sizing","abstract":"

    Undocumented

    ","parent_name":"AnyItem"},"Protocols/AnyItem.html#/s:10ListableUI7AnyItemP6layoutAA0D6LayoutVvp":{"name":"layout","abstract":"

    Undocumented

    ","parent_name":"AnyItem"},"Protocols/AnyItem.html#/s:10ListableUI7AnyItemP14selectionStyleAA0d9SelectionF0Ovp":{"name":"selectionStyle","abstract":"

    Undocumented

    ","parent_name":"AnyItem"},"Protocols/AnyItem.html#/s:10ListableUI7AnyItemP25insertAndRemoveAnimationsAA0d6InsertfgH0VSgvp":{"name":"insertAndRemoveAnimations","abstract":"

    Undocumented

    ","parent_name":"AnyItem"},"Protocols/AnyItem.html#/s:10ListableUI7AnyItemP12swipeActionsAA05SwipeF13ConfigurationVSgvp":{"name":"swipeActions","abstract":"

    Undocumented

    ","parent_name":"AnyItem"},"Protocols/AnyItem.html#/s:10ListableUI7AnyItemP10reorderingAA10ReorderingVSgvp":{"name":"reordering","abstract":"

    Undocumented

    ","parent_name":"AnyItem"},"Protocols/HeaderFooterContent.html#/s:10ListableUI19HeaderFooterContentP5apply2to3for4withyAA0cdE5ViewsVyxG_AA11ApplyReasonOAA0kcdE4InfoVtF":{"name":"apply(to:for:with:)","abstract":"

    Undocumented

    ","parent_name":"HeaderFooterContent"},"Protocols/HeaderFooterContent.html#/s:10ListableUI19HeaderFooterContentP12isEquivalent2toSbx_tF":{"name":"isEquivalent(to:)","abstract":"

    Undocumented

    ","parent_name":"HeaderFooterContent"},"Protocols/HeaderFooterContent.html#/s:10ListableUI19HeaderFooterContentP0E4ViewQa":{"name":"ContentView","abstract":"

    The content view used to draw the content.","parent_name":"HeaderFooterContent"},"Protocols/HeaderFooterContent.html#/s:10ListableUI19HeaderFooterContentP014createReusableE4View5frame0eH0QzSo6CGRectV_tFZ":{"name":"createReusableContentView(frame:)","abstract":"

    Create and return a new content view used to render the content.

    ","parent_name":"HeaderFooterContent"},"Protocols/HeaderFooterContent.html#/s:10ListableUI19HeaderFooterContentP14BackgroundViewQa":{"name":"BackgroundView","abstract":"

    The background view used to draw the background of the content.","parent_name":"HeaderFooterContent"},"Protocols/HeaderFooterContent.html#/s:10ListableUI19HeaderFooterContentP28createReusableBackgroundView5frame0hI0QzSo6CGRectV_tFZ":{"name":"createReusableBackgroundView(frame:)","abstract":"

    Create and return a new background view used to render the content’s background.

    ","parent_name":"HeaderFooterContent"},"Protocols/HeaderFooterContent.html#/s:10ListableUI19HeaderFooterContentP21PressedBackgroundViewQa":{"name":"PressedBackgroundView","abstract":"

    The selected background view used to draw the background of the content when it is selected or highlighted.","parent_name":"HeaderFooterContent"},"Protocols/HeaderFooterContent.html#/s:10ListableUI19HeaderFooterContentP35createReusablePressedBackgroundView5frame0hiJ0QzSo6CGRectV_tFZ":{"name":"createReusablePressedBackgroundView(frame:)","abstract":"

    Create and return a new background view used to render the content’s pressed background.

    ","parent_name":"HeaderFooterContent"},"Protocols/HeaderFooterContent.html#/s:10ListableUI19HeaderFooterContentPAASQRzrlE12isEquivalent2toSbx_tF":{"name":"isEquivalent(to:)","parent_name":"HeaderFooterContent"},"Protocols/AnyHeaderFooter_Internal.html#/s:10ListableUI24AnyHeaderFooter_InternalP6layoutAA0dE6LayoutVvp":{"name":"layout","abstract":"

    Undocumented

    ","parent_name":"AnyHeaderFooter_Internal"},"Protocols/AnyHeaderFooter_Internal.html#/s:10ListableUI24AnyHeaderFooter_InternalP5apply2to3for4withySo6UIViewC_AA11ApplyReasonOAA0ldE11ContentInfoVtF":{"name":"apply(to:for:with:)","abstract":"

    Undocumented

    ","parent_name":"AnyHeaderFooter_Internal"},"Protocols/AnyHeaderFooter_Internal.html#/s:10ListableUI24AnyHeaderFooter_InternalP15anyIsEquivalent2toSbAA0cdE0_p_tF":{"name":"anyIsEquivalent(to:)","abstract":"

    Undocumented

    ","parent_name":"AnyHeaderFooter_Internal"},"Protocols/AnyHeaderFooter_Internal.html#/s:10ListableUI24AnyHeaderFooter_InternalP015newPresentationdE5State24performsContentCallbacksypSb_tF":{"name":"newPresentationHeaderFooterState(performsContentCallbacks:)","abstract":"

    Undocumented

    ","parent_name":"AnyHeaderFooter_Internal"},"Protocols/AnyHeaderFooter.html#/s:10ListableUI15AnyHeaderFooterP6sizingAA6SizingOvp":{"name":"sizing","abstract":"

    Undocumented

    ","parent_name":"AnyHeaderFooter"},"Protocols/AnyHeaderFooter.html#/s:10ListableUI15AnyHeaderFooterP6layoutAA0dE6LayoutVvp":{"name":"layout","abstract":"

    Undocumented

    ","parent_name":"AnyHeaderFooter"},"Protocols/AnyHeaderFooter.html":{"name":"AnyHeaderFooter","abstract":"

    Undocumented

    "},"Protocols/AnyHeaderFooter_Internal.html":{"name":"AnyHeaderFooter_Internal","abstract":"

    Undocumented

    "},"Protocols/HeaderFooterContent.html":{"name":"HeaderFooterContent","abstract":"

    A HeaderFooterContent is a type which specifies the content of a header, footer,"},"Protocols/AnyItem.html":{"name":"AnyItem","abstract":"

    Undocumented

    "},"Protocols/AnyItem_Internal.html":{"name":"AnyItem_Internal","abstract":"

    Undocumented

    "},"Protocols/ItemContent.html":{"name":"ItemContent","abstract":"

    An ItemContent is a type used to provide the content of an Item"},"Protocols/ItemContentSwipeActionsView.html":{"name":"ItemContentSwipeActionsView","abstract":"

    Conform to this protocol to implement a completely custom swipe action view.

    "},"Protocols/ItemContentCoordinator.html":{"name":"ItemContentCoordinator","abstract":"

    A type which lets you interactively manage the contents of an Item or ItemContent"},"Protocols/CollectionViewLayoutDelegate.html":{"name":"CollectionViewLayoutDelegate","abstract":"

    Undocumented

    "},"Protocols/ListLayout.html":{"name":"ListLayout","abstract":"

    Undocumented

    "},"Protocols/AnyLayoutDescriptionConfiguration.html":{"name":"AnyLayoutDescriptionConfiguration","abstract":"

    Undocumented

    "},"Protocols/AnyListLayout.html":{"name":"AnyListLayout","abstract":"

    Undocumented

    "},"Protocols/ListLayoutAppearance.html":{"name":"ListLayoutAppearance","abstract":"

    Undocumented

    "},"Protocols/ListEnvironmentKey.html":{"name":"ListEnvironmentKey","abstract":"

    Defines a value stored in the ListEnvironment of a list.

    "},"Protocols/ListViewSource.html":{"name":"ListViewSource","abstract":"

    Undocumented

    "},"Protocols/LocalizedCollatableItemContent.html":{"name":"LocalizedCollatableItemContent","abstract":"

    If you would like to make your ItemContent work with the LocalizedItemCollator,"},"Protocols/AnyLocalizedCollatableItem.html":{"name":"AnyLocalizedCollatableItem","abstract":"

    Represents an AnyItem which can be collated, via its vended collationString.

    "},"Protocols/SectionInfo.html":{"name":"SectionInfo","abstract":"

    Undocumented

    "},"Protocols/AnySectionInfo.html":{"name":"AnySectionInfo","abstract":"

    Undocumented

    "},"Functions.html#/s:10ListableUI13listableFatal_4file4lines5NeverOSSyXK_s12StaticStringVSutF":{"name":"listableFatal(_:file:line:)","abstract":"

    Undocumented

    "},"Functions.html#/s:10ListableUI20listablePrecondition__4file4lineySbyXK_SSyXKs12StaticStringVSutF":{"name":"listablePrecondition(_:_:file:line:)","abstract":"

    Undocumented

    "},"Extensions/Set.html#/s:Sh10ListableUIAA15ScrollAnimationO0D7OptionsORszrlE7defaultShyAEGvpZ":{"name":"default","abstract":"

    Undocumented

    ","parent_name":"Set"},"Extensions/UIRectEdge.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"UIRectEdge"},"Extensions/SectionedDiff.html#/SectionChanges":{"name":"SectionChanges","parent_name":"SectionedDiff"},"Extensions/SectionedDiff.html#/ItemChanges":{"name":"ItemChanges","parent_name":"SectionedDiff"},"Extensions/SectionedDiff.html":{"name":"SectionedDiff"},"Extensions/UIRectEdge.html":{"name":"UIRectEdge"},"Extensions/Set.html":{"name":"Set"},"Enums/CustomWidth/Alignment.html#/s:10ListableUI11CustomWidthO9AlignmentO4leftyA2EmF":{"name":"left","abstract":"

    Undocumented

    ","parent_name":"Alignment"},"Enums/CustomWidth/Alignment.html#/s:10ListableUI11CustomWidthO9AlignmentO6centeryA2EmF":{"name":"center","abstract":"

    Undocumented

    ","parent_name":"Alignment"},"Enums/CustomWidth/Alignment.html#/s:10ListableUI11CustomWidthO9AlignmentO5rightyA2EmF":{"name":"right","abstract":"

    Undocumented

    ","parent_name":"Alignment"},"Enums/CustomWidth/Alignment.html#/s:10ListableUI11CustomWidthO9AlignmentO10originWith06parentD05width7padding12CoreGraphics7CGFloatVAL_AlA17HorizontalPaddingVtF":{"name":"originWith(parentWidth:width:padding:)","abstract":"

    Undocumented

    ","parent_name":"Alignment"},"Enums/CustomWidth/Custom.html#/s:10ListableUI11CustomWidthO0C0V7paddingAA17HorizontalPaddingVvp":{"name":"padding","abstract":"

    Undocumented

    ","parent_name":"Custom"},"Enums/CustomWidth/Custom.html#/s:10ListableUI11CustomWidthO0C0V5widthAA0D10ConstraintOvp":{"name":"width","abstract":"

    Undocumented

    ","parent_name":"Custom"},"Enums/CustomWidth/Custom.html#/s:10ListableUI11CustomWidthO0C0V9alignmentAC9AlignmentOvp":{"name":"alignment","abstract":"

    Undocumented

    ","parent_name":"Custom"},"Enums/CustomWidth/Custom.html#/s:10ListableUI11CustomWidthO0C0V7padding5width9alignmentAeA17HorizontalPaddingV_AA0D10ConstraintOAC9AlignmentOtcfc":{"name":"init(padding:width:alignment:)","abstract":"

    Undocumented

    ","parent_name":"Custom"},"Enums/CustomWidth/Custom.html#/s:10ListableUI11CustomWidthO0C0V8position4withAC8PositionVSo6CGSizeV_tF":{"name":"position(with:)","abstract":"

    Undocumented

    ","parent_name":"Custom"},"Enums/CustomWidth.html#/s:10ListableUI11CustomWidthO7defaultyA2CmF":{"name":"default","abstract":"

    Undocumented

    ","parent_name":"CustomWidth"},"Enums/CustomWidth.html#/s:10ListableUI11CustomWidthO4fillyA2CmF":{"name":"fill","abstract":"

    Undocumented

    ","parent_name":"CustomWidth"},"Enums/CustomWidth.html#/s:10ListableUI11CustomWidthO6customyA2C0C0VcACmF":{"name":"custom(_:)","abstract":"

    Undocumented

    ","parent_name":"CustomWidth"},"Enums/CustomWidth.html#/s:10ListableUI11CustomWidthO5merge4withA2C_tF":{"name":"merge(with:)","abstract":"

    Undocumented

    ","parent_name":"CustomWidth"},"Enums/CustomWidth.html#/s:10ListableUI11CustomWidthO8position4with07defaultD0AC8PositionVSo6CGSizeV_12CoreGraphics7CGFloatVtF":{"name":"position(with:defaultWidth:)","abstract":"

    Undocumented

    ","parent_name":"CustomWidth"},"Enums/CustomWidth/Custom.html":{"name":"Custom","abstract":"

    Undocumented

    ","parent_name":"CustomWidth"},"Enums/CustomWidth/Alignment.html":{"name":"Alignment","abstract":"

    Undocumented

    ","parent_name":"CustomWidth"},"Enums/CustomWidth.html#/s:10ListableUI11CustomWidthO8PositionV":{"name":"Position","abstract":"

    Undocumented

    ","parent_name":"CustomWidth"},"Enums/WidthConstraint.html#/s:10ListableUI15WidthConstraintO02noD0yA2CmF":{"name":"noConstraint","abstract":"

    Undocumented

    ","parent_name":"WidthConstraint"},"Enums/WidthConstraint.html#/s:10ListableUI15WidthConstraintO5fixedyAC12CoreGraphics7CGFloatVcACmF":{"name":"fixed(_:)","abstract":"

    Undocumented

    ","parent_name":"WidthConstraint"},"Enums/WidthConstraint.html#/s:10ListableUI15WidthConstraintO6atMostyAC12CoreGraphics7CGFloatVcACmF":{"name":"atMost(_:)","abstract":"

    Undocumented

    ","parent_name":"WidthConstraint"},"Enums/WidthConstraint.html#/s:10ListableUI15WidthConstraintO5clampy12CoreGraphics7CGFloatVAGF":{"name":"clamp(_:)","abstract":"

    Undocumented

    ","parent_name":"WidthConstraint"},"Enums/Sizing/Constraint/Axis/Value.html#/s:10ListableUI6SizingO10ConstraintV4AxisO5ValueO7defaultyA2ImF":{"name":"default","abstract":"

    Undocumented

    ","parent_name":"Value"},"Enums/Sizing/Constraint/Axis/Value.html#/s:10ListableUI6SizingO10ConstraintV4AxisO5ValueO5fixedyAI12CoreGraphics7CGFloatVcAImF":{"name":"fixed(_:)","abstract":"

    Undocumented

    ","parent_name":"Value"},"Enums/Sizing/Constraint/Axis/Value.html#/s:10ListableUI6SizingO10ConstraintV4AxisO5ValueO5value4with12CoreGraphics7CGFloatVAN_tF":{"name":"value(with:)","abstract":"

    Undocumented

    ","parent_name":"Value"},"Enums/Sizing/Constraint/Axis.html#/s:10ListableUI6SizingO10ConstraintV4AxisO02noD0yA2GmF":{"name":"noConstraint","abstract":"

    Undocumented

    ","parent_name":"Axis"},"Enums/Sizing/Constraint/Axis.html#/s:10ListableUI6SizingO10ConstraintV4AxisO7atLeastyA2G5ValueOcAGmF":{"name":"atLeast(_:)","abstract":"

    Undocumented

    ","parent_name":"Axis"},"Enums/Sizing/Constraint/Axis.html#/s:10ListableUI6SizingO10ConstraintV4AxisO6atMostyAG12CoreGraphics7CGFloatVcAGmF":{"name":"atMost(_:)","abstract":"

    Undocumented

    ","parent_name":"Axis"},"Enums/Sizing/Constraint/Axis.html#/s:10ListableUI6SizingO10ConstraintV4AxisO6withinyA2G5ValueO_12CoreGraphics7CGFloatVtcAGmF":{"name":"within(_:_:)","abstract":"

    Undocumented

    ","parent_name":"Axis"},"Enums/Sizing/Constraint/Axis/Value.html":{"name":"Value","abstract":"

    Undocumented

    ","parent_name":"Axis"},"Enums/Sizing/Constraint/Axis.html#/s:10ListableUI6SizingO10ConstraintV4AxisO5clamp_4with12CoreGraphics7CGFloatVAL_ALtF":{"name":"clamp(_:with:)","abstract":"

    Undocumented

    ","parent_name":"Axis"},"Enums/Sizing/Constraint.html#/s:10ListableUI6SizingO10ConstraintV5widthAE4AxisOvp":{"name":"width","abstract":"

    Undocumented

    ","parent_name":"Constraint"},"Enums/Sizing/Constraint.html#/s:10ListableUI6SizingO10ConstraintV6heightAE4AxisOvp":{"name":"height","abstract":"

    Undocumented

    ","parent_name":"Constraint"},"Enums/Sizing/Constraint.html#/s:10ListableUI6SizingO10ConstraintV02noD0AEvpZ":{"name":"noConstraint","abstract":"

    Undocumented

    ","parent_name":"Constraint"},"Enums/Sizing/Constraint.html#/s:10ListableUI6SizingO10ConstraintVyA2E4AxisOcfc":{"name":"init(_:)","abstract":"

    Undocumented

    ","parent_name":"Constraint"},"Enums/Sizing/Constraint.html#/s:10ListableUI6SizingO10ConstraintV5width6heightA2E4AxisO_AItcfc":{"name":"init(width:height:)","abstract":"

    Undocumented

    ","parent_name":"Constraint"},"Enums/Sizing/Constraint.html#/s:10ListableUI6SizingO10ConstraintV5clamp_4withSo6CGSizeVAI_AItF":{"name":"clamp(_:with:)","abstract":"

    Undocumented

    ","parent_name":"Constraint"},"Enums/Sizing/Constraint/Axis.html":{"name":"Axis","abstract":"

    Undocumented

    ","parent_name":"Constraint"},"Enums/Sizing.html#/s:10ListableUI6SizingO7defaultyA2CmF":{"name":"default","abstract":"

    The default size from the list’s appearance is used. The size is not dynamic at all.

    ","parent_name":"Sizing"},"Enums/Sizing.html#/s:10ListableUI6SizingO5fixedyAC12CoreGraphics7CGFloatV_AGtcACmF":{"name":"fixed(width:height:)","abstract":"

    Fixes the size to the absolute value passed in.

    ","parent_name":"Sizing"},"Enums/Sizing.html#/s:10ListableUI6SizingO8thatFitsyA2C10ConstraintVcACmF":{"name":"thatFits(_:)","abstract":"

    Sizes the item by calling sizeThatFits on its underlying view type.","parent_name":"Sizing"},"Enums/Sizing.html#/s:10ListableUI6SizingO10autolayoutyA2C10ConstraintVcACmF":{"name":"autolayout(_:)","abstract":"

    Sizes the item by calling systemLayoutSizeFitting on its underlying view type.","parent_name":"Sizing"},"Enums/Sizing.html#/s:10ListableUI6SizingO11MeasureInfoV":{"name":"MeasureInfo","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Enums/Sizing/Constraint.html":{"name":"Constraint","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Enums/ScrollAnimation/AnimationOptions.html#/s:10ListableUI15ScrollAnimationO0D7OptionsO14curveEaseInOutyA2EmF":{"name":"curveEaseInOut","abstract":"

    Undocumented

    ","parent_name":"AnimationOptions"},"Enums/ScrollAnimation/AnimationOptions.html#/s:10ListableUI15ScrollAnimationO0D7OptionsO11curveEaseInyA2EmF":{"name":"curveEaseIn","abstract":"

    Undocumented

    ","parent_name":"AnimationOptions"},"Enums/ScrollAnimation/AnimationOptions.html#/s:10ListableUI15ScrollAnimationO0D7OptionsO12curveEaseOutyA2EmF":{"name":"curveEaseOut","abstract":"

    Undocumented

    ","parent_name":"AnimationOptions"},"Enums/ScrollAnimation/AnimationOptions.html#/s:10ListableUI15ScrollAnimationO0D7OptionsO11curveLinearyA2EmF":{"name":"curveLinear","abstract":"

    Undocumented

    ","parent_name":"AnimationOptions"},"Enums/ScrollAnimation.html#/s:10ListableUI15ScrollAnimationO4noneyA2CmF":{"name":"none","abstract":"

    No animation is performed.

    ","parent_name":"ScrollAnimation"},"Enums/ScrollAnimation.html#/s:10ListableUI15ScrollAnimationO7defaultyA2CmF":{"name":"default","abstract":"

    A default animation is performed. This is the same as .custom().

    ","parent_name":"ScrollAnimation"},"Enums/ScrollAnimation.html#/s:10ListableUI15ScrollAnimationO6customyACSd_ShyAC0D7OptionsOGtcACmF":{"name":"custom(duration:options:)","abstract":"

    A custom animation is performed.","parent_name":"ScrollAnimation"},"Enums/ScrollAnimation.html#/s:10ListableUI15ScrollAnimationO6springyACSd_So24UISpringTimingParametersCtcACmF":{"name":"spring(duration:timing:)","abstract":"

    Undocumented

    ","parent_name":"ScrollAnimation"},"Enums/ScrollAnimation.html#/s:10ListableUI15ScrollAnimationO3and4withACSb_tF":{"name":"and(with:)","abstract":"

    Ands the animation with the provided bool, returning the animation if true, and .none if false.

    ","parent_name":"ScrollAnimation"},"Enums/ScrollAnimation.html#/s:10ListableUI15ScrollAnimationO7perform10animations10completionyyyc_ySbctF":{"name":"perform(animations:completion:)","abstract":"

    Performs the provided animations for the ScrollAnimation.

    ","parent_name":"ScrollAnimation"},"Enums/ScrollAnimation/AnimationOptions.html":{"name":"AnimationOptions","abstract":"

    The animations options available for the ScrollAnimation.

    ","parent_name":"ScrollAnimation"},"Enums/ListSizing.html#/s:10ListableUI10ListSizingO10fillParentyA2CmF":{"name":"fillParent","abstract":"

    When using .fillParent, the full available space will be taken up, regardless","parent_name":"ListSizing"},"Enums/ListSizing.html#/s:10ListableUI10ListSizingO14measureContentyA2CmF":{"name":"measureContent","abstract":"

    When using .measureContent, the content will be measured within the provided fitting size","parent_name":"ListSizing"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO8verticalyA2CmF":{"name":"vertical","abstract":"

    A list layout which lays out top to bottom.

    ","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO10horizontalyA2CmF":{"name":"horizontal","abstract":"

    A list layout which lays out left to right (or leading to trailing, depending on implementation).

    ","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO6switch8vertical10horizontalxxyXE_xyXEtlF":{"name":"switch(vertical:horizontal:)","abstract":"

    When writing a layout, use this method to return differing values based on","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO6switch8vertical10horizontalxxyXK_xyXKtlF":{"name":"switch(vertical:horizontal:)","abstract":"

    When writing a layout, use this method to return differing values based on","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO6height3for12CoreGraphics7CGFloatVSo6CGSizeV_tF":{"name":"height(for:)","abstract":"

    .vertical: Returns the height of the provided size.","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO5width3for12CoreGraphics7CGFloatVSo6CGSizeV_tF":{"name":"width(for:)","abstract":"

    .vertical: Returns the width of the provided size.","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO5point1x1ySo7CGPointV12CoreGraphics7CGFloatV_AKtF":{"name":"point(x:y:)","abstract":"

    .vertical: Returns a CGPoint made with (x, y).","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO4size3forSo6CGSizeVAG_tF":{"name":"size(for:)","abstract":"

    .vertical: Returns the provided size.","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO4size5width6heightSo6CGSizeV12CoreGraphics7CGFloatV_AKtF":{"name":"size(width:height:)","abstract":"

    .vertical: Returns a CGSize made with (width, height).","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO4maxY3for12CoreGraphics7CGFloatVSo6CGRectV_tF":{"name":"maxY(for:)","abstract":"

    .vertical: Returns the maxY of the frame.","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO4maxX3for12CoreGraphics7CGFloatVSo6CGRectV_tF":{"name":"maxX(for:)","abstract":"

    .vertical: Returns the maxX of the frame.","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO1x3for12CoreGraphics7CGFloatVSo7CGPointV_tF":{"name":"x(for:)","abstract":"

    .vertical: Returns the x of the point.","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO1y3for12CoreGraphics7CGFloatVSo7CGPointV_tF":{"name":"y(for:)","abstract":"

    .vertical: Returns the y of the point.","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO3top4with12CoreGraphics7CGFloatVSo12UIEdgeInsetsV_tF":{"name":"top(with:)","abstract":"

    .vertical: Returns the top of the insets.","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO6bottom4with12CoreGraphics7CGFloatVSo12UIEdgeInsetsV_tF":{"name":"bottom(with:)","abstract":"

    .vertical: Returns the bottom of the insets.","parent_name":"LayoutDirection"},"Enums/ItemSelectionStyle.html#/s:10ListableUI18ItemSelectionStyleO13notSelectableyA2CmF":{"name":"notSelectable","abstract":"

    The item is not selectable at all.

    ","parent_name":"ItemSelectionStyle"},"Enums/ItemSelectionStyle.html#/s:10ListableUI18ItemSelectionStyleO8tappableyA2CmF":{"name":"tappable","abstract":"

    The item is temporarily selectable. Once the user lifts their finger, the item is deselected.

    ","parent_name":"ItemSelectionStyle"},"Enums/ItemSelectionStyle.html#/s:10ListableUI18ItemSelectionStyleO10selectableyACSb_tcACmF":{"name":"selectable(isSelected:)","abstract":"

    The item is persistently selectable. Once the user lifts their finger, the item is maintained.

    ","parent_name":"ItemSelectionStyle"},"Enums/ItemPosition.html#/s:10ListableUI12ItemPositionO6singleyA2CmF":{"name":"single","abstract":"

    Undocumented

    ","parent_name":"ItemPosition"},"Enums/ItemPosition.html#/s:10ListableUI12ItemPositionO5firstyA2CmF":{"name":"first","abstract":"

    Undocumented

    ","parent_name":"ItemPosition"},"Enums/ItemPosition.html#/s:10ListableUI12ItemPositionO6middleyA2CmF":{"name":"middle","abstract":"

    Undocumented

    ","parent_name":"ItemPosition"},"Enums/ItemPosition.html#/s:10ListableUI12ItemPositionO4lastyA2CmF":{"name":"last","abstract":"

    Undocumented

    ","parent_name":"ItemPosition"},"Enums/SwipeActionState.html#/s:10ListableUI16SwipeActionStateO6closedyA2CmF":{"name":"closed","abstract":"

    The actions are completely collapsed.

    ","parent_name":"SwipeActionState"},"Enums/SwipeActionState.html#/s:10ListableUI16SwipeActionStateO4openyA2CmF":{"name":"open","abstract":"

    The actions are open to their natural size.

    ","parent_name":"SwipeActionState"},"Enums/SwipeActionState.html#/s:10ListableUI16SwipeActionStateO7swipingyACSb_tcACmF":{"name":"swiping(willPerformAction:)","abstract":"

    The actions are being swiped and the size is affected by the gesture recognizer.

    ","parent_name":"SwipeActionState"},"Enums/SwipeActionState.html#/s:10ListableUI16SwipeActionStateO016willPerformFirstD13AutomaticallyyA2CmF":{"name":"willPerformFirstActionAutomatically","abstract":"

    The actions have been swiped far enough to confirm the first action.

    ","parent_name":"SwipeActionState"},"Enums/SwipeActionState.html#/s:10ListableUI16SwipeActionStateO13expandActionsyA2CmF":{"name":"expandActions","abstract":"

    The actions have been asked to completely expand (typically because the item is being deleted).

    ","parent_name":"SwipeActionState"},"Enums/ContentFilters.html#/s:10ListableUI14ContentFiltersO03anyC0ShyACGvpZ":{"name":"anyContent","abstract":"

    If there is any content in the list at all, including headers and footers.

    ","parent_name":"ContentFilters"},"Enums/ContentFilters.html#/s:10ListableUI14ContentFiltersO12sectionsOnlyShyACGvpZ":{"name":"sectionsOnly","abstract":"

    Check if the content in the list is section-driven content, with the","parent_name":"ContentFilters"},"Enums/ContentFilters.html#/s:10ListableUI14ContentFiltersO10listHeaderyA2CmF":{"name":"listHeader","abstract":"

    If the list has a list-level header.

    ","parent_name":"ContentFilters"},"Enums/ContentFilters.html#/s:10ListableUI14ContentFiltersO10listFooteryA2CmF":{"name":"listFooter","abstract":"

    If the list has a list-level footer.

    ","parent_name":"ContentFilters"},"Enums/ContentFilters.html#/s:10ListableUI14ContentFiltersO16overscrollFooteryA2CmF":{"name":"overscrollFooter","abstract":"

    If the list has an overscroll footer.

    ","parent_name":"ContentFilters"},"Enums/ContentFilters.html#/s:10ListableUI14ContentFiltersO5itemsyA2CmF":{"name":"items","abstract":"

    If the sections in the list contain any items.

    ","parent_name":"ContentFilters"},"Enums/ContentFilters.html#/s:10ListableUI14ContentFiltersO14sectionHeadersyA2CmF":{"name":"sectionHeaders","abstract":"

    If any section in the list has a header.

    ","parent_name":"ContentFilters"},"Enums/ContentFilters.html#/s:10ListableUI14ContentFiltersO14sectionFootersyA2CmF":{"name":"sectionFooters","abstract":"

    If any section in the list has a footer.

    ","parent_name":"ContentFilters"},"Enums/AutoScrollAction/OnInsertedItem.html#/s:10ListableUI16AutoScrollActionO14OnInsertedItemV11destinationAC0D11DestinationOvp":{"name":"destination","abstract":"

    The item in the list to scroll to when the insertedIdentifier is inserted.

    ","parent_name":"OnInsertedItem"},"Enums/AutoScrollAction/OnInsertedItem.html#/s:10ListableUI16AutoScrollActionO14OnInsertedItemV18insertedIdentifierAA03AnyJ0Cvp":{"name":"insertedIdentifier","abstract":"

    The identifier of the item for which the AutoScrollAction should be performed.

    ","parent_name":"OnInsertedItem"},"Enums/AutoScrollAction/OnInsertedItem.html#/s:10ListableUI16AutoScrollActionO14OnInsertedItemV8positionAA0D8PositionVvp":{"name":"position","abstract":"

    The desired scroll position,

    ","parent_name":"OnInsertedItem"},"Enums/AutoScrollAction/OnInsertedItem.html#/s:10ListableUI16AutoScrollActionO14OnInsertedItemV9animationAA0D9AnimationOvp":{"name":"animation","abstract":"

    How to animate the change.

    ","parent_name":"OnInsertedItem"},"Enums/AutoScrollAction/OnInsertedItem.html#/s:10ListableUI16AutoScrollActionO14OnInsertedItemV13shouldPerformySbAA04ListD12PositionInfoVcvp":{"name":"shouldPerform","abstract":"

    An additional check you may provide to approve or reject the scroll action.

    ","parent_name":"OnInsertedItem"},"Enums/AutoScrollAction/OnInsertedItem.html#/s:10ListableUI16AutoScrollActionO14OnInsertedItemV10didPerformyyAA04ListD12PositionInfoVcvp":{"name":"didPerform","abstract":"

    Called when the list performs the insertion.

    ","parent_name":"OnInsertedItem"},"Enums/AutoScrollAction/ScrollDestination.html#/s:10ListableUI16AutoScrollActionO0D11DestinationO9firstItemyA2EmF":{"name":"firstItem","abstract":"

    Scroll to the first item in the list.

    ","parent_name":"ScrollDestination"},"Enums/AutoScrollAction/ScrollDestination.html#/s:10ListableUI16AutoScrollActionO0D11DestinationO8lastItemyA2EmF":{"name":"lastItem","abstract":"

    Scroll to the last item in the list.

    ","parent_name":"ScrollDestination"},"Enums/AutoScrollAction/ScrollDestination.html#/s:10ListableUI16AutoScrollActionO0D11DestinationO4itemyAeA13AnyIdentifierCcAEmF":{"name":"item(_:)","abstract":"

    Scroll to the item with the specified identifier.

    ","parent_name":"ScrollDestination"},"Enums/AutoScrollAction.html#/s:10ListableUI16AutoScrollActionO4noneyA2CmF":{"name":"none","abstract":"

    The list never automatically scrolls.

    ","parent_name":"AutoScrollAction"},"Enums/AutoScrollAction.html#/s:10ListableUI16AutoScrollActionO12scrollToItemyA2C010OnInsertedH0V_tcACmF":{"name":"scrollToItem(onInsertOf:)","abstract":"

    Scrolls to the specified item when the list is updated if the item was inserted in this update.

    ","parent_name":"AutoScrollAction"},"Enums/AutoScrollAction.html#/s:10ListableUI16AutoScrollActionO8scrollTo_10onInsertOf8position9animation13shouldPerform03didN0A2C0D11DestinationOSg_AA13AnyIdentifierCAA0D8PositionVAA0D9AnimationOSbAA04ListdS4InfoVcyATctFZ":{"name":"scrollTo(_:onInsertOf:position:animation:shouldPerform:didPerform:)","abstract":"

    Scrolls to the specified item when the list is updated if the item was inserted in this update.

    ","parent_name":"AutoScrollAction"},"Enums/AutoScrollAction/ScrollDestination.html":{"name":"ScrollDestination","abstract":"

    Where to scroll as a result of an AutoScrollAction.

    ","parent_name":"AutoScrollAction"},"Enums/AutoScrollAction/OnInsertedItem.html":{"name":"OnInsertedItem","abstract":"

    Values used to configure the scrollToItem(onInsertOf:) action.

    ","parent_name":"AutoScrollAction"},"Enums/ApplyReason.html#/s:10ListableUI11ApplyReasonO11willDisplayyA2CmF":{"name":"willDisplay","abstract":"

    The view is about to be displayed on screen. Update should be performed with no animation.

    ","parent_name":"ApplyReason"},"Enums/ApplyReason.html#/s:10ListableUI11ApplyReasonO10wasUpdatedyA2CmF":{"name":"wasUpdated","abstract":"

    A view that is already visible is being updated.","parent_name":"ApplyReason"},"Enums/ApplyReason.html#/s:10ListableUI11ApplyReasonO13shouldAnimateSbvp":{"name":"shouldAnimate","abstract":"

    If you should use animations while applying the update.","parent_name":"ApplyReason"},"Enums/ApplyReason.html":{"name":"ApplyReason","abstract":"

    Why the Item or HeaderFooter is being asked to apply an update to its presented views.

    "},"Enums/AutoScrollAction.html":{"name":"AutoScrollAction","abstract":"

    Options for auto-scrolling to items when the list is updated.

    "},"Enums/ContentFilters.html":{"name":"ContentFilters","abstract":"

    A filter enum which allows you to query the types of content contained in a Content or Section object.

    "},"Enums/SwipeActionState.html":{"name":"SwipeActionState","abstract":"

    These states dictate the layout of the swipe actions.

    "},"Enums/ItemPosition.html":{"name":"ItemPosition","abstract":"

    Undocumented

    "},"Enums/ItemSelectionStyle.html":{"name":"ItemSelectionStyle","abstract":"

    Controls the selection style and behavior of an item in a list.

    "},"Enums/LayoutDirection.html":{"name":"LayoutDirection","abstract":"

    Describes the given direction / axis that a layout uses when flowing its content.

    "},"Enums/ListSizing.html":{"name":"ListSizing","abstract":"

    Provides the possible options for how to size and measure a list when its measured size is queried"},"Enums/ScrollAnimation.html":{"name":"ScrollAnimation","abstract":"

    Specifies the kind of animation to use when scrolling a list view.

    "},"Enums/Sizing.html":{"name":"Sizing","abstract":"

    Controls how a header, footer, or item in a list view is sized.

    "},"Enums/WidthConstraint.html":{"name":"WidthConstraint","abstract":"

    Undocumented

    "},"Enums/CustomWidth.html":{"name":"CustomWidth","abstract":"

    Undocumented

    "},"Classes/ReorderingActions.html#/s:10ListableUI17ReorderingActionsC8isMovingSbvp":{"name":"isMoving","abstract":"

    Undocumented

    ","parent_name":"ReorderingActions"},"Classes/ReorderingActions.html#/s:10ListableUI17ReorderingActionsC11beginMovingSbyF":{"name":"beginMoving()","abstract":"

    Undocumented

    ","parent_name":"ReorderingActions"},"Classes/ReorderingActions.html#/s:10ListableUI17ReorderingActionsC5moved4withySo22UIPanGestureRecognizerC_tF":{"name":"moved(with:)","abstract":"

    Undocumented

    ","parent_name":"ReorderingActions"},"Classes/ReorderingActions.html#/s:10ListableUI17ReorderingActionsC3endyyF":{"name":"end()","abstract":"

    Undocumented

    ","parent_name":"ReorderingActions"},"Classes/ItemPreviewView.html#/c:@M@ListableUI@objc(cs)ItemPreviewView(im)init":{"name":"init()","abstract":"

    Creates a preview for the given width.

    ","parent_name":"ItemPreviewView"},"Classes/ItemPreviewView.html#/s:10ListableUI15ItemPreviewViewC4with5state10appearance4itemAC12CoreGraphics7CGFloatV_AA0C5StateVAA0cD10AppearanceVAA03AnyC0_ptcfc":{"name":"init(with:state:appearance:item:)","abstract":"

    Creates a preview for the given item and parameters, and then lays out the preview view.

    ","parent_name":"ItemPreviewView"},"Classes/ItemPreviewView.html#/s:10ListableUI15ItemPreviewViewC6update4with5state10appearance4itemy12CoreGraphics7CGFloatV_AA0C5StateVAA0cD10AppearanceVAA03AnyC0_ptF":{"name":"update(with:state:appearance:item:)","abstract":"

    Updates the item for the given parameters.","parent_name":"ItemPreviewView"},"Classes/ItemPreviewView.html#/c:@M@ListableUI@objc(cs)ItemPreviewView(im)layoutSubviews":{"name":"layoutSubviews()","abstract":"

    Undocumented

    ","parent_name":"ItemPreviewView"},"Classes/ItemPreviewView.html#/c:@M@ListableUI@objc(cs)ItemPreviewView(im)sizeThatFits:":{"name":"sizeThatFits(_:)","abstract":"

    Undocumented

    ","parent_name":"ItemPreviewView"},"Classes/ItemPreviewView.html#/c:@M@ListableUI@objc(cs)ItemPreviewView(py)intrinsicContentSize":{"name":"intrinsicContentSize","abstract":"

    Undocumented

    ","parent_name":"ItemPreviewView"},"Classes/StaticSource/State.html#/s:10ListableUI12StaticSourceC5StateVAEycfc":{"name":"init()","abstract":"

    Undocumented

    ","parent_name":"State"},"Classes/StaticSource/State.html":{"name":"State","abstract":"

    Undocumented

    ","parent_name":"StaticSource"},"Classes/StaticSource.html#/s:10ListableUI12StaticSourceC7contentAA7ContentVvp":{"name":"content","abstract":"

    Undocumented

    ","parent_name":"StaticSource"},"Classes/StaticSource.html#/s:10ListableUI12StaticSourceC4withAcA7ContentV_tcfc":{"name":"init(with:)","abstract":"

    Undocumented

    ","parent_name":"StaticSource"},"Classes/StaticSource.html#/s:10ListableUI12StaticSourceC4withACyAA7ContentVzXE_tcfc":{"name":"init(with:)","abstract":"

    Undocumented

    ","parent_name":"StaticSource"},"Classes/StaticSource.html#/s:10ListableUI12StaticSourceC7content4withADyAA0D5StateCyAC0G0VG_AA7ContentVztF":{"name":"content(with:content:)","abstract":"

    Undocumented

    ","parent_name":"StaticSource"},"Classes/StaticSource.html#/s:10ListableUI12StaticSourceC7content4withAA7ContentVAA0D5StateCyAC0H0VG_tF":{"name":"content(with:)","abstract":"

    Undocumented

    ","parent_name":"StaticSource"},"Classes/DynamicSource.html#/s:10ListableUI13DynamicSourceC7Buildera":{"name":"Builder","abstract":"

    Undocumented

    ","parent_name":"DynamicSource"},"Classes/DynamicSource.html#/s:10ListableUI13DynamicSourceC4withACyxGyAA0D5StateCyxG_AA7ContentVztc_tcfc":{"name":"init(with:)","abstract":"

    Undocumented

    ","parent_name":"DynamicSource"},"Classes/DynamicSource.html#/s:10ListableUI13DynamicSourceC7content4withADyAA0D5StateCyxG_AA7ContentVztF":{"name":"content(with:content:)","abstract":"

    Undocumented

    ","parent_name":"DynamicSource"},"Classes/SourceState.html#/s:10ListableUI11SourceStateC5valuexvp":{"name":"value","abstract":"

    Undocumented

    ","parent_name":"SourceState"},"Classes/SourceState.html#/s:10ListableUI11SourceStateC3setyyyxzXEF":{"name":"set(_:)","abstract":"

    Undocumented

    ","parent_name":"SourceState"},"Classes/SourceState.html#/s:10ListableUI11SourceStateC7initial9didChangeACyxGx_yyctcfc":{"name":"init(initial:didChange:)","abstract":"

    Undocumented

    ","parent_name":"SourceState"},"Classes/SourceState.html#/s:10ListableUI11SourceStateC7discardyyF":{"name":"discard()","abstract":"

    Undocumented

    ","parent_name":"SourceState"},"Classes/StateAccessor.html#/s:10ListableUI13StateAccessorC5valuexvp":{"name":"value","abstract":"

    Undocumented

    ","parent_name":"StateAccessor"},"Classes/ListViewController.html#/s:10ListableUI18ListViewControllerC9configure4listyAA0C10PropertiesVz_tF":{"name":"configure(list:)","abstract":"

    Override this method to configure your list how you’d like to.","parent_name":"ListViewController"},"Classes/ListViewController.html#/s:10ListableUI18ListViewControllerC6reload8animatedySb_tF":{"name":"reload(animated:)","abstract":"

    Undocumented

    ","parent_name":"ListViewController"},"Classes/ListViewController.html#/c:@M@ListableUI@objc(cs)ListViewController(im)initWithNibName:bundle:":{"name":"init(nibName:bundle:)","abstract":"

    Undocumented

    ","parent_name":"ListViewController"},"Classes/ListViewController.html#/c:@M@ListableUI@objc(cs)ListViewController(im)loadView":{"name":"loadView()","abstract":"

    Undocumented

    ","parent_name":"ListViewController"},"Classes/ListViewController.html#/c:@M@ListableUI@objc(cs)ListViewController(im)viewWillAppear:":{"name":"viewWillAppear(_:)","abstract":"

    Undocumented

    ","parent_name":"ListViewController"},"Classes/ListView.html#/s:10ListableUI8ListViewC5frame10appearanceACSo6CGRectV_AA10AppearanceVtcfc":{"name":"init(frame:appearance:)","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC19debuggingIdentifierSSSgvp":{"name":"debuggingIdentifier","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC10appearanceAA10AppearanceVvp":{"name":"appearance","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC18scrollPositionInfoAA0c6ScrollfG0Vvp":{"name":"scrollPositionInfo","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC6layoutAA17LayoutDescriptionVvp":{"name":"layout","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC3set6layout8animated10completionyAA17LayoutDescriptionV_SbyyctF":{"name":"set(layout:animated:completion:)","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC11contentSizeSo6CGSizeVvp":{"name":"contentSize","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC8behaviorAA8BehaviorVvp":{"name":"behavior","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC21scrollIndicatorInsetsSo06UIEdgeG0Vvp":{"name":"scrollIndicatorInsets","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC13stateObserverAA0c5StateF0Vvp":{"name":"stateObserver","abstract":"

    A state observer allows you to receive callbacks when varying types","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC16ScrollCompletiona":{"name":"ScrollCompletion","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC8scrollTo4item8position9animation10completionSbAA7AnyItem_p_AA14ScrollPositionVAA0M9AnimationOySbctF":{"name":"scrollTo(item:position:animation:completion:)","abstract":"

    Scrolls to the provided item, with the provided positioning.","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC8scrollTo4item8position9animation10completionSbAA13AnyIdentifierC_AA14ScrollPositionVAA0M9AnimationOySbctF":{"name":"scrollTo(item:position:animation:completion:)","abstract":"

    Scrolls to the item with the provided identifier, with the provided positioning.","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC11scrollToTop9animation10completionSbAA15ScrollAnimationO_ySbctF":{"name":"scrollToTop(animation:completion:)","abstract":"

    Scrolls to the very top of the list, which includes displaying the list header.

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC16scrollToLastItem9animation10completionSbAA15ScrollAnimationO_ySbctF":{"name":"scrollToLastItem(animation:completion:)","abstract":"

    Scrolls to the last item in the list. If the list contains no items, no action is performed.

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC11environmentAA0C11EnvironmentVvp":{"name":"environment","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC7contentAA7ContentVvp":{"name":"content","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC10setContent8animated_ySb_AA0F0VtF":{"name":"setContent(animated:_:)","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC3set6source7initial8animatedAA13StateAccessorCy0I0QzGx_AKSbtAA0cD6SourceRzlF":{"name":"set(source:initial:animated:)","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC9configure4withyyAA0C10PropertiesVzXE_tF":{"name":"configure(with:)","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC9configure4withyAA0C10PropertiesV_tF":{"name":"configure(with:)","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/c:@M@ListableUI@objc(cs)ListView(py)frame":{"name":"frame","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/c:@M@ListableUI@objc(cs)ListView(py)bounds":{"name":"bounds","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/c:@M@ListableUI@objc(cs)ListView(py)backgroundColor":{"name":"backgroundColor","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/c:@M@ListableUI@objc(cs)ListView(im)didMoveToWindow":{"name":"didMoveToWindow()","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/c:@M@ListableUI@objc(cs)ListView(im)didMoveToSuperview":{"name":"didMoveToSuperview()","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/c:@M@ListableUI@objc(cs)ListView(im)layoutSubviews":{"name":"layoutSubviews()","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC11contentSize2in3forSo6CGSizeVAH_yAA0C10PropertiesVzXEtFZ":{"name":"contentSize(in:for:)","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC11contentSize2in3forSo6CGSizeVAH_AA0C10PropertiesVtFZ":{"name":"contentSize(in:for:)","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC28testing_forceLayoutUpdateNowyyF":{"name":"testing_forceLayoutUpdateNow()","abstract":"

    Call this method to force an immediate, synchronous re-render of the list","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC020clearSelectionDuringD10WillAppear9alongside8animatedySo37UIViewControllerTransitionCoordinator_pSg_SbtF":{"name":"clearSelectionDuringViewWillAppear(alongside:animated:)","abstract":"

    A method which provides Behavior.SelectionMode.single‘s clearsSelectionOnViewWillAppear behaviour.","parent_name":"ListView"},"Classes/ListActions/ViewControllerTransitioning.html#/s:10ListableUI11ListActionsC27ViewControllerTransitioningCAEycfc":{"name":"init()","abstract":"

    Undocumented

    ","parent_name":"ViewControllerTransitioning"},"Classes/ListActions/Scrolling.html#/s:10ListableUI11ListActionsC9ScrollingCAEycfc":{"name":"init()","abstract":"

    Undocumented

    ","parent_name":"Scrolling"},"Classes/ListActions/Scrolling.html#/s:10ListableUI11ListActionsC9ScrollingC16ScrollCompletiona":{"name":"ScrollCompletion","abstract":"

    Undocumented

    ","parent_name":"Scrolling"},"Classes/ListActions/Scrolling.html#/s:10ListableUI11ListActionsC9ScrollingC8scrollTo4item8position9animation10completionSbAA7AnyItem_p_AA14ScrollPositionVAA0N9AnimationOySbctF":{"name":"scrollTo(item:position:animation:completion:)","abstract":"

    Scrolls to the provided item, with the provided positioning.","parent_name":"Scrolling"},"Classes/ListActions/Scrolling.html#/s:10ListableUI11ListActionsC9ScrollingC8scrollTo4item8position9animation10completionSbAA13AnyIdentifierC_AA14ScrollPositionVAA0N9AnimationOySbctF":{"name":"scrollTo(item:position:animation:completion:)","abstract":"

    Scrolls to the item with the provided identifier, with the provided positioning.","parent_name":"Scrolling"},"Classes/ListActions/Scrolling.html#/s:10ListableUI11ListActionsC9ScrollingC11scrollToTop9animation10completionSbAA15ScrollAnimationO_ySbctF":{"name":"scrollToTop(animation:completion:)","abstract":"

    Scrolls to the very top of the list, which includes displaying the list header.

    ","parent_name":"Scrolling"},"Classes/ListActions/Scrolling.html#/s:10ListableUI11ListActionsC9ScrollingC16scrollToLastItem9animation10completionSbAA15ScrollAnimationO_ySbctF":{"name":"scrollToLastItem(animation:completion:)","abstract":"

    Scrolls to the last item in the list. If the list contains no items, no action is performed.

    ","parent_name":"Scrolling"},"Classes/ListActions.html#/s:10ListableUI11ListActionsC9scrollingAC9ScrollingCvp":{"name":"scrolling","abstract":"

    Actions which allow scrolling to individual items in a list.

    ","parent_name":"ListActions"},"Classes/ListActions.html#/s:10ListableUI11ListActionsC27viewControllerTransitioningAC04ViewfG0Cvp":{"name":"viewControllerTransitioning","abstract":"

    Actions which allow hooking up your list to the view controller transitioning APIs.

    ","parent_name":"ListActions"},"Classes/ListActions.html#/s:10ListableUI11ListActionsCACycfc":{"name":"init()","abstract":"

    Creates and returns an actions object which can be registered with a list view.

    ","parent_name":"ListActions"},"Classes/ListActions/Scrolling.html":{"name":"Scrolling","abstract":"

    Provides access to scrolling actions within a list view.

    ","parent_name":"ListActions"},"Classes/ListActions/ViewControllerTransitioning.html":{"name":"ViewControllerTransitioning","abstract":"

    Provides access to view controller transitioning options in a list.

    ","parent_name":"ListActions"},"Classes/ListLayoutContent.html#/s:10ListableUI17ListLayoutContentC11SectionInfoC":{"name":"SectionInfo","abstract":"

    Undocumented

    ","parent_name":"ListLayoutContent"},"Classes/ListLayoutContent.html#/s:10ListableUI17ListLayoutContentC21SupplementaryItemInfoC":{"name":"SupplementaryItemInfo","abstract":"

    Undocumented

    ","parent_name":"ListLayoutContent"},"Classes/ListLayoutContent.html#/s:10ListableUI17ListLayoutContentC8ItemInfoC":{"name":"ItemInfo","abstract":"

    Undocumented

    ","parent_name":"ListLayoutContent"},"Classes/DefaultItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP7actionsAA0cdE7ActionsCy0cD4TypeQzGvp":{"name":"actions","parent_name":"DefaultItemContentCoordinator"},"Classes/DefaultItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP4infoAA0cdE4InfoCy0cD4TypeQzGvp":{"name":"info","parent_name":"DefaultItemContentCoordinator"},"Classes/DefaultItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP4view0cD4Type_0D4ViewQZSgvp":{"name":"view","parent_name":"DefaultItemContentCoordinator"},"Classes/ItemContentCoordinatorInfo.html#/s:10ListableUI26ItemContentCoordinatorInfoC8originalAA0C0VyxGvp":{"name":"original","abstract":"

    The original state of the item, as passed to the list.","parent_name":"ItemContentCoordinatorInfo"},"Classes/ItemContentCoordinatorInfo.html#/s:10ListableUI26ItemContentCoordinatorInfoC7currentAA0C0VyxGvp":{"name":"current","abstract":"

    The current value of the item, including changes made","parent_name":"ItemContentCoordinatorInfo"},"Classes/ItemContentCoordinatorActions.html#/s:10ListableUI29ItemContentCoordinatorActionsC6update8animated_ySb_AA0C0VyxGtF":{"name":"update(animated:_:)","abstract":"

    Updates the item to the provided item.

    ","parent_name":"ItemContentCoordinatorActions"},"Classes/ItemContentCoordinatorActions.html#/s:10ListableUI29ItemContentCoordinatorActionsC6update8animated_ySb_yAA0C0VyxGzXEtF":{"name":"update(animated:_:)","abstract":"

    Allows you to update the item passed into the update closure.

    ","parent_name":"ItemContentCoordinatorActions"},"Classes/__LST_KeyboardObserver_ObjCAccess.html#/c:@M@ListableUI@objc(cs)__LST_KeyboardObserver_ObjCAccess(cm)__setupSharedInstance":{"name":"__setupSharedInstance()","abstract":"

    Undocumented

    ","parent_name":"__LST_KeyboardObserver_ObjCAccess"},"Classes/DefaultSwipeActionsView.html#/s:10ListableUI23DefaultSwipeActionsViewC05swipeE5Width12CoreGraphics7CGFloatVvp":{"name":"swipeActionsWidth","abstract":"

    Undocumented

    ","parent_name":"DefaultSwipeActionsView"},"Classes/DefaultSwipeActionsView.html#/s:10ListableUI23DefaultSwipeActionsViewC16didPerformActionACySbc_tcfc":{"name":"init(didPerformAction:)","abstract":"

    Undocumented

    ","parent_name":"DefaultSwipeActionsView"},"Classes/DefaultSwipeActionsView.html#/c:@M@ListableUI@objc(cs)DefaultSwipeActionsView(im)layoutSubviews":{"name":"layoutSubviews()","abstract":"

    Undocumented

    ","parent_name":"DefaultSwipeActionsView"},"Classes/DefaultSwipeActionsView.html#/s:10ListableUI23DefaultSwipeActionsViewC5apply7actionsyAA0dE13ConfigurationV_tF":{"name":"apply(actions:)","abstract":"

    Undocumented

    ","parent_name":"DefaultSwipeActionsView"},"Classes/DefaultSwipeActionsView.html#/s:10ListableUI23DefaultSwipeActionsViewC5apply5stateyAA0D11ActionStateO_tF":{"name":"apply(state:)","abstract":"

    Undocumented

    ","parent_name":"DefaultSwipeActionsView"},"Classes/AnyIdentifier.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"AnyIdentifier"},"Classes/AnyIdentifier.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"AnyIdentifier"},"Classes/AnyIdentifier.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"AnyIdentifier"},"Classes/Identifier.html#/s:10ListableUI10IdentifierCACyxGycfc":{"name":"init()","abstract":"

    Identifier which identifies by the type of Represented only.","parent_name":"Identifier"},"Classes/Identifier.html#/s:10ListableUI10IdentifierCyACyxGqd__cSHRd__lufc":{"name":"init(_:)","abstract":"

    Creates an identifier which identifies by both Represented, and the value passed to init.

    ","parent_name":"Identifier"},"Classes/Identifier.html#/s:10ListableUI10IdentifierC16debugDescriptionSSvp":{"name":"debugDescription","abstract":"

    Undocumented

    ","parent_name":"Identifier"},"Classes/Identifier.html":{"name":"Identifier","abstract":"

    An Identifier is used to unique items in Listable lists. Sections,"},"Classes/AnyIdentifier.html":{"name":"AnyIdentifier","abstract":"

    A type-erased Identifier used to identify content in a listable list.

    "},"Classes/DefaultSwipeActionsView.html":{"name":"DefaultSwipeActionsView","abstract":"

    Undocumented

    "},"Classes/__LST_KeyboardObserver_ObjCAccess.html":{"name":"__LST_KeyboardObserver_ObjCAccess","abstract":"

    An Objective-C accessible class that lets us set up the shared"},"Classes/ItemContentCoordinatorActions.html":{"name":"ItemContentCoordinatorActions","abstract":"

    The available actions you can perform as a coordinator, which are reported back to the list to manage the item.

    "},"Classes/ItemContentCoordinatorInfo.html":{"name":"ItemContentCoordinatorInfo","abstract":"

    Information about the current and original state of the item.

    "},"Classes/DefaultItemContentCoordinator.html":{"name":"DefaultItemContentCoordinator","abstract":"

    The default ItemContentCoordinator, which performs no actions.

    "},"Classes/ListLayoutContent.html":{"name":"ListLayoutContent","abstract":"

    Undocumented

    "},"Classes/ListActions.html":{"name":"ListActions","abstract":"

    ListActions is an type that you can use to gain access to actions to perform on a List"},"Classes/ListView.html":{"name":"ListView","abstract":"

    Undocumented

    "},"Classes.html#/s:10ListableUI15UpdateCallbacksC":{"name":"UpdateCallbacks","abstract":"

    Undocumented

    "},"Classes/ListViewController.html":{"name":"ListViewController","abstract":"

    A class which provides an easy way to set up and display a ListView,"},"Classes/StateAccessor.html":{"name":"StateAccessor","abstract":"

    Undocumented

    "},"Classes/SourceState.html":{"name":"SourceState","abstract":"

    Undocumented

    "},"Classes/DynamicSource.html":{"name":"DynamicSource","abstract":"

    Undocumented

    "},"Classes/StaticSource.html":{"name":"StaticSource","abstract":"

    Undocumented

    "},"Classes/ItemPreviewView.html":{"name":"ItemPreviewView","abstract":"

    A view you can use to test the various possible states that your ItemContent can be in.

    "},"Classes/ReorderingActions.html":{"name":"ReorderingActions","abstract":"

    Undocumented

    "},"Classes.html":{"name":"Classes","abstract":"

    The following classes are available globally.

    "},"Enums.html":{"name":"Enumerations","abstract":"

    The following enumerations are available globally.

    "},"Extensions.html":{"name":"Extensions","abstract":"

    The following extensions are available globally.

    "},"Functions.html":{"name":"Functions","abstract":"

    The following functions are available globally.

    "},"Protocols.html":{"name":"Protocols","abstract":"

    The following protocols are available globally.

    "},"Structs.html":{"name":"Structures","abstract":"

    The following structures are available globally.

    "},"Typealiases.html":{"name":"Type Aliases","abstract":"

    The following type aliases are available globally.

    "}} \ No newline at end of file +{"Typealiases.html#/s:10ListableUI6Headera":{"name":"Header","abstract":"

    Undocumented

    "},"Typealiases.html#/s:10ListableUI6Footera":{"name":"Footer","abstract":"

    Undocumented

    "},"Typealiases.html#/s:10ListableUI13HeaderContenta":{"name":"HeaderContent","abstract":"

    Undocumented

    "},"Typealiases.html#/s:10ListableUI13FooterContenta":{"name":"FooterContent","abstract":"

    Undocumented

    "},"Structs/SwipeAction.html#/s:10ListableUI11SwipeActionV17CompletionHandlera":{"name":"CompletionHandler","abstract":"

    The completion handler to call after performing the swipe action.

    ","parent_name":"SwipeAction"},"Structs/SwipeAction.html#/s:10ListableUI11SwipeActionV7Handlera":{"name":"Handler","abstract":"

    The completion handler called when the action is tapped.

    ","parent_name":"SwipeAction"},"Structs/SwipeAction.html#/s:10ListableUI11SwipeActionV5titleSSSgvp":{"name":"title","abstract":"

    Undocumented

    ","parent_name":"SwipeAction"},"Structs/SwipeAction.html#/s:10ListableUI11SwipeActionV15backgroundColorSo7UIColorCSgvp":{"name":"backgroundColor","abstract":"

    Undocumented

    ","parent_name":"SwipeAction"},"Structs/SwipeAction.html#/s:10ListableUI11SwipeActionV5imageSo7UIImageCSgvp":{"name":"image","abstract":"

    Undocumented

    ","parent_name":"SwipeAction"},"Structs/SwipeAction.html#/s:10ListableUI11SwipeActionV7handleryyySbccvp":{"name":"handler","abstract":"

    Undocumented

    ","parent_name":"SwipeAction"},"Structs/SwipeAction.html#/s:10ListableUI11SwipeActionV5title15backgroundColor5image7handlerACSS_So7UIColorCSo7UIImageCSgyySbcctcfc":{"name":"init(title:backgroundColor:image:handler:)","abstract":"

    Undocumented

    ","parent_name":"SwipeAction"},"Structs/SwipeActionsConfiguration.html#/s:10ListableUI25SwipeActionsConfigurationV7actionsSayAA0C6ActionVGvp":{"name":"actions","abstract":"

    The actions to display when the cell is swiped.

    ","parent_name":"SwipeActionsConfiguration"},"Structs/SwipeActionsConfiguration.html#/s:10ListableUI25SwipeActionsConfigurationV027performsFirstActionWithFullC0Sbvp":{"name":"performsFirstActionWithFullSwipe","abstract":"

    Whether the first action is performed automatically with a full swipe.

    ","parent_name":"SwipeActionsConfiguration"},"Structs/SwipeActionsConfiguration.html#/s:10ListableUI25SwipeActionsConfigurationV6action027performsFirstActionWithFullC0AcA0cI0V_Sbtcfc":{"name":"init(action:performsFirstActionWithFullSwipe:)","abstract":"

    Undocumented

    ","parent_name":"SwipeActionsConfiguration"},"Structs/SwipeActionsConfiguration.html#/s:10ListableUI25SwipeActionsConfigurationV7actions027performsFirstActionWithFullC0ACSayAA0cI0VG_Sbtcfc":{"name":"init(actions:performsFirstActionWithFullSwipe:)","abstract":"

    Undocumented

    ","parent_name":"SwipeActionsConfiguration"},"Structs/HorizontalPadding.html#/s:10ListableUI17HorizontalPaddingV4left12CoreGraphics7CGFloatVvp":{"name":"left","abstract":"

    Undocumented

    ","parent_name":"HorizontalPadding"},"Structs/HorizontalPadding.html#/s:10ListableUI17HorizontalPaddingV5right12CoreGraphics7CGFloatVvp":{"name":"right","abstract":"

    Undocumented

    ","parent_name":"HorizontalPadding"},"Structs/HorizontalPadding.html#/s:10ListableUI17HorizontalPaddingV4zeroACvpZ":{"name":"zero","abstract":"

    Undocumented

    ","parent_name":"HorizontalPadding"},"Structs/HorizontalPadding.html#/s:10ListableUI17HorizontalPaddingV4left5rightAC12CoreGraphics7CGFloatV_AHtcfc":{"name":"init(left:right:)","abstract":"

    Undocumented

    ","parent_name":"HorizontalPadding"},"Structs/HorizontalPadding.html#/s:10ListableUI17HorizontalPaddingV7uniformAC12CoreGraphics7CGFloatV_tcfc":{"name":"init(uniform:)","abstract":"

    Undocumented

    ","parent_name":"HorizontalPadding"},"Structs/Section.html#/s:10ListableUI7SectionV4infoAA03AnyC4Info_pvp":{"name":"info","abstract":"

    Data backing the identity and updates to the section – for example","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV6headerAA15AnyHeaderFooter_pSgvp":{"name":"header","abstract":"

    The header, if any, associated with the section.

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV6footerAA15AnyHeaderFooter_pSgvp":{"name":"footer","abstract":"

    The footer, if any, associated with the section.

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV5itemsSayAA7AnyItem_pGvp":{"name":"items","abstract":"

    The items, if any, associated with the section.

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV8contains3anySbShyAA14ContentFiltersOG_tF":{"name":"contains(any:)","abstract":"

    Check if the section contains any of the given types, which you specify via the filters","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV7layoutsAA0C7LayoutsVvp":{"name":"layouts","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV9Configurea":{"name":"Configure","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV_9configureACx_yACzXEtcAA0C4InfoRzlufc":{"name":"init(_:configure:)","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV_7layouts6header6footer5items9configureACx_AA0C7LayoutsVAA15AnyHeaderFooter_pSgALSayAA0J4Item_pGyACzXEtcSHRzlufc":{"name":"init(_:layouts:header:footer:items:configure:)","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV_7layouts6header6footer5items9configureACx_AA0C7LayoutsVAA15AnyHeaderFooter_pSgALSayAA0J4Item_pGyACzXEtcAA0C4InfoRzlufc":{"name":"init(_:layouts:header:footer:items:configure:)","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV3addyyAA7AnyItem_pF":{"name":"add(_:)","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV2peoiyyACz_AA7AnyItem_ptFZ":{"name":"+=(_:_:)","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV2peoiyyACz_AA4ItemVyxGtAA0E7ContentRzlFZ":{"name":"+=(_:_:)","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV2peoiyyACz_xtAA11ItemContentRzlFZ":{"name":"+=(_:_:)","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV2peoiyyACz_SayAA7AnyItem_pGtFZ":{"name":"+=(_:_:)","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV2peoiyyACz_SayAA4ItemVyxGGtAA0E7ContentRzlFZ":{"name":"+=(_:_:)","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV2peoiyyACz_SayxGtAA11ItemContentRzlFZ":{"name":"+=(_:_:)","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/ScrollPosition/IfAlreadyVisible.html#/s:10ListableUI14ScrollPositionV16IfAlreadyVisibleO9doNothingyA2EmF":{"name":"doNothing","abstract":"

    Do not perform any action if the item is already partially visible.

    ","parent_name":"IfAlreadyVisible"},"Structs/ScrollPosition/IfAlreadyVisible.html#/s:10ListableUI14ScrollPositionV16IfAlreadyVisibleO08scrollToD0yA2EmF":{"name":"scrollToPosition","abstract":"

    Scroll the item to the desired Position, even if it is already partially visible.

    ","parent_name":"IfAlreadyVisible"},"Structs/ScrollPosition/Position.html#/s:10ListableUI14ScrollPositionV0D0O3topyA2EmF":{"name":"top","abstract":"

    Scroll the item to the top of the list.

    ","parent_name":"Position"},"Structs/ScrollPosition/Position.html#/s:10ListableUI14ScrollPositionV0D0O8centeredyA2EmF":{"name":"centered","abstract":"

    Scroll the item to the middle of the list.

    ","parent_name":"Position"},"Structs/ScrollPosition/Position.html#/s:10ListableUI14ScrollPositionV0D0O6bottomyA2EmF":{"name":"bottom","abstract":"

    Scroll the item to the bottom of the list.

    ","parent_name":"Position"},"Structs/ScrollPosition.html#/s:10ListableUI14ScrollPositionV8position16ifAlreadyVisible6offsetA2C0D0O_AC02IfgH0O12CoreGraphics7CGFloatVtcfc":{"name":"init(position:ifAlreadyVisible:offset:)","abstract":"

    Creates a new scroll position with the provided values.

    ","parent_name":"ScrollPosition"},"Structs/ScrollPosition/Position.html":{"name":"Position","abstract":"

    How the item should be positioned within the list.

    ","parent_name":"ScrollPosition"},"Structs/ScrollPosition/IfAlreadyVisible.html":{"name":"IfAlreadyVisible","abstract":"

    What action should be taken if an item is already partially visible within a list.

    ","parent_name":"ScrollPosition"},"Structs/RefreshControl/Title.html#/s:10ListableUI14RefreshControlV5TitleO6stringyAESScAEmF":{"name":"string(_:)","abstract":"

    Undocumented

    ","parent_name":"Title"},"Structs/RefreshControl/Title.html#/s:10ListableUI14RefreshControlV5TitleO10attributedyAESo18NSAttributedStringCcAEmF":{"name":"attributed(_:)","abstract":"

    Undocumented

    ","parent_name":"Title"},"Structs/RefreshControl.html#/s:10ListableUI14RefreshControlV12isRefreshingSbvp":{"name":"isRefreshing","abstract":"

    Undocumented

    ","parent_name":"RefreshControl"},"Structs/RefreshControl.html#/s:10ListableUI14RefreshControlV5titleAC5TitleOSgvp":{"name":"title","abstract":"

    Undocumented

    ","parent_name":"RefreshControl"},"Structs/RefreshControl.html#/s:10ListableUI14RefreshControlV9tintColorSo7UIColorCSgvp":{"name":"tintColor","abstract":"

    Undocumented

    ","parent_name":"RefreshControl"},"Structs/RefreshControl.html#/s:10ListableUI14RefreshControlV02OnC0a":{"name":"OnRefresh","abstract":"

    Undocumented

    ","parent_name":"RefreshControl"},"Structs/RefreshControl.html#/s:10ListableUI14RefreshControlV02onC0yycvp":{"name":"onRefresh","abstract":"

    Undocumented

    ","parent_name":"RefreshControl"},"Structs/RefreshControl.html#/s:10ListableUI14RefreshControlV12isRefreshing5title9tintColor02onC0ACSb_AC5TitleOSgSo7UIColorCSgyyctcfc":{"name":"init(isRefreshing:title:tintColor:onRefresh:)","abstract":"

    Undocumented

    ","parent_name":"RefreshControl"},"Structs/RefreshControl/Title.html":{"name":"Title","abstract":"

    Undocumented

    ","parent_name":"RefreshControl"},"Structs/ItemPreviewAppearance.html#/s:10ListableUI21ItemPreviewAppearanceV7padding15backgroundColorAC12CoreGraphics7CGFloatV_So7UIColorCtcfc":{"name":"init(padding:backgroundColor:)","abstract":"

    Creates a new preview appearance.

    ","parent_name":"ItemPreviewAppearance"},"Structs/ItemPreview/Properties.html#/s:10ListableUI11ItemPreviewV10PropertiesV5width12CoreGraphics7CGFloatVvp":{"name":"width","abstract":"

    The width of the preview.

    ","parent_name":"Properties"},"Structs/ItemPreview/Properties.html#/s:10ListableUI11ItemPreviewV10PropertiesV5stateAA0C5StateVvp":{"name":"state","abstract":"

    The ItemState to use in the preview.

    ","parent_name":"Properties"},"Structs/ItemPreview/Properties.html#/s:10ListableUI11ItemPreviewV10PropertiesV10appearanceAA0cD10AppearanceVvp":{"name":"appearance","abstract":"

    The desired appearance of the preview.

    ","parent_name":"Properties"},"Structs/ItemPreview/Properties.html#/s:10ListableUI11ItemPreviewV10PropertiesV4with5state10appearanceAE12CoreGraphics7CGFloatV_AA0C5StateVAA0cD10AppearanceVtcfc":{"name":"init(with:state:appearance:)","abstract":"

    Creates a new preview with the desired options.

    ","parent_name":"Properties"},"Structs/ItemPreview.html#/s:10ListableUI11ItemPreviewV4itemAA03AnyC0_pvp":{"name":"item","abstract":"

    The item being previewed by the preview.

    ","parent_name":"ItemPreview"},"Structs/ItemPreview.html#/s:10ListableUI11ItemPreviewV10propertiesAC10PropertiesVvp":{"name":"properties","abstract":"

    The properties of the current preview.

    ","parent_name":"ItemPreview"},"Structs/ItemPreview/Properties.html":{"name":"Properties","abstract":"

    The properties of a preview.

    ","parent_name":"ItemPreview"},"Structs/ItemPreview.html#/s:10ListableUI11ItemPreviewV8previews3for4withQrAA03AnyC0_p_SayAC10PropertiesVGtFZ":{"name":"previews(for:with:)","abstract":"

    Creates and returns a SwiftUI view that contains individual previews for each of the provided","parent_name":"ItemPreview"},"Structs/ItemPreview.html#/s:10ListableUI11ItemPreviewV07withAllC6States3for5width10appearanceQrAA03AnyC0_p_12CoreGraphics7CGFloatVAA0cD10AppearanceVtFZ":{"name":"withAllItemStates(for:width:appearance:)","abstract":"

    Creates and returns a SwiftUI view that contains individual previews for all the possible","parent_name":"ItemPreview"},"Structs/ItemPreview.html#/s:10ListableUI11ItemPreviewV_5width5state10appearanceAcA03AnyC0_p_12CoreGraphics7CGFloatVAA0C5StateVAA0cD10AppearanceVtcfc":{"name":"init(_:width:state:appearance:)","abstract":"

    Creates a new preview with the provided properties.

    ","parent_name":"ItemPreview"},"Structs/ItemPreview.html#/s:10ListableUI11ItemPreviewV_10propertiesAcA03AnyC0_p_AC10PropertiesVtcfc":{"name":"init(_:properties:)","abstract":"

    Creates a new preview with the provided properties.

    ","parent_name":"ItemPreview"},"Structs/ItemPreview.html#/s:7SwiftUI4ViewP4body4BodyQzvp":{"name":"body","parent_name":"ItemPreview"},"Structs/LocalizedItemCollator/CollatedSection.html#/s:10ListableUI21LocalizedItemCollatorV15CollatedSectionV5titleSSvp":{"name":"title","abstract":"

    The title of section – a single letter like A, B, C, D, E, etc.","parent_name":"CollatedSection"},"Structs/LocalizedItemCollator/CollatedSection.html#/s:10ListableUI21LocalizedItemCollatorV15CollatedSectionV5itemsSayAA03AnyD0_pGvp":{"name":"items","abstract":"

    The sorted items in the collated sections.

    ","parent_name":"CollatedSection"},"Structs/LocalizedItemCollator.html#/s:10ListableUI21LocalizedItemCollatorV7collate9collation5itemsSayAC15CollatedSectionVGSo27UILocalizedIndexedCollationC_SayAA03Anyc10CollatableD0_pGtFZ":{"name":"collate(collation:items:)","abstract":"

    Collates and returns the set of items into CollatedSections.","parent_name":"LocalizedItemCollator"},"Structs/LocalizedItemCollator.html#/s:10ListableUI21LocalizedItemCollatorV8sections9collation4with_SayAA7SectionVGSo27UILocalizedIndexedCollationC_SayAA03Anyc10CollatableD0_pGyAC08CollatedI0V_AHztXEtFZ":{"name":"sections(collation:with:_:)","abstract":"

    Collates and returns the set of items into list Sections,","parent_name":"LocalizedItemCollator"},"Structs/LocalizedItemCollator/CollatedSection.html":{"name":"CollatedSection","abstract":"

    The output of the collator, with the collated title and items","parent_name":"LocalizedItemCollator"},"Structs/ListStateObserver/SelectionChanged.html#/s:10ListableUI17ListStateObserverV16SelectionChangedV7actionsAA0C7ActionsCvp":{"name":"actions","abstract":"

    Undocumented

    ","parent_name":"SelectionChanged"},"Structs/ListStateObserver/SelectionChanged.html#/s:10ListableUI17ListStateObserverV16SelectionChangedV12positionInfoAA0c14ScrollPositionI0Vvp":{"name":"positionInfo","abstract":"

    Undocumented

    ","parent_name":"SelectionChanged"},"Structs/ListStateObserver/SelectionChanged.html#/s:10ListableUI17ListStateObserverV16SelectionChangedV3oldShyAA13AnyIdentifierCGvp":{"name":"old","abstract":"

    Undocumented

    ","parent_name":"SelectionChanged"},"Structs/ListStateObserver/SelectionChanged.html#/s:10ListableUI17ListStateObserverV16SelectionChangedV3newShyAA13AnyIdentifierCGvp":{"name":"new","abstract":"

    Undocumented

    ","parent_name":"SelectionChanged"},"Structs/ListStateObserver/FrameChanged.html#/s:10ListableUI17ListStateObserverV12FrameChangedV7actionsAA0C7ActionsCvp":{"name":"actions","abstract":"

    Undocumented

    ","parent_name":"FrameChanged"},"Structs/ListStateObserver/FrameChanged.html#/s:10ListableUI17ListStateObserverV12FrameChangedV12positionInfoAA0c14ScrollPositionI0Vvp":{"name":"positionInfo","abstract":"

    Undocumented

    ","parent_name":"FrameChanged"},"Structs/ListStateObserver/FrameChanged.html#/s:10ListableUI17ListStateObserverV12FrameChangedV3oldSo6CGRectVvp":{"name":"old","abstract":"

    Undocumented

    ","parent_name":"FrameChanged"},"Structs/ListStateObserver/FrameChanged.html#/s:10ListableUI17ListStateObserverV12FrameChangedV3newSo6CGRectVvp":{"name":"new","abstract":"

    Undocumented

    ","parent_name":"FrameChanged"},"Structs/ListStateObserver/VisibilityChanged.html#/s:10ListableUI17ListStateObserverV17VisibilityChangedV7actionsAA0C7ActionsCvp":{"name":"actions","abstract":"

    Undocumented

    ","parent_name":"VisibilityChanged"},"Structs/ListStateObserver/VisibilityChanged.html#/s:10ListableUI17ListStateObserverV17VisibilityChangedV12positionInfoAA0c14ScrollPositionI0Vvp":{"name":"positionInfo","abstract":"

    Undocumented

    ","parent_name":"VisibilityChanged"},"Structs/ListStateObserver/VisibilityChanged.html#/s:10ListableUI17ListStateObserverV17VisibilityChangedV9displayedSayAA7AnyItem_pGvp":{"name":"displayed","abstract":"

    Undocumented

    ","parent_name":"VisibilityChanged"},"Structs/ListStateObserver/VisibilityChanged.html#/s:10ListableUI17ListStateObserverV17VisibilityChangedV12endedDisplaySayAA7AnyItem_pGvp":{"name":"endedDisplay","abstract":"

    Undocumented

    ","parent_name":"VisibilityChanged"},"Structs/ListStateObserver/ContentUpdated/InsertionsAndRemovals/ChangedIDs.html#/s:10ListableUI17ListStateObserverV14ContentUpdatedV21InsertionsAndRemovalsV10ChangedIDsV8insertedShyAA13AnyIdentifierCGvp":{"name":"inserted","abstract":"

    Undocumented

    ","parent_name":"ChangedIDs"},"Structs/ListStateObserver/ContentUpdated/InsertionsAndRemovals/ChangedIDs.html#/s:10ListableUI17ListStateObserverV14ContentUpdatedV21InsertionsAndRemovalsV10ChangedIDsV7removedShyAA13AnyIdentifierCGvp":{"name":"removed","abstract":"

    Undocumented

    ","parent_name":"ChangedIDs"},"Structs/ListStateObserver/ContentUpdated/InsertionsAndRemovals.html#/s:10ListableUI17ListStateObserverV14ContentUpdatedV21InsertionsAndRemovalsV8sectionsAG10ChangedIDsVvp":{"name":"sections","abstract":"

    Undocumented

    ","parent_name":"InsertionsAndRemovals"},"Structs/ListStateObserver/ContentUpdated/InsertionsAndRemovals.html#/s:10ListableUI17ListStateObserverV14ContentUpdatedV21InsertionsAndRemovalsV5itemsAG10ChangedIDsVvp":{"name":"items","abstract":"

    Undocumented

    ","parent_name":"InsertionsAndRemovals"},"Structs/ListStateObserver/ContentUpdated/InsertionsAndRemovals/ChangedIDs.html":{"name":"ChangedIDs","abstract":"

    Undocumented

    ","parent_name":"InsertionsAndRemovals"},"Structs/ListStateObserver/ContentUpdated.html#/s:10ListableUI17ListStateObserverV14ContentUpdatedV10hadChangesSbvp":{"name":"hadChanges","abstract":"

    Undocumented

    ","parent_name":"ContentUpdated"},"Structs/ListStateObserver/ContentUpdated.html#/s:10ListableUI17ListStateObserverV14ContentUpdatedV21insertionsAndRemovalsAE010InsertionsiJ0Vvp":{"name":"insertionsAndRemovals","abstract":"

    Undocumented

    ","parent_name":"ContentUpdated"},"Structs/ListStateObserver/ContentUpdated.html#/s:10ListableUI17ListStateObserverV14ContentUpdatedV7actionsAA0C7ActionsCvp":{"name":"actions","abstract":"

    Undocumented

    ","parent_name":"ContentUpdated"},"Structs/ListStateObserver/ContentUpdated.html#/s:10ListableUI17ListStateObserverV14ContentUpdatedV12positionInfoAA0c14ScrollPositionI0Vvp":{"name":"positionInfo","abstract":"

    Undocumented

    ","parent_name":"ContentUpdated"},"Structs/ListStateObserver/ContentUpdated/InsertionsAndRemovals.html":{"name":"InsertionsAndRemovals","abstract":"

    Undocumented

    ","parent_name":"ContentUpdated"},"Structs/ListStateObserver/DidScroll.html#/s:10ListableUI17ListStateObserverV9DidScrollV7actionsAA0C7ActionsCvp":{"name":"actions","abstract":"

    Undocumented

    ","parent_name":"DidScroll"},"Structs/ListStateObserver/DidScroll.html#/s:10ListableUI17ListStateObserverV9DidScrollV12positionInfoAA0cg8PositionI0Vvp":{"name":"positionInfo","abstract":"

    Undocumented

    ","parent_name":"DidScroll"},"Structs/ListStateObserver.html#/s:10ListableUI17ListStateObserverVyACyACzXEcfc":{"name":"init(_:)","abstract":"

    Creates and optionally allows you to configure an observer.

    ","parent_name":"ListStateObserver"},"Structs/ListStateObserver.html#/s:10ListableUI17ListStateObserverV11OnDidScrolla":{"name":"OnDidScroll","abstract":"

    Undocumented

    ","parent_name":"ListStateObserver"},"Structs/ListStateObserver.html#/s:10ListableUI17ListStateObserverV11onDidScrollyyyAC0gH0VcF":{"name":"onDidScroll(_:)","abstract":"

    Registers a callback which will be called when the list view is scrolled, or is","parent_name":"ListStateObserver"},"Structs/ListStateObserver.html#/s:10ListableUI17ListStateObserverV16OnContentUpdateda":{"name":"OnContentUpdated","abstract":"

    Undocumented

    ","parent_name":"ListStateObserver"},"Structs/ListStateObserver.html#/s:10ListableUI17ListStateObserverV16onContentUpdatedyyyAC0gH0VcF":{"name":"onContentUpdated(_:)","abstract":"

    Registers a callback which will be called when the list view’s content is updated","parent_name":"ListStateObserver"},"Structs/ListStateObserver.html#/s:10ListableUI17ListStateObserverV19OnVisibilityChangeda":{"name":"OnVisibilityChanged","abstract":"

    Undocumented

    ","parent_name":"ListStateObserver"},"Structs/ListStateObserver.html#/s:10ListableUI17ListStateObserverV19onVisibilityChangedyyyAC0gH0VcF":{"name":"onVisibilityChanged(_:)","abstract":"

    Registers a callback which will be called when the list view’s content is changed – eg through","parent_name":"ListStateObserver"},"Structs/ListStateObserver.html#/s:10ListableUI17ListStateObserverV14OnFrameChangeda":{"name":"OnFrameChanged","abstract":"

    Undocumented

    ","parent_name":"ListStateObserver"},"Structs/ListStateObserver.html#/s:10ListableUI17ListStateObserverV14onFrameChangedyyyAC0gH0VcF":{"name":"onFrameChanged(_:)","abstract":"

    Registers a callback which will be called when the list view’s frame is changed.

    ","parent_name":"ListStateObserver"},"Structs/ListStateObserver.html#/s:10ListableUI17ListStateObserverV18OnSelectionChangeda":{"name":"OnSelectionChanged","abstract":"

    Undocumented

    ","parent_name":"ListStateObserver"},"Structs/ListStateObserver.html#/s:10ListableUI17ListStateObserverV18onSelectionChangedyyyAC0gH0VcF":{"name":"onSelectionChanged(_:)","abstract":"

    Registers a callback which will be called when the list view’s selected items are changed by the user.

    ","parent_name":"ListStateObserver"},"Structs/ListStateObserver/DidScroll.html":{"name":"DidScroll","abstract":"

    Parameters available for OnDidScroll callbacks.

    ","parent_name":"ListStateObserver"},"Structs/ListStateObserver/ContentUpdated.html":{"name":"ContentUpdated","abstract":"

    Parameters available for OnContentUpdated callbacks.

    ","parent_name":"ListStateObserver"},"Structs/ListStateObserver/VisibilityChanged.html":{"name":"VisibilityChanged","abstract":"

    Parameters available for OnVisibilityChanged callbacks.

    ","parent_name":"ListStateObserver"},"Structs/ListStateObserver/FrameChanged.html":{"name":"FrameChanged","abstract":"

    Parameters available for OnFrameChanged callbacks.

    ","parent_name":"ListStateObserver"},"Structs/ListStateObserver/SelectionChanged.html":{"name":"SelectionChanged","abstract":"

    Parameters available for OnSelectionChanged callbacks.

    ","parent_name":"ListStateObserver"},"Structs/ListScrollPositionInfo.html#/s:10ListableUI22ListScrollPositionInfoV12visibleItemsShyAA13AnyIdentifierCGvp":{"name":"visibleItems","abstract":"

    Which items within the list are currently visible.

    ","parent_name":"ListScrollPositionInfo"},"Structs/ListScrollPositionInfo.html#/s:10ListableUI22ListScrollPositionInfoV18isFirstItemVisibleSbvp":{"name":"isFirstItemVisible","abstract":"

    If the first item list is partially visible.

    ","parent_name":"ListScrollPositionInfo"},"Structs/ListScrollPositionInfo.html#/s:10ListableUI22ListScrollPositionInfoV17isLastItemVisibleSbvp":{"name":"isLastItemVisible","abstract":"

    If the last item list is partially visible.

    ","parent_name":"ListScrollPositionInfo"},"Structs/ListScrollPositionInfo.html#/s:10ListableUI22ListScrollPositionInfoV19visibleContentEdges017includingSafeAreaI0So10UIRectEdgeVAG_tF":{"name":"visibleContentEdges(includingSafeAreaEdges:)","abstract":"

    Used to retrieve the visible content edges for the list’s content.

    ","parent_name":"ListScrollPositionInfo"},"Structs/ListScrollPositionInfo.html#/s:10ListableUI22ListScrollPositionInfoV10scrollView12visibleItems18isFirstItemVisible0k4LastmN0ACSo08UIScrollH0C_ShyAA13AnyIdentifierCGS2btcfc":{"name":"init(scrollView:visibleItems:isFirstItemVisible:isLastItemVisible:)","abstract":"

    Creates a ListScrollPositionInfo for the provided scroll view.

    ","parent_name":"ListScrollPositionInfo"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV15animatesChangesSbvp":{"name":"animatesChanges","abstract":"

    If the changes applied should be animated or not.","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV7contentAA7ContentVvp":{"name":"content","abstract":"

    The content displayed by the list.","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV11environmentAA0C11EnvironmentVvp":{"name":"environment","abstract":"

    The environment associated with the List.

    ","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV6layoutAA17LayoutDescriptionVvp":{"name":"layout","abstract":"

    The layout type to use with the list. Defaults to .table(), aka a table","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV10appearanceAA10AppearanceVvp":{"name":"appearance","abstract":"

    The appearance to use with the list.

    ","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV21scrollIndicatorInsetsSo06UIEdgeG0Vvp":{"name":"scrollIndicatorInsets","abstract":"

    The scroll insets to apply to the list view.

    ","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV8behaviorAA8BehaviorVvp":{"name":"behavior","abstract":"

    The various behavior options to apply to the list, which affect how the user","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV13stateObserverAA0c5StateF0Vvp":{"name":"stateObserver","abstract":"

    The state reader to use with your list. A ListStateObserver","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV7actionsAA0C7ActionsCSgvp":{"name":"actions","abstract":"

    The actions instance to use to control the list, eg to scroll to a given","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV16autoScrollActionAA04AutofG0Ovp":{"name":"autoScrollAction","abstract":"

    The auto scroll action to apply to the list. This allows you to","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV23accessibilityIdentifierSSSgvp":{"name":"accessibilityIdentifier","abstract":"

    The accessibility identifier assigned to the inner UICollectionView.

    ","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV19debuggingIdentifierSSSgvp":{"name":"debuggingIdentifier","abstract":"

    The debugging identifier assigned to the list. Used for os_signpost integration","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV5Builda":{"name":"Build","abstract":"

    Undocumented

    ","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV7default4withACyACzXE_tFZ":{"name":"default(with:)","abstract":"

    An instance of ListProperties with sensible default values.

    ","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV15animatesChanges6layout10appearance21scrollIndicatorInsets8behavior16autoScrollAction23accessibilityIdentifier09debuggingQ05buildACSb_AA17LayoutDescriptionVAA10AppearanceVSo06UIEdgeK0VAA8BehaviorVAA04AutonO0OSSSgAWyACzXEtcfc":{"name":"init(animatesChanges:layout:appearance:scrollIndicatorInsets:behavior:autoScrollAction:accessibilityIdentifier:debuggingIdentifier:build:)","abstract":"

    Create a new instance of ListProperties with the provided values.

    ","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV6modify5usingyyACzXE_tF":{"name":"modify(using:)","abstract":"

    Updates the ListProperties object with the changes in the provided builder.

    ","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV8modified5usingACyACzXE_tF":{"name":"modified(using:)","abstract":"

    Creates a new ListProperties object modified by the changes in the provided builder.

    ","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV3addyyAA7SectionVF":{"name":"add(_:)","abstract":"

    Adds a new section to the content.

    ","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV2peoiyyACz_AA7SectionVtFZ":{"name":"+=(_:_:)","abstract":"

    Adds a new section to the content.

    ","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV2peoiyyACz_SayAA7SectionVGtFZ":{"name":"+=(_:_:)","abstract":"

    Adds a list of new sections to the content.

    ","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV14callAsFunction_9configureyx_yAA7SectionVzXEtSHRzlF":{"name":"callAsFunction(_:configure:)","abstract":"

    Allows streamlined creation of sections when building a list.

    ","parent_name":"ListProperties"},"Structs/ListEnvironment.html#/s:10ListableUI15ListEnvironmentV5emptyACvpZ":{"name":"empty","abstract":"

    A default “empty” environment, with no values overridden.","parent_name":"ListEnvironment"},"Structs/ListEnvironment.html#/s:10ListableUI15ListEnvironmentVy5ValueQzxmcAA0cD3KeyRzluip":{"name":"subscript(_:)","abstract":"

    Gets or sets an environment value by its key.

    ","parent_name":"ListEnvironment"},"Structs/TableAppearance/Layout.html#/s:10ListableUI15TableAppearanceV6LayoutV7paddingSo12UIEdgeInsetsVvp":{"name":"padding","abstract":"

    The padding to place around the outside of the content of the list.

    ","parent_name":"Layout"},"Structs/TableAppearance/Layout.html#/s:10ListableUI15TableAppearanceV6LayoutV5widthAA15WidthConstraintOvp":{"name":"width","abstract":"

    The width of the content of the list, which can be optionally constrained.

    ","parent_name":"Layout"},"Structs/TableAppearance/Layout.html#/s:10ListableUI15TableAppearanceV6LayoutV27headerToFirstSectionSpacing12CoreGraphics7CGFloatVvp":{"name":"headerToFirstSectionSpacing","abstract":"

    The spacing between the list header and the first section.","parent_name":"Layout"},"Structs/TableAppearance/Layout.html#/s:10ListableUI15TableAppearanceV6LayoutV31interSectionSpacingWithNoFooter12CoreGraphics7CGFloatVvp":{"name":"interSectionSpacingWithNoFooter","abstract":"

    The spacing to apply between sections, if the previous section has no footer.

    ","parent_name":"Layout"},"Structs/TableAppearance/Layout.html#/s:10ListableUI15TableAppearanceV6LayoutV29interSectionSpacingWithFooter12CoreGraphics7CGFloatVvp":{"name":"interSectionSpacingWithFooter","abstract":"

    The spacing to apply between sections, if the previous section has a footer.

    ","parent_name":"Layout"},"Structs/TableAppearance/Layout.html#/s:10ListableUI15TableAppearanceV6LayoutV26sectionHeaderBottomSpacing12CoreGraphics7CGFloatVvp":{"name":"sectionHeaderBottomSpacing","abstract":"

    The spacing to apply below a section header, before its items.","parent_name":"Layout"},"Structs/TableAppearance/Layout.html#/s:10ListableUI15TableAppearanceV6LayoutV11itemSpacing12CoreGraphics7CGFloatVvp":{"name":"itemSpacing","abstract":"

    The spacing between individual items within a section in a list.

    ","parent_name":"Layout"},"Structs/TableAppearance/Layout.html#/s:10ListableUI15TableAppearanceV6LayoutV26itemToSectionFooterSpacing12CoreGraphics7CGFloatVvp":{"name":"itemToSectionFooterSpacing","abstract":"

    The spacing between the last item in the section and the footer.","parent_name":"Layout"},"Structs/TableAppearance/Layout.html#/s:10ListableUI15TableAppearanceV6LayoutV26lastSectionToFooterSpacing12CoreGraphics7CGFloatVvp":{"name":"lastSectionToFooterSpacing","abstract":"

    The spacing between the last section and the footer of the list.","parent_name":"Layout"},"Structs/TableAppearance/Layout.html#/s:10ListableUI15TableAppearanceV6LayoutV7padding5width27headerToFirstSectionSpacing05interkL12WithNoFooter0mklnP0019sectionHeaderBottomL004itemL00tikpL004lastkipL0AESo12UIEdgeInsetsV_AA15WidthConstraintO12CoreGraphics7CGFloatVA6Utcfc":{"name":"init(padding:width:headerToFirstSectionSpacing:interSectionSpacingWithNoFooter:interSectionSpacingWithFooter:sectionHeaderBottomSpacing:itemSpacing:itemToSectionFooterSpacing:lastSectionToFooterSpacing:)","abstract":"

    Creates a new Layout with the provided options.

    ","parent_name":"Layout"},"Structs/TableAppearance/Layout.html#/s:10ListableUI15TableAppearanceV6LayoutV3set4withyyAEzXE_tF":{"name":"set(with:)","abstract":"

    Easily mutate the Layout in place.

    ","parent_name":"Layout"},"Structs/TableAppearance/Sizing.html#/s:10ListableUI15TableAppearanceV6SizingV10itemHeight12CoreGraphics7CGFloatVvp":{"name":"itemHeight","abstract":"

    The default height for items in a list.

    ","parent_name":"Sizing"},"Structs/TableAppearance/Sizing.html#/s:10ListableUI15TableAppearanceV6SizingV19sectionHeaderHeight12CoreGraphics7CGFloatVvp":{"name":"sectionHeaderHeight","abstract":"

    The default height for section headers in a list.

    ","parent_name":"Sizing"},"Structs/TableAppearance/Sizing.html#/s:10ListableUI15TableAppearanceV6SizingV19sectionFooterHeight12CoreGraphics7CGFloatVvp":{"name":"sectionFooterHeight","abstract":"

    The default height for section footer in a list.

    ","parent_name":"Sizing"},"Structs/TableAppearance/Sizing.html#/s:10ListableUI15TableAppearanceV6SizingV16listHeaderHeight12CoreGraphics7CGFloatVvp":{"name":"listHeaderHeight","abstract":"

    The default height for the list’s header.

    ","parent_name":"Sizing"},"Structs/TableAppearance/Sizing.html#/s:10ListableUI15TableAppearanceV6SizingV16listFooterHeight12CoreGraphics7CGFloatVvp":{"name":"listFooterHeight","abstract":"

    The default height for the list’s footer.

    ","parent_name":"Sizing"},"Structs/TableAppearance/Sizing.html#/s:10ListableUI15TableAppearanceV6SizingV22overscrollFooterHeight12CoreGraphics7CGFloatVvp":{"name":"overscrollFooterHeight","abstract":"

    The default height for the list’s overscroll footer.

    ","parent_name":"Sizing"},"Structs/TableAppearance/Sizing.html#/s:10ListableUI15TableAppearanceV6SizingV26itemPositionGroupingHeight12CoreGraphics7CGFloatVvp":{"name":"itemPositionGroupingHeight","abstract":"

    When providing the ItemPosition for items in a list, specifies the max spacing","parent_name":"Sizing"},"Structs/TableAppearance/Sizing.html#/s:10ListableUI15TableAppearanceV6SizingV10itemHeight013sectionHeaderG00h6FooterG004listiG00kjG0010overscrolljG00f16PositionGroupingG0AE12CoreGraphics7CGFloatV_A6Otcfc":{"name":"init(itemHeight:sectionHeaderHeight:sectionFooterHeight:listHeaderHeight:listFooterHeight:overscrollFooterHeight:itemPositionGroupingHeight:)","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Structs/TableAppearance/Sizing.html#/s:10ListableUI15TableAppearanceV6SizingV3set4withyyAEzXE_tF":{"name":"set(with:)","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Structs/TableAppearance/SectionLayout/Columns.html#/s:10ListableUI15TableAppearanceV13SectionLayoutV7ColumnsV5countSivp":{"name":"count","abstract":"

    Undocumented

    ","parent_name":"Columns"},"Structs/TableAppearance/SectionLayout/Columns.html#/s:10ListableUI15TableAppearanceV13SectionLayoutV7ColumnsV7spacing12CoreGraphics7CGFloatVvp":{"name":"spacing","abstract":"

    Undocumented

    ","parent_name":"Columns"},"Structs/TableAppearance/SectionLayout/Columns.html#/s:10ListableUI15TableAppearanceV13SectionLayoutV7ColumnsV3oneAGvpZ":{"name":"one","abstract":"

    Undocumented

    ","parent_name":"Columns"},"Structs/TableAppearance/SectionLayout/Columns.html#/s:10ListableUI15TableAppearanceV13SectionLayoutV7ColumnsV5count7spacingAGSi_12CoreGraphics7CGFloatVtcfc":{"name":"init(count:spacing:)","abstract":"

    Undocumented

    ","parent_name":"Columns"},"Structs/TableAppearance/SectionLayout.html#/s:10ListableUI15TableAppearanceV13SectionLayoutV5widthAA11CustomWidthOvp":{"name":"width","abstract":"

    Undocumented

    ","parent_name":"SectionLayout"},"Structs/TableAppearance/SectionLayout.html#/s:10ListableUI15TableAppearanceV13SectionLayoutV011customInterE7Spacing12CoreGraphics7CGFloatVSgvp":{"name":"customInterSectionSpacing","abstract":"

    Overrides the calculated spacing after this section

    ","parent_name":"SectionLayout"},"Structs/TableAppearance/SectionLayout.html#/s:10ListableUI15TableAppearanceV13SectionLayoutV7columnsAE7ColumnsVvp":{"name":"columns","abstract":"

    Undocumented

    ","parent_name":"SectionLayout"},"Structs/TableAppearance/SectionLayout.html#/s:10ListableUI15TableAppearanceV13SectionLayoutV5width011customInterE7Spacing7columnsAeA11CustomWidthO_12CoreGraphics7CGFloatVSgAE7ColumnsVtcfc":{"name":"init(width:customInterSectionSpacing:columns:)","abstract":"

    Undocumented

    ","parent_name":"SectionLayout"},"Structs/TableAppearance/SectionLayout.html#/s:10ListableUI19SectionLayoutsValueP07defaultE0xvpZ":{"name":"defaultValue","parent_name":"SectionLayout"},"Structs/TableAppearance/SectionLayout/Columns.html":{"name":"Columns","abstract":"

    Undocumented

    ","parent_name":"SectionLayout"},"Structs/TableAppearance/HeaderFooterLayout.html#/s:10ListableUI15TableAppearanceV18HeaderFooterLayoutV5widthAA11CustomWidthOvp":{"name":"width","abstract":"

    Undocumented

    ","parent_name":"HeaderFooterLayout"},"Structs/TableAppearance/HeaderFooterLayout.html#/s:10ListableUI15TableAppearanceV18HeaderFooterLayoutV5widthAeA11CustomWidthO_tcfc":{"name":"init(width:)","abstract":"

    Undocumented

    ","parent_name":"HeaderFooterLayout"},"Structs/TableAppearance/HeaderFooterLayout.html#/s:10ListableUI24HeaderFooterLayoutsValueP07defaultF0xvpZ":{"name":"defaultValue","parent_name":"HeaderFooterLayout"},"Structs/TableAppearance/ItemLayout.html#/s:10ListableUI15TableAppearanceV10ItemLayoutV11itemSpacing12CoreGraphics7CGFloatVSgvp":{"name":"itemSpacing","abstract":"

    Undocumented

    ","parent_name":"ItemLayout"},"Structs/TableAppearance/ItemLayout.html#/s:10ListableUI15TableAppearanceV10ItemLayoutV26itemToSectionFooterSpacing12CoreGraphics7CGFloatVSgvp":{"name":"itemToSectionFooterSpacing","abstract":"

    Undocumented

    ","parent_name":"ItemLayout"},"Structs/TableAppearance/ItemLayout.html#/s:10ListableUI15TableAppearanceV10ItemLayoutV5widthAA11CustomWidthOvp":{"name":"width","abstract":"

    Undocumented

    ","parent_name":"ItemLayout"},"Structs/TableAppearance/ItemLayout.html#/s:10ListableUI15TableAppearanceV10ItemLayoutV11itemSpacing0g15ToSectionFooterH05widthAE12CoreGraphics7CGFloatVSg_AlA11CustomWidthOtcfc":{"name":"init(itemSpacing:itemToSectionFooterSpacing:width:)","abstract":"

    Undocumented

    ","parent_name":"ItemLayout"},"Structs/TableAppearance/ItemLayout.html#/s:10ListableUI16ItemLayoutsValueP07defaultE0xvpZ":{"name":"defaultValue","parent_name":"ItemLayout"},"Structs/TableAppearance.html#/s:10ListableUI15TableAppearanceV9directionAA15LayoutDirectionOvp":{"name":"direction","abstract":"

    Undocumented

    ","parent_name":"TableAppearance"},"Structs/TableAppearance.html#/s:10ListableUI15TableAppearanceV20stickySectionHeadersSbvp":{"name":"stickySectionHeaders","abstract":"

    Undocumented

    ","parent_name":"TableAppearance"},"Structs/TableAppearance.html#/s:10ListableUI15TableAppearanceV6sizingAC6SizingVvp":{"name":"sizing","abstract":"

    Default sizing attributes for content in the list.

    ","parent_name":"TableAppearance"},"Structs/TableAppearance.html#/s:10ListableUI15TableAppearanceV6layoutAC6LayoutVvp":{"name":"layout","abstract":"

    Layout attributes for content in the list.

    ","parent_name":"TableAppearance"},"Structs/TableAppearance.html#/s:10ListableUI15TableAppearanceV7defaultACvpZ":{"name":"default","abstract":"

    Undocumented

    ","parent_name":"TableAppearance"},"Structs/TableAppearance.html#/s:10ListableUI15TableAppearanceV20stickySectionHeaders6sizing6layoutACSb_AC6SizingVAC6LayoutVtcfc":{"name":"init(stickySectionHeaders:sizing:layout:)","abstract":"

    Creates a new TableAppearance object.

    ","parent_name":"TableAppearance"},"Structs/TableAppearance/ItemLayout.html":{"name":"ItemLayout","abstract":"

    Undocumented

    ","parent_name":"TableAppearance"},"Structs/TableAppearance/HeaderFooterLayout.html":{"name":"HeaderFooterLayout","abstract":"

    Undocumented

    ","parent_name":"TableAppearance"},"Structs/TableAppearance/SectionLayout.html":{"name":"SectionLayout","abstract":"

    Undocumented

    ","parent_name":"TableAppearance"},"Structs/TableAppearance/Sizing.html":{"name":"Sizing","abstract":"

    Sizing options for the list.

    ","parent_name":"TableAppearance"},"Structs/TableAppearance/Layout.html":{"name":"Layout","abstract":"

    Layout options for the list.

    ","parent_name":"TableAppearance"},"Structs/PagedAppearance.html#/s:10ListableUI15PagedAppearanceV7defaultACvpZ":{"name":"default","abstract":"

    Undocumented

    ","parent_name":"PagedAppearance"},"Structs/PagedAppearance.html#/s:10ListableUI15PagedAppearanceV9directionAA15LayoutDirectionOvp":{"name":"direction","abstract":"

    The direction the paging layout should occur in. Defaults to vertical.

    ","parent_name":"PagedAppearance"},"Structs/PagedAppearance.html#/s:10ListableUI15PagedAppearanceV20stickySectionHeadersSbvp":{"name":"stickySectionHeaders","abstract":"

    Undocumented

    ","parent_name":"PagedAppearance"},"Structs/PagedAppearance.html#/s:10ListableUI15PagedAppearanceV21showsScrollIndicatorsSbvp":{"name":"showsScrollIndicators","abstract":"

    If scroll indicators should be visible along the scrollable axis.

    ","parent_name":"PagedAppearance"},"Structs/PagedAppearance.html#/s:10ListableUI15PagedAppearanceV10itemInsetsSo06UIEdgeF0Vvp":{"name":"itemInsets","abstract":"

    How far each item in the list should be inset from the edges of the view.

    ","parent_name":"PagedAppearance"},"Structs/PagedAppearance.html#/s:10ListableUI15PagedAppearanceV9direction21showsScrollIndicators10itemInsetsAcA15LayoutDirectionO_SbSo06UIEdgeJ0Vtcfc":{"name":"init(direction:showsScrollIndicators:itemInsets:)","abstract":"

    Undocumented

    ","parent_name":"PagedAppearance"},"Structs/ListLayoutSize.html#/s:10ListableUI14ListLayoutSizeV5width12CoreGraphics7CGFloatVvp":{"name":"width","abstract":"

    Undocumented

    ","parent_name":"ListLayoutSize"},"Structs/ListLayoutSize.html#/s:10ListableUI14ListLayoutSizeV6height12CoreGraphics7CGFloatVvp":{"name":"height","abstract":"

    Undocumented

    ","parent_name":"ListLayoutSize"},"Structs/ListLayoutSize.html#/s:10ListableUI14ListLayoutSizeV7rotatesSbvp":{"name":"rotates","abstract":"

    Undocumented

    ","parent_name":"ListLayoutSize"},"Structs/ListLayoutSize.html#/s:10ListableUI14ListLayoutSizeV5width6height7rotatesAC12CoreGraphics7CGFloatV_AISbtcfc":{"name":"init(width:height:rotates:)","abstract":"

    Undocumented

    ","parent_name":"ListLayoutSize"},"Structs/ListLayoutSize.html#/s:10ListableUI14ListLayoutSizeV12CGPointValue3forSo6CGSizeVAA0D9DirectionO_tF":{"name":"CGPointValue(for:)","abstract":"

    Undocumented

    ","parent_name":"ListLayoutSize"},"Structs/ListLayoutPoint.html#/s:10ListableUI15ListLayoutPointV1x12CoreGraphics7CGFloatVvp":{"name":"x","abstract":"

    Undocumented

    ","parent_name":"ListLayoutPoint"},"Structs/ListLayoutPoint.html#/s:10ListableUI15ListLayoutPointV1y12CoreGraphics7CGFloatVvp":{"name":"y","abstract":"

    Undocumented

    ","parent_name":"ListLayoutPoint"},"Structs/ListLayoutPoint.html#/s:10ListableUI15ListLayoutPointV7rotatesSbvp":{"name":"rotates","abstract":"

    Undocumented

    ","parent_name":"ListLayoutPoint"},"Structs/ListLayoutPoint.html#/s:10ListableUI15ListLayoutPointV1x1y7rotatesAC12CoreGraphics7CGFloatV_AISbtcfc":{"name":"init(x:y:rotates:)","abstract":"

    Undocumented

    ","parent_name":"ListLayoutPoint"},"Structs/ListLayoutPoint.html#/s:10ListableUI15ListLayoutPointV12CGPointValue3forSo0F0VAA0D9DirectionO_tF":{"name":"CGPointValue(for:)","abstract":"

    Undocumented

    ","parent_name":"ListLayoutPoint"},"Structs/ListLayoutScrollViewProperties/ContentInsetAdjustmentBehavior.html#/s:10ListableUI30ListLayoutScrollViewPropertiesV30ContentInsetAdjustmentBehaviorO9automaticyA2EmF":{"name":"automatic","abstract":"

    Undocumented

    ","parent_name":"ContentInsetAdjustmentBehavior"},"Structs/ListLayoutScrollViewProperties/ContentInsetAdjustmentBehavior.html#/s:10ListableUI30ListLayoutScrollViewPropertiesV30ContentInsetAdjustmentBehaviorO14scrollableAxesyA2EmF":{"name":"scrollableAxes","abstract":"

    Undocumented

    ","parent_name":"ContentInsetAdjustmentBehavior"},"Structs/ListLayoutScrollViewProperties/ContentInsetAdjustmentBehavior.html#/s:10ListableUI30ListLayoutScrollViewPropertiesV30ContentInsetAdjustmentBehaviorO5neveryA2EmF":{"name":"never","abstract":"

    Undocumented

    ","parent_name":"ContentInsetAdjustmentBehavior"},"Structs/ListLayoutScrollViewProperties/ContentInsetAdjustmentBehavior.html#/s:10ListableUI30ListLayoutScrollViewPropertiesV30ContentInsetAdjustmentBehaviorO6alwaysyA2EmF":{"name":"always","abstract":"

    Undocumented

    ","parent_name":"ContentInsetAdjustmentBehavior"},"Structs/ListLayoutScrollViewProperties.html#/s:10ListableUI30ListLayoutScrollViewPropertiesV15isPagingEnabledSbvp":{"name":"isPagingEnabled","abstract":"

    Undocumented

    ","parent_name":"ListLayoutScrollViewProperties"},"Structs/ListLayoutScrollViewProperties.html#/s:10ListableUI30ListLayoutScrollViewPropertiesV30contentInsetAdjustmentBehaviorAC07ContentijK0Ovp":{"name":"contentInsetAdjustmentBehavior","abstract":"

    Undocumented

    ","parent_name":"ListLayoutScrollViewProperties"},"Structs/ListLayoutScrollViewProperties.html#/s:10ListableUI30ListLayoutScrollViewPropertiesV20allowsBounceVerticalSbvp":{"name":"allowsBounceVertical","abstract":"

    Undocumented

    ","parent_name":"ListLayoutScrollViewProperties"},"Structs/ListLayoutScrollViewProperties.html#/s:10ListableUI30ListLayoutScrollViewPropertiesV22allowsBounceHorizontalSbvp":{"name":"allowsBounceHorizontal","abstract":"

    Undocumented

    ","parent_name":"ListLayoutScrollViewProperties"},"Structs/ListLayoutScrollViewProperties.html#/s:10ListableUI30ListLayoutScrollViewPropertiesV016allowsHorizontalE9IndicatorSbvp":{"name":"allowsHorizontalScrollIndicator","abstract":"

    Undocumented

    ","parent_name":"ListLayoutScrollViewProperties"},"Structs/ListLayoutScrollViewProperties.html#/s:10ListableUI30ListLayoutScrollViewPropertiesV014allowsVerticalE9IndicatorSbvp":{"name":"allowsVerticalScrollIndicator","abstract":"

    Undocumented

    ","parent_name":"ListLayoutScrollViewProperties"},"Structs/ListLayoutScrollViewProperties.html#/s:10ListableUI30ListLayoutScrollViewPropertiesV15isPagingEnabled30contentInsetAdjustmentBehavior20allowsBounceVertical0oP10Horizontal0oqE9Indicator0oreS0ACSb_AC07ContentlmN0OS4btcfc":{"name":"init(isPagingEnabled:contentInsetAdjustmentBehavior:allowsBounceVertical:allowsBounceHorizontal:allowsVerticalScrollIndicator:allowsHorizontalScrollIndicator:)","abstract":"

    Undocumented

    ","parent_name":"ListLayoutScrollViewProperties"},"Structs/ListLayoutScrollViewProperties/ContentInsetAdjustmentBehavior.html":{"name":"ContentInsetAdjustmentBehavior","abstract":"

    Undocumented

    ","parent_name":"ListLayoutScrollViewProperties"},"Structs/ListLayoutDefaults.html#/s:10ListableUI18ListLayoutDefaultsV29itemInsertAndRemoveAnimationsAA04ItemghiJ0Vvp":{"name":"itemInsertAndRemoveAnimations","abstract":"

    Undocumented

    ","parent_name":"ListLayoutDefaults"},"Structs/ListLayoutDefaults.html#/s:10ListableUI18ListLayoutDefaultsV29itemInsertAndRemoveAnimationsAcA04ItemghiJ0V_tcfc":{"name":"init(itemInsertAndRemoveAnimations:)","abstract":"

    Undocumented

    ","parent_name":"ListLayoutDefaults"},"Structs/ListLayoutAttributes.html#/s:10ListableUI20ListLayoutAttributesV7SectionV":{"name":"Section","abstract":"

    Undocumented

    ","parent_name":"ListLayoutAttributes"},"Structs/ListLayoutAttributes.html#/s:10ListableUI20ListLayoutAttributesV13SupplementaryV":{"name":"Supplementary","abstract":"

    Undocumented

    ","parent_name":"ListLayoutAttributes"},"Structs/ListLayoutAttributes.html#/s:10ListableUI20ListLayoutAttributesV4ItemV":{"name":"Item","abstract":"

    Undocumented

    ","parent_name":"ListLayoutAttributes"},"Structs/SectionLayouts.html#/s:10ListableUI14SectionLayoutsVyACyACzXEcfc":{"name":"init(_:)","abstract":"

    Creates a new instance of the layouts, with an optional configure","parent_name":"SectionLayouts"},"Structs/SectionLayouts.html#/s:10ListableUI14SectionLayoutsVyxxmcAA0cD5ValueRzluip":{"name":"subscript(_:)","abstract":"

    Allows accessing the various SectionLayoutsValues stored within the object.","parent_name":"SectionLayouts"},"Structs/SectionLayouts.html#/s:10ListableUI14SectionLayoutsV4gridAA14GridAppearanceV0C6LayoutVvp":{"name":"grid","abstract":"

    Undocumented

    ","parent_name":"SectionLayouts"},"Structs/SectionLayouts.html#/s:10ListableUI14SectionLayoutsV5tableAA15TableAppearanceV0C6LayoutVvp":{"name":"table","abstract":"

    Allows customization of a Section‘s layout when it is presented within a .table style layout.

    ","parent_name":"SectionLayouts"},"Structs/GridAppearance/SectionLayout.html#/s:10ListableUI14GridAppearanceV13SectionLayoutV5widthAA11CustomWidthOvp":{"name":"width","abstract":"

    Undocumented

    ","parent_name":"SectionLayout"},"Structs/GridAppearance/SectionLayout.html#/s:10ListableUI19SectionLayoutsValueP07defaultE0xvpZ":{"name":"defaultValue","parent_name":"SectionLayout"},"Structs/GridAppearance/SectionLayout.html#/s:10ListableUI14GridAppearanceV13SectionLayoutV5widthAeA11CustomWidthO_tcfc":{"name":"init(width:)","abstract":"

    Undocumented

    ","parent_name":"SectionLayout"},"Structs/GridAppearance/HeaderFooterLayout.html#/s:10ListableUI14GridAppearanceV18HeaderFooterLayoutV5widthAA11CustomWidthOvp":{"name":"width","abstract":"

    Undocumented

    ","parent_name":"HeaderFooterLayout"},"Structs/GridAppearance/HeaderFooterLayout.html#/s:10ListableUI24HeaderFooterLayoutsValueP07defaultF0xvpZ":{"name":"defaultValue","parent_name":"HeaderFooterLayout"},"Structs/GridAppearance/HeaderFooterLayout.html#/s:10ListableUI14GridAppearanceV18HeaderFooterLayoutV5widthAeA11CustomWidthO_tcfc":{"name":"init(width:)","abstract":"

    Undocumented

    ","parent_name":"HeaderFooterLayout"},"Structs/GridAppearance/ItemLayout.html#/s:10ListableUI16ItemLayoutsValueP07defaultE0xvpZ":{"name":"defaultValue","parent_name":"ItemLayout"},"Structs/GridAppearance/ItemLayout.html#/s:10ListableUI14GridAppearanceV10ItemLayoutVAEycfc":{"name":"init()","abstract":"

    Undocumented

    ","parent_name":"ItemLayout"},"Structs/GridAppearance/Layout.html#/s:10ListableUI14GridAppearanceV6LayoutV7paddingSo12UIEdgeInsetsVvp":{"name":"padding","abstract":"

    Undocumented

    ","parent_name":"Layout"},"Structs/GridAppearance/Layout.html#/s:10ListableUI14GridAppearanceV6LayoutV5widthAA15WidthConstraintOvp":{"name":"width","abstract":"

    Undocumented

    ","parent_name":"Layout"},"Structs/GridAppearance/Layout.html#/s:10ListableUI14GridAppearanceV6LayoutV31interSectionSpacingWithNoFooter12CoreGraphics7CGFloatVvp":{"name":"interSectionSpacingWithNoFooter","abstract":"

    Undocumented

    ","parent_name":"Layout"},"Structs/GridAppearance/Layout.html#/s:10ListableUI14GridAppearanceV6LayoutV29interSectionSpacingWithFooter12CoreGraphics7CGFloatVvp":{"name":"interSectionSpacingWithFooter","abstract":"

    Undocumented

    ","parent_name":"Layout"},"Structs/GridAppearance/Layout.html#/s:10ListableUI14GridAppearanceV6LayoutV26sectionHeaderBottomSpacing12CoreGraphics7CGFloatVvp":{"name":"sectionHeaderBottomSpacing","abstract":"

    Undocumented

    ","parent_name":"Layout"},"Structs/GridAppearance/Layout.html#/s:10ListableUI14GridAppearanceV6LayoutV26itemToSectionFooterSpacing12CoreGraphics7CGFloatVvp":{"name":"itemToSectionFooterSpacing","abstract":"

    Undocumented

    ","parent_name":"Layout"},"Structs/GridAppearance/Layout.html#/s:10ListableUI14GridAppearanceV6LayoutV7padding5width31interSectionSpacingWithNoFooter0hijkM0019sectionHeaderBottomJ006itemToimJ0AESo12UIEdgeInsetsV_AA15WidthConstraintO12CoreGraphics7CGFloatVA3Rtcfc":{"name":"init(padding:width:interSectionSpacingWithNoFooter:interSectionSpacingWithFooter:sectionHeaderBottomSpacing:itemToSectionFooterSpacing:)","abstract":"

    Undocumented

    ","parent_name":"Layout"},"Structs/GridAppearance/Layout.html#/s:10ListableUI14GridAppearanceV6LayoutV3set4withyyAEzXE_tF":{"name":"set(with:)","abstract":"

    Undocumented

    ","parent_name":"Layout"},"Structs/GridAppearance/Sizing/ItemSize.html#/s:10ListableUI14GridAppearanceV6SizingV8ItemSizeO5fixedyAGSo6CGSizeVcAGmF":{"name":"fixed(_:)","abstract":"

    Undocumented

    ","parent_name":"ItemSize"},"Structs/GridAppearance/Sizing.html#/s:10ListableUI14GridAppearanceV6SizingV8itemSizeAE04ItemG0Ovp":{"name":"itemSize","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Structs/GridAppearance/Sizing/ItemSize.html":{"name":"ItemSize","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Structs/GridAppearance/Sizing.html#/s:10ListableUI14GridAppearanceV6SizingV19sectionHeaderHeight12CoreGraphics7CGFloatVvp":{"name":"sectionHeaderHeight","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Structs/GridAppearance/Sizing.html#/s:10ListableUI14GridAppearanceV6SizingV19sectionFooterHeight12CoreGraphics7CGFloatVvp":{"name":"sectionFooterHeight","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Structs/GridAppearance/Sizing.html#/s:10ListableUI14GridAppearanceV6SizingV16listHeaderHeight12CoreGraphics7CGFloatVvp":{"name":"listHeaderHeight","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Structs/GridAppearance/Sizing.html#/s:10ListableUI14GridAppearanceV6SizingV16listFooterHeight12CoreGraphics7CGFloatVvp":{"name":"listFooterHeight","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Structs/GridAppearance/Sizing.html#/s:10ListableUI14GridAppearanceV6SizingV22overscrollFooterHeight12CoreGraphics7CGFloatVvp":{"name":"overscrollFooterHeight","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Structs/GridAppearance/Sizing.html#/s:10ListableUI14GridAppearanceV6SizingV8itemSize19sectionHeaderHeight0h6FooterJ004listiJ00lkJ0010overscrollkJ0A2E04ItemG0O_12CoreGraphics7CGFloatVA4Ptcfc":{"name":"init(itemSize:sectionHeaderHeight:sectionFooterHeight:listHeaderHeight:listFooterHeight:overscrollFooterHeight:)","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Structs/GridAppearance/Sizing.html#/s:10ListableUI14GridAppearanceV6SizingV3set4withyyAEzXE_tF":{"name":"set(with:)","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Structs/GridAppearance.html#/s:10ListableUI14GridAppearanceV6sizingAC6SizingVvp":{"name":"sizing","abstract":"

    Undocumented

    ","parent_name":"GridAppearance"},"Structs/GridAppearance.html#/s:10ListableUI14GridAppearanceV6layoutAC6LayoutVvp":{"name":"layout","abstract":"

    Undocumented

    ","parent_name":"GridAppearance"},"Structs/GridAppearance.html#/s:10ListableUI14GridAppearanceV9directionAA15LayoutDirectionOvp":{"name":"direction","abstract":"

    Undocumented

    ","parent_name":"GridAppearance"},"Structs/GridAppearance.html#/s:10ListableUI14GridAppearanceV20stickySectionHeadersSbvp":{"name":"stickySectionHeaders","abstract":"

    Undocumented

    ","parent_name":"GridAppearance"},"Structs/GridAppearance.html#/s:10ListableUI14GridAppearanceV7defaultACvpZ":{"name":"default","abstract":"

    Undocumented

    ","parent_name":"GridAppearance"},"Structs/GridAppearance.html#/s:10ListableUI14GridAppearanceV20stickySectionHeaders6sizing6layoutACSb_AC6SizingVAC6LayoutVtcfc":{"name":"init(stickySectionHeaders:sizing:layout:)","abstract":"

    Undocumented

    ","parent_name":"GridAppearance"},"Structs/GridAppearance/Sizing.html":{"name":"Sizing","abstract":"

    Undocumented

    ","parent_name":"GridAppearance"},"Structs/GridAppearance/Layout.html":{"name":"Layout","abstract":"

    Undocumented

    ","parent_name":"GridAppearance"},"Structs/GridAppearance/ItemLayout.html":{"name":"ItemLayout","abstract":"

    Undocumented

    ","parent_name":"GridAppearance"},"Structs/GridAppearance/HeaderFooterLayout.html":{"name":"HeaderFooterLayout","abstract":"

    Undocumented

    ","parent_name":"GridAppearance"},"Structs/GridAppearance/SectionLayout.html":{"name":"SectionLayout","abstract":"

    Undocumented

    ","parent_name":"GridAppearance"},"Structs/LayoutDescription.html#/s:10ListableUI17LayoutDescriptionV10layoutType10appearanceACxm_y0C10AppearanceQzzctcAA04ListC0Rzlufc":{"name":"init(layoutType:appearance:)","abstract":"

    Creates a new layout description for the provided layout type, with the provided optional layout configuration.

    ","parent_name":"LayoutDescription"},"Structs/LayoutDescription.html#/s:10ListableUI17LayoutDescriptionV17experimental_gridyACyAA14GridAppearanceVzcFZ":{"name":"experimental_grid(_:)","abstract":"

    Undocumented

    ","parent_name":"LayoutDescription"},"Structs/LayoutDescription.html#/s:10ListableUI17LayoutDescriptionV5pagedyACyAA15PagedAppearanceVzcFZ":{"name":"paged(_:)","abstract":"

    Undocumented

    ","parent_name":"LayoutDescription"},"Structs/LayoutDescription.html#/s:10ListableUI17LayoutDescriptionV5tableyACyAA15TableAppearanceVzcFZ":{"name":"table(_:)","abstract":"

    Undocumented

    ","parent_name":"LayoutDescription"},"Structs/Reordering/Result.html#/s:10ListableUI10ReorderingV6ResultV11fromSectionAA0F0Vvp":{"name":"fromSection","abstract":"

    Undocumented

    ","parent_name":"Result"},"Structs/Reordering/Result.html#/s:10ListableUI10ReorderingV6ResultV13fromIndexPath10Foundation0fG0Vvp":{"name":"fromIndexPath","abstract":"

    Undocumented

    ","parent_name":"Result"},"Structs/Reordering/Result.html#/s:10ListableUI10ReorderingV6ResultV9toSectionAA0F0Vvp":{"name":"toSection","abstract":"

    Undocumented

    ","parent_name":"Result"},"Structs/Reordering/Result.html#/s:10ListableUI10ReorderingV6ResultV11toIndexPath10Foundation0fG0Vvp":{"name":"toIndexPath","abstract":"

    Undocumented

    ","parent_name":"Result"},"Structs/Reordering/Sections.html#/s:10ListableUI10ReorderingV8SectionsO4sameyA2EmF":{"name":"same","abstract":"

    Undocumented

    ","parent_name":"Sections"},"Structs/Reordering.html#/s:10ListableUI10ReorderingV8sectionsAC8SectionsOvp":{"name":"sections","abstract":"

    Undocumented

    ","parent_name":"Reordering"},"Structs/Reordering.html#/s:10ListableUI10ReorderingV10CanReordera":{"name":"CanReorder","abstract":"

    Undocumented

    ","parent_name":"Reordering"},"Structs/Reordering.html#/s:10ListableUI10ReorderingV10canReorderSbAC6ResultVcSgvp":{"name":"canReorder","abstract":"

    Undocumented

    ","parent_name":"Reordering"},"Structs/Reordering.html#/s:10ListableUI10ReorderingV10DidReordera":{"name":"DidReorder","abstract":"

    Undocumented

    ","parent_name":"Reordering"},"Structs/Reordering.html#/s:10ListableUI10ReorderingV10didReorderyyAC6ResultVcvp":{"name":"didReorder","abstract":"

    Undocumented

    ","parent_name":"Reordering"},"Structs/Reordering.html#/s:10ListableUI10ReorderingV8sections10canReorder03didF0A2C8SectionsO_SbAC6ResultVcSgyAJctcfc":{"name":"init(sections:canReorder:didReorder:)","abstract":"

    Undocumented

    ","parent_name":"Reordering"},"Structs/Reordering/Sections.html":{"name":"Sections","abstract":"

    Undocumented

    ","parent_name":"Reordering"},"Structs/Reordering/Result.html":{"name":"Result","abstract":"

    Undocumented

    ","parent_name":"Reordering"},"Structs/ItemState.html#/s:10ListableUI9ItemStateV10isSelected0E11HighlightedACSb_Sbtcfc":{"name":"init(isSelected:isHighlighted:)","abstract":"

    Undocumented

    ","parent_name":"ItemState"},"Structs/ItemState.html#/s:10ListableUI9ItemStateV4cellACSo20UICollectionViewCellC_tcfc":{"name":"init(cell:)","abstract":"

    Undocumented

    ","parent_name":"ItemState"},"Structs/ItemState.html#/s:10ListableUI9ItemStateV10isSelectedSbvp":{"name":"isSelected","abstract":"

    If the item is currently selected.

    ","parent_name":"ItemState"},"Structs/ItemState.html#/s:10ListableUI9ItemStateV13isHighlightedSbvp":{"name":"isHighlighted","abstract":"

    If the item is currently highlighted.

    ","parent_name":"ItemState"},"Structs/ItemState.html#/s:10ListableUI9ItemStateV8isActiveSbvp":{"name":"isActive","abstract":"

    If the item is either selected or highlighted.

    ","parent_name":"ItemState"},"Structs/ItemLayouts.html#/s:10ListableUI11ItemLayoutsVyACyACzXEcfc":{"name":"init(_:)","abstract":"

    Creates a new instance of the layouts, with an optional configure","parent_name":"ItemLayouts"},"Structs/ItemLayouts.html#/s:10ListableUI11ItemLayoutsVyxxmcAA0cD5ValueRzluip":{"name":"subscript(_:)","abstract":"

    Allows accessing the various ItemLayoutsValues stored within the object.","parent_name":"ItemLayouts"},"Structs/ItemLayouts.html#/s:10ListableUI11ItemLayoutsV4gridAA14GridAppearanceV0C6LayoutVvp":{"name":"grid","abstract":"

    Undocumented

    ","parent_name":"ItemLayouts"},"Structs/ItemLayouts.html#/s:10ListableUI11ItemLayoutsV5tableAA15TableAppearanceV0C6LayoutVvp":{"name":"table","abstract":"

    Allows customization of an Item‘s layout when it is presented within a .table style layout.

    ","parent_name":"ItemLayouts"},"Structs/ItemInsertAndRemoveAnimations/Attributes.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV10AttributesV6boundsSo6CGRectVvp":{"name":"bounds","abstract":"

    Undocumented

    ","parent_name":"Attributes"},"Structs/ItemInsertAndRemoveAnimations/Attributes.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV10AttributesV6centerSo7CGPointVvp":{"name":"center","abstract":"

    Undocumented

    ","parent_name":"Attributes"},"Structs/ItemInsertAndRemoveAnimations/Attributes.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV10AttributesV9transformSo17CGAffineTransformVvp":{"name":"transform","abstract":"

    Undocumented

    ","parent_name":"Attributes"},"Structs/ItemInsertAndRemoveAnimations/Attributes.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV10AttributesV11transform3DSo13CATransform3DVvp":{"name":"transform3D","abstract":"

    Undocumented

    ","parent_name":"Attributes"},"Structs/ItemInsertAndRemoveAnimations/Attributes.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV10AttributesV5alpha12CoreGraphics7CGFloatVvp":{"name":"alpha","abstract":"

    Undocumented

    ","parent_name":"Attributes"},"Structs/ItemInsertAndRemoveAnimations/Attributes.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV10AttributesV6zIndexSivp":{"name":"zIndex","abstract":"

    Undocumented

    ","parent_name":"Attributes"},"Structs/ItemInsertAndRemoveAnimations/Attributes.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV10AttributesV5frameSo6CGRectVvp":{"name":"frame","abstract":"

    Undocumented

    ","parent_name":"Attributes"},"Structs/ItemInsertAndRemoveAnimations.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV7Preparea":{"name":"Prepare","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ItemInsertAndRemoveAnimations.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV02onD0yyAC10AttributesVzcvp":{"name":"onInsert","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ItemInsertAndRemoveAnimations.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV9onRemovalyyAC10AttributesVzcvp":{"name":"onRemoval","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ItemInsertAndRemoveAnimations.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV02onD00H7RemovalACyAC10AttributesVzc_yAGzctcfc":{"name":"init(onInsert:onRemoval:)","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ItemInsertAndRemoveAnimations.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV10attributesACyAC10AttributesVzc_tcfc":{"name":"init(attributes:)","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ItemInsertAndRemoveAnimations/Attributes.html":{"name":"Attributes","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ItemInsertAndRemoveAnimations.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV4fadeACvpZ":{"name":"fade","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ItemInsertAndRemoveAnimations.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV5rightACvpZ":{"name":"right","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ItemInsertAndRemoveAnimations.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV4leftACvpZ":{"name":"left","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ItemInsertAndRemoveAnimations.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV3topACvpZ":{"name":"top","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ItemInsertAndRemoveAnimations.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV6bottomACvpZ":{"name":"bottom","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ItemInsertAndRemoveAnimations.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV9scaleDownACvpZ":{"name":"scaleDown","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ItemInsertAndRemoveAnimations.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV7scaleUpACvpZ":{"name":"scaleUp","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ApplyItemContentInfo.html#/s:10ListableUI20ApplyItemContentInfoV5stateAA0D5StateVvp":{"name":"state","abstract":"

    The state of the Item currently displaying the content. Is it highlighted, selected, etc.

    ","parent_name":"ApplyItemContentInfo"},"Structs/ApplyItemContentInfo.html#/s:10ListableUI20ApplyItemContentInfoV8positionAA0D8PositionOvp":{"name":"position","abstract":"

    The position of the item within its section.

    ","parent_name":"ApplyItemContentInfo"},"Structs/ApplyItemContentInfo.html#/s:10ListableUI20ApplyItemContentInfoV10reorderingAA17ReorderingActionsCvp":{"name":"reordering","abstract":"

    Provides access to actions to handle re-ordering the content within the list.

    ","parent_name":"ApplyItemContentInfo"},"Structs/ApplyItemContentInfo.html#/s:10ListableUI20ApplyItemContentInfoV11environmentAA15ListEnvironmentVvp":{"name":"environment","abstract":"

    The environment of the containing list.","parent_name":"ApplyItemContentInfo"},"Structs/ItemContentViews.html#/s:10ListableUI16ItemContentViewsV7content0D4ViewQzvp":{"name":"content","abstract":"

    The content view of the content.

    ","parent_name":"ItemContentViews"},"Structs/ItemContentViews.html#/s:10ListableUI16ItemContentViewsV10background14BackgroundViewQzvp":{"name":"background","abstract":"

    The background view of the content.

    ","parent_name":"ItemContentViews"},"Structs/ItemContentViews.html#/s:10ListableUI16ItemContentViewsV18selectedBackground08SelectedG4ViewQzvp":{"name":"selectedBackground","abstract":"

    The selected background view of the content.","parent_name":"ItemContentViews"},"Structs/DefaultItemProperties.html#/s:10ListableUI21DefaultItemPropertiesV6sizingAA6SizingOSgvp":{"name":"sizing","abstract":"

    Undocumented

    ","parent_name":"DefaultItemProperties"},"Structs/DefaultItemProperties.html#/s:10ListableUI21DefaultItemPropertiesV7layoutsAA0D7LayoutsVSgvp":{"name":"layouts","abstract":"

    Undocumented

    ","parent_name":"DefaultItemProperties"},"Structs/DefaultItemProperties.html#/s:10ListableUI21DefaultItemPropertiesV14selectionStyleAA0d9SelectionG0OSgvp":{"name":"selectionStyle","abstract":"

    Undocumented

    ","parent_name":"DefaultItemProperties"},"Structs/DefaultItemProperties.html#/s:10ListableUI21DefaultItemPropertiesV25insertAndRemoveAnimationsAA0d6InsertghI0VSgvp":{"name":"insertAndRemoveAnimations","abstract":"

    Undocumented

    ","parent_name":"DefaultItemProperties"},"Structs/DefaultItemProperties.html#/s:10ListableUI21DefaultItemPropertiesV12swipeActionsAA05SwipeG13ConfigurationVSgvp":{"name":"swipeActions","abstract":"

    Undocumented

    ","parent_name":"DefaultItemProperties"},"Structs/DefaultItemProperties.html#/s:10ListableUI21DefaultItemPropertiesV6sizing7layouts14selectionStyle25insertAndRemoveAnimations12swipeActionsACyxGAA6SizingOSg_AA0D7LayoutsVSgAA0d9SelectionI0OSgAA0d6InsertklM0VSgAA05SwipeO13ConfigurationVSgtcfc":{"name":"init(sizing:layouts:selectionStyle:insertAndRemoveAnimations:swipeActions:)","abstract":"

    Undocumented

    ","parent_name":"DefaultItemProperties"},"Structs/HeaderFooterLayouts.html#/s:10ListableUI19HeaderFooterLayoutsVyACyACzXEcfc":{"name":"init(_:)","abstract":"

    Creates a new instance of the layouts, with an optional configure","parent_name":"HeaderFooterLayouts"},"Structs/HeaderFooterLayouts.html#/s:10ListableUI19HeaderFooterLayoutsVyxxmcAA0cdE5ValueRzluip":{"name":"subscript(_:)","abstract":"

    Allows accessing the various HeaderFooterLayoutValues stored within the object.","parent_name":"HeaderFooterLayouts"},"Structs/HeaderFooterLayouts.html#/s:10ListableUI19HeaderFooterLayoutsV4gridAA14GridAppearanceV0cD6LayoutVvp":{"name":"grid","abstract":"

    Undocumented

    ","parent_name":"HeaderFooterLayouts"},"Structs/HeaderFooterLayouts.html#/s:10ListableUI19HeaderFooterLayoutsV5tableAA15TableAppearanceV0cD6LayoutVvp":{"name":"table","abstract":"

    Allows customization of a HeaderFooter‘s layout when it is presented within a .table style layout.

    ","parent_name":"HeaderFooterLayouts"},"Structs/HeaderFooterContentViews.html#/s:10ListableUI24HeaderFooterContentViewsV7content0E4ViewQzvp":{"name":"content","abstract":"

    The content view of the content.

    ","parent_name":"HeaderFooterContentViews"},"Structs/HeaderFooterContentViews.html#/s:10ListableUI24HeaderFooterContentViewsV10background14BackgroundViewQzvp":{"name":"background","abstract":"

    The background view of the content.

    ","parent_name":"HeaderFooterContentViews"},"Structs/HeaderFooterContentViews.html#/s:10ListableUI24HeaderFooterContentViewsV7pressed21PressedBackgroundViewQzvp":{"name":"pressed","abstract":"

    The background view of the content that’s displayed while a press is active.

    ","parent_name":"HeaderFooterContentViews"},"Structs/ApplyHeaderFooterContentInfo.html#/s:10ListableUI28ApplyHeaderFooterContentInfoV11environmentAA15ListEnvironmentVvp":{"name":"environment","abstract":"

    The environment of the containing list.","parent_name":"ApplyHeaderFooterContentInfo"},"Structs/HeaderFooter.html#/s:10ListableUI12HeaderFooterV7contentxvp":{"name":"content","abstract":"

    Undocumented

    ","parent_name":"HeaderFooter"},"Structs/HeaderFooter.html#/s:10ListableUI12HeaderFooterV6sizingAA6SizingOvp":{"name":"sizing","abstract":"

    Undocumented

    ","parent_name":"HeaderFooter"},"Structs/HeaderFooter.html#/s:10ListableUI12HeaderFooterV7layoutsAA0cD7LayoutsVvp":{"name":"layouts","abstract":"

    Undocumented

    ","parent_name":"HeaderFooter"},"Structs/HeaderFooter.html#/s:10ListableUI12HeaderFooterV5OnTapa":{"name":"OnTap","abstract":"

    Undocumented

    ","parent_name":"HeaderFooter"},"Structs/HeaderFooter.html#/s:10ListableUI12HeaderFooterV5onTapyxcSgvp":{"name":"onTap","abstract":"

    Undocumented

    ","parent_name":"HeaderFooter"},"Structs/HeaderFooter.html#/s:10ListableUI12HeaderFooterV19debuggingIdentifierSSSgvp":{"name":"debuggingIdentifier","abstract":"

    Undocumented

    ","parent_name":"HeaderFooter"},"Structs/HeaderFooter.html#/s:10ListableUI12HeaderFooterV5Builda":{"name":"Build","abstract":"

    Undocumented

    ","parent_name":"HeaderFooter"},"Structs/HeaderFooter.html#/s:10ListableUI12HeaderFooterV_5buildACyxGx_yAEzXEtcfc":{"name":"init(_:build:)","abstract":"

    Undocumented

    ","parent_name":"HeaderFooter"},"Structs/HeaderFooter.html#/s:10ListableUI12HeaderFooterV_6sizing7layouts5onTapACyxGx_AA6SizingOAA0cD7LayoutsVyxcSgtcfc":{"name":"init(_:sizing:layouts:onTap:)","abstract":"

    Undocumented

    ","parent_name":"HeaderFooter"},"Structs/HeaderFooter.html#/s:10ListableUI12HeaderFooterV5apply2to3for4withySo6UIViewC_AA11ApplyReasonOAA0jcD11ContentInfoVtF":{"name":"apply(to:for:with:)","abstract":"

    Undocumented

    ","parent_name":"HeaderFooter"},"Structs/HeaderFooter.html#/s:10ListableUI12HeaderFooterV15anyIsEquivalent2toSbAA03AnycD0_p_tF":{"name":"anyIsEquivalent(to:)","abstract":"

    Undocumented

    ","parent_name":"HeaderFooter"},"Structs/HeaderFooter.html#/s:10ListableUI12HeaderFooterV015newPresentationcD5State24performsContentCallbacksypSb_tF":{"name":"newPresentationHeaderFooterState(performsContentCallbacks:)","abstract":"

    Undocumented

    ","parent_name":"HeaderFooter"},"Structs/EmbeddedList/Sizing.html#/s:10ListableUI12EmbeddedListV6SizingO7defaultyA2EmF":{"name":"default","abstract":"

    Falls back to the default sizing of Items in the list view.

    ","parent_name":"Sizing"},"Structs/EmbeddedList/Sizing.html#/s:10ListableUI12EmbeddedListV6SizingO5fixedyAE12CoreGraphics7CGFloatV_AItcAEmF":{"name":"fixed(width:height:)","abstract":"

    A fixed size item with the given width or height.

    ","parent_name":"Sizing"},"Structs/EmbeddedList.html#/s:10ListableUI12EmbeddedListV10propertiesAA0D10PropertiesVvp":{"name":"properties","abstract":"

    Undocumented

    ","parent_name":"EmbeddedList"},"Structs/EmbeddedList.html#/s:10ListableUI12EmbeddedListV17contentIdentifiers11AnyHashableVvp":{"name":"contentIdentifier","abstract":"

    Undocumented

    ","parent_name":"EmbeddedList"},"Structs/EmbeddedList.html#/s:10ListableUI12EmbeddedListV10identifier5buildACx_yAA0D10PropertiesVzXEtcSHRzlufc":{"name":"init(identifier:build:)","abstract":"

    Undocumented

    ","parent_name":"EmbeddedList"},"Structs/EmbeddedList.html#/s:10ListableUI11ItemContentP0D4ViewQa":{"name":"ContentView","parent_name":"EmbeddedList"},"Structs/EmbeddedList.html#/s:10ListableUI11ItemContentP10identifierAA10IdentifierCyxGvp":{"name":"identifier","parent_name":"EmbeddedList"},"Structs/EmbeddedList.html#/s:10ListableUI11ItemContentP5apply2to3for4withyAA0cD5ViewsVyxG_AA11ApplyReasonOAA0jcD4InfoVtF":{"name":"apply(to:for:with:)","parent_name":"EmbeddedList"},"Structs/EmbeddedList.html#/s:10ListableUI11ItemContentP12isEquivalent2toSbx_tF":{"name":"isEquivalent(to:)","parent_name":"EmbeddedList"},"Structs/EmbeddedList.html#/s:10ListableUI11ItemContentP014createReusableD4View5frame0dG0QzSo6CGRectV_tFZ":{"name":"createReusableContentView(frame:)","parent_name":"EmbeddedList"},"Structs/EmbeddedList/Sizing.html":{"name":"Sizing","abstract":"

    How you specify sizing for an embedded list. The surface area","parent_name":"EmbeddedList"},"Structs/Item/OnUpdate.html#/s:10ListableUI4ItemV8OnUpdateV8Callbacka":{"name":"Callback","abstract":"

    Undocumented

    ","parent_name":"OnUpdate"},"Structs/Item/OnUpdate.html#/s:10ListableUI4ItemV8OnUpdateV3oldACyxGvp":{"name":"old","abstract":"

    Undocumented

    ","parent_name":"OnUpdate"},"Structs/Item/OnUpdate.html#/s:10ListableUI4ItemV8OnUpdateV3newACyxGvp":{"name":"new","abstract":"

    Undocumented

    ","parent_name":"OnUpdate"},"Structs/Item/OnMove.html#/s:10ListableUI4ItemV6OnMoveV8Callbacka":{"name":"Callback","abstract":"

    Undocumented

    ","parent_name":"OnMove"},"Structs/Item/OnMove.html#/s:10ListableUI4ItemV6OnMoveV3oldACyxGvp":{"name":"old","abstract":"

    Undocumented

    ","parent_name":"OnMove"},"Structs/Item/OnMove.html#/s:10ListableUI4ItemV6OnMoveV3newACyxGvp":{"name":"new","abstract":"

    Undocumented

    ","parent_name":"OnMove"},"Structs/Item/OnRemove.html#/s:10ListableUI4ItemV8OnRemoveV8Callbacka":{"name":"Callback","abstract":"

    Undocumented

    ","parent_name":"OnRemove"},"Structs/Item/OnRemove.html#/s:10ListableUI4ItemV8OnRemoveV4itemACyxGvp":{"name":"item","abstract":"

    Undocumented

    ","parent_name":"OnRemove"},"Structs/Item/OnInsert.html#/s:10ListableUI4ItemV8OnInsertV8Callbacka":{"name":"Callback","abstract":"

    Undocumented

    ","parent_name":"OnInsert"},"Structs/Item/OnInsert.html#/s:10ListableUI4ItemV8OnInsertV4itemACyxGvp":{"name":"item","abstract":"

    Undocumented

    ","parent_name":"OnInsert"},"Structs/Item/OnDeselect.html#/s:10ListableUI4ItemV10OnDeselectV8Callbacka":{"name":"Callback","abstract":"

    Undocumented

    ","parent_name":"OnDeselect"},"Structs/Item/OnDeselect.html#/s:10ListableUI4ItemV10OnDeselectV4itemACyxGvp":{"name":"item","abstract":"

    Undocumented

    ","parent_name":"OnDeselect"},"Structs/Item/OnSelect.html#/s:10ListableUI4ItemV8OnSelectV8Callbacka":{"name":"Callback","abstract":"

    Undocumented

    ","parent_name":"OnSelect"},"Structs/Item/OnSelect.html#/s:10ListableUI4ItemV8OnSelectV4itemACyxGvp":{"name":"item","abstract":"

    Undocumented

    ","parent_name":"OnSelect"},"Structs/Item/OnEndDisplay.html#/s:10ListableUI4ItemV12OnEndDisplayV8Callbacka":{"name":"Callback","abstract":"

    Undocumented

    ","parent_name":"OnEndDisplay"},"Structs/Item/OnEndDisplay.html#/s:10ListableUI4ItemV12OnEndDisplayV4itemACyxGvp":{"name":"item","abstract":"

    Undocumented

    ","parent_name":"OnEndDisplay"},"Structs/Item/OnEndDisplay.html#/s:10ListableUI4ItemV12OnEndDisplayV07isFirsteF0Sbvp":{"name":"isFirstEndDisplay","abstract":"

    Undocumented

    ","parent_name":"OnEndDisplay"},"Structs/Item/OnDisplay.html#/s:10ListableUI4ItemV9OnDisplayV8Callbacka":{"name":"Callback","abstract":"

    Undocumented

    ","parent_name":"OnDisplay"},"Structs/Item/OnDisplay.html#/s:10ListableUI4ItemV9OnDisplayV4itemACyxGvp":{"name":"item","abstract":"

    Undocumented

    ","parent_name":"OnDisplay"},"Structs/Item/OnDisplay.html#/s:10ListableUI4ItemV9OnDisplayV07isFirstE0Sbvp":{"name":"isFirstDisplay","abstract":"

    Undocumented

    ","parent_name":"OnDisplay"},"Structs/Item.html#/s:10ListableUI4ItemV10identifierAA13AnyIdentifierCvp":{"name":"identifier","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV7contentxvp":{"name":"content","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV6sizingAA6SizingOvp":{"name":"sizing","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV7layoutsAA0C7LayoutsVvp":{"name":"layouts","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV14selectionStyleAA0c9SelectionE0Ovp":{"name":"selectionStyle","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV25insertAndRemoveAnimationsAA0c6InsertefG0VSgvp":{"name":"insertAndRemoveAnimations","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV12swipeActionsAA05SwipeE13ConfigurationVSgvp":{"name":"swipeActions","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV10reorderingAA10ReorderingVSgvp":{"name":"reordering","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV9onDisplayyAC02OnE0Vyx_GcSgvp":{"name":"onDisplay","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV12onEndDisplayyAC02OneF0Vyx_GcSgvp":{"name":"onEndDisplay","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV8onSelectyAC02OnE0Vyx_GcSgvp":{"name":"onSelect","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV10onDeselectyAC02OnE0Vyx_GcSgvp":{"name":"onDeselect","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV8onInsertyAC02OnE0Vyx_GcSgvp":{"name":"onInsert","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV8onRemoveyAC02OnE0Vyx_GcSgvp":{"name":"onRemove","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV6onMoveyAC02OnE0Vyx_GcSgvp":{"name":"onMove","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV8onUpdateyAC02OnE0Vyx_GcSgvp":{"name":"onUpdate","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV19debuggingIdentifierSSSgvp":{"name":"debuggingIdentifier","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV5Builda":{"name":"Build","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV_5buildACyxGx_yAEzXEtcfc":{"name":"init(_:build:)","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV_6sizing7layouts14selectionStyle25insertAndRemoveAnimations12swipeActions10reordering9onDisplay0o3EndP00O6Select0O8Deselect0O6Insert0oJ00O4Move0O6UpdateACyxGx_AA6SizingOSgAA0C7LayoutsVSgAA0c9SelectionG0OSgAA0ctijK0VSgAA05SwipeM13ConfigurationVSgAA10ReorderingVSgyAC02OnP0Vyx_GcSgyAC02OnqP0Vyx_GcSgyAC02OnR0Vyx_GcSgyAC02OnS0Vyx_GcSgyAC02OnT0Vyx_GcSgyAC02OnJ0Vyx_GcSgyAC02OnU0Vyx_GcSgyAC02OnV0Vyx_GcSgtcfc":{"name":"init(_:sizing:layouts:selectionStyle:insertAndRemoveAnimations:swipeActions:reordering:onDisplay:onEndDisplay:onSelect:onDeselect:onInsert:onRemove:onMove:onUpdate:)","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV10anyContentypvp":{"name":"anyContent","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV15anyIsEquivalent2toSbAA03AnyC0_p_tF":{"name":"anyIsEquivalent(to:)","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV11anyWasMoved10comparedToSbAA03AnyC0_p_tF":{"name":"anyWasMoved(comparedTo:)","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV015newPresentationC5State4with15updateCallbacks015performsContentI0ypAA0cF12DependenciesV_AA06UpdateI0CSbtF":{"name":"newPresentationItemState(with:updateCallbacks:performsContentCallbacks:)","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item/OnDisplay.html":{"name":"OnDisplay","abstract":"

    Value passed to the onDisplay callback for Item.

    ","parent_name":"Item"},"Structs/Item/OnEndDisplay.html":{"name":"OnEndDisplay","abstract":"

    Value passed to the onEndDisplay callback for Item.

    ","parent_name":"Item"},"Structs/Item/OnSelect.html":{"name":"OnSelect","abstract":"

    Value passed to the onSelect callback for Item.

    ","parent_name":"Item"},"Structs/Item/OnDeselect.html":{"name":"OnDeselect","abstract":"

    Value passed to the onDeselect callback for Item.

    ","parent_name":"Item"},"Structs/Item/OnInsert.html":{"name":"OnInsert","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item/OnRemove.html":{"name":"OnRemove","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item/OnMove.html":{"name":"OnMove","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item/OnUpdate.html":{"name":"OnUpdate","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemVA2A12EmbeddedListVRszrlE4list_6sizing5buildACyAEGqd___AE6SizingOyAA0E10PropertiesVzXEtSHRd__lFZ":{"name":"list(_:sizing:build:)","abstract":"

    Creates an Item which can be used to embed a list inside another list,","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemVA2A019LocalizedCollatableC7ContentRzrlE15collationStringSSvp":{"name":"collationString","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Content.html#/s:10ListableUI7ContentV10identifiers11AnyHashableVSgvp":{"name":"identifier","abstract":"

    The identifier for the content, defaults to nil.","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV14refreshControlAA07RefreshE0VSgvp":{"name":"refreshControl","abstract":"

    The refresh control, if any, associated with the list.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV6headerAA15AnyHeaderFooter_pSgvp":{"name":"header","abstract":"

    The header for the list, usually displayed before all other content.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV6footerAA15AnyHeaderFooter_pSgvp":{"name":"footer","abstract":"

    The footer for the list, usually displayed after all other content.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV16overscrollFooterAA09AnyHeaderE0_pSgvp":{"name":"overscrollFooter","abstract":"

    The overscroll footer for the list, which is displayed below the bottom bounds of the visible frame,","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV8sectionsSayAA7SectionVGvp":{"name":"sections","abstract":"

    All sections in the list.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV16nonEmptySectionsSayAA7SectionVGvp":{"name":"nonEmptySections","abstract":"

    Any sections that have a non-zero number of items.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV9itemCountSivp":{"name":"itemCount","abstract":"

    The total number of items in all of the sections in the list.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV8contains3anySbShyAA0C7FiltersOG_tF":{"name":"contains(any:)","abstract":"

    Check if the content contains any of the given types, which you specify via the filters","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV5Builda":{"name":"Build","abstract":"

    Undocumented

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV4withACyACzXE_tcfc":{"name":"init(with:)","abstract":"

    Creates a new instance, configured as needed via the provided builder block.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV10identifier14refreshControl6header6footer16overscrollFooter8sectionsACs11AnyHashableVSg_AA07RefreshF0VSgAA0l6HeaderJ0_pSgA2QSayAA7SectionVGtcfc":{"name":"init(identifier:refreshControl:header:footer:overscrollFooter:sections:)","abstract":"

    Creates a new instance with the provided parameters.","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV9firstItemAA03AnyE0_pSgvp":{"name":"firstItem","abstract":"

    The first Item in the content. Returns nil if there is no content in any section.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV8lastItemAA03AnyE0_pSgvp":{"name":"lastItem","abstract":"

    The last Item in the content. Returns nil if there is no content in any section.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV4item2atAA7AnyItem_p10Foundation9IndexPathV_tF":{"name":"item(at:)","abstract":"

    Returns the Item at the given IndexPath.","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV14firstIndexPath3for10Foundation0eF0VSgAA13AnyIdentifierC_tF":{"name":"firstIndexPath(for:)","abstract":"

    Returns the first IndexPath for the contained Item with the given AnyIdentifier,","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV13lastIndexPath10Foundation0eF0VSgyF":{"name":"lastIndexPath()","abstract":"

    Returns the IndexPath of the last Item in the content.","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV11removeEmptyyyF":{"name":"removeEmpty()","abstract":"

    Removes all Sections that do not contain any Items.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV3addyyAA7SectionVF":{"name":"add(_:)","abstract":"

    Appends a Section to the end of the Content.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV2peoiyyACz_AA7SectionVtFZ":{"name":"+=(_:_:)","abstract":"

    Appends a Section to the end of the Content.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV2peoiyyACz_SayAA7SectionVGtFZ":{"name":"+=(_:_:)","abstract":"

    Appends a list of Sections to the end of the Content.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV14callAsFunction_9configureyx_yAA7SectionVzXEtSHRzlF":{"name":"callAsFunction(_:configure:)","abstract":"

    Allows streamlined creation of sections when building a list, leveraging Swift’s callAsFunction","parent_name":"Content"},"Structs/Color.html#/s:10ListableUI5ColorV12wrappedValueSo7UIColorCvp":{"name":"wrappedValue","abstract":"

    The underlying color value.

    ","parent_name":"Color"},"Structs/Color.html#/s:10ListableUI5ColorVyACSo7UIColorCcfc":{"name":"init(_:)","abstract":"

    Undocumented

    ","parent_name":"Color"},"Structs/Color.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"Color"},"Structs/Behavior/Underflow/Alignment.html#/s:10ListableUI8BehaviorV9UnderflowV9AlignmentO3topyA2GmF":{"name":"top","abstract":"

    Undocumented

    ","parent_name":"Alignment"},"Structs/Behavior/Underflow/Alignment.html#/s:10ListableUI8BehaviorV9UnderflowV9AlignmentO6centeryA2GmF":{"name":"center","abstract":"

    Undocumented

    ","parent_name":"Alignment"},"Structs/Behavior/Underflow/Alignment.html#/s:10ListableUI8BehaviorV9UnderflowV9AlignmentO6bottomyA2GmF":{"name":"bottom","abstract":"

    Undocumented

    ","parent_name":"Alignment"},"Structs/Behavior/Underflow.html#/s:10ListableUI8BehaviorV9UnderflowV12alwaysBounceSbvp":{"name":"alwaysBounce","abstract":"

    Undocumented

    ","parent_name":"Underflow"},"Structs/Behavior/Underflow.html#/s:10ListableUI8BehaviorV9UnderflowV9alignmentAE9AlignmentOvp":{"name":"alignment","abstract":"

    Undocumented

    ","parent_name":"Underflow"},"Structs/Behavior/Underflow.html#/s:10ListableUI8BehaviorV9UnderflowV12alwaysBounce9alignmentAESb_AE9AlignmentOtcfc":{"name":"init(alwaysBounce:alignment:)","abstract":"

    Undocumented

    ","parent_name":"Underflow"},"Structs/Behavior/Underflow/Alignment.html":{"name":"Alignment","abstract":"

    Undocumented

    ","parent_name":"Underflow"},"Structs/Behavior/SelectionMode.html#/s:10ListableUI8BehaviorV13SelectionModeO4noneyA2EmF":{"name":"none","abstract":"

    The list view does not allow any selections.

    ","parent_name":"SelectionMode"},"Structs/Behavior/SelectionMode.html#/s:10ListableUI8BehaviorV13SelectionModeO6singleyAESb_tcAEmF":{"name":"single(clearsSelectionOnViewWillAppear:)","abstract":"

    The list view allows single selections. When an item is selected, the previously selected item (if any)","parent_name":"SelectionMode"},"Structs/Behavior/SelectionMode.html#/s:10ListableUI8BehaviorV13SelectionModeO8multipleyA2EmF":{"name":"multiple","abstract":"

    The list view allows multiple selections. It is your responsibility to update the content","parent_name":"SelectionMode"},"Structs/Behavior/ScrollsToTop.html#/s:10ListableUI8BehaviorV12ScrollsToTopO8disabledyA2EmF":{"name":"disabled","abstract":"

    No action is performed when the user taps on the status bar.

    ","parent_name":"ScrollsToTop"},"Structs/Behavior/ScrollsToTop.html#/s:10ListableUI8BehaviorV12ScrollsToTopO7enabledyA2EmF":{"name":"enabled","abstract":"

    When the user taps on the status bar, scroll to the top of the list.

    ","parent_name":"ScrollsToTop"},"Structs/Behavior/KeyboardAdjustmentMode.html#/s:10ListableUI8BehaviorV22KeyboardAdjustmentModeO4noneyA2EmF":{"name":"none","abstract":"

    The contentInset of the list is not adjusted when the keyboard appears or disappears.

    ","parent_name":"KeyboardAdjustmentMode"},"Structs/Behavior/KeyboardAdjustmentMode.html#/s:10ListableUI8BehaviorV22KeyboardAdjustmentModeO18adjustsWhenVisibleyA2EmF":{"name":"adjustsWhenVisible","abstract":"

    The contentInset of the list is adjusted when the keyboard appears or disappears.

    ","parent_name":"KeyboardAdjustmentMode"},"Structs/Behavior.html#/s:10ListableUI8BehaviorV19keyboardDismissModeSo020UIScrollViewKeyboardeF0Vvp":{"name":"keyboardDismissMode","abstract":"

    How the keyboard should be dismissed (if at all) based on scrolling of the list view.

    ","parent_name":"Behavior"},"Structs/Behavior.html#/s:10ListableUI8BehaviorV22keyboardAdjustmentModeAC08KeyboardeF0Ovp":{"name":"keyboardAdjustmentMode","abstract":"

    How to adjust the contentInset of the list when the keyboard visibility changes.

    ","parent_name":"Behavior"},"Structs/Behavior.html#/s:10ListableUI8BehaviorV12scrollsToTopAC07ScrollseF0Ovp":{"name":"scrollsToTop","abstract":"

    How the list should react when the user taps the application status bar.","parent_name":"Behavior"},"Structs/Behavior.html#/s:10ListableUI8BehaviorV13selectionModeAC09SelectionE0Ovp":{"name":"selectionMode","abstract":"

    How the list should respond to selection attempts.

    ","parent_name":"Behavior"},"Structs/Behavior.html#/s:10ListableUI8BehaviorV9underflowAC9UnderflowVvp":{"name":"underflow","abstract":"

    How the list should behave when its content takes up less space than is available in the list view.","parent_name":"Behavior"},"Structs/Behavior.html#/s:10ListableUI8BehaviorV23canCancelContentTouchesSbvp":{"name":"canCancelContentTouches","abstract":"

    A Boolean value that controls whether touches in the content view always lead to tracking.

    ","parent_name":"Behavior"},"Structs/Behavior.html#/s:10ListableUI8BehaviorV20delaysContentTouchesSbvp":{"name":"delaysContentTouches","abstract":"

    A Boolean value that determines whether the scroll view delays the handling of touch-down gestures.

    ","parent_name":"Behavior"},"Structs/Behavior.html#/s:10ListableUI8BehaviorV15isPagingEnabledSbvp":{"name":"isPagingEnabled","abstract":"

    Is paging enabled on the underlying scroll view.

    ","parent_name":"Behavior"},"Structs/Behavior.html#/s:10ListableUI8BehaviorV19keyboardDismissMode0d10AdjustmentF012scrollsToTop09selectionF09underflow23canCancelContentTouches06delaysoP015isPagingEnabledACSo020UIScrollViewKeyboardeF0V_AC0wgF0OAC07ScrollsiJ0OAC09SelectionF0OAC9UnderflowVS3btcfc":{"name":"init(keyboardDismissMode:keyboardAdjustmentMode:scrollsToTop:selectionMode:underflow:canCancelContentTouches:delaysContentTouches:isPagingEnabled:)","abstract":"

    Creates a new Behavior based on the provided parameters.

    ","parent_name":"Behavior"},"Structs/Behavior/KeyboardAdjustmentMode.html":{"name":"KeyboardAdjustmentMode","abstract":"

    How to adjust the contentInset of the list when the keyboard visibility changes.

    ","parent_name":"Behavior"},"Structs/Behavior/ScrollsToTop.html":{"name":"ScrollsToTop","abstract":"

    How to react when the user taps on the status bar of the application.

    ","parent_name":"Behavior"},"Structs/Behavior/SelectionMode.html":{"name":"SelectionMode","abstract":"

    The selection mode of the list view, which controls how many items (if any) can be selected at once.

    ","parent_name":"Behavior"},"Structs/Behavior/Underflow.html":{"name":"Underflow","abstract":"

    Undocumented

    ","parent_name":"Behavior"},"Structs/Appearance.html#/s:10ListableUI10AppearanceV15backgroundColorSo7UIColorCvp":{"name":"backgroundColor","abstract":"

    The background color for the list.

    ","parent_name":"Appearance"},"Structs/Appearance.html#/s:10ListableUI10AppearanceV21showsScrollIndicatorsSbvp":{"name":"showsScrollIndicators","abstract":"

    If the list should display its scroll indicators.

    ","parent_name":"Appearance"},"Structs/Appearance.html#/s:10ListableUI10AppearanceV15backgroundColor21showsScrollIndicators9configureACSo7UIColorC_SbyACzXEtcfc":{"name":"init(backgroundColor:showsScrollIndicators:configure:)","abstract":"

    Creates a new appearance object with the provided options.

    ","parent_name":"Appearance"},"Structs/Appearance.html#/s:10ListableUI10AppearanceV22defaultBackgroundColorSo7UIColorCvpZ":{"name":"defaultBackgroundColor","abstract":"

    The default background color for the Appearance.

    ","parent_name":"Appearance"},"Structs/Appearance.html":{"name":"Appearance","abstract":"

    Contains all the properties which affect the appearance of all possible kinds of list layouts.

    "},"Structs/Behavior.html":{"name":"Behavior","abstract":"

    Controls various behaviors of the list view, such as keyboard dismissal, selection mode, and behavior"},"Structs/Color.html":{"name":"Color","abstract":"

    A color wrapper which provides equatability for"},"Structs/Content.html":{"name":"Content","abstract":"

    Undocumented

    "},"Structs/Item.html":{"name":"Item","abstract":"

    Undocumented

    "},"Structs/EmbeddedList.html":{"name":"EmbeddedList","abstract":"

    Describes item content which can be used to embed a list inside another list,"},"Structs/HeaderFooter.html":{"name":"HeaderFooter","abstract":"

    Undocumented

    "},"Structs/ApplyHeaderFooterContentInfo.html":{"name":"ApplyHeaderFooterContentInfo","abstract":"

    Information about the current state of the content, which is passed to apply(to:for:with:)"},"Structs/HeaderFooterContentViews.html":{"name":"HeaderFooterContentViews","abstract":"

    The views owned by the item content, passed to the apply(to:) method to theme and provide content.

    "},"Structs/HeaderFooterLayouts.html":{"name":"HeaderFooterLayouts","abstract":"

    HeaderFooterLayouts allows you to provide ListLayout-specific layout configuration for"},"Structs.html#/s:10ListableUI21ItemStateDependenciesV":{"name":"ItemStateDependencies","abstract":"

    Undocumented

    "},"Structs/DefaultItemProperties.html":{"name":"DefaultItemProperties","abstract":"

    Allows specifying default properties to apply to an item when it is initialized,"},"Structs/ItemContentViews.html":{"name":"ItemContentViews","abstract":"

    The views owned by the item content, passed to the apply(to:) method to theme and provide content.

    "},"Structs/ApplyItemContentInfo.html":{"name":"ApplyItemContentInfo","abstract":"

    Information about the current state of the content, which is passed to apply(to:for:with:)"},"Structs/ItemInsertAndRemoveAnimations.html":{"name":"ItemInsertAndRemoveAnimations","abstract":"

    Undocumented

    "},"Structs/ItemLayouts.html":{"name":"ItemLayouts","abstract":"

    ItemLayouts allows you to provide ListLayout-specific layout configuration for"},"Structs/ItemState.html":{"name":"ItemState","abstract":"

    Undocumented

    "},"Structs/Reordering.html":{"name":"Reordering","abstract":"

    Undocumented

    "},"Structs/LayoutDescription.html":{"name":"LayoutDescription","abstract":"

    A LayoutDescription, well, describes the type of and properties of a layout to apply to a list view.

    "},"Structs/GridAppearance.html":{"name":"GridAppearance","abstract":"

    Undocumented

    "},"Structs/SectionLayouts.html":{"name":"SectionLayouts","abstract":"

    SectionLayouts allows you to provide ListLayout-specific layout configuration for"},"Structs/ListLayoutAttributes.html":{"name":"ListLayoutAttributes","abstract":"

    Undocumented

    "},"Structs/ListLayoutDefaults.html":{"name":"ListLayoutDefaults","abstract":"

    Undocumented

    "},"Structs/ListLayoutScrollViewProperties.html":{"name":"ListLayoutScrollViewProperties","abstract":"

    Undocumented

    "},"Structs/ListLayoutPoint.html":{"name":"ListLayoutPoint","abstract":"

    Undocumented

    "},"Structs/ListLayoutSize.html":{"name":"ListLayoutSize","abstract":"

    Undocumented

    "},"Structs/PagedAppearance.html":{"name":"PagedAppearance","abstract":"

    Describes the available appearance configuration options for a paged list layout."},"Structs/TableAppearance.html":{"name":"TableAppearance","abstract":"

    TableAppearance defines the appearance and layout attribute for list layouts within a Listable list.

    "},"Structs/ListEnvironment.html":{"name":"ListEnvironment","abstract":"

    An environment of keys and values that are passed to every ItemContent and HeaderFooter"},"Structs/ListProperties.html":{"name":"ListProperties","abstract":"

    The ListProperties object describes all of the given values needed to configure"},"Structs/ListScrollPositionInfo.html":{"name":"ListScrollPositionInfo","abstract":"

    Information about the current scroll position of a list,"},"Structs/ListStateObserver.html":{"name":"ListStateObserver","abstract":"

    Allows reading state and events based on state changes within the list view."},"Structs/LocalizedItemCollator.html":{"name":"LocalizedItemCollator","abstract":"

    If you’re looking for the equivalent of UILocalizedIndexedCollation for lists,"},"Structs/ItemPreview.html":{"name":"ItemPreview","abstract":"

    A SwiftUI view that you can use to preview your Item or ItemContent"},"Structs/ItemPreviewAppearance.html":{"name":"ItemPreviewAppearance","abstract":"

    The appearance options for a preview item.

    "},"Structs/RefreshControl.html":{"name":"RefreshControl","abstract":"

    Undocumented

    "},"Structs/ScrollPosition.html":{"name":"ScrollPosition","abstract":"

    Specifies how to position an item in a list when requesting the list scrolls to it.

    "},"Structs/Section.html":{"name":"Section","abstract":"

    Undocumented

    "},"Structs/HorizontalPadding.html":{"name":"HorizontalPadding","abstract":"

    Undocumented

    "},"Structs/SwipeActionsConfiguration.html":{"name":"SwipeActionsConfiguration","abstract":"

    Use SwipeActionsConfiguration to configure an item with SwipeActions."},"Structs/SwipeAction.html":{"name":"SwipeAction","abstract":"

    Create SwipeActions to define actions that can be performed in a SwipeActionsConfiguration.

    "},"Protocols/SectionLayoutsValue.html#/s:10ListableUI19SectionLayoutsValueP07defaultE0xvpZ":{"name":"defaultValue","abstract":"

    The default value used when accessing the value, if none is set.

    ","parent_name":"SectionLayoutsValue"},"Protocols/AnySectionInfo.html#/s:10ListableUI14AnySectionInfoP13anyIdentifierAA0cG0Cvp":{"name":"anyIdentifier","abstract":"

    Undocumented

    ","parent_name":"AnySectionInfo"},"Protocols/AnySectionInfo.html#/s:10ListableUI14AnySectionInfoP11anyWasMoved10comparedToSbAaB_p_tF":{"name":"anyWasMoved(comparedTo:)","abstract":"

    Undocumented

    ","parent_name":"AnySectionInfo"},"Protocols/SectionInfo.html#/s:10ListableUI11SectionInfoP10identifierAA10IdentifierCyxGvp":{"name":"identifier","abstract":"

    Undocumented

    ","parent_name":"SectionInfo"},"Protocols/SectionInfo.html#/s:10ListableUI11SectionInfoP8wasMoved10comparedToSbx_tF":{"name":"wasMoved(comparedTo:)","abstract":"

    Undocumented

    ","parent_name":"SectionInfo"},"Protocols/SectionInfo.html#/s:10ListableUI11SectionInfoPAAE13anyIdentifierAA03AnyF0Cvp":{"name":"anyIdentifier","abstract":"

    Undocumented

    ","parent_name":"SectionInfo"},"Protocols/SectionInfo.html#/s:10ListableUI11SectionInfoPAAE11anyWasMoved10comparedToSbAA03AnycD0_p_tF":{"name":"anyWasMoved(comparedTo:)","abstract":"

    Undocumented

    ","parent_name":"SectionInfo"},"Protocols/AnyLocalizedCollatableItem.html#/s:10ListableUI26AnyLocalizedCollatableItemP15collationStringSSvp":{"name":"collationString","abstract":"

    Undocumented

    ","parent_name":"AnyLocalizedCollatableItem"},"Protocols/LocalizedCollatableItemContent.html#/s:10ListableUI30LocalizedCollatableItemContentP15collationStringSSvp":{"name":"collationString","abstract":"

    A string that represents the primary content of your ItemContent; usually a name or title.

    ","parent_name":"LocalizedCollatableItemContent"},"Protocols/ListViewSource.html#/s:10ListableUI14ListViewSourceP5StateQa":{"name":"State","abstract":"

    Undocumented

    ","parent_name":"ListViewSource"},"Protocols/ListViewSource.html#/s:10ListableUI14ListViewSourceP7content4withADyAA0E5StateCy0H0QzG_AA7ContentVztF":{"name":"content(with:content:)","abstract":"

    Undocumented

    ","parent_name":"ListViewSource"},"Protocols/ListViewSource.html#/s:10ListableUI14ListViewSourceP7content4withAA7ContentVAA0E5StateCy0I0QzG_tF":{"name":"content(with:)","abstract":"

    Undocumented

    ","parent_name":"ListViewSource"},"Protocols/ListEnvironmentKey.html#/s:10ListableUI18ListEnvironmentKeyP5ValueQa":{"name":"Value","abstract":"

    The type of value stored by this key.

    ","parent_name":"ListEnvironmentKey"},"Protocols/ListEnvironmentKey.html#/s:10ListableUI18ListEnvironmentKeyP12defaultValue0G0QzvpZ":{"name":"defaultValue","abstract":"

    The default value that will be vended by an Environment for this key if no other value has been set.

    ","parent_name":"ListEnvironmentKey"},"Protocols/ListLayoutAppearance.html#/s:10ListableUI20ListLayoutAppearanceP7defaultxvpZ":{"name":"default","abstract":"

    Undocumented

    ","parent_name":"ListLayoutAppearance"},"Protocols/ListLayoutAppearance.html#/s:10ListableUI20ListLayoutAppearanceP9directionAA0D9DirectionOvp":{"name":"direction","abstract":"

    Undocumented

    ","parent_name":"ListLayoutAppearance"},"Protocols/ListLayoutAppearance.html#/s:10ListableUI20ListLayoutAppearanceP20stickySectionHeadersSbvp":{"name":"stickySectionHeaders","abstract":"

    Undocumented

    ","parent_name":"ListLayoutAppearance"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutP10appearanceAA10AppearanceVvp":{"name":"appearance","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutP8behaviorAA8BehaviorVvp":{"name":"behavior","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutP7contentAA0dE7ContentCvp":{"name":"content","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutP20scrollViewPropertiesAA0de6ScrollgH0Vvp":{"name":"scrollViewProperties","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutP9directionAA0E9DirectionOvp":{"name":"direction","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutP20stickySectionHeadersSbvp":{"name":"stickySectionHeaders","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutP06updateE02inySo16UICollectionViewC_tF":{"name":"updateLayout(in:)","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutP6layout8delegate2inyAA014CollectionViewE8Delegate_p_So012UICollectionJ0CtF":{"name":"layout(delegate:in:)","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutP11setZIndexesyyF":{"name":"setZIndexes()","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutPAAE19visibleContentFrame3forSo6CGRectVSo16UICollectionViewC_tF":{"name":"visibleContentFrame(for:)","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutPAAE36positionStickySectionHeadersIfNeeded2inySo16UICollectionViewC_tF":{"name":"positionStickySectionHeadersIfNeeded(in:)","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutPAAE30updateOverscrollFooterPosition2inySo16UICollectionViewC_tF":{"name":"updateOverscrollFooterPosition(in:)","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutPAAE018adjustPositionsForE9Underflow2inySo16UICollectionViewC_tF":{"name":"adjustPositionsForLayoutUnderflow(in:)","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyLayoutDescriptionConfiguration.html#/s:10ListableUI33AnyLayoutDescriptionConfigurationP011createEmptyD010appearance8behaviorAA0c4ListD0_pAA10AppearanceV_AA8BehaviorVtF":{"name":"createEmptyLayout(appearance:behavior:)","abstract":"

    Undocumented

    ","parent_name":"AnyLayoutDescriptionConfiguration"},"Protocols/AnyLayoutDescriptionConfiguration.html#/s:10ListableUI33AnyLayoutDescriptionConfigurationP015createPopulatedD010appearance8behavior8delegateAA0c4ListD0_pAA10AppearanceV_AA8BehaviorVAA014CollectionViewD8Delegate_ptF":{"name":"createPopulatedLayout(appearance:behavior:delegate:)","abstract":"

    Undocumented

    ","parent_name":"AnyLayoutDescriptionConfiguration"},"Protocols/AnyLayoutDescriptionConfiguration.html#/s:10ListableUI33AnyLayoutDescriptionConfigurationP13shouldRebuild6layoutSbAA0c4ListD0_p_tF":{"name":"shouldRebuild(layout:)","abstract":"

    Undocumented

    ","parent_name":"AnyLayoutDescriptionConfiguration"},"Protocols/AnyLayoutDescriptionConfiguration.html#/s:10ListableUI33AnyLayoutDescriptionConfigurationP06isSameD4Type2asSbAaB_p_tF":{"name":"isSameLayoutType(as:)","abstract":"

    Undocumented

    ","parent_name":"AnyLayoutDescriptionConfiguration"},"Protocols/ListLayout.html#/s:10ListableUI10ListLayoutP0D10AppearanceQa":{"name":"LayoutAppearance","abstract":"

    Undocumented

    ","parent_name":"ListLayout"},"Protocols/ListLayout.html#/s:10ListableUI10ListLayoutP8defaultsAA0cD8DefaultsVvpZ":{"name":"defaults","abstract":"

    Undocumented

    ","parent_name":"ListLayout"},"Protocols/ListLayout.html#/s:10ListableUI10ListLayoutP16layoutAppearance0dF0Qzvp":{"name":"layoutAppearance","abstract":"

    Undocumented

    ","parent_name":"ListLayout"},"Protocols/ListLayout.html#/s:10ListableUI10ListLayoutP16layoutAppearance10appearance8behavior7contentx0dF0Qz_AA0F0VAA8BehaviorVAA0cD7ContentCtcfc":{"name":"init(layoutAppearance:appearance:behavior:content:)","abstract":"

    Undocumented

    ","parent_name":"ListLayout"},"Protocols/ListLayout.html#/s:10ListableUI10ListLayoutPAAE8describe10appearanceAA0D11DescriptionVy0D10AppearanceQzzc_tFZ":{"name":"describe(appearance:)","abstract":"

    Creates a new layout description for a list layout, with the provided optional layout configuration.

    ","parent_name":"ListLayout"},"Protocols/ListLayout.html#/s:10ListableUI10ListLayoutPAAE9directionAA0D9DirectionOvp":{"name":"direction","abstract":"

    Undocumented

    ","parent_name":"ListLayout"},"Protocols/ListLayout.html#/s:10ListableUI10ListLayoutPAAE20stickySectionHeadersSbvp":{"name":"stickySectionHeaders","abstract":"

    Undocumented

    ","parent_name":"ListLayout"},"Protocols/CollectionViewLayoutDelegate.html#/s:10ListableUI28CollectionViewLayoutDelegateP04listdE20UpdatedItemPositionsyySo012UICollectionD0CF":{"name":"listViewLayoutUpdatedItemPositions(_:)","abstract":"

    Undocumented

    ","parent_name":"CollectionViewLayoutDelegate"},"Protocols/CollectionViewLayoutDelegate.html#/s:10ListableUI28CollectionViewLayoutDelegateP04listE7Content8defaultsAA04ListeH0CAA0jE8DefaultsV_tF":{"name":"listLayoutContent(defaults:)","abstract":"

    Undocumented

    ","parent_name":"CollectionViewLayoutDelegate"},"Protocols/ItemLayoutsValue.html#/s:10ListableUI16ItemLayoutsValueP07defaultE0xvpZ":{"name":"defaultValue","abstract":"

    The default value used when accessing the value, if none is set.

    ","parent_name":"ItemLayoutsValue"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP0cD4TypeQa":{"name":"ItemContentType","abstract":"

    The type of ItemContent associated with this coordinator.

    ","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP7actionsAA0cdE7ActionsCy0cD4TypeQzGvp":{"name":"actions","abstract":"

    The available actions you can perform on the coordinated Item. Eg, updating it to a new value.

    ","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP4infoAA0cdE4InfoCy0cD4TypeQzGvp":{"name":"info","abstract":"

    Info about the coordinated Item, such as its original and current value.

    ","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP11wasInsertedyyAA0C0V8OnInsertVy0cD4TypeQz_GF":{"name":"wasInserted(_:)","abstract":"

    Invoked on the coordinator when it is first created and configured.

    ","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP10wasRemovedyyAA0C0V8OnRemoveVy0cD4TypeQz_GF":{"name":"wasRemoved(_:)","abstract":"

    Invoked on the coordinator when its owned item is removed from the list due to","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP8wasMovedyyAA0C0V6OnMoveVy0cD4TypeQz_GF":{"name":"wasMoved(_:)","abstract":"

    Invoked on the coordinator when its owned item is moved inside a list due to its","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP10wasUpdatedyyAA0C0V8OnUpdateVy0cD4TypeQz_GF":{"name":"wasUpdated(_:)","abstract":"

    Invoked on the coordinator when an external update is pushed onto the owned Item.","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP4Viewa":{"name":"View","abstract":"

    The view type associated with the item.

    ","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP4view0cD4Type_0D4ViewQZSgvp":{"name":"view","abstract":"

    The view, if any, currently used to display the item.

    ","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP11willDisplay4withy0cD4Type_0D4ViewQZ_tF":{"name":"willDisplay(with:)","abstract":"

    Invoked when the list is about to begin displaying the item with the given view.

    ","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP13didEndDisplay4withy0cD4Type_0D4ViewQZ_tF":{"name":"didEndDisplay(with:)","abstract":"

    Invoked when the list is about to complete displaying the item with the given view.

    ","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP11wasSelectedyyF":{"name":"wasSelected()","abstract":"

    Invoked when the item is selected, via either user interaction or the selectionStyle.

    ","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP13wasDeselectedyyF":{"name":"wasDeselected()","abstract":"

    Invoked when the item is deselected, via either user interaction or the selectionStyle.

    ","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentSwipeActionsView.html#/s:10ListableUI27ItemContentSwipeActionsViewP05swipeF5Width12CoreGraphics7CGFloatVvp":{"name":"swipeActionsWidth","abstract":"

    Undocumented

    ","parent_name":"ItemContentSwipeActionsView"},"Protocols/ItemContentSwipeActionsView.html#/s:10ListableUI27ItemContentSwipeActionsViewP16didPerformActionxySbc_tcfc":{"name":"init(didPerformAction:)","abstract":"

    Undocumented

    ","parent_name":"ItemContentSwipeActionsView"},"Protocols/ItemContentSwipeActionsView.html#/s:10ListableUI27ItemContentSwipeActionsViewP5apply7actionsyAA0eF13ConfigurationV_tF":{"name":"apply(actions:)","abstract":"

    Undocumented

    ","parent_name":"ItemContentSwipeActionsView"},"Protocols/ItemContentSwipeActionsView.html#/s:10ListableUI27ItemContentSwipeActionsViewP5apply5stateyAA0E11ActionStateO_tF":{"name":"apply(state:)","abstract":"

    Undocumented

    ","parent_name":"ItemContentSwipeActionsView"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP10identifierAA10IdentifierCyxGvp":{"name":"identifier","abstract":"

    Identifies the content across updates to the list. This value must remain the same,","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP07defaultC10PropertiesAA07DefaultcF0VyxGvp":{"name":"defaultItemProperties","abstract":"

    Default values to assign to various properties on the Item which wraps","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP5apply2to3for4withyAA0cD5ViewsVyxG_AA11ApplyReasonOAA0jcD4InfoVtF":{"name":"apply(to:for:with:)","abstract":"

    Called when rendering the content. This is where you should push data from your","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP8wasMoved10comparedToSbx_tF":{"name":"wasMoved(comparedTo:)","abstract":"

    Return true if the content’s sort changed based on the old value passed into the function.

    ","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP12isEquivalent2toSbx_tF":{"name":"isEquivalent(to:)","abstract":"

    Return false if the content’ changed based on the old value passed into the function.

    ","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP16SwipeActionsViewQa":{"name":"SwipeActionsView","abstract":"

    The view type to use to render swipe actions (delete, etc) for this content.","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP0D4ViewQa":{"name":"ContentView","abstract":"

    The content view used to draw the content.","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP014createReusableD4View5frame0dG0QzSo6CGRectV_tFZ":{"name":"createReusableContentView(frame:)","abstract":"

    Create and return a new content view used to render the content.

    ","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP11CoordinatorQa":{"name":"Coordinator","abstract":"

    The coordinator type to use to manage the live state of the Item and ItemContent,","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP18CoordinatorActionsa":{"name":"CoordinatorActions","abstract":"

    The actions passed to the coordinator.

    ","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP15CoordinatorInfoa":{"name":"CoordinatorInfo","abstract":"

    The info passed to the coordinator.

    ","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP15makeCoordinator7actions4info0F0QzAA0cdF7ActionsCyxG_AA0cdF4InfoCyxGtF":{"name":"makeCoordinator(actions:info:)","abstract":"

    Creates a new coordinator with the provided actions and info.

    ","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP14BackgroundViewQa":{"name":"BackgroundView","abstract":"

    The background view used to draw the background of the content.","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP28createReusableBackgroundView5frame0gH0QzSo6CGRectV_tFZ":{"name":"createReusableBackgroundView(frame:)","abstract":"

    Create and return a new background view used to render the content’s background.

    ","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP22SelectedBackgroundViewQa":{"name":"SelectedBackgroundView","abstract":"

    The selected background view used to draw the background of the content when it is selected or highlighted.","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP36createReusableSelectedBackgroundView5frame0ghI0QzSo6CGRectV_tFZ":{"name":"createReusableSelectedBackgroundView(frame:)","abstract":"

    Create and return a new background view used to render the content’s selected background.

    ","parent_name":"ItemContent"},"Protocols/AnyItem_Internal.html#/s:10ListableUI16AnyItem_InternalP11anyWasMoved10comparedToSbAA0cD0_p_tF":{"name":"anyWasMoved(comparedTo:)","abstract":"

    Undocumented

    ","parent_name":"AnyItem_Internal"},"Protocols/AnyItem_Internal.html#/s:10ListableUI16AnyItem_InternalP15anyIsEquivalent2toSbAA0cD0_p_tF":{"name":"anyIsEquivalent(to:)","abstract":"

    Undocumented

    ","parent_name":"AnyItem_Internal"},"Protocols/AnyItem_Internal.html#/s:10ListableUI16AnyItem_InternalP015newPresentationD5State4with15updateCallbacks015performsContentK0ypAA0dH12DependenciesV_AA06UpdateK0CSbtF":{"name":"newPresentationItemState(with:updateCallbacks:performsContentCallbacks:)","abstract":"

    Undocumented

    ","parent_name":"AnyItem_Internal"},"Protocols/AnyItem.html#/s:10ListableUI7AnyItemP10identifierAA0C10IdentifierCvp":{"name":"identifier","abstract":"

    Undocumented

    ","parent_name":"AnyItem"},"Protocols/AnyItem.html#/s:10ListableUI7AnyItemP10anyContentypvp":{"name":"anyContent","abstract":"

    Undocumented

    ","parent_name":"AnyItem"},"Protocols/AnyItem.html#/s:10ListableUI7AnyItemP6sizingAA6SizingOvp":{"name":"sizing","abstract":"

    Undocumented

    ","parent_name":"AnyItem"},"Protocols/AnyItem.html#/s:10ListableUI7AnyItemP7layoutsAA0D7LayoutsVvp":{"name":"layouts","abstract":"

    Undocumented

    ","parent_name":"AnyItem"},"Protocols/AnyItem.html#/s:10ListableUI7AnyItemP14selectionStyleAA0d9SelectionF0Ovp":{"name":"selectionStyle","abstract":"

    Undocumented

    ","parent_name":"AnyItem"},"Protocols/AnyItem.html#/s:10ListableUI7AnyItemP25insertAndRemoveAnimationsAA0d6InsertfgH0VSgvp":{"name":"insertAndRemoveAnimations","abstract":"

    Undocumented

    ","parent_name":"AnyItem"},"Protocols/AnyItem.html#/s:10ListableUI7AnyItemP12swipeActionsAA05SwipeF13ConfigurationVSgvp":{"name":"swipeActions","abstract":"

    Undocumented

    ","parent_name":"AnyItem"},"Protocols/AnyItem.html#/s:10ListableUI7AnyItemP10reorderingAA10ReorderingVSgvp":{"name":"reordering","abstract":"

    Undocumented

    ","parent_name":"AnyItem"},"Protocols/HeaderFooterLayoutsValue.html#/s:10ListableUI24HeaderFooterLayoutsValueP07defaultF0xvpZ":{"name":"defaultValue","abstract":"

    The default value used when accessing the value, if none is set.

    ","parent_name":"HeaderFooterLayoutsValue"},"Protocols/HeaderFooterContent.html#/s:10ListableUI19HeaderFooterContentP5apply2to3for4withyAA0cdE5ViewsVyxG_AA11ApplyReasonOAA0kcdE4InfoVtF":{"name":"apply(to:for:with:)","abstract":"

    Undocumented

    ","parent_name":"HeaderFooterContent"},"Protocols/HeaderFooterContent.html#/s:10ListableUI19HeaderFooterContentP12isEquivalent2toSbx_tF":{"name":"isEquivalent(to:)","abstract":"

    Undocumented

    ","parent_name":"HeaderFooterContent"},"Protocols/HeaderFooterContent.html#/s:10ListableUI19HeaderFooterContentP0E4ViewQa":{"name":"ContentView","abstract":"

    The content view used to draw the content.","parent_name":"HeaderFooterContent"},"Protocols/HeaderFooterContent.html#/s:10ListableUI19HeaderFooterContentP014createReusableE4View5frame0eH0QzSo6CGRectV_tFZ":{"name":"createReusableContentView(frame:)","abstract":"

    Create and return a new content view used to render the content.

    ","parent_name":"HeaderFooterContent"},"Protocols/HeaderFooterContent.html#/s:10ListableUI19HeaderFooterContentP14BackgroundViewQa":{"name":"BackgroundView","abstract":"

    The background view used to draw the background of the content.","parent_name":"HeaderFooterContent"},"Protocols/HeaderFooterContent.html#/s:10ListableUI19HeaderFooterContentP28createReusableBackgroundView5frame0hI0QzSo6CGRectV_tFZ":{"name":"createReusableBackgroundView(frame:)","abstract":"

    Create and return a new background view used to render the content’s background.

    ","parent_name":"HeaderFooterContent"},"Protocols/HeaderFooterContent.html#/s:10ListableUI19HeaderFooterContentP21PressedBackgroundViewQa":{"name":"PressedBackgroundView","abstract":"

    The selected background view used to draw the background of the content when it is selected or highlighted.","parent_name":"HeaderFooterContent"},"Protocols/HeaderFooterContent.html#/s:10ListableUI19HeaderFooterContentP35createReusablePressedBackgroundView5frame0hiJ0QzSo6CGRectV_tFZ":{"name":"createReusablePressedBackgroundView(frame:)","abstract":"

    Create and return a new background view used to render the content’s pressed background.

    ","parent_name":"HeaderFooterContent"},"Protocols/HeaderFooterContent.html#/s:10ListableUI19HeaderFooterContentPAASQRzrlE12isEquivalent2toSbx_tF":{"name":"isEquivalent(to:)","parent_name":"HeaderFooterContent"},"Protocols/AnyHeaderFooter_Internal.html#/s:10ListableUI24AnyHeaderFooter_InternalP7layoutsAA0dE7LayoutsVvp":{"name":"layouts","abstract":"

    Undocumented

    ","parent_name":"AnyHeaderFooter_Internal"},"Protocols/AnyHeaderFooter_Internal.html#/s:10ListableUI24AnyHeaderFooter_InternalP5apply2to3for4withySo6UIViewC_AA11ApplyReasonOAA0ldE11ContentInfoVtF":{"name":"apply(to:for:with:)","abstract":"

    Undocumented

    ","parent_name":"AnyHeaderFooter_Internal"},"Protocols/AnyHeaderFooter_Internal.html#/s:10ListableUI24AnyHeaderFooter_InternalP15anyIsEquivalent2toSbAA0cdE0_p_tF":{"name":"anyIsEquivalent(to:)","abstract":"

    Undocumented

    ","parent_name":"AnyHeaderFooter_Internal"},"Protocols/AnyHeaderFooter_Internal.html#/s:10ListableUI24AnyHeaderFooter_InternalP015newPresentationdE5State24performsContentCallbacksypSb_tF":{"name":"newPresentationHeaderFooterState(performsContentCallbacks:)","abstract":"

    Undocumented

    ","parent_name":"AnyHeaderFooter_Internal"},"Protocols/AnyHeaderFooter.html#/s:10ListableUI15AnyHeaderFooterP6sizingAA6SizingOvp":{"name":"sizing","abstract":"

    Undocumented

    ","parent_name":"AnyHeaderFooter"},"Protocols/AnyHeaderFooter.html#/s:10ListableUI15AnyHeaderFooterP7layoutsAA0dE7LayoutsVvp":{"name":"layouts","abstract":"

    Undocumented

    ","parent_name":"AnyHeaderFooter"},"Protocols/AnyHeaderFooter.html":{"name":"AnyHeaderFooter","abstract":"

    Undocumented

    "},"Protocols/AnyHeaderFooter_Internal.html":{"name":"AnyHeaderFooter_Internal","abstract":"

    Undocumented

    "},"Protocols/HeaderFooterContent.html":{"name":"HeaderFooterContent","abstract":"

    A HeaderFooterContent is a type which specifies the content of a header, footer,"},"Protocols/HeaderFooterLayoutsValue.html":{"name":"HeaderFooterLayoutsValue","abstract":"

    The HeaderFooterLayoutsValue protocol provides a default value for the different layouts stored"},"Protocols/AnyItem.html":{"name":"AnyItem","abstract":"

    Undocumented

    "},"Protocols/AnyItem_Internal.html":{"name":"AnyItem_Internal","abstract":"

    Undocumented

    "},"Protocols/ItemContent.html":{"name":"ItemContent","abstract":"

    An ItemContent is a type used to provide the content of an Item"},"Protocols/ItemContentSwipeActionsView.html":{"name":"ItemContentSwipeActionsView","abstract":"

    Conform to this protocol to implement a completely custom swipe action view.

    "},"Protocols/ItemContentCoordinator.html":{"name":"ItemContentCoordinator","abstract":"

    A type which lets you interactively manage the contents of an Item or ItemContent"},"Protocols/ItemLayoutsValue.html":{"name":"ItemLayoutsValue","abstract":"

    The ItemLayoutsValue protocol provides a default value for the different layouts stored"},"Protocols/CollectionViewLayoutDelegate.html":{"name":"CollectionViewLayoutDelegate","abstract":"

    Undocumented

    "},"Protocols/ListLayout.html":{"name":"ListLayout","abstract":"

    Undocumented

    "},"Protocols/AnyLayoutDescriptionConfiguration.html":{"name":"AnyLayoutDescriptionConfiguration","abstract":"

    Undocumented

    "},"Protocols/AnyListLayout.html":{"name":"AnyListLayout","abstract":"

    Undocumented

    "},"Protocols/ListLayoutAppearance.html":{"name":"ListLayoutAppearance","abstract":"

    Undocumented

    "},"Protocols/ListEnvironmentKey.html":{"name":"ListEnvironmentKey","abstract":"

    Defines a value stored in the ListEnvironment of a list.

    "},"Protocols/ListViewSource.html":{"name":"ListViewSource","abstract":"

    Undocumented

    "},"Protocols/LocalizedCollatableItemContent.html":{"name":"LocalizedCollatableItemContent","abstract":"

    If you would like to make your ItemContent work with the LocalizedItemCollator,"},"Protocols/AnyLocalizedCollatableItem.html":{"name":"AnyLocalizedCollatableItem","abstract":"

    Represents an AnyItem which can be collated, via its vended collationString.

    "},"Protocols/SectionInfo.html":{"name":"SectionInfo","abstract":"

    Undocumented

    "},"Protocols/AnySectionInfo.html":{"name":"AnySectionInfo","abstract":"

    Undocumented

    "},"Protocols/SectionLayoutsValue.html":{"name":"SectionLayoutsValue","abstract":"

    The SectionLayoutsValue protocol provides a default value for the different layouts stored"},"Functions.html#/s:10ListableUI13listableFatal_4file4lines5NeverOSSyXK_s12StaticStringVSutF":{"name":"listableFatal(_:file:line:)","abstract":"

    Undocumented

    "},"Functions.html#/s:10ListableUI20listablePrecondition__4file4lineySbyXK_SSyXKs12StaticStringVSutF":{"name":"listablePrecondition(_:_:file:line:)","abstract":"

    Undocumented

    "},"Extensions/Set.html#/s:Sh10ListableUIAA15ScrollAnimationO0D7OptionsORszrlE7defaultShyAEGvpZ":{"name":"default","abstract":"

    Undocumented

    ","parent_name":"Set"},"Extensions/UIRectEdge.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"UIRectEdge"},"Extensions/SectionedDiff.html#/SectionChanges":{"name":"SectionChanges","parent_name":"SectionedDiff"},"Extensions/SectionedDiff.html#/ItemChanges":{"name":"ItemChanges","parent_name":"SectionedDiff"},"Extensions/SectionedDiff.html":{"name":"SectionedDiff"},"Extensions/UIRectEdge.html":{"name":"UIRectEdge"},"Extensions/Set.html":{"name":"Set"},"Enums/CustomWidth/Alignment.html#/s:10ListableUI11CustomWidthO9AlignmentO4leftyA2EmF":{"name":"left","abstract":"

    Undocumented

    ","parent_name":"Alignment"},"Enums/CustomWidth/Alignment.html#/s:10ListableUI11CustomWidthO9AlignmentO6centeryA2EmF":{"name":"center","abstract":"

    Undocumented

    ","parent_name":"Alignment"},"Enums/CustomWidth/Alignment.html#/s:10ListableUI11CustomWidthO9AlignmentO5rightyA2EmF":{"name":"right","abstract":"

    Undocumented

    ","parent_name":"Alignment"},"Enums/CustomWidth/Alignment.html#/s:10ListableUI11CustomWidthO9AlignmentO10originWith06parentD05width7padding12CoreGraphics7CGFloatVAL_AlA17HorizontalPaddingVtF":{"name":"originWith(parentWidth:width:padding:)","abstract":"

    Undocumented

    ","parent_name":"Alignment"},"Enums/CustomWidth/Custom.html#/s:10ListableUI11CustomWidthO0C0V7paddingAA17HorizontalPaddingVvp":{"name":"padding","abstract":"

    Undocumented

    ","parent_name":"Custom"},"Enums/CustomWidth/Custom.html#/s:10ListableUI11CustomWidthO0C0V5widthAA0D10ConstraintOvp":{"name":"width","abstract":"

    Undocumented

    ","parent_name":"Custom"},"Enums/CustomWidth/Custom.html#/s:10ListableUI11CustomWidthO0C0V9alignmentAC9AlignmentOvp":{"name":"alignment","abstract":"

    Undocumented

    ","parent_name":"Custom"},"Enums/CustomWidth/Custom.html#/s:10ListableUI11CustomWidthO0C0V7padding5width9alignmentAeA17HorizontalPaddingV_AA0D10ConstraintOAC9AlignmentOtcfc":{"name":"init(padding:width:alignment:)","abstract":"

    Undocumented

    ","parent_name":"Custom"},"Enums/CustomWidth/Custom.html#/s:10ListableUI11CustomWidthO0C0V8position4withAC8PositionVSo6CGSizeV_tF":{"name":"position(with:)","abstract":"

    Undocumented

    ","parent_name":"Custom"},"Enums/CustomWidth.html#/s:10ListableUI11CustomWidthO7defaultyA2CmF":{"name":"default","abstract":"

    Undocumented

    ","parent_name":"CustomWidth"},"Enums/CustomWidth.html#/s:10ListableUI11CustomWidthO4fillyA2CmF":{"name":"fill","abstract":"

    Undocumented

    ","parent_name":"CustomWidth"},"Enums/CustomWidth.html#/s:10ListableUI11CustomWidthO6customyA2C0C0VcACmF":{"name":"custom(_:)","abstract":"

    Undocumented

    ","parent_name":"CustomWidth"},"Enums/CustomWidth.html#/s:10ListableUI11CustomWidthO5merge4withA2C_tF":{"name":"merge(with:)","abstract":"

    Undocumented

    ","parent_name":"CustomWidth"},"Enums/CustomWidth.html#/s:10ListableUI11CustomWidthO8position4with07defaultD0AC8PositionVSo6CGSizeV_12CoreGraphics7CGFloatVtF":{"name":"position(with:defaultWidth:)","abstract":"

    Undocumented

    ","parent_name":"CustomWidth"},"Enums/CustomWidth/Custom.html":{"name":"Custom","abstract":"

    Undocumented

    ","parent_name":"CustomWidth"},"Enums/CustomWidth/Alignment.html":{"name":"Alignment","abstract":"

    Undocumented

    ","parent_name":"CustomWidth"},"Enums/CustomWidth.html#/s:10ListableUI11CustomWidthO8PositionV":{"name":"Position","abstract":"

    Undocumented

    ","parent_name":"CustomWidth"},"Enums/WidthConstraint.html#/s:10ListableUI15WidthConstraintO02noD0yA2CmF":{"name":"noConstraint","abstract":"

    Undocumented

    ","parent_name":"WidthConstraint"},"Enums/WidthConstraint.html#/s:10ListableUI15WidthConstraintO5fixedyAC12CoreGraphics7CGFloatVcACmF":{"name":"fixed(_:)","abstract":"

    Undocumented

    ","parent_name":"WidthConstraint"},"Enums/WidthConstraint.html#/s:10ListableUI15WidthConstraintO6atMostyAC12CoreGraphics7CGFloatVcACmF":{"name":"atMost(_:)","abstract":"

    Undocumented

    ","parent_name":"WidthConstraint"},"Enums/WidthConstraint.html#/s:10ListableUI15WidthConstraintO5clampy12CoreGraphics7CGFloatVAGF":{"name":"clamp(_:)","abstract":"

    Undocumented

    ","parent_name":"WidthConstraint"},"Enums/Sizing/Constraint/Axis/Value.html#/s:10ListableUI6SizingO10ConstraintV4AxisO5ValueO7defaultyA2ImF":{"name":"default","abstract":"

    Undocumented

    ","parent_name":"Value"},"Enums/Sizing/Constraint/Axis/Value.html#/s:10ListableUI6SizingO10ConstraintV4AxisO5ValueO5fixedyAI12CoreGraphics7CGFloatVcAImF":{"name":"fixed(_:)","abstract":"

    Undocumented

    ","parent_name":"Value"},"Enums/Sizing/Constraint/Axis/Value.html#/s:10ListableUI6SizingO10ConstraintV4AxisO5ValueO5value4with12CoreGraphics7CGFloatVAN_tF":{"name":"value(with:)","abstract":"

    Undocumented

    ","parent_name":"Value"},"Enums/Sizing/Constraint/Axis.html#/s:10ListableUI6SizingO10ConstraintV4AxisO02noD0yA2GmF":{"name":"noConstraint","abstract":"

    Undocumented

    ","parent_name":"Axis"},"Enums/Sizing/Constraint/Axis.html#/s:10ListableUI6SizingO10ConstraintV4AxisO7atLeastyA2G5ValueOcAGmF":{"name":"atLeast(_:)","abstract":"

    Undocumented

    ","parent_name":"Axis"},"Enums/Sizing/Constraint/Axis.html#/s:10ListableUI6SizingO10ConstraintV4AxisO6atMostyAG12CoreGraphics7CGFloatVcAGmF":{"name":"atMost(_:)","abstract":"

    Undocumented

    ","parent_name":"Axis"},"Enums/Sizing/Constraint/Axis.html#/s:10ListableUI6SizingO10ConstraintV4AxisO6withinyA2G5ValueO_12CoreGraphics7CGFloatVtcAGmF":{"name":"within(_:_:)","abstract":"

    Undocumented

    ","parent_name":"Axis"},"Enums/Sizing/Constraint/Axis/Value.html":{"name":"Value","abstract":"

    Undocumented

    ","parent_name":"Axis"},"Enums/Sizing/Constraint/Axis.html#/s:10ListableUI6SizingO10ConstraintV4AxisO5clamp_4with12CoreGraphics7CGFloatVAL_ALtF":{"name":"clamp(_:with:)","abstract":"

    Undocumented

    ","parent_name":"Axis"},"Enums/Sizing/Constraint.html#/s:10ListableUI6SizingO10ConstraintV5widthAE4AxisOvp":{"name":"width","abstract":"

    Undocumented

    ","parent_name":"Constraint"},"Enums/Sizing/Constraint.html#/s:10ListableUI6SizingO10ConstraintV6heightAE4AxisOvp":{"name":"height","abstract":"

    Undocumented

    ","parent_name":"Constraint"},"Enums/Sizing/Constraint.html#/s:10ListableUI6SizingO10ConstraintV02noD0AEvpZ":{"name":"noConstraint","abstract":"

    Undocumented

    ","parent_name":"Constraint"},"Enums/Sizing/Constraint.html#/s:10ListableUI6SizingO10ConstraintVyA2E4AxisOcfc":{"name":"init(_:)","abstract":"

    Undocumented

    ","parent_name":"Constraint"},"Enums/Sizing/Constraint.html#/s:10ListableUI6SizingO10ConstraintV5width6heightA2E4AxisO_AItcfc":{"name":"init(width:height:)","abstract":"

    Undocumented

    ","parent_name":"Constraint"},"Enums/Sizing/Constraint.html#/s:10ListableUI6SizingO10ConstraintV5clamp_4withSo6CGSizeVAI_AItF":{"name":"clamp(_:with:)","abstract":"

    Undocumented

    ","parent_name":"Constraint"},"Enums/Sizing/Constraint/Axis.html":{"name":"Axis","abstract":"

    Undocumented

    ","parent_name":"Constraint"},"Enums/Sizing.html#/s:10ListableUI6SizingO7defaultyA2CmF":{"name":"default","abstract":"

    The default size from the list’s appearance is used. The size is not dynamic at all.

    ","parent_name":"Sizing"},"Enums/Sizing.html#/s:10ListableUI6SizingO5fixedyAC12CoreGraphics7CGFloatV_AGtcACmF":{"name":"fixed(width:height:)","abstract":"

    Fixes the size to the absolute value passed in.

    ","parent_name":"Sizing"},"Enums/Sizing.html#/s:10ListableUI6SizingO8thatFitsyA2C10ConstraintVcACmF":{"name":"thatFits(_:)","abstract":"

    Sizes the item by calling sizeThatFits on its underlying view type.","parent_name":"Sizing"},"Enums/Sizing.html#/s:10ListableUI6SizingO10autolayoutyA2C10ConstraintVcACmF":{"name":"autolayout(_:)","abstract":"

    Sizes the item by calling systemLayoutSizeFitting on its underlying view type.","parent_name":"Sizing"},"Enums/Sizing.html#/s:10ListableUI6SizingO11MeasureInfoV":{"name":"MeasureInfo","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Enums/Sizing/Constraint.html":{"name":"Constraint","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Enums/ScrollAnimation/AnimationOptions.html#/s:10ListableUI15ScrollAnimationO0D7OptionsO14curveEaseInOutyA2EmF":{"name":"curveEaseInOut","abstract":"

    Undocumented

    ","parent_name":"AnimationOptions"},"Enums/ScrollAnimation/AnimationOptions.html#/s:10ListableUI15ScrollAnimationO0D7OptionsO11curveEaseInyA2EmF":{"name":"curveEaseIn","abstract":"

    Undocumented

    ","parent_name":"AnimationOptions"},"Enums/ScrollAnimation/AnimationOptions.html#/s:10ListableUI15ScrollAnimationO0D7OptionsO12curveEaseOutyA2EmF":{"name":"curveEaseOut","abstract":"

    Undocumented

    ","parent_name":"AnimationOptions"},"Enums/ScrollAnimation/AnimationOptions.html#/s:10ListableUI15ScrollAnimationO0D7OptionsO11curveLinearyA2EmF":{"name":"curveLinear","abstract":"

    Undocumented

    ","parent_name":"AnimationOptions"},"Enums/ScrollAnimation.html#/s:10ListableUI15ScrollAnimationO4noneyA2CmF":{"name":"none","abstract":"

    No animation is performed.

    ","parent_name":"ScrollAnimation"},"Enums/ScrollAnimation.html#/s:10ListableUI15ScrollAnimationO7defaultyA2CmF":{"name":"default","abstract":"

    A default animation is performed. This is the same as .custom().

    ","parent_name":"ScrollAnimation"},"Enums/ScrollAnimation.html#/s:10ListableUI15ScrollAnimationO6customyACSd_ShyAC0D7OptionsOGtcACmF":{"name":"custom(duration:options:)","abstract":"

    A custom animation is performed.","parent_name":"ScrollAnimation"},"Enums/ScrollAnimation.html#/s:10ListableUI15ScrollAnimationO6springyACSd_So24UISpringTimingParametersCtcACmF":{"name":"spring(duration:timing:)","abstract":"

    Undocumented

    ","parent_name":"ScrollAnimation"},"Enums/ScrollAnimation.html#/s:10ListableUI15ScrollAnimationO3and4withACSb_tF":{"name":"and(with:)","abstract":"

    Ands the animation with the provided bool, returning the animation if true, and .none if false.

    ","parent_name":"ScrollAnimation"},"Enums/ScrollAnimation.html#/s:10ListableUI15ScrollAnimationO7perform10animations10completionyyyc_ySbctF":{"name":"perform(animations:completion:)","abstract":"

    Performs the provided animations for the ScrollAnimation.

    ","parent_name":"ScrollAnimation"},"Enums/ScrollAnimation/AnimationOptions.html":{"name":"AnimationOptions","abstract":"

    The animations options available for the ScrollAnimation.

    ","parent_name":"ScrollAnimation"},"Enums/ListSizing.html#/s:10ListableUI10ListSizingO10fillParentyA2CmF":{"name":"fillParent","abstract":"

    When using .fillParent, the full available space will be taken up, regardless","parent_name":"ListSizing"},"Enums/ListSizing.html#/s:10ListableUI10ListSizingO14measureContentyA2CmF":{"name":"measureContent","abstract":"

    When using .measureContent, the content will be measured within the provided fitting size","parent_name":"ListSizing"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO8verticalyA2CmF":{"name":"vertical","abstract":"

    A list layout which lays out top to bottom.

    ","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO10horizontalyA2CmF":{"name":"horizontal","abstract":"

    A list layout which lays out left to right (or leading to trailing, depending on implementation).

    ","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO6switch8vertical10horizontalxxyXE_xyXEtlF":{"name":"switch(vertical:horizontal:)","abstract":"

    When writing a layout, use this method to return differing values based on","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO6switch8vertical10horizontalxxyXK_xyXKtlF":{"name":"switch(vertical:horizontal:)","abstract":"

    When writing a layout, use this method to return differing values based on","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO6height3for12CoreGraphics7CGFloatVSo6CGSizeV_tF":{"name":"height(for:)","abstract":"

    .vertical: Returns the height of the provided size.","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO5width3for12CoreGraphics7CGFloatVSo6CGSizeV_tF":{"name":"width(for:)","abstract":"

    .vertical: Returns the width of the provided size.","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO5point1x1ySo7CGPointV12CoreGraphics7CGFloatV_AKtF":{"name":"point(x:y:)","abstract":"

    .vertical: Returns a CGPoint made with (x, y).","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO4size3forSo6CGSizeVAG_tF":{"name":"size(for:)","abstract":"

    .vertical: Returns the provided size.","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO4size5width6heightSo6CGSizeV12CoreGraphics7CGFloatV_AKtF":{"name":"size(width:height:)","abstract":"

    .vertical: Returns a CGSize made with (width, height).","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO4maxY3for12CoreGraphics7CGFloatVSo6CGRectV_tF":{"name":"maxY(for:)","abstract":"

    .vertical: Returns the maxY of the frame.","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO4maxX3for12CoreGraphics7CGFloatVSo6CGRectV_tF":{"name":"maxX(for:)","abstract":"

    .vertical: Returns the maxX of the frame.","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO1x3for12CoreGraphics7CGFloatVSo7CGPointV_tF":{"name":"x(for:)","abstract":"

    .vertical: Returns the x of the point.","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO1y3for12CoreGraphics7CGFloatVSo7CGPointV_tF":{"name":"y(for:)","abstract":"

    .vertical: Returns the y of the point.","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO3top4with12CoreGraphics7CGFloatVSo12UIEdgeInsetsV_tF":{"name":"top(with:)","abstract":"

    .vertical: Returns the top of the insets.","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO6bottom4with12CoreGraphics7CGFloatVSo12UIEdgeInsetsV_tF":{"name":"bottom(with:)","abstract":"

    .vertical: Returns the bottom of the insets.","parent_name":"LayoutDirection"},"Enums/ItemSelectionStyle.html#/s:10ListableUI18ItemSelectionStyleO13notSelectableyA2CmF":{"name":"notSelectable","abstract":"

    The item is not selectable at all.

    ","parent_name":"ItemSelectionStyle"},"Enums/ItemSelectionStyle.html#/s:10ListableUI18ItemSelectionStyleO8tappableyA2CmF":{"name":"tappable","abstract":"

    The item is temporarily selectable. Once the user lifts their finger, the item is deselected.

    ","parent_name":"ItemSelectionStyle"},"Enums/ItemSelectionStyle.html#/s:10ListableUI18ItemSelectionStyleO10selectableyACSb_tcACmF":{"name":"selectable(isSelected:)","abstract":"

    The item is persistently selectable. Once the user lifts their finger, the item is maintained.

    ","parent_name":"ItemSelectionStyle"},"Enums/ItemPosition.html#/s:10ListableUI12ItemPositionO6singleyA2CmF":{"name":"single","abstract":"

    Undocumented

    ","parent_name":"ItemPosition"},"Enums/ItemPosition.html#/s:10ListableUI12ItemPositionO5firstyA2CmF":{"name":"first","abstract":"

    Undocumented

    ","parent_name":"ItemPosition"},"Enums/ItemPosition.html#/s:10ListableUI12ItemPositionO6middleyA2CmF":{"name":"middle","abstract":"

    Undocumented

    ","parent_name":"ItemPosition"},"Enums/ItemPosition.html#/s:10ListableUI12ItemPositionO4lastyA2CmF":{"name":"last","abstract":"

    Undocumented

    ","parent_name":"ItemPosition"},"Enums/SwipeActionState.html#/s:10ListableUI16SwipeActionStateO6closedyA2CmF":{"name":"closed","abstract":"

    The actions are completely collapsed.

    ","parent_name":"SwipeActionState"},"Enums/SwipeActionState.html#/s:10ListableUI16SwipeActionStateO4openyA2CmF":{"name":"open","abstract":"

    The actions are open to their natural size.

    ","parent_name":"SwipeActionState"},"Enums/SwipeActionState.html#/s:10ListableUI16SwipeActionStateO7swipingyACSb_tcACmF":{"name":"swiping(willPerformAction:)","abstract":"

    The actions are being swiped and the size is affected by the gesture recognizer.

    ","parent_name":"SwipeActionState"},"Enums/SwipeActionState.html#/s:10ListableUI16SwipeActionStateO016willPerformFirstD13AutomaticallyyA2CmF":{"name":"willPerformFirstActionAutomatically","abstract":"

    The actions have been swiped far enough to confirm the first action.

    ","parent_name":"SwipeActionState"},"Enums/SwipeActionState.html#/s:10ListableUI16SwipeActionStateO13expandActionsyA2CmF":{"name":"expandActions","abstract":"

    The actions have been asked to completely expand (typically because the item is being deleted).

    ","parent_name":"SwipeActionState"},"Enums/ContentFilters.html#/s:10ListableUI14ContentFiltersO03anyC0ShyACGvpZ":{"name":"anyContent","abstract":"

    If there is any content in the list at all, including headers and footers.

    ","parent_name":"ContentFilters"},"Enums/ContentFilters.html#/s:10ListableUI14ContentFiltersO12sectionsOnlyShyACGvpZ":{"name":"sectionsOnly","abstract":"

    Check if the content in the list is section-driven content, with the","parent_name":"ContentFilters"},"Enums/ContentFilters.html#/s:10ListableUI14ContentFiltersO10listHeaderyA2CmF":{"name":"listHeader","abstract":"

    If the list has a list-level header.

    ","parent_name":"ContentFilters"},"Enums/ContentFilters.html#/s:10ListableUI14ContentFiltersO10listFooteryA2CmF":{"name":"listFooter","abstract":"

    If the list has a list-level footer.

    ","parent_name":"ContentFilters"},"Enums/ContentFilters.html#/s:10ListableUI14ContentFiltersO16overscrollFooteryA2CmF":{"name":"overscrollFooter","abstract":"

    If the list has an overscroll footer.

    ","parent_name":"ContentFilters"},"Enums/ContentFilters.html#/s:10ListableUI14ContentFiltersO5itemsyA2CmF":{"name":"items","abstract":"

    If the sections in the list contain any items.

    ","parent_name":"ContentFilters"},"Enums/ContentFilters.html#/s:10ListableUI14ContentFiltersO14sectionHeadersyA2CmF":{"name":"sectionHeaders","abstract":"

    If any section in the list has a header.

    ","parent_name":"ContentFilters"},"Enums/ContentFilters.html#/s:10ListableUI14ContentFiltersO14sectionFootersyA2CmF":{"name":"sectionFooters","abstract":"

    If any section in the list has a footer.

    ","parent_name":"ContentFilters"},"Enums/AutoScrollAction/OnInsertedItem.html#/s:10ListableUI16AutoScrollActionO14OnInsertedItemV11destinationAC0D11DestinationOvp":{"name":"destination","abstract":"

    The item in the list to scroll to when the insertedIdentifier is inserted.

    ","parent_name":"OnInsertedItem"},"Enums/AutoScrollAction/OnInsertedItem.html#/s:10ListableUI16AutoScrollActionO14OnInsertedItemV18insertedIdentifierAA03AnyJ0Cvp":{"name":"insertedIdentifier","abstract":"

    The identifier of the item for which the AutoScrollAction should be performed.

    ","parent_name":"OnInsertedItem"},"Enums/AutoScrollAction/OnInsertedItem.html#/s:10ListableUI16AutoScrollActionO14OnInsertedItemV8positionAA0D8PositionVvp":{"name":"position","abstract":"

    The desired scroll position,

    ","parent_name":"OnInsertedItem"},"Enums/AutoScrollAction/OnInsertedItem.html#/s:10ListableUI16AutoScrollActionO14OnInsertedItemV9animationAA0D9AnimationOvp":{"name":"animation","abstract":"

    How to animate the change.

    ","parent_name":"OnInsertedItem"},"Enums/AutoScrollAction/OnInsertedItem.html#/s:10ListableUI16AutoScrollActionO14OnInsertedItemV13shouldPerformySbAA04ListD12PositionInfoVcvp":{"name":"shouldPerform","abstract":"

    An additional check you may provide to approve or reject the scroll action.

    ","parent_name":"OnInsertedItem"},"Enums/AutoScrollAction/OnInsertedItem.html#/s:10ListableUI16AutoScrollActionO14OnInsertedItemV10didPerformyyAA04ListD12PositionInfoVcvp":{"name":"didPerform","abstract":"

    Called when the list performs the insertion.

    ","parent_name":"OnInsertedItem"},"Enums/AutoScrollAction/ScrollDestination.html#/s:10ListableUI16AutoScrollActionO0D11DestinationO9firstItemyA2EmF":{"name":"firstItem","abstract":"

    Scroll to the first item in the list.

    ","parent_name":"ScrollDestination"},"Enums/AutoScrollAction/ScrollDestination.html#/s:10ListableUI16AutoScrollActionO0D11DestinationO8lastItemyA2EmF":{"name":"lastItem","abstract":"

    Scroll to the last item in the list.

    ","parent_name":"ScrollDestination"},"Enums/AutoScrollAction/ScrollDestination.html#/s:10ListableUI16AutoScrollActionO0D11DestinationO4itemyAeA13AnyIdentifierCcAEmF":{"name":"item(_:)","abstract":"

    Scroll to the item with the specified identifier.

    ","parent_name":"ScrollDestination"},"Enums/AutoScrollAction.html#/s:10ListableUI16AutoScrollActionO4noneyA2CmF":{"name":"none","abstract":"

    The list never automatically scrolls.

    ","parent_name":"AutoScrollAction"},"Enums/AutoScrollAction.html#/s:10ListableUI16AutoScrollActionO12scrollToItemyA2C010OnInsertedH0V_tcACmF":{"name":"scrollToItem(onInsertOf:)","abstract":"

    Scrolls to the specified item when the list is updated if the item was inserted in this update.

    ","parent_name":"AutoScrollAction"},"Enums/AutoScrollAction.html#/s:10ListableUI16AutoScrollActionO8scrollTo_10onInsertOf8position9animation13shouldPerform03didN0A2C0D11DestinationOSg_AA13AnyIdentifierCAA0D8PositionVAA0D9AnimationOSbAA04ListdS4InfoVcyATctFZ":{"name":"scrollTo(_:onInsertOf:position:animation:shouldPerform:didPerform:)","abstract":"

    Scrolls to the specified item when the list is updated if the item was inserted in this update.

    ","parent_name":"AutoScrollAction"},"Enums/AutoScrollAction/ScrollDestination.html":{"name":"ScrollDestination","abstract":"

    Where to scroll as a result of an AutoScrollAction.

    ","parent_name":"AutoScrollAction"},"Enums/AutoScrollAction/OnInsertedItem.html":{"name":"OnInsertedItem","abstract":"

    Values used to configure the scrollToItem(onInsertOf:) action.

    ","parent_name":"AutoScrollAction"},"Enums/ApplyReason.html#/s:10ListableUI11ApplyReasonO11willDisplayyA2CmF":{"name":"willDisplay","abstract":"

    The view is about to be displayed on screen. Update should be performed with no animation.

    ","parent_name":"ApplyReason"},"Enums/ApplyReason.html#/s:10ListableUI11ApplyReasonO10wasUpdatedyA2CmF":{"name":"wasUpdated","abstract":"

    A view that is already visible is being updated.","parent_name":"ApplyReason"},"Enums/ApplyReason.html#/s:10ListableUI11ApplyReasonO13shouldAnimateSbvp":{"name":"shouldAnimate","abstract":"

    If you should use animations while applying the update.","parent_name":"ApplyReason"},"Enums/ApplyReason.html":{"name":"ApplyReason","abstract":"

    Why the Item or HeaderFooter is being asked to apply an update to its presented views.

    "},"Enums/AutoScrollAction.html":{"name":"AutoScrollAction","abstract":"

    Options for auto-scrolling to items when the list is updated.

    "},"Enums/ContentFilters.html":{"name":"ContentFilters","abstract":"

    A filter enum which allows you to query the types of content contained in a Content or Section object.

    "},"Enums/SwipeActionState.html":{"name":"SwipeActionState","abstract":"

    These states dictate the layout of the swipe actions.

    "},"Enums/ItemPosition.html":{"name":"ItemPosition","abstract":"

    Undocumented

    "},"Enums/ItemSelectionStyle.html":{"name":"ItemSelectionStyle","abstract":"

    Controls the selection style and behavior of an item in a list.

    "},"Enums/LayoutDirection.html":{"name":"LayoutDirection","abstract":"

    Describes the given direction / axis that a layout uses when flowing its content.

    "},"Enums/ListSizing.html":{"name":"ListSizing","abstract":"

    Provides the possible options for how to size and measure a list when its measured size is queried"},"Enums/ScrollAnimation.html":{"name":"ScrollAnimation","abstract":"

    Specifies the kind of animation to use when scrolling a list view.

    "},"Enums/Sizing.html":{"name":"Sizing","abstract":"

    Controls how a header, footer, or item in a list view is sized.

    "},"Enums/WidthConstraint.html":{"name":"WidthConstraint","abstract":"

    Undocumented

    "},"Enums/CustomWidth.html":{"name":"CustomWidth","abstract":"

    Undocumented

    "},"Classes/ReorderingActions.html#/s:10ListableUI17ReorderingActionsC8isMovingSbvp":{"name":"isMoving","abstract":"

    Undocumented

    ","parent_name":"ReorderingActions"},"Classes/ReorderingActions.html#/s:10ListableUI17ReorderingActionsC11beginMovingSbyF":{"name":"beginMoving()","abstract":"

    Undocumented

    ","parent_name":"ReorderingActions"},"Classes/ReorderingActions.html#/s:10ListableUI17ReorderingActionsC5moved4withySo22UIPanGestureRecognizerC_tF":{"name":"moved(with:)","abstract":"

    Undocumented

    ","parent_name":"ReorderingActions"},"Classes/ReorderingActions.html#/s:10ListableUI17ReorderingActionsC3endyyF":{"name":"end()","abstract":"

    Undocumented

    ","parent_name":"ReorderingActions"},"Classes/ItemPreviewView.html#/c:@M@ListableUI@objc(cs)ItemPreviewView(im)init":{"name":"init()","abstract":"

    Creates a preview for the given width.

    ","parent_name":"ItemPreviewView"},"Classes/ItemPreviewView.html#/s:10ListableUI15ItemPreviewViewC4with5state10appearance4itemAC12CoreGraphics7CGFloatV_AA0C5StateVAA0cD10AppearanceVAA03AnyC0_ptcfc":{"name":"init(with:state:appearance:item:)","abstract":"

    Creates a preview for the given item and parameters, and then lays out the preview view.

    ","parent_name":"ItemPreviewView"},"Classes/ItemPreviewView.html#/s:10ListableUI15ItemPreviewViewC6update4with5state10appearance4itemy12CoreGraphics7CGFloatV_AA0C5StateVAA0cD10AppearanceVAA03AnyC0_ptF":{"name":"update(with:state:appearance:item:)","abstract":"

    Updates the item for the given parameters.","parent_name":"ItemPreviewView"},"Classes/ItemPreviewView.html#/c:@M@ListableUI@objc(cs)ItemPreviewView(im)layoutSubviews":{"name":"layoutSubviews()","abstract":"

    Undocumented

    ","parent_name":"ItemPreviewView"},"Classes/ItemPreviewView.html#/c:@M@ListableUI@objc(cs)ItemPreviewView(im)sizeThatFits:":{"name":"sizeThatFits(_:)","abstract":"

    Undocumented

    ","parent_name":"ItemPreviewView"},"Classes/ItemPreviewView.html#/c:@M@ListableUI@objc(cs)ItemPreviewView(py)intrinsicContentSize":{"name":"intrinsicContentSize","abstract":"

    Undocumented

    ","parent_name":"ItemPreviewView"},"Classes/StaticSource/State.html#/s:10ListableUI12StaticSourceC5StateVAEycfc":{"name":"init()","abstract":"

    Undocumented

    ","parent_name":"State"},"Classes/StaticSource/State.html":{"name":"State","abstract":"

    Undocumented

    ","parent_name":"StaticSource"},"Classes/StaticSource.html#/s:10ListableUI12StaticSourceC7contentAA7ContentVvp":{"name":"content","abstract":"

    Undocumented

    ","parent_name":"StaticSource"},"Classes/StaticSource.html#/s:10ListableUI12StaticSourceC4withAcA7ContentV_tcfc":{"name":"init(with:)","abstract":"

    Undocumented

    ","parent_name":"StaticSource"},"Classes/StaticSource.html#/s:10ListableUI12StaticSourceC4withACyAA7ContentVzXE_tcfc":{"name":"init(with:)","abstract":"

    Undocumented

    ","parent_name":"StaticSource"},"Classes/StaticSource.html#/s:10ListableUI12StaticSourceC7content4withADyAA0D5StateCyAC0G0VG_AA7ContentVztF":{"name":"content(with:content:)","abstract":"

    Undocumented

    ","parent_name":"StaticSource"},"Classes/StaticSource.html#/s:10ListableUI12StaticSourceC7content4withAA7ContentVAA0D5StateCyAC0H0VG_tF":{"name":"content(with:)","abstract":"

    Undocumented

    ","parent_name":"StaticSource"},"Classes/DynamicSource.html#/s:10ListableUI13DynamicSourceC7Buildera":{"name":"Builder","abstract":"

    Undocumented

    ","parent_name":"DynamicSource"},"Classes/DynamicSource.html#/s:10ListableUI13DynamicSourceC4withACyxGyAA0D5StateCyxG_AA7ContentVztc_tcfc":{"name":"init(with:)","abstract":"

    Undocumented

    ","parent_name":"DynamicSource"},"Classes/DynamicSource.html#/s:10ListableUI13DynamicSourceC7content4withADyAA0D5StateCyxG_AA7ContentVztF":{"name":"content(with:content:)","abstract":"

    Undocumented

    ","parent_name":"DynamicSource"},"Classes/SourceState.html#/s:10ListableUI11SourceStateC5valuexvp":{"name":"value","abstract":"

    Undocumented

    ","parent_name":"SourceState"},"Classes/SourceState.html#/s:10ListableUI11SourceStateC3setyyyxzXEF":{"name":"set(_:)","abstract":"

    Undocumented

    ","parent_name":"SourceState"},"Classes/SourceState.html#/s:10ListableUI11SourceStateC7initial9didChangeACyxGx_yyctcfc":{"name":"init(initial:didChange:)","abstract":"

    Undocumented

    ","parent_name":"SourceState"},"Classes/SourceState.html#/s:10ListableUI11SourceStateC7discardyyF":{"name":"discard()","abstract":"

    Undocumented

    ","parent_name":"SourceState"},"Classes/StateAccessor.html#/s:10ListableUI13StateAccessorC5valuexvp":{"name":"value","abstract":"

    Undocumented

    ","parent_name":"StateAccessor"},"Classes/ListViewController.html#/s:10ListableUI18ListViewControllerC9configure4listyAA0C10PropertiesVz_tF":{"name":"configure(list:)","abstract":"

    Override this method to configure your list how you’d like to.","parent_name":"ListViewController"},"Classes/ListViewController.html#/s:10ListableUI18ListViewControllerC6reload8animatedySb_tF":{"name":"reload(animated:)","abstract":"

    Undocumented

    ","parent_name":"ListViewController"},"Classes/ListViewController.html#/c:@M@ListableUI@objc(cs)ListViewController(im)initWithNibName:bundle:":{"name":"init(nibName:bundle:)","abstract":"

    Undocumented

    ","parent_name":"ListViewController"},"Classes/ListViewController.html#/c:@M@ListableUI@objc(cs)ListViewController(im)loadView":{"name":"loadView()","abstract":"

    Undocumented

    ","parent_name":"ListViewController"},"Classes/ListViewController.html#/c:@M@ListableUI@objc(cs)ListViewController(im)viewWillAppear:":{"name":"viewWillAppear(_:)","abstract":"

    Undocumented

    ","parent_name":"ListViewController"},"Classes/ListView.html#/s:10ListableUI8ListViewC5frame10appearanceACSo6CGRectV_AA10AppearanceVtcfc":{"name":"init(frame:appearance:)","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC19debuggingIdentifierSSSgvp":{"name":"debuggingIdentifier","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC10appearanceAA10AppearanceVvp":{"name":"appearance","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC18scrollPositionInfoAA0c6ScrollfG0Vvp":{"name":"scrollPositionInfo","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC6layoutAA17LayoutDescriptionVvp":{"name":"layout","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC3set6layout8animated10completionyAA17LayoutDescriptionV_SbyyctF":{"name":"set(layout:animated:completion:)","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC11contentSizeSo6CGSizeVvp":{"name":"contentSize","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC8behaviorAA8BehaviorVvp":{"name":"behavior","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC21scrollIndicatorInsetsSo06UIEdgeG0Vvp":{"name":"scrollIndicatorInsets","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC13stateObserverAA0c5StateF0Vvp":{"name":"stateObserver","abstract":"

    A state observer allows you to receive callbacks when varying types","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC16ScrollCompletiona":{"name":"ScrollCompletion","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC8scrollTo4item8position9animation10completionSbAA7AnyItem_p_AA14ScrollPositionVAA0M9AnimationOySbctF":{"name":"scrollTo(item:position:animation:completion:)","abstract":"

    Scrolls to the provided item, with the provided positioning.","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC8scrollTo4item8position9animation10completionSbAA13AnyIdentifierC_AA14ScrollPositionVAA0M9AnimationOySbctF":{"name":"scrollTo(item:position:animation:completion:)","abstract":"

    Scrolls to the item with the provided identifier, with the provided positioning.","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC11scrollToTop9animation10completionSbAA15ScrollAnimationO_ySbctF":{"name":"scrollToTop(animation:completion:)","abstract":"

    Scrolls to the very top of the list, which includes displaying the list header.

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC16scrollToLastItem9animation10completionSbAA15ScrollAnimationO_ySbctF":{"name":"scrollToLastItem(animation:completion:)","abstract":"

    Scrolls to the last item in the list. If the list contains no items, no action is performed.

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC11environmentAA0C11EnvironmentVvp":{"name":"environment","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC7contentAA7ContentVvp":{"name":"content","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC10setContent8animated_ySb_AA0F0VtF":{"name":"setContent(animated:_:)","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC3set6source7initial8animatedAA13StateAccessorCy0I0QzGx_AKSbtAA0cD6SourceRzlF":{"name":"set(source:initial:animated:)","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC9configure4withyyAA0C10PropertiesVzXE_tF":{"name":"configure(with:)","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC9configure4withyAA0C10PropertiesV_tF":{"name":"configure(with:)","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/c:@M@ListableUI@objc(cs)ListView(py)frame":{"name":"frame","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/c:@M@ListableUI@objc(cs)ListView(py)bounds":{"name":"bounds","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/c:@M@ListableUI@objc(cs)ListView(py)backgroundColor":{"name":"backgroundColor","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/c:@M@ListableUI@objc(cs)ListView(im)didMoveToWindow":{"name":"didMoveToWindow()","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/c:@M@ListableUI@objc(cs)ListView(im)didMoveToSuperview":{"name":"didMoveToSuperview()","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/c:@M@ListableUI@objc(cs)ListView(im)layoutSubviews":{"name":"layoutSubviews()","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC11contentSize2in3forSo6CGSizeVAH_yAA0C10PropertiesVzXEtFZ":{"name":"contentSize(in:for:)","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC11contentSize2in3forSo6CGSizeVAH_AA0C10PropertiesVtFZ":{"name":"contentSize(in:for:)","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC28testing_forceLayoutUpdateNowyyF":{"name":"testing_forceLayoutUpdateNow()","abstract":"

    Call this method to force an immediate, synchronous re-render of the list","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC020clearSelectionDuringD10WillAppear9alongside8animatedySo37UIViewControllerTransitionCoordinator_pSg_SbtF":{"name":"clearSelectionDuringViewWillAppear(alongside:animated:)","abstract":"

    A method which provides Behavior.SelectionMode.single‘s clearsSelectionOnViewWillAppear behaviour.","parent_name":"ListView"},"Classes/ListActions/ViewControllerTransitioning.html#/s:10ListableUI11ListActionsC27ViewControllerTransitioningCAEycfc":{"name":"init()","abstract":"

    Undocumented

    ","parent_name":"ViewControllerTransitioning"},"Classes/ListActions/Scrolling.html#/s:10ListableUI11ListActionsC9ScrollingCAEycfc":{"name":"init()","abstract":"

    Undocumented

    ","parent_name":"Scrolling"},"Classes/ListActions/Scrolling.html#/s:10ListableUI11ListActionsC9ScrollingC16ScrollCompletiona":{"name":"ScrollCompletion","abstract":"

    Undocumented

    ","parent_name":"Scrolling"},"Classes/ListActions/Scrolling.html#/s:10ListableUI11ListActionsC9ScrollingC8scrollTo4item8position9animation10completionSbAA7AnyItem_p_AA14ScrollPositionVAA0N9AnimationOySbctF":{"name":"scrollTo(item:position:animation:completion:)","abstract":"

    Scrolls to the provided item, with the provided positioning.","parent_name":"Scrolling"},"Classes/ListActions/Scrolling.html#/s:10ListableUI11ListActionsC9ScrollingC8scrollTo4item8position9animation10completionSbAA13AnyIdentifierC_AA14ScrollPositionVAA0N9AnimationOySbctF":{"name":"scrollTo(item:position:animation:completion:)","abstract":"

    Scrolls to the item with the provided identifier, with the provided positioning.","parent_name":"Scrolling"},"Classes/ListActions/Scrolling.html#/s:10ListableUI11ListActionsC9ScrollingC11scrollToTop9animation10completionSbAA15ScrollAnimationO_ySbctF":{"name":"scrollToTop(animation:completion:)","abstract":"

    Scrolls to the very top of the list, which includes displaying the list header.

    ","parent_name":"Scrolling"},"Classes/ListActions/Scrolling.html#/s:10ListableUI11ListActionsC9ScrollingC16scrollToLastItem9animation10completionSbAA15ScrollAnimationO_ySbctF":{"name":"scrollToLastItem(animation:completion:)","abstract":"

    Scrolls to the last item in the list. If the list contains no items, no action is performed.

    ","parent_name":"Scrolling"},"Classes/ListActions.html#/s:10ListableUI11ListActionsC9scrollingAC9ScrollingCvp":{"name":"scrolling","abstract":"

    Actions which allow scrolling to individual items in a list.

    ","parent_name":"ListActions"},"Classes/ListActions.html#/s:10ListableUI11ListActionsC27viewControllerTransitioningAC04ViewfG0Cvp":{"name":"viewControllerTransitioning","abstract":"

    Actions which allow hooking up your list to the view controller transitioning APIs.

    ","parent_name":"ListActions"},"Classes/ListActions.html#/s:10ListableUI11ListActionsCACycfc":{"name":"init()","abstract":"

    Creates and returns an actions object which can be registered with a list view.

    ","parent_name":"ListActions"},"Classes/ListActions/Scrolling.html":{"name":"Scrolling","abstract":"

    Provides access to scrolling actions within a list view.

    ","parent_name":"ListActions"},"Classes/ListActions/ViewControllerTransitioning.html":{"name":"ViewControllerTransitioning","abstract":"

    Provides access to view controller transitioning options in a list.

    ","parent_name":"ListActions"},"Classes/ListLayoutContent.html#/s:10ListableUI17ListLayoutContentC11SectionInfoC":{"name":"SectionInfo","abstract":"

    Undocumented

    ","parent_name":"ListLayoutContent"},"Classes/ListLayoutContent.html#/s:10ListableUI17ListLayoutContentC21SupplementaryItemInfoC":{"name":"SupplementaryItemInfo","abstract":"

    Undocumented

    ","parent_name":"ListLayoutContent"},"Classes/ListLayoutContent.html#/s:10ListableUI17ListLayoutContentC8ItemInfoC":{"name":"ItemInfo","abstract":"

    Undocumented

    ","parent_name":"ListLayoutContent"},"Classes/DefaultItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP7actionsAA0cdE7ActionsCy0cD4TypeQzGvp":{"name":"actions","parent_name":"DefaultItemContentCoordinator"},"Classes/DefaultItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP4infoAA0cdE4InfoCy0cD4TypeQzGvp":{"name":"info","parent_name":"DefaultItemContentCoordinator"},"Classes/DefaultItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP4view0cD4Type_0D4ViewQZSgvp":{"name":"view","parent_name":"DefaultItemContentCoordinator"},"Classes/ItemContentCoordinatorInfo.html#/s:10ListableUI26ItemContentCoordinatorInfoC8originalAA0C0VyxGvp":{"name":"original","abstract":"

    The original state of the item, as passed to the list.","parent_name":"ItemContentCoordinatorInfo"},"Classes/ItemContentCoordinatorInfo.html#/s:10ListableUI26ItemContentCoordinatorInfoC7currentAA0C0VyxGvp":{"name":"current","abstract":"

    The current value of the item, including changes made","parent_name":"ItemContentCoordinatorInfo"},"Classes/ItemContentCoordinatorActions.html#/s:10ListableUI29ItemContentCoordinatorActionsC6update8animated_ySb_AA0C0VyxGtF":{"name":"update(animated:_:)","abstract":"

    Updates the item to the provided item.

    ","parent_name":"ItemContentCoordinatorActions"},"Classes/ItemContentCoordinatorActions.html#/s:10ListableUI29ItemContentCoordinatorActionsC6update8animated_ySb_yAA0C0VyxGzXEtF":{"name":"update(animated:_:)","abstract":"

    Allows you to update the item passed into the update closure.

    ","parent_name":"ItemContentCoordinatorActions"},"Classes/__LST_KeyboardObserver_ObjCAccess.html#/c:@M@ListableUI@objc(cs)__LST_KeyboardObserver_ObjCAccess(cm)__setupSharedInstance":{"name":"__setupSharedInstance()","abstract":"

    Undocumented

    ","parent_name":"__LST_KeyboardObserver_ObjCAccess"},"Classes/DefaultSwipeActionsView.html#/s:10ListableUI23DefaultSwipeActionsViewC05swipeE5Width12CoreGraphics7CGFloatVvp":{"name":"swipeActionsWidth","abstract":"

    Undocumented

    ","parent_name":"DefaultSwipeActionsView"},"Classes/DefaultSwipeActionsView.html#/s:10ListableUI23DefaultSwipeActionsViewC16didPerformActionACySbc_tcfc":{"name":"init(didPerformAction:)","abstract":"

    Undocumented

    ","parent_name":"DefaultSwipeActionsView"},"Classes/DefaultSwipeActionsView.html#/c:@M@ListableUI@objc(cs)DefaultSwipeActionsView(im)layoutSubviews":{"name":"layoutSubviews()","abstract":"

    Undocumented

    ","parent_name":"DefaultSwipeActionsView"},"Classes/DefaultSwipeActionsView.html#/s:10ListableUI23DefaultSwipeActionsViewC5apply7actionsyAA0dE13ConfigurationV_tF":{"name":"apply(actions:)","abstract":"

    Undocumented

    ","parent_name":"DefaultSwipeActionsView"},"Classes/DefaultSwipeActionsView.html#/s:10ListableUI23DefaultSwipeActionsViewC5apply5stateyAA0D11ActionStateO_tF":{"name":"apply(state:)","abstract":"

    Undocumented

    ","parent_name":"DefaultSwipeActionsView"},"Classes/AnyIdentifier.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"AnyIdentifier"},"Classes/AnyIdentifier.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"AnyIdentifier"},"Classes/AnyIdentifier.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"AnyIdentifier"},"Classes/Identifier.html#/s:10ListableUI10IdentifierCACyxGycfc":{"name":"init()","abstract":"

    Identifier which identifies by the type of Represented only.","parent_name":"Identifier"},"Classes/Identifier.html#/s:10ListableUI10IdentifierCyACyxGqd__cSHRd__lufc":{"name":"init(_:)","abstract":"

    Creates an identifier which identifies by both Represented, and the value passed to init.

    ","parent_name":"Identifier"},"Classes/Identifier.html#/s:10ListableUI10IdentifierC16debugDescriptionSSvp":{"name":"debugDescription","abstract":"

    Undocumented

    ","parent_name":"Identifier"},"Classes/Identifier.html":{"name":"Identifier","abstract":"

    An Identifier is used to unique items in Listable lists. Sections,"},"Classes/AnyIdentifier.html":{"name":"AnyIdentifier","abstract":"

    A type-erased Identifier used to identify content in a listable list.

    "},"Classes/DefaultSwipeActionsView.html":{"name":"DefaultSwipeActionsView","abstract":"

    Undocumented

    "},"Classes/__LST_KeyboardObserver_ObjCAccess.html":{"name":"__LST_KeyboardObserver_ObjCAccess","abstract":"

    An Objective-C accessible class that lets us set up the shared"},"Classes/ItemContentCoordinatorActions.html":{"name":"ItemContentCoordinatorActions","abstract":"

    The available actions you can perform as a coordinator, which are reported back to the list to manage the item.

    "},"Classes/ItemContentCoordinatorInfo.html":{"name":"ItemContentCoordinatorInfo","abstract":"

    Information about the current and original state of the item.

    "},"Classes/DefaultItemContentCoordinator.html":{"name":"DefaultItemContentCoordinator","abstract":"

    The default ItemContentCoordinator, which performs no actions.

    "},"Classes/ListLayoutContent.html":{"name":"ListLayoutContent","abstract":"

    Undocumented

    "},"Classes/ListActions.html":{"name":"ListActions","abstract":"

    ListActions is an type that you can use to gain access to actions to perform on a List"},"Classes/ListView.html":{"name":"ListView","abstract":"

    Undocumented

    "},"Classes.html#/s:10ListableUI15UpdateCallbacksC":{"name":"UpdateCallbacks","abstract":"

    Undocumented

    "},"Classes/ListViewController.html":{"name":"ListViewController","abstract":"

    A class which provides an easy way to set up and display a ListView,"},"Classes/StateAccessor.html":{"name":"StateAccessor","abstract":"

    Undocumented

    "},"Classes/SourceState.html":{"name":"SourceState","abstract":"

    Undocumented

    "},"Classes/DynamicSource.html":{"name":"DynamicSource","abstract":"

    Undocumented

    "},"Classes/StaticSource.html":{"name":"StaticSource","abstract":"

    Undocumented

    "},"Classes/ItemPreviewView.html":{"name":"ItemPreviewView","abstract":"

    A view you can use to test the various possible states that your ItemContent can be in.

    "},"Classes/ReorderingActions.html":{"name":"ReorderingActions","abstract":"

    Undocumented

    "},"Classes.html":{"name":"Classes","abstract":"

    The following classes are available globally.

    "},"Enums.html":{"name":"Enumerations","abstract":"

    The following enumerations are available globally.

    "},"Extensions.html":{"name":"Extensions","abstract":"

    The following extensions are available globally.

    "},"Functions.html":{"name":"Functions","abstract":"

    The following functions are available globally.

    "},"Protocols.html":{"name":"Protocols","abstract":"

    The following protocols are available globally.

    "},"Structs.html":{"name":"Structures","abstract":"

    The following structures are available globally.

    "},"Typealiases.html":{"name":"Type Aliases","abstract":"

    The following type aliases are available globally.

    "}} \ No newline at end of file diff --git a/docs/Listable/docsets/Listable.docset/Contents/Resources/docSet.dsidx b/docs/Listable/docsets/Listable.docset/Contents/Resources/docSet.dsidx index 4ee2f49af035ed71ec8fef50e1f5510d4c09eac4..c2e2d008b64bca3d4260ae9af91d4dd9959acf90 100644 GIT binary patch delta 36833 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 RFxl8fr98g3+(u>ie*nHKW`Y0! diff --git a/docs/Listable/docsets/Listable.tgz b/docs/Listable/docsets/Listable.tgz index 0597dd1c96222f86f60ec177636aa8f8f1a5921d..b86f50f40991b03588cfe63c06f07e285dd62e7d 100644 GIT binary patch literal 727078 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

    b1jLC}r$(tYp} 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

    ee;~`7xrF%#i-u!biGmkmXT2ONIHAn zaG0v!eCRsU3xYESs&R}{78%tWU{`+BHEaj210QC3tlpyUHX)Z`+ZBluiAJOOTww*9 zjnQIi2mBu2Y)EIBir#T2QTqMmCQ!2$>I7?_j282G-~j|DUP_q7jOHQ7qejFFzw3u7 zn*ryjHx*mq%3*9ZKba|aRi9ALSrEgPx*($WiQLOrp5JO2-NwYdFy~psnbw-_v#8%Q z>RpuHu`z$=>%Q?rD{>l5qClkt17pwq3|YdfKXAc@Hf&dn_(N?xw#>-RL+rbQf!(=+ zf3vGF%WQH4r8l(s-WYNhXTbHjYR8iU8kf%-1LO^W|BXAnb1M5Dq&Sr>7rOZ`0ewPC z@9D8yJ)gw?iM<3fF!MJf#(Q9fKS{a_*ksIkcALvPdWunvrd>Z&*a7GF`CLRHZ_ifUYogJZEZXA_E|&&2)@Bc{KwSrB zJuW#{3$fe4ypd3kQFi(0?@is_oqSsD_HL`L?Q))TRncf|Wi{QJYm?PdJT|PyQbB=LnTne}5IJL? z-E^n^i{~x}SDAU)WN;wEaO+_hbK{X*W(y=CdpVm9LB&tz0Ru;>zaOlun%9P-{ zqGH=>%jFtT6?fA&sCo#3VzuONnJMe6`AHw(&YFr_>&$J(z&ouN$ z@c5(bGY$P7w6hgB&)>8<6dr!~@-$vrLovqaZ{NO6Qn<9o53z<8 z+}Z1sFRM?C8@kF|fnKP(88rU&#I{uwnSEU4o_1lCED9tg%n)2S@3ZlgRhz%DDZLF zEx`ZeMKM~9Kt1xwOVH+PhHqu%?s}x)oo&PW>JgKgEcF?;kh?x;(neiKPXNnx=z1@= zPCB!#4-oea&qHf^Wq{3#?iu)b8s+ns=k1%jb{duBtx&LL(3BN97C$2FGgkDblc0+A zhh6YbRl|qG46g(#dU{R{@$_w8$@GeW;4=R_p50Q5{@06qNJ~8q+A$GKNf22)AbDj+zUy_j*AZk6=y0q<& z{=+N)4Ih%#;0SGgNuGVv_Y>ih%J*4-r4s(m#0vt1G-_L4u7^<&P%C)f`#MB9L!+q^ ze6xF~BCEAWn=C^Ebxq8%i7y?nUX1}!uxust3-d{3L#QWGw`ypGyz+o&*+<*JeC8(u z)c4PxhL$9+0_vdyq8D?vLa^oPhzsqTZPCW9VOIMBv<+x#q_MtgS;)+`)%1#H`n7Ow zC)WA3Aljd+eQ^uA77kqsL_P${qkrJwlB)&dsy3-f|$yqCL z-cD$$M9ArF>_N+-)`BKg6AJR5c5jsqs~v?G7HB!7uK6bGI--!&@Ty2Vk3yX01gpuT z1z#0?r0cAYrxZLs%qV1zmxHTsMtu+K(mp4?>ZyEB z^?FTR(V04~ry8t4+N+|X8-uz*B_pn8FWnDywiWYBs=>fM&91Bl zCMa8oOP{XFU(pI!Mlh;2=Qd+7t>|aEq3s3+}1KAS^BZWnFY2;kR!l z*PKQwSO-Di2aybzu(=DJ*mfQ8ZR_5dJU+yr9<@6^@V^bTWCe}nWZ8SB=!~sw88y}! zyJ);J^^*R9c^zkWWGhHri%jYi4T`Mrx7fCgW%*l+0k!(RQS3~rzP2#7Rxk8ZdT|Hq z|0%m-QQ*@ejl^$v$e4il$Z$h~=y1ym> z$NDvlbzy)!2ESOO5aH{M&R3%;l=%82>C4#rxzPI}@+#`3l^tVnj+Enu%j8C>Vb%@? zh&9s6tRURWZJ9wBTs{#ChPAC1w#tcItA@!%jb;s7C85CFA%}=vIUy9$vU9PRwqx^$ zHF{yCP%FD)GoLmtw|?5l!>|pq_InE1C8eh@;u6no+qdM8LSkv*3Y4P1o%Am;9r#o& z1jBshLu^Gn@DrE;4z?1k&KP{IHWbX)5S$f#(iBZW4!pb}VO~<(Vi7)fUrNo{wbuPj zU}?w4S`LqOp%YGslT7-o=YUuj#_mn{*_n&x2smMnfFfvr`J%o!iS`T2K6kzQ#RCLi zxOP$f{?zy4(MSPlD6>aS{;==^SL|Axus=ZK?mYm&r?ZzaasFXCNR9ir+@_9AH-f4h zMaih7$g|}}p4oWNnh8?QhPbwU(${rhqiClQgzzKISVmFr%Qb$40lx8Uypw$LoFoc? z%s(azgTv+3| z>~TgZ4P@*Qy=8Yph#-PxdwkZI&?~!k2c7M~#xkM(Fm!?dB&lRMAKl9|DOHFq;JOa; zs;ZOp%cpzKbv+koE%X%B7E3ZeK{w2$iT0c{&!@=;L_~sROSoDBd5M;6k?99g)E2HV z6DeSJekg3+JJE&=VonP$^P`HUlfk9Ii=h24sBO);LJKr_wk0SFmBR*Ce62lv#U?jG%Y@`?^H0z^8ZJLN$qc@@GYQX|ND8$f zw|tI*?a{D7t1QR+_2{G7DM(gD_3gVlLAG#Db<6HErFYfY8E{+8iflw%sFigs$PMy+ zgV^g^0b|(V>GLjpmPdecw)sxk?R`5uZ2RiY{UUE|zG1K4&M2}w6RgYrfY zKeyZ~>$h*25jw&s8U)E73S;jOe_avudTysaMqgV<+-xOtZ{kmvY!d{ZJ5Jd0XuU*{ z(871bi+JixycV`kFN+U2c6<|lnY(!pK1uwgGgjvAj0qdE+XIre{+hw+-3-)8L=PtN zp|i?ysU|>3gwp|qc=f6e&@a(*5u6?=QGb^~t<~Yw+F2Vysk57MppYBG;!#7&)ZbC0 z-pxRDK!ntp1gW(`BDc52kVu*O`9vSOYy_%iKIKBX@W|bC0Vvzbiq+37R&x#5YUWu1 zve7DBXRJ*93>(z|s%B2*Lb?py3vy*s)Q4@cVEqis>aGc4&D^UUpLOadAN)8;y$_b= zO#^2LP1X%~HQIAtXbY=JJ-F&#N$Nqx`}H!XTQ}&_9EgQWuXMr%g{pAK%|GE*cone* zs+un+*KB<|caZC{AiHWD)_l{rCK7{L=_E6?yR=jfe481St_iN#Ky*Uw|2%NAxIF{W zbs1_l_PpGxvFExN<>w-z$2kR7!Ap_4L7hizgM) zx4sibSc9<&%`dyaf_OueUaQbh)!5bt^zQ6O)z+REp1!!@_SsI? z&-RzT>ifj&lf|shR*@ZyQQLCDCB08t&SmFRJY)MPicD;VTe7fO7o&}u{oP5Rhg{p5 zL{Cti`*{UW_QhfL!4AOcRzE{x^n-71?d}4PFK(rSiYo>@*Vb|lQ~rb9zVPN=i1v>O zT-n3RC%TMWTf@dxl3{z%US7$NM0oJ4uZQJ!NmtxvQE(a#QI=ebtCLYA7T^SCPB{P>#TZ7B1zq{k{cyP(i6JQy3sag7sK7K;Q z0?DokD$IoNyn`8k0?a%@lfg(v`q!C1nW6C>w(h;wg3d^6jns082`v)heb+-@N7%hP zq#f13BFjGiIYRTy|K_<6cEG^}hNo1X`2-xZyAzy)4-{}d7>$%m1u1v)o~4Z&kuzk{ zwTog>s;a5;^#)+!m1XnLYxJ7rh}lYGw>+UA=x@u|;bLv{9khxeF>?k9aTK7zcKV5= zTxxoDxu}r{S_C6UWsX`t_#R&#wb1$=O?-#Fh+W|}s46+V88&x^=Y7x-g6;cwt`I{? z8i^oTych5oN3&spwt=PaTk6Arj@E<|zx~S_oDxtAh@g8EAMx z+?qMh@LU*u`R1D!qg8Ezc9|GB510B$z0{mTokP^Osp4jvryEC98l_I4A_Jb|2|~um z_PgSYJ}gd7&_X)8A7NYZ;pqoIKw~_)xstUctneW!Y});29+G2y`AIkX23BfD7kNtp zu|5+vbwqpRXWtPd^(n!U=N6~32A`FupzAg<3_uN+97}9r zZApnjqxA{K_6eTf#@M=~&z2w5#enxunL(}f3U_?Ao0X$JPT4Wm!(pj=DRD)}F!BU) z6D+}2C75pDjAr^%dUTCNd>2Xe5tlCUdbo`j-t{i7CywhbMKMLXf^^Lx)xmukoExiq z9b3s$rW!}>$R58b@IqB`Rc5s3UgX17&$qF_5&1Rc|9pp7@(;=sRiIs$F<7Izf#ZWR zGjR_bvO92NGDtowLJVkp&d)td{B)hOjH7l#r}-ybU6=N0Bbhy0hC~V+V}` z7hivkqEj4gH&X2M#WF^b7j2JT9ALNn6ZpLKj3aU8^d>5>7RV(80_Mm{x)?2S7%#*z z`mOE31cSHbFY=6fm(8dZRsP`3oM%6ZkG}werf7&94+8%I`)e~&e8#@GJLjL=o%3&Q zAau!c(7uxVbySL7!t2~BUK-v}gIqbT<8DwBHLQlZYIK#7sLNxu+fMM+StdUq!E~ZV zMi#Ty$I2V23+uVVs2^MkJXRnx2JIiO%v%xt=zc7bV2lDLeB0;WR#~4)5~d7w0ncDt zOyx$Tzo30+1!L_Ksq{@Jj6zTI)&z-WT?%uTgrs;c!E(Fiajh+d1|$Y#0|Z)eaRaaBU*Nt=~bAa6%sEJPUV2 zbcxLeD5;_E4hnJ2A?Bp?v!0-Tz~IrBgOR5N*}UTCI{rfbCgUV@6F7QH{EhXy3ya1BZB zwbn`^fAW_1krTTE_m4%A!s1tA9Jkx%&(>YXxZ`@_8!_=xRrQ07TIdRgn-aVHk%DMB zc-ct6ts0CU^2^K+Gw>a-#y%qiB+%D)rzU`W4tES00YyQGdp8O<%dPb4e zw!U1GkqR3DYYvo(l00PiSYyveYBIp-OlHv{0Am6m6Fx)Sz{@?}GrvPK3sTT*BeRP- zJ1pUpkWp2E5AF7&k)?y7btX`MW29c`1tS9@+Vg@+Vby5SM+i2sAUnon=7bMk&hXfP z5q3Kf7AQpiDP6EM>cw)oosJ2i9Uglq+q6BvFL2A|Plz5u*e7Zw?IaO5P()jax7>w8 zTBZ(mbZh{~KSo0u$uje_{%$&7Fv)i?6wU+^4ZKJx{P!L`O zqxxhHPSw(xgExKW+3^E_rh5&ob#k6eoNx%2&;ivQeU28BnU^RB%A8WV4y^S<6d{2( zB))8`b>?&g^PmmMqr`P)mhmn~Id9*@esd zCqMKAszJgbQVluI;L33_j&I0TV`%1$8+{F1XcbBq@ivyCuAkguW#c6g(lnwwn0INs(C%UyXZh_f&_3!HgTGWL#-v1H*%$7x*Evzr2lY5gg!9Zu3Ix* zAtU%YbYZ|nvAW?J%jnzBRFko&B{d0&Om-fhSFkObv|h;}GP`t?uCd0Wdt%RNTKJWk z`^Jh3?<3{4+2OEhq&S1sAqld#HFmYz^zq0K1!MU?B=O5s+&HG03;*1)P1f`bP2qKO zDOyE6dsbfS1#Zy{+AP9t`h1EmZO(KG-9cAk-bqvZ#XL%gZxA?f<8}v z60Mcl`eTBJ*HspN@Sc`T3`=pc0JurE;ZZGv6C5e)_z_x^U0#>@idFKuZtB+o?Lu<* z98-49S)_39?+bXFMfTgN+Dc{|pnG>;y?&csj0yD^4L^%2(R_*vl}RqM)k-fsh$DFq zhb7S6v!hbQ*KtJwM+8Jtq>gpSTp1}%o-_F|$g~wd1Qj^ZVL0~?;Se7j7ctCQEYf&N zbU5LaP4=RfECL2U^~|6mhe6Dogone+VU}3VxJC?1FkBqO6Io|JD zNMfEvEc?mBvy4s%;e`~j;Zgb~FG^+(DL>~p0?Z3fns5VKa!mtIG!RS%Ze6>g+c-)i zH2srfm=>f7W?Yn|2=+y9$a@ff!a`t9L=QH~`e59v+BWxWA^FBo=Dk*6tr?OZ{a9$m z9I7|Z-iW+|fg?BD1cfaI4mL1+@E`Q5PzVkRqJ~f2x*n;EUeTae^P4u<@!}$Y%w2$# zGEG=`0Md1ygCbK$pN*6m{Gp)i)ATnf1mWuYm4J1x>IL6&uKO zsregYap{T;-$uTEQc$w1(u6kF0vb^6S{2_q4_?7kQnCxq68NmiZgEN6v!Pn_eiLF*3afzfxL4;jJgQl!(kZ}1^^mvVVVd=AUKEK zRIquX+%=2Pm{%M!#=ygkuE{YLGAVG;=+GWFG*owXV(?v1`j^>^-V~8MWu_fYmxdfiv4e(dk$_L*EO6- zv;ymKQt*>I6om#2dtO1kIW(zqOG_(wrpbUS4Dp+{IT#C2<=mS{)k5n;2%&blbUUXC z*vvu~kAQsMFfL}3R6c;<=T+v5lygJLTZ;uhzO-J9S10-JwV1Am*sNd`G9I+fWa1?W z8?!hUyUqf;R$^qHXML;VlSv(f%qtJyV>K!}a-mxrJk4AS!DOt-l{HlT8E@hSU2d=j z#0CC@ogcR6Nw|oPl|eY4^W=t7iHkA% zqslbiE=?JFiMDG@TRuHophHj;{p6V=_}OQA!P_pDnxxT_FTgPkJrUp%bj)VgY(BQo z$e93ItM$RR+oIHILFDs|gi^fJeD#9>Wb9|SZ^Z<1cfmsQvTq~803x+g_o1Z5nF9tc zNXpHXV$1M{YSfD@pW2qG=q(f2&Ek5sp{O=eFXD68kID9nrq#vy1^Xqx>fnW%NJ85} zr|`)m6Of7WQZqd?6xjwbAO*wpE~L1RE~A0Jhg7YO9Bj$^$~v2YaSM zT1qaru$0uz^IfePwc@sVq9@RsC}r9fF8NJ zJ9E9jdqBv53^ZWuj!ebn*##|t4xXdPvfCn^KU%|7cF~8)V|Df$K&NdZG2}nUWkw>q z&J!{WuJd*a6ORAq)B!nNB0s>}9dKqjih9GVPY^f0#5gn5k>ks9=LDYgm@rGJAqol2*MA(gd$( zJLIa?Tl%GorV~0@`Q5E$+t^1P@zQx=iK3<;#aR=4^ad55B7lxX5l=p3XZ6ypC9As6 zs;b}yAZZJ1EV>H0%r5g?=^GXJ|R!OK6%)O zA{7>}9y;T#JY}U14#@|vng>?TPeusSMd$N!?zNr7c)3K%kgA~Ep;IXc#P60{rr5&O-IEq&Xc*epV!RUe+NPgWJwKp573#wzZ=@iI#Ww{@)?oAVa_svcn zs&Tz!$MP3K2t;)FVBIO}6sqv(nHAJm*u&D~kJ<5G2>I6nR<$S$r4eZ*XGIArFd(k+` zh-K-4t>8oeFe^{biaxouaF{?Bkw(H5VhcYm1}~S|3H-tuN(XRyX+ouCLmic!_~wG% z1xL8vP~0o9AmV+rhUo7gK1A-vWpusG_e#TsR9q=M5aWV=HY z#jYQ6V^yt_+vdWzXotb#l_Zu3Wg)NdW^N~j-C8h19~?|&BFT$*sk5n zQ)UyloCLEApd?-i&C9<#=!=6B4&38#KLkxkyVE+3AFPf-}QK6wa*_tOHG z=ey!~#}B6wVRr}2W%7CL=b5mJw(HwvW#&-;+;&8<|KNjE0k-PQYQ6z1we7D?Lf%+< zI3R~LwC>JWnBzNv!Q(5%=8S!1+}Wj3i82@r5o4JR zULZuCK;iuk8Y=t=gNCFOGKYRti9KkO@Lp0chSi07gNEnXi)4mBq7Tps1Glkd>~A{& zQBblcGCg%+kM)V<2OkFj-uDf{g|l&E~hmpqKTECe*&U4kX|ox=P_ zHG^2R<@iBxK`>$Kwxv$GV&R;9kZ0G%W(oHVhZhBKHcB@9sCDn59hmWg3FX;K3*mKL zu2;vMvFOD0-OJEji%HTa)!78b%z>ABuY^+|zl^9~Jo%bg$S_>LgZg~NgijitaW(fdX3_a_!jAoy@1qMbXxGm zt<_B+=|lH--%V$Bdl<#uRqV`X{vnk$~0Bw_2yN8yDTXLQx z=`YLC{lpk>SuI&bXR{|VyV!9DJDr0V=6$eFq)Qz|RYhFa&<|c6rCt2g8QZ+u_JGbb zuvjn=iOcSa#GL0h($kGv-ed8v63OSbGl`=lp+Yf_(FZ%;+tz2$B@u<)6S&4j2Q7!b z5KmBhdbHKtrxfcE%+-uT+mehOPpKYt^1-@ONq0;6%(@WOki22GrF^h5|Lv zondN7uB-IRB_{~jmKcM%e#`_T=B_cocs{f(w$%Az zkOcN^q5k%0{B1@nkKdR?aY~&mxUw(oD4@JUOM?M zd!fSS#MV|(dIS;)V-KYAXkxnpri~wsW9Mse?C81>+a03k{NycgU@SsGcM6uGmJ9ER zGJ8|y`dj``pz{!aoqH9IHL5Wg#YBm3|D?OOW{N^6aRA0*Ad~!nP z!K3^8vnM+*+{PA{IUSNNuW~}Q*TuRsfkku<=P+N*fnR z7pz&bux^H-3e|0wGo8$nxwbURS;kHke4CpWXrX}YlXPoKcKb|Tcx5W+%Kh-M{K_p? zu=e7e$0B|G=JHwg$yPhR-DaA$fd-Wq`46)I{SW=z+Q2#K z$^CAooDHDab@>rwu4xw|$d$_oX?b3@5I zrM7!ntkr&G29fKlwO9790cM>P*P*A~Hx1V1&XkecrbJazUW!UeZ;hkw-jtNv9dU+MT@O;sMLOtp9{%Y;-%67=$@Aa=%;?w;KjA zE^sg5ZVWSbOVZqKIgqdDaxb^1>DnQIx(3XpzB${SJk8T`KDr+lX|%+qh-Ry1CD!^3 zGOs#arPTJ6HB!vZ8i4L_ky#B_XjJ{SOwfXoqdLEpYzVB^T;A>^hG8)58hIhy3}x9} zJD8`F3x8r*mhfN|qHKd>&dhKvN3AKY=V%SJL=J4}sGlFnC+`zR!kmK0BK$gvih_lQ zasBDk!_Nch5Tx#J^EE(n*J5qV+5<7!5FE(-TlWYjVD>rzffrD{5{J}=BY)uwutUO63T5{OJQjZMG zc#Dj42IA~QSjh8b{vzNRun87Aw11NAbQoMGkr+1H%$D?|$J@7Ltv>fjb)Q^oNbv_}p&@I>n? zHYpGMM{4)@=)&!$sZ|mUIJBmWur;G;<;vx)pk6t5&8qXlgz30T z?w*Fy^=_aas2zWj#ZhV#8YAsu=* zT4)ZGcqND9KGf2OTFM;zSAuL?tp3~BLjswL-BgVQu*=aspu|{9LKUk*h}Xw_`GS_5 z1VE!vktsVzGZFe=V0VdMcy0%9V_lrykQj_NpAt}dvYX@4Y&p2Rswp4^!la=5at(^; zOZOqW+fLeNLoA11c=wA3!Z5U!KEtys;E~;PAwv*5lyF6Awgw|>RO1=$anHR#gO>uL zX+shTRi9HVBPT2ssjEagc)ivd5mPs7K}T-t7qj zbBFcLU?_|>*+!Fh;Qny3jwd`7Pppq$1F^M70Oi4jvo;)A8-bJO1GnS6uyUqG&W2bpV`z)Qg6 z;`|r2pk&t7-<&LMh-d3f7xm3LlJ}Nqw3HV{z8WI@Gur`jE^(DoHE-Y=e2&1gb z`uLPaHpSST`Y)cl91L^Dx4NX@;?-7^nvwUM^p_|}%R?vS8-cw$37n_-GEc~soG;>{ zHKQih564;7@!-Wzj`L06nZ1N42i)Eck@%q*1_ zjhAg;<}2n^?s!)zsJ>!ug#Z|<5RQ=ZJXb7JNg-cimG72_IX2!4m~R61!acI-j0;zY zpT~orQ`7EK*`BkQkn%K84ag;-r543UnT@eLz~0OQC7%%?$=W+avbq4hKtjI`F6GOH z%@)_1A%fQ6+`s{DnzVVF%{IS5h@b}i_}xS$<;>BSvqsl4}O|JA4y|b zrGgbSE)p=#lgv@@{jxPdT!%Nd)B`Ze|4b|37COYQ{{mjo1lY+m_c^COL8?HSZ8?iH zB3Jh-smqF1qi>mTdp#(N=u9&UjqQ_a|AHjpMeN~6BLZ1Ma)rBYBM^0Al%Kp--sZH% z(8?4o~OV0Teu6<~KJi}=~QbP~jmn}vRdC}&r(`k`39j&hFjJXx}V1TC<>0~t7GPvMCiFG_P~53cpNQni(1o4@wbEbZ{e3{x{7dN z&&a!34Cvqm|5VKN4{-$-c<^JnTu#Oi%s{>{Bp)4S-}JLj4827o9wdqzP5w2v4W(wL zGRRt%4)bOtS=uW5fziQh2AQrBLWDt?h&sj+8Xg)iviMNz@dHLdfy_((<}yB*2HfI` zjaCCBOJmXR;00lUodB`*KP%0{_YsHPK_IX$nLFsz3DJnaUOROjp`JO+-3KRj1255y z95c8TY3w`^DV}*{Q|Xkmi)f{!${$GNayJo_LRyr>%A$`r_`H~sQw~0{mLr=yw_)*% zbEdvh>gEg^&Y}aCMmftc?0=vzU;&)zt2AecCIb#}G{@1Pq7-iT%~6MC2%A!1TQhF< zq!E#2tw#pfj$%I)piyWYqB$LSj*GXCs0GI`IG-LNkqG=MLNaV6?A0KibKmWR_+Em> z&Sb`WQDnx;%kr<6WB9)`kc0sI$szlspM7CiwDAD{8vA%GIy|s9_6rX39+EU>5p~&t z{dy3?etZlkfijr${(ZCJCt$@-{}`+wnlSK;k)uk>Gn*qH9)c4LodMOhv|83B5Rq7l zu>18}B#H!)DZWQwqwwK9A>#XE`jdI-;Y%wlsk)S2a~}{@dxb8*-@Wo4z%=Z;1Llz* zruK`y97TxfxA5yOSF`++Vhe`~AHMXLudELoDuqyT*|xe-Qd z?uZU_H%tWK*5*nc^HAcI4*A^e$kuEW+3hda@Y)r;s;7y--U{mS4Y*I`f*~qXhEs_!qj{6UDv=VlDsceoxm|L3KHu= zBzOmN$pqiRNCY0f)qu zu%Qq&szkFpbkI)b1VkUQBk-r-labm)nASCtdk7bA^cI?YowK%y#NB)N77ki;v5^2b zBLy#+(p;k zwhF-bHX%KbmEX}p=^UA zSSJuv%)+Kmii@U#Xk*t{$c)MG4wwAWn%+<2J5wUN9ig;Iu)x=!#4#`lhDw|RCuS05 zjGGZ?w-X`{BsXEOG|?&MYm^RW-sDk0h)a)UeQ(iId*F9+3v=8omrT&o3L4aSqi605#$<^Exnbdlr947>fk_f}cq z@0#=6(GU3X%ACc>4&L(I#gG?&i4P`*bk?x4M~$HFoLkZYdFPq&tr8lSnX#$_evH1t zIzS3g=l9qfW-~g^J|W|Zp0SoVI8O)axUk!-FY&9gi5$vB{K{bT-U1J8@GUxJPp}XR zo~xgnWfrC(f_I$ghX=0uWA6{NbC9i_41=PB*v`3RxjtvnvK)u9FLbFMolICXQoe1> zMbmS#L~Tw#`629WWm%wZiRbuq46SL8n|O}?YLah*+4)-CE{lxA1pvFC@eI^+MiN=Z z3JRfElL_qjm^g1>!?q~I9iI#?HPPGr4pyQUlgeMSu$Vlquybxqd|6W0c+~cp&A1Re zakm^%mqZtzoP&ef>gKTRHfiv4M91CGvaM`(f3)rlnnK}=!-$r>ndbIZ!n#Z7Alz}% z@&ga)=Po#(XX*x0$jJmfGOBsOUGeCQ5j?i7j9e~tWE-@ymsuxh3I5dro+|TT^Z>#4 zlsORgr(KXaEO z@$gb4%oXrAi;kJ&r&5fcY1?pFaN#HOz%gGW&^+UgfE_Y`KKY(J5rTu3OUmQ-5HLJF zFMQkjf@hBDI7YU@PXs$NV}v^k{T`P~ubA}qdygE-<`N&*|>i)uWM5*~V{V7U>w zsLphimGng`*0F$G_J%Aj^i3O9>E`Zv3KoM7RQ6ONDjfA`GQ~M957kArJxDx^zLKzZ z2+Q9WUQD_joVegPcIs0PPB_5L@7SjfUW8_JDBK;{6lj0$*-41VA-Qz?P)y=w?r&t6SCt(!i=90RT(y1 z0EW@G$CN`Xa($A$NoFPvFd2Okmnr{=x+atka&>kiDZ1>VkFelAV-6V*NZ5KXplpSr zFr{dlng=Hlg_%!$905DDaJDe%<&ncB7vP4v3Yxqp3lLQQ#pS1r>Ox%ekN$f(pOL7- zVE|sulH*Ta6ubB>Dz$eo%Mzzrx#5|g{DKBo_@KxVEO~vCE3J)sfZF!G_uz*N>{7A^ z&T$;C|8KwiTL$mn(B?WhoFv~Vr4Rk5@4&64>g7@gIYe@MibL1U$>-ds z2U+a#%d&hcRiVw*;8pW+rPL4)jxOHQZ7Xxlh?R{6ei8@Pu#1HR(6vl1Y%7afdPgtr zhSqp)_WFrN7H+VgwbzIC4C8GTtMF7gq6=X~N)|uNQ(rpos z^Ss=bXR$abNPFwCn4C5R|A;b&Gsfx%v9%et##ADb&1i9t&nl8SU(Beo25b|y=qt0Y zJc|8X=HL@XoVSMTItdt&;FLIK?{R?*W?L-Cr^n^eu*_6( zImS#PSHKd*K;uEFR7zWaFNA8V<2gyZbh%ubeJQF;Yl4zx49;P9N^kaj>12J?GpTeopE2h%Apx%;NA_@wwD6gPDE&9fKB*fdRc zm6qMaqGLl$ZJML6@Qa2da8cqTT#^`GJZr$~qQ4h==$z-CQPVe^9d#gjlo@6Sf%=4T{ zsZmV{wE?y>b_YBdoc%!ml##IlJB8J@$vn9ZU4P=FQA`}xj3TQ?9N3trl~R1Sy?la| z(>M2t7eC{dJ`-}b`=CMW5qUy)sQTO5Qu`WE204ksRVK*=gI1w$IVLfQef0 z2t6=_P|;yE&OBoSuxQR~mf%=;L~X^0(*bPage^#!IU+ea7QE=)XzgG${Y+o0)WacG zTSYdR-^8@Um*>=A4%}}M8^0rLL`xqMuZ%jh(SY*8XFra@Cwv29p@hpULEcD&k~>{^ zw{}6Z(J29K_!JG79bpK;oio~jRq2ox%~TN^og=Htx(U{dF;yYQ4XduK`C3}n)^Fdg zUdDr;M)xVcJMR&-+NW=UD)^FG`%I%)hqk2xfr2s&+v*s!VQ?K~)`wM9*4KzvgS!W; zt8^xC&5e}^;^RmBdtYeoqebY7mJKvvZ+MW5{15|%VHBW4i~vl@*$YDd={whVe~F&G z&(ZHbYVoV2a+h*8(bd(3akN0Q;aS!t>X~~)x7wo9N{9%eAZ@{~S9ZIYJGiD0boLWE79*qlYn)M`WjsdW(0m%APk_B$^BuC&~F` z&TRF``x2(Addpk-1tq^FzDVhVk-r2qI5+tO150@Mn@~o@UYSsJ*CH-|PNYV+$9Wvf zjj3h}Uk}@-1>X;Avj;0^B#*8Udr(kP3_a?{LOqYv^ucYPp=eTa|Pd&qI(uakK{qVV0^@;6RI0` zHmMw9erC0|2DjHaZft5{$6#1a-r&z~LYKyz#BN6E+g|$2n36m}8Ta6s`T;fMv8c29 z!^-suQWgPC@F;w+>R`QK=Ar~Y_GEoU!s6Beag{(TfG!d%OOR1KaM+XF>XV9`;KT>) z`U5?!9NMbrGjuT17>Zq#C09GaO6}AGwr!6Va~4ZC#`2y9+f<-21e}>5ZwcjvH+2>P z-t}1X*|FA$xZO4vzCEQA50vum56f75u`0)@A%YO z$-Trrr1DYwqz@VZ8I}r$a%^4TP42h

    F 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�^CTj=}lV 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%0AtW^W)@4z~^U7>&LSHddGF` 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ℑ^|PI?W;0KT!}jwT+{w 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 FfQ|?Z@gSsg9hOWWQ_QUi*=ot@$AsDcC9aU1 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

  • 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

    kkOrr`-Gp1ZGN8 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

    &)y=weT*H}$Y!BL0?)q2=}F*YF?k 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 HRbF2&0&o;)yecN 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 *|=h+$C8%5LsI=9rulMcp)KaO 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 z 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 R|M`rc{|`?^@(cjTX8<-%*3tj~ diff --git a/docs/Listable/index.html b/docs/Listable/index.html index 4f1e692d9..07dee0c7e 100644 --- a/docs/Listable/index.html +++ b/docs/Listable/index.html @@ -22,7 +22,7 @@ Listable - (44% documented) + (45% documented)

    @@ -255,6 +255,9 @@

    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 z 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�VdA6yUirjd|4!gh(rdnZ#Lkdl(_xW zcIR!jLKk;t4-p3UO|6}jd_1JMC}%(O>zy#BLc|>dMFopCI3$nY^*&7%Dmsi`8Qzz9 zM8gX`Ne?JxFSV~|nlpkl5nr7{d8FwDcaTB3>0Hnazmn7GJ1|iaOn%Cj>kJZYOJtJx zrDhA7@|~=Nh->0_gsD$fNr9T)|l-Zo@OQD_( zmDto3$ZA`faROUZr`(LNnR5eKbJ`^ecIe!tzXom2MI5Y zRk|L}?nRf4Uus@yEp`9K6K4i)Z@OMFjXh8@onuwjd=;Ic=-dQM;4zh#jEKfa{k+t@ zW|ar!4vP+Jo_`R^dcE%Ho7mme)c}>8x)xrF*qocLrj1zr1Wn9OCj3Q@x_=A5~bkoX%dcOQB_{Z=j=aQ5uxoPZ%J!uMi+>)D6 zT=QZzp%pko@{Sp4<=3I>-Mevbd8ZOoqZL^1{Tq|Vigvit=4)*l^ljK1t*>6BOYCuP zxUr|KUY?RBk9pCZHi7&!UvsNF;w@xRl<&_z7lt)vX!qzFV8`kDOj*#~2f5CkSO>m{ zHTjTsubs|I#T-Q2cPtOusn*=miBt<{Y2_6$xxjW`89hIh1GM^96|89y_!oNB!nH{@ zJr7nofVEC-P2kvbz@l8ufVnQcN5}X3w!jw71_`xbZE3Wu%2f> z{8bziYWm&=gP&3<9s+QTN+0VERuWs2BCKN;7&Kr&ol69ccuE?7 zT@36TMUTsR6y{+kx0t>$j`SbpoUDT_*-l&D?ZkRW?RDbY6^t#}GBY$2FO~K?MIWoU zn+kQS!C$8wcznbAAlnriISS5+_x&Voj_+Ky@^?hM{QMCDCsn&-EH(0i7^s@BOxy_3Qnb;h=+bH+?MmoAQ59*zvyW3b z(A59rf)c8_G@0djHg+ZAjrwfk)lzXJ7@=yX{Gwx-|A|#|HU@x*Uc+1JX2Uf~1?R<# zSJNf&jkW7j){VNSXPlQ0n|*vQE9+YeXU?XkE-sBb|3r#~?X`flaG#6p%Sm;{N1FUQ zD$Jg<7_WvEV-dCKXdV7zpNd8@t(cj(fQ{{l-W3<`vCzC@yY-u}z8kR%KX~6p=I%1aFGx?!_D_{M@1z1?!w8G+eljpfaqZbVt7i2aGm=J~}$}$~JD|>CY)0>raOs zX$><0``r2C^sR2S9lN2w&ZlL+9O(>hyshoeJcjdcc?>i@*B^OISI(0+GxpteUNvW- zo4KfN{OVDhir=K$X%AQE5I!jr1b(0X8`6qm%xG>ZZX%bsjZS$ zV>LcHn;bO53+)ZGvf@EL5$dk_{Pe zi}I|;gmwJHK=FQ*6(GiUj{S~dNln!+SiCM-m}fl9$JCub97~RPU{z=+f_@P3$eGko zLpgRa0unNqJk8?QCK5=CDFPnp1`Ja7^le;Olbj2rY*k~yE}=Yy?4u~y(Kzx~7W^FhRjWlEt=uy_aG zi5J(_nsVL!s5@1_BvUk4%6;lPg=8O75^Lp}?L-)TAR!l}PDw*2>oCqsxB&Z*0Usfw z0Tss3p>25B7`5c*FdKhH(l8BxjOJv3L$cQO zHmP$W7)4LED^T`zey4~T<88xqNYkdQ{WKKprhk{QG4UUJ&D(#sDuH; zG1e{-{r<&hwQA{WhmPw?pPk~6)R9n_mGg-7fg{m4{E+?^ArM

  • + @@ -264,6 +267,9 @@ + @@ -282,6 +288,9 @@ + + + + @@ -342,7 +360,7 @@ HeaderFooterContentViews - - - @@ -504,10 +513,7 @@ Section - + + + + + +

    j~Fin20Xa|vLO8EY^9gW*{e`w!@M0NOF@ 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�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�L*y4-+ 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

    -

    You use the ListAppearance.Sizing struct to control the default measurements within the list: How tall are standard rows, headers, footers, etc.

    -
    public struct ListAppearance.Sizing : Equatable
    +

    You use the TableAppearance.Sizing struct to control the default measurements within the list: How tall are standard rows, headers, footers, etc.

    +
    public struct TableAppearance.Sizing : Equatable
     {
         public var itemHeight : CGFloat
     
    @@ -645,8 +669,8 @@ 

    Highly Customizable

    }
    -

    You can use ListAppearance.Layout to customize the padding of the entire list, how wide the list should be (eg, up to 700px, more than 400px, etc) plus control spacing between items, headers, and footers.

    -
    public struct ListAppearance.Layout : Equatable
    +

    You can use TableAppearance.Layout to customize the padding of the entire list, how wide the list should be (eg, up to 700px, more than 400px, etc) plus control spacing between items, headers, and footers.

    +
    public struct TableAppearance.Layout : Equatable
     {
         public var padding : UIEdgeInsets
         public var width : WidthConstraint
    @@ -1200,7 +1224,7 @@ 
           
         
         
       
    diff --git a/docs/Listable/search.json b/docs/Listable/search.json
    index b043357cc..ac6498fa1 100644
    --- a/docs/Listable/search.json
    +++ b/docs/Listable/search.json
    @@ -1 +1 @@
    -{"Typealiases.html#/s:10ListableUI6Headera":{"name":"Header","abstract":"

    Undocumented

    "},"Typealiases.html#/s:10ListableUI6Footera":{"name":"Footer","abstract":"

    Undocumented

    "},"Typealiases.html#/s:10ListableUI13HeaderContenta":{"name":"HeaderContent","abstract":"

    Undocumented

    "},"Typealiases.html#/s:10ListableUI13FooterContenta":{"name":"FooterContent","abstract":"

    Undocumented

    "},"Structs/SwipeAction.html#/s:10ListableUI11SwipeActionV17CompletionHandlera":{"name":"CompletionHandler","abstract":"

    The completion handler to call after performing the swipe action.

    ","parent_name":"SwipeAction"},"Structs/SwipeAction.html#/s:10ListableUI11SwipeActionV7Handlera":{"name":"Handler","abstract":"

    The completion handler called when the action is tapped.

    ","parent_name":"SwipeAction"},"Structs/SwipeAction.html#/s:10ListableUI11SwipeActionV5titleSSSgvp":{"name":"title","abstract":"

    Undocumented

    ","parent_name":"SwipeAction"},"Structs/SwipeAction.html#/s:10ListableUI11SwipeActionV15backgroundColorSo7UIColorCSgvp":{"name":"backgroundColor","abstract":"

    Undocumented

    ","parent_name":"SwipeAction"},"Structs/SwipeAction.html#/s:10ListableUI11SwipeActionV5imageSo7UIImageCSgvp":{"name":"image","abstract":"

    Undocumented

    ","parent_name":"SwipeAction"},"Structs/SwipeAction.html#/s:10ListableUI11SwipeActionV7handleryyySbccvp":{"name":"handler","abstract":"

    Undocumented

    ","parent_name":"SwipeAction"},"Structs/SwipeAction.html#/s:10ListableUI11SwipeActionV5title15backgroundColor5image7handlerACSS_So7UIColorCSo7UIImageCSgyySbcctcfc":{"name":"init(title:backgroundColor:image:handler:)","abstract":"

    Undocumented

    ","parent_name":"SwipeAction"},"Structs/SwipeActionsConfiguration.html#/s:10ListableUI25SwipeActionsConfigurationV7actionsSayAA0C6ActionVGvp":{"name":"actions","abstract":"

    The actions to display when the cell is swiped.

    ","parent_name":"SwipeActionsConfiguration"},"Structs/SwipeActionsConfiguration.html#/s:10ListableUI25SwipeActionsConfigurationV027performsFirstActionWithFullC0Sbvp":{"name":"performsFirstActionWithFullSwipe","abstract":"

    Whether the first action is performed automatically with a full swipe.

    ","parent_name":"SwipeActionsConfiguration"},"Structs/SwipeActionsConfiguration.html#/s:10ListableUI25SwipeActionsConfigurationV6action027performsFirstActionWithFullC0AcA0cI0V_Sbtcfc":{"name":"init(action:performsFirstActionWithFullSwipe:)","abstract":"

    Undocumented

    ","parent_name":"SwipeActionsConfiguration"},"Structs/SwipeActionsConfiguration.html#/s:10ListableUI25SwipeActionsConfigurationV7actions027performsFirstActionWithFullC0ACSayAA0cI0VG_Sbtcfc":{"name":"init(actions:performsFirstActionWithFullSwipe:)","abstract":"

    Undocumented

    ","parent_name":"SwipeActionsConfiguration"},"Structs/HorizontalPadding.html#/s:10ListableUI17HorizontalPaddingV4left12CoreGraphics7CGFloatVvp":{"name":"left","abstract":"

    Undocumented

    ","parent_name":"HorizontalPadding"},"Structs/HorizontalPadding.html#/s:10ListableUI17HorizontalPaddingV5right12CoreGraphics7CGFloatVvp":{"name":"right","abstract":"

    Undocumented

    ","parent_name":"HorizontalPadding"},"Structs/HorizontalPadding.html#/s:10ListableUI17HorizontalPaddingV4zeroACvpZ":{"name":"zero","abstract":"

    Undocumented

    ","parent_name":"HorizontalPadding"},"Structs/HorizontalPadding.html#/s:10ListableUI17HorizontalPaddingV4left5rightAC12CoreGraphics7CGFloatV_AHtcfc":{"name":"init(left:right:)","abstract":"

    Undocumented

    ","parent_name":"HorizontalPadding"},"Structs/HorizontalPadding.html#/s:10ListableUI17HorizontalPaddingV7uniformAC12CoreGraphics7CGFloatV_tcfc":{"name":"init(uniform:)","abstract":"

    Undocumented

    ","parent_name":"HorizontalPadding"},"Structs/Section/Columns.html#/s:10ListableUI7SectionV7ColumnsV5countSivp":{"name":"count","abstract":"

    Undocumented

    ","parent_name":"Columns"},"Structs/Section/Columns.html#/s:10ListableUI7SectionV7ColumnsV7spacing12CoreGraphics7CGFloatVvp":{"name":"spacing","abstract":"

    Undocumented

    ","parent_name":"Columns"},"Structs/Section/Columns.html#/s:10ListableUI7SectionV7ColumnsV3oneAEvpZ":{"name":"one","abstract":"

    Undocumented

    ","parent_name":"Columns"},"Structs/Section/Columns.html#/s:10ListableUI7SectionV7ColumnsV5count7spacingAESi_12CoreGraphics7CGFloatVtcfc":{"name":"init(count:spacing:)","abstract":"

    Undocumented

    ","parent_name":"Columns"},"Structs/Section/Layout.html#/s:10ListableUI7SectionV6LayoutV5widthAA11CustomWidthOvp":{"name":"width","abstract":"

    Undocumented

    ","parent_name":"Layout"},"Structs/Section/Layout.html#/s:10ListableUI7SectionV6LayoutV011customInterC7Spacing12CoreGraphics7CGFloatVSgvp":{"name":"customInterSectionSpacing","abstract":"

    Overrides the calculated spacing after this section

    ","parent_name":"Layout"},"Structs/Section/Layout.html#/s:10ListableUI7SectionV6LayoutV5width011customInterC7SpacingAeA11CustomWidthO_12CoreGraphics7CGFloatVSgtcfc":{"name":"init(width:customInterSectionSpacing:)","abstract":"

    Undocumented

    ","parent_name":"Layout"},"Structs/Section.html#/s:10ListableUI7SectionV4infoAA03AnyC4Info_pvp":{"name":"info","abstract":"

    Data backing the identity and updates to the section – for example","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV6layoutAC6LayoutVvp":{"name":"layout","abstract":"

    The layout for the section and all its content.","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV7columnsAC7ColumnsVvp":{"name":"columns","abstract":"

    How columns within the section should be distributed.","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV6headerAA15AnyHeaderFooter_pSgvp":{"name":"header","abstract":"

    The header, if any, associated with the section.

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV6footerAA15AnyHeaderFooter_pSgvp":{"name":"footer","abstract":"

    The footer, if any, associated with the section.

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV5itemsSayAA7AnyItem_pGvp":{"name":"items","abstract":"

    The items, if any, associated with the section.

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV8contains3anySbShyAA14ContentFiltersOG_tF":{"name":"contains(any:)","abstract":"

    Check if the section contains any of the given types, which you specify via the filters","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV5Builda":{"name":"Build","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV_5buildACx_yACzXEtcSHRzlufc":{"name":"init(_:build:)","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV_5buildACx_yACzXEtcAA0C4InfoRzlufc":{"name":"init(_:build:)","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV_6layout7columns6header6footer5itemsACx_AC6LayoutVAC7ColumnsVAA15AnyHeaderFooter_pSgANSayAA0K4Item_pGtcSHRzlufc":{"name":"init(_:layout:columns:header:footer:items:)","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV_6layout7columns6header6footer5itemsACx_AC6LayoutVAC7ColumnsVAA15AnyHeaderFooter_pSgANSayAA0K4Item_pGtcAA0C4InfoRzlufc":{"name":"init(_:layout:columns:header:footer:items:)","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV3addyyAA7AnyItem_pF":{"name":"add(_:)","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV2peoiyyACz_AA7AnyItem_ptFZ":{"name":"+=(_:_:)","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV2peoiyyACz_AA4ItemVyxGtAA0E7ContentRzlFZ":{"name":"+=(_:_:)","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV2peoiyyACz_xtAA11ItemContentRzlFZ":{"name":"+=(_:_:)","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV2peoiyyACz_SayAA7AnyItem_pGtFZ":{"name":"+=(_:_:)","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV2peoiyyACz_SayAA4ItemVyxGGtAA0E7ContentRzlFZ":{"name":"+=(_:_:)","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV2peoiyyACz_SayxGtAA11ItemContentRzlFZ":{"name":"+=(_:_:)","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/Section/Layout.html":{"name":"Layout","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/Section/Columns.html":{"name":"Columns","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/ScrollPosition/IfAlreadyVisible.html#/s:10ListableUI14ScrollPositionV16IfAlreadyVisibleO9doNothingyA2EmF":{"name":"doNothing","abstract":"

    Do not perform any action if the item is already partially visible.

    ","parent_name":"IfAlreadyVisible"},"Structs/ScrollPosition/IfAlreadyVisible.html#/s:10ListableUI14ScrollPositionV16IfAlreadyVisibleO08scrollToD0yA2EmF":{"name":"scrollToPosition","abstract":"

    Scroll the item to the desired Position, even if it is already partially visible.

    ","parent_name":"IfAlreadyVisible"},"Structs/ScrollPosition/Position.html#/s:10ListableUI14ScrollPositionV0D0O3topyA2EmF":{"name":"top","abstract":"

    Scroll the item to the top of the list.

    ","parent_name":"Position"},"Structs/ScrollPosition/Position.html#/s:10ListableUI14ScrollPositionV0D0O8centeredyA2EmF":{"name":"centered","abstract":"

    Scroll the item to the middle of the list.

    ","parent_name":"Position"},"Structs/ScrollPosition/Position.html#/s:10ListableUI14ScrollPositionV0D0O6bottomyA2EmF":{"name":"bottom","abstract":"

    Scroll the item to the bottom of the list.

    ","parent_name":"Position"},"Structs/ScrollPosition.html#/s:10ListableUI14ScrollPositionV8position16ifAlreadyVisible6offsetA2C0D0O_AC02IfgH0O12CoreGraphics7CGFloatVtcfc":{"name":"init(position:ifAlreadyVisible:offset:)","abstract":"

    Creates a new scroll position with the provided values.

    ","parent_name":"ScrollPosition"},"Structs/ScrollPosition/Position.html":{"name":"Position","abstract":"

    How the item should be positioned within the list.

    ","parent_name":"ScrollPosition"},"Structs/ScrollPosition/IfAlreadyVisible.html":{"name":"IfAlreadyVisible","abstract":"

    What action should be taken if an item is already partially visible within a list.

    ","parent_name":"ScrollPosition"},"Structs/RefreshControl/Title.html#/s:10ListableUI14RefreshControlV5TitleO6stringyAESScAEmF":{"name":"string(_:)","abstract":"

    Undocumented

    ","parent_name":"Title"},"Structs/RefreshControl/Title.html#/s:10ListableUI14RefreshControlV5TitleO10attributedyAESo18NSAttributedStringCcAEmF":{"name":"attributed(_:)","abstract":"

    Undocumented

    ","parent_name":"Title"},"Structs/RefreshControl.html#/s:10ListableUI14RefreshControlV12isRefreshingSbvp":{"name":"isRefreshing","abstract":"

    Undocumented

    ","parent_name":"RefreshControl"},"Structs/RefreshControl.html#/s:10ListableUI14RefreshControlV5titleAC5TitleOSgvp":{"name":"title","abstract":"

    Undocumented

    ","parent_name":"RefreshControl"},"Structs/RefreshControl.html#/s:10ListableUI14RefreshControlV9tintColorSo7UIColorCSgvp":{"name":"tintColor","abstract":"

    Undocumented

    ","parent_name":"RefreshControl"},"Structs/RefreshControl.html#/s:10ListableUI14RefreshControlV02OnC0a":{"name":"OnRefresh","abstract":"

    Undocumented

    ","parent_name":"RefreshControl"},"Structs/RefreshControl.html#/s:10ListableUI14RefreshControlV02onC0yycvp":{"name":"onRefresh","abstract":"

    Undocumented

    ","parent_name":"RefreshControl"},"Structs/RefreshControl.html#/s:10ListableUI14RefreshControlV12isRefreshing5title9tintColor02onC0ACSb_AC5TitleOSgSo7UIColorCSgyyctcfc":{"name":"init(isRefreshing:title:tintColor:onRefresh:)","abstract":"

    Undocumented

    ","parent_name":"RefreshControl"},"Structs/RefreshControl/Title.html":{"name":"Title","abstract":"

    Undocumented

    ","parent_name":"RefreshControl"},"Structs/ItemPreviewAppearance.html#/s:10ListableUI21ItemPreviewAppearanceV7padding15backgroundColorAC12CoreGraphics7CGFloatV_So7UIColorCtcfc":{"name":"init(padding:backgroundColor:)","abstract":"

    Creates a new preview appearance.

    ","parent_name":"ItemPreviewAppearance"},"Structs/ItemPreview/Properties.html#/s:10ListableUI11ItemPreviewV10PropertiesV5width12CoreGraphics7CGFloatVvp":{"name":"width","abstract":"

    The width of the preview.

    ","parent_name":"Properties"},"Structs/ItemPreview/Properties.html#/s:10ListableUI11ItemPreviewV10PropertiesV5stateAA0C5StateVvp":{"name":"state","abstract":"

    The ItemState to use in the preview.

    ","parent_name":"Properties"},"Structs/ItemPreview/Properties.html#/s:10ListableUI11ItemPreviewV10PropertiesV10appearanceAA0cD10AppearanceVvp":{"name":"appearance","abstract":"

    The desired appearance of the preview.

    ","parent_name":"Properties"},"Structs/ItemPreview/Properties.html#/s:10ListableUI11ItemPreviewV10PropertiesV4with5state10appearanceAE12CoreGraphics7CGFloatV_AA0C5StateVAA0cD10AppearanceVtcfc":{"name":"init(with:state:appearance:)","abstract":"

    Creates a new preview with the desired options.

    ","parent_name":"Properties"},"Structs/ItemPreview.html#/s:10ListableUI11ItemPreviewV4itemAA03AnyC0_pvp":{"name":"item","abstract":"

    The item being previewed by the preview.

    ","parent_name":"ItemPreview"},"Structs/ItemPreview.html#/s:10ListableUI11ItemPreviewV10propertiesAC10PropertiesVvp":{"name":"properties","abstract":"

    The properties of the current preview.

    ","parent_name":"ItemPreview"},"Structs/ItemPreview/Properties.html":{"name":"Properties","abstract":"

    The properties of a preview.

    ","parent_name":"ItemPreview"},"Structs/ItemPreview.html#/s:10ListableUI11ItemPreviewV8previews3for4withQrAA03AnyC0_p_SayAC10PropertiesVGtFZ":{"name":"previews(for:with:)","abstract":"

    Creates and returns a SwiftUI view that contains individual previews for each of the provided","parent_name":"ItemPreview"},"Structs/ItemPreview.html#/s:10ListableUI11ItemPreviewV07withAllC6States3for5width10appearanceQrAA03AnyC0_p_12CoreGraphics7CGFloatVAA0cD10AppearanceVtFZ":{"name":"withAllItemStates(for:width:appearance:)","abstract":"

    Creates and returns a SwiftUI view that contains individual previews for all the possible","parent_name":"ItemPreview"},"Structs/ItemPreview.html#/s:10ListableUI11ItemPreviewV_5width5state10appearanceAcA03AnyC0_p_12CoreGraphics7CGFloatVAA0C5StateVAA0cD10AppearanceVtcfc":{"name":"init(_:width:state:appearance:)","abstract":"

    Creates a new preview with the provided properties.

    ","parent_name":"ItemPreview"},"Structs/ItemPreview.html#/s:10ListableUI11ItemPreviewV_10propertiesAcA03AnyC0_p_AC10PropertiesVtcfc":{"name":"init(_:properties:)","abstract":"

    Creates a new preview with the provided properties.

    ","parent_name":"ItemPreview"},"Structs/ItemPreview.html#/s:7SwiftUI4ViewP4body4BodyQzvp":{"name":"body","parent_name":"ItemPreview"},"Structs/LocalizedItemCollator/CollatedSection.html#/s:10ListableUI21LocalizedItemCollatorV15CollatedSectionV5titleSSvp":{"name":"title","abstract":"

    The title of section – a single letter like A, B, C, D, E, etc.","parent_name":"CollatedSection"},"Structs/LocalizedItemCollator/CollatedSection.html#/s:10ListableUI21LocalizedItemCollatorV15CollatedSectionV5itemsSayAA03AnyD0_pGvp":{"name":"items","abstract":"

    The sorted items in the collated sections.

    ","parent_name":"CollatedSection"},"Structs/LocalizedItemCollator.html#/s:10ListableUI21LocalizedItemCollatorV7collate9collation5itemsSayAC15CollatedSectionVGSo27UILocalizedIndexedCollationC_SayAA03Anyc10CollatableD0_pGtFZ":{"name":"collate(collation:items:)","abstract":"

    Collates and returns the set of items into CollatedSections.","parent_name":"LocalizedItemCollator"},"Structs/LocalizedItemCollator.html#/s:10ListableUI21LocalizedItemCollatorV8sections9collation4with_SayAA7SectionVGSo27UILocalizedIndexedCollationC_SayAA03Anyc10CollatableD0_pGyAC08CollatedI0V_AHztXEtFZ":{"name":"sections(collation:with:_:)","abstract":"

    Collates and returns the set of items into list Sections,","parent_name":"LocalizedItemCollator"},"Structs/LocalizedItemCollator/CollatedSection.html":{"name":"CollatedSection","abstract":"

    The output of the collator, with the collated title and items","parent_name":"LocalizedItemCollator"},"Structs/ListStateObserver/SelectionChanged.html#/s:10ListableUI17ListStateObserverV16SelectionChangedV7actionsAA0C7ActionsCvp":{"name":"actions","abstract":"

    Undocumented

    ","parent_name":"SelectionChanged"},"Structs/ListStateObserver/SelectionChanged.html#/s:10ListableUI17ListStateObserverV16SelectionChangedV12positionInfoAA0c14ScrollPositionI0Vvp":{"name":"positionInfo","abstract":"

    Undocumented

    ","parent_name":"SelectionChanged"},"Structs/ListStateObserver/SelectionChanged.html#/s:10ListableUI17ListStateObserverV16SelectionChangedV3oldShyAA13AnyIdentifierCGvp":{"name":"old","abstract":"

    Undocumented

    ","parent_name":"SelectionChanged"},"Structs/ListStateObserver/SelectionChanged.html#/s:10ListableUI17ListStateObserverV16SelectionChangedV3newShyAA13AnyIdentifierCGvp":{"name":"new","abstract":"

    Undocumented

    ","parent_name":"SelectionChanged"},"Structs/ListStateObserver/FrameChanged.html#/s:10ListableUI17ListStateObserverV12FrameChangedV7actionsAA0C7ActionsCvp":{"name":"actions","abstract":"

    Undocumented

    ","parent_name":"FrameChanged"},"Structs/ListStateObserver/FrameChanged.html#/s:10ListableUI17ListStateObserverV12FrameChangedV12positionInfoAA0c14ScrollPositionI0Vvp":{"name":"positionInfo","abstract":"

    Undocumented

    ","parent_name":"FrameChanged"},"Structs/ListStateObserver/FrameChanged.html#/s:10ListableUI17ListStateObserverV12FrameChangedV3oldSo6CGRectVvp":{"name":"old","abstract":"

    Undocumented

    ","parent_name":"FrameChanged"},"Structs/ListStateObserver/FrameChanged.html#/s:10ListableUI17ListStateObserverV12FrameChangedV3newSo6CGRectVvp":{"name":"new","abstract":"

    Undocumented

    ","parent_name":"FrameChanged"},"Structs/ListStateObserver/VisibilityChanged.html#/s:10ListableUI17ListStateObserverV17VisibilityChangedV7actionsAA0C7ActionsCvp":{"name":"actions","abstract":"

    Undocumented

    ","parent_name":"VisibilityChanged"},"Structs/ListStateObserver/VisibilityChanged.html#/s:10ListableUI17ListStateObserverV17VisibilityChangedV12positionInfoAA0c14ScrollPositionI0Vvp":{"name":"positionInfo","abstract":"

    Undocumented

    ","parent_name":"VisibilityChanged"},"Structs/ListStateObserver/VisibilityChanged.html#/s:10ListableUI17ListStateObserverV17VisibilityChangedV9displayedSayAA7AnyItem_pGvp":{"name":"displayed","abstract":"

    Undocumented

    ","parent_name":"VisibilityChanged"},"Structs/ListStateObserver/VisibilityChanged.html#/s:10ListableUI17ListStateObserverV17VisibilityChangedV12endedDisplaySayAA7AnyItem_pGvp":{"name":"endedDisplay","abstract":"

    Undocumented

    ","parent_name":"VisibilityChanged"},"Structs/ListStateObserver/ContentUpdated.html#/s:10ListableUI17ListStateObserverV14ContentUpdatedV10hadChangesSbvp":{"name":"hadChanges","abstract":"

    Undocumented

    ","parent_name":"ContentUpdated"},"Structs/ListStateObserver/ContentUpdated.html#/s:10ListableUI17ListStateObserverV14ContentUpdatedV7actionsAA0C7ActionsCvp":{"name":"actions","abstract":"

    Undocumented

    ","parent_name":"ContentUpdated"},"Structs/ListStateObserver/ContentUpdated.html#/s:10ListableUI17ListStateObserverV14ContentUpdatedV12positionInfoAA0c14ScrollPositionI0Vvp":{"name":"positionInfo","abstract":"

    Undocumented

    ","parent_name":"ContentUpdated"},"Structs/ListStateObserver/DidScroll.html#/s:10ListableUI17ListStateObserverV9DidScrollV7actionsAA0C7ActionsCvp":{"name":"actions","abstract":"

    Undocumented

    ","parent_name":"DidScroll"},"Structs/ListStateObserver/DidScroll.html#/s:10ListableUI17ListStateObserverV9DidScrollV12positionInfoAA0cg8PositionI0Vvp":{"name":"positionInfo","abstract":"

    Undocumented

    ","parent_name":"DidScroll"},"Structs/ListStateObserver.html#/s:10ListableUI17ListStateObserverVyACyACzXEcfc":{"name":"init(_:)","abstract":"

    Creates and optionally allows you to configure an observer.

    ","parent_name":"ListStateObserver"},"Structs/ListStateObserver.html#/s:10ListableUI17ListStateObserverV11OnDidScrolla":{"name":"OnDidScroll","abstract":"

    Undocumented

    ","parent_name":"ListStateObserver"},"Structs/ListStateObserver.html#/s:10ListableUI17ListStateObserverV11onDidScrollyyyAC0gH0VcF":{"name":"onDidScroll(_:)","abstract":"

    Registers a callback which will be called when the list view is scrolled, or is","parent_name":"ListStateObserver"},"Structs/ListStateObserver.html#/s:10ListableUI17ListStateObserverV16OnContentUpdateda":{"name":"OnContentUpdated","abstract":"

    Undocumented

    ","parent_name":"ListStateObserver"},"Structs/ListStateObserver.html#/s:10ListableUI17ListStateObserverV16onContentUpdatedyyyAC0gH0VcF":{"name":"onContentUpdated(_:)","abstract":"

    Registers a callback which will be called when the list view’s content is updated","parent_name":"ListStateObserver"},"Structs/ListStateObserver.html#/s:10ListableUI17ListStateObserverV19OnVisibilityChangeda":{"name":"OnVisibilityChanged","abstract":"

    Undocumented

    ","parent_name":"ListStateObserver"},"Structs/ListStateObserver.html#/s:10ListableUI17ListStateObserverV19onVisibilityChangedyyyAC0gH0VcF":{"name":"onVisibilityChanged(_:)","abstract":"

    Registers a callback which will be called when the list view’s content is changed – eg through","parent_name":"ListStateObserver"},"Structs/ListStateObserver.html#/s:10ListableUI17ListStateObserverV14OnFrameChangeda":{"name":"OnFrameChanged","abstract":"

    Undocumented

    ","parent_name":"ListStateObserver"},"Structs/ListStateObserver.html#/s:10ListableUI17ListStateObserverV14onFrameChangedyyyAC0gH0VcF":{"name":"onFrameChanged(_:)","abstract":"

    Registers a callback which will be called when the list view’s frame is changed.

    ","parent_name":"ListStateObserver"},"Structs/ListStateObserver.html#/s:10ListableUI17ListStateObserverV18OnSelectionChangeda":{"name":"OnSelectionChanged","abstract":"

    Undocumented

    ","parent_name":"ListStateObserver"},"Structs/ListStateObserver.html#/s:10ListableUI17ListStateObserverV18onSelectionChangedyyyAC0gH0VcF":{"name":"onSelectionChanged(_:)","abstract":"

    Registers a callback which will be called when the list view’s selected items are changed by the user.

    ","parent_name":"ListStateObserver"},"Structs/ListStateObserver/DidScroll.html":{"name":"DidScroll","abstract":"

    Parameters available for OnDidScroll callbacks.

    ","parent_name":"ListStateObserver"},"Structs/ListStateObserver/ContentUpdated.html":{"name":"ContentUpdated","abstract":"

    Parameters available for OnContentUpdated callbacks.

    ","parent_name":"ListStateObserver"},"Structs/ListStateObserver/VisibilityChanged.html":{"name":"VisibilityChanged","abstract":"

    Parameters available for OnVisibilityChanged callbacks.

    ","parent_name":"ListStateObserver"},"Structs/ListStateObserver/FrameChanged.html":{"name":"FrameChanged","abstract":"

    Parameters available for OnFrameChanged callbacks.

    ","parent_name":"ListStateObserver"},"Structs/ListStateObserver/SelectionChanged.html":{"name":"SelectionChanged","abstract":"

    Parameters available for OnSelectionChanged callbacks.

    ","parent_name":"ListStateObserver"},"Structs/ListScrollPositionInfo.html#/s:10ListableUI22ListScrollPositionInfoV12visibleItemsShyAA13AnyIdentifierCGvp":{"name":"visibleItems","abstract":"

    Which items within the list are currently visible.

    ","parent_name":"ListScrollPositionInfo"},"Structs/ListScrollPositionInfo.html#/s:10ListableUI22ListScrollPositionInfoV18isFirstItemVisibleSbvp":{"name":"isFirstItemVisible","abstract":"

    If the first item list is partially visible.

    ","parent_name":"ListScrollPositionInfo"},"Structs/ListScrollPositionInfo.html#/s:10ListableUI22ListScrollPositionInfoV17isLastItemVisibleSbvp":{"name":"isLastItemVisible","abstract":"

    If the last item list is partially visible.

    ","parent_name":"ListScrollPositionInfo"},"Structs/ListScrollPositionInfo.html#/s:10ListableUI22ListScrollPositionInfoV19visibleContentEdges017includingSafeAreaI0So10UIRectEdgeVAG_tF":{"name":"visibleContentEdges(includingSafeAreaEdges:)","abstract":"

    Used to retrieve the visible content edges for the list’s content.

    ","parent_name":"ListScrollPositionInfo"},"Structs/ListScrollPositionInfo.html#/s:10ListableUI22ListScrollPositionInfoV10scrollView12visibleItems18isFirstItemVisible0k4LastmN0ACSo08UIScrollH0C_ShyAA13AnyIdentifierCGS2btcfc":{"name":"init(scrollView:visibleItems:isFirstItemVisible:isLastItemVisible:)","abstract":"

    Creates a ListScrollPositionInfo for the provided scroll view.

    ","parent_name":"ListScrollPositionInfo"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV15animatesChangesSbvp":{"name":"animatesChanges","abstract":"

    If the changes applied should be animated or not.","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV7contentAA7ContentVvp":{"name":"content","abstract":"

    The content displayed by the list.","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV11environmentAA0C11EnvironmentVvp":{"name":"environment","abstract":"

    The environment associated with the List.

    ","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV6layoutAA17LayoutDescriptionVvp":{"name":"layout","abstract":"

    The layout type to use with the list. Defaults to .list(), aka a list","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV10appearanceAA10AppearanceVvp":{"name":"appearance","abstract":"

    The appearance to use with the list.

    ","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV21scrollIndicatorInsetsSo06UIEdgeG0Vvp":{"name":"scrollIndicatorInsets","abstract":"

    The scroll insets to apply to the list view.

    ","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV8behaviorAA8BehaviorVvp":{"name":"behavior","abstract":"

    The various behavior options to apply to the list, which affect how the user","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV13stateObserverAA0c5StateF0Vvp":{"name":"stateObserver","abstract":"

    The state reader to use with your list. A ListStateObserver","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV7actionsAA0C7ActionsCSgvp":{"name":"actions","abstract":"

    The actions instance to use to control the list, eg to scroll to a given","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV16autoScrollActionAA04AutofG0Ovp":{"name":"autoScrollAction","abstract":"

    The auto scroll action to apply to the list. This allows you to","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV23accessibilityIdentifierSSSgvp":{"name":"accessibilityIdentifier","abstract":"

    The accessibility identifier assigned to the inner UICollectionView.

    ","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV19debuggingIdentifierSSSgvp":{"name":"debuggingIdentifier","abstract":"

    The debugging identifier assigned to the list. Used for os_signpost integration","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV5Builda":{"name":"Build","abstract":"

    Undocumented

    ","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV7default4withACyACzXE_tFZ":{"name":"default(with:)","abstract":"

    An instance of ListProperties with sensible default values.

    ","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV15animatesChanges6layout10appearance21scrollIndicatorInsets8behavior16autoScrollAction23accessibilityIdentifier09debuggingQ05buildACSb_AA17LayoutDescriptionVAA10AppearanceVSo06UIEdgeK0VAA8BehaviorVAA04AutonO0OSSSgAWyACzXEtcfc":{"name":"init(animatesChanges:layout:appearance:scrollIndicatorInsets:behavior:autoScrollAction:accessibilityIdentifier:debuggingIdentifier:build:)","abstract":"

    Create a new instance of ListProperties with the provided values.

    ","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV6modify5usingyyACzXE_tF":{"name":"modify(using:)","abstract":"

    Updates the ListProperties object with the changes in the provided builder.

    ","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV8modified5usingACyACzXE_tF":{"name":"modified(using:)","abstract":"

    Creates a new ListProperties object modified by the changes in the provided builder.

    ","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV3addyyAA7SectionVF":{"name":"add(_:)","abstract":"

    Adds a new section to the content.

    ","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV2peoiyyACz_AA7SectionVtFZ":{"name":"+=(_:_:)","abstract":"

    Adds a new section to the content.

    ","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV2peoiyyACz_SayAA7SectionVGtFZ":{"name":"+=(_:_:)","abstract":"

    Adds a list of new sections to the content.

    ","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV14callAsFunction_5buildyx_yAA7SectionVzXEtSHRzlF":{"name":"callAsFunction(_:build:)","abstract":"

    Allows streamlined creation of sections when building a list.

    ","parent_name":"ListProperties"},"Structs/ListEnvironment.html#/s:10ListableUI15ListEnvironmentV5emptyACvpZ":{"name":"empty","abstract":"

    A default “empty” environment, with no values overridden.","parent_name":"ListEnvironment"},"Structs/ListEnvironment.html#/s:10ListableUI15ListEnvironmentVy5ValueQzxmcAA0cD3KeyRzluip":{"name":"subscript(_:)","abstract":"

    Gets or sets an environment value by its key.

    ","parent_name":"ListEnvironment"},"Structs/PagedAppearance.html#/s:10ListableUI15PagedAppearanceV7defaultACvpZ":{"name":"default","abstract":"

    Undocumented

    ","parent_name":"PagedAppearance"},"Structs/PagedAppearance.html#/s:10ListableUI15PagedAppearanceV9directionAA15LayoutDirectionOvp":{"name":"direction","abstract":"

    The direction the paging layout should occur in. Defaults to vertical.

    ","parent_name":"PagedAppearance"},"Structs/PagedAppearance.html#/s:10ListableUI15PagedAppearanceV20stickySectionHeadersSbvp":{"name":"stickySectionHeaders","abstract":"

    Undocumented

    ","parent_name":"PagedAppearance"},"Structs/PagedAppearance.html#/s:10ListableUI15PagedAppearanceV21showsScrollIndicatorsSbvp":{"name":"showsScrollIndicators","abstract":"

    If scroll indicators should be visible along the scrollable axis.

    ","parent_name":"PagedAppearance"},"Structs/PagedAppearance.html#/s:10ListableUI15PagedAppearanceV10itemInsetsSo06UIEdgeF0Vvp":{"name":"itemInsets","abstract":"

    How far each item in the list should be inset from the edges of the view.

    ","parent_name":"PagedAppearance"},"Structs/PagedAppearance.html#/s:10ListableUI15PagedAppearanceV9direction21showsScrollIndicators10itemInsetsAcA15LayoutDirectionO_SbSo06UIEdgeJ0Vtcfc":{"name":"init(direction:showsScrollIndicators:itemInsets:)","abstract":"

    Undocumented

    ","parent_name":"PagedAppearance"},"Structs/ListLayoutSize.html#/s:10ListableUI14ListLayoutSizeV5width12CoreGraphics7CGFloatVvp":{"name":"width","abstract":"

    Undocumented

    ","parent_name":"ListLayoutSize"},"Structs/ListLayoutSize.html#/s:10ListableUI14ListLayoutSizeV6height12CoreGraphics7CGFloatVvp":{"name":"height","abstract":"

    Undocumented

    ","parent_name":"ListLayoutSize"},"Structs/ListLayoutSize.html#/s:10ListableUI14ListLayoutSizeV7rotatesSbvp":{"name":"rotates","abstract":"

    Undocumented

    ","parent_name":"ListLayoutSize"},"Structs/ListLayoutSize.html#/s:10ListableUI14ListLayoutSizeV5width6height7rotatesAC12CoreGraphics7CGFloatV_AISbtcfc":{"name":"init(width:height:rotates:)","abstract":"

    Undocumented

    ","parent_name":"ListLayoutSize"},"Structs/ListLayoutSize.html#/s:10ListableUI14ListLayoutSizeV12CGPointValue3forSo6CGSizeVAA0D9DirectionO_tF":{"name":"CGPointValue(for:)","abstract":"

    Undocumented

    ","parent_name":"ListLayoutSize"},"Structs/ListLayoutPoint.html#/s:10ListableUI15ListLayoutPointV1x12CoreGraphics7CGFloatVvp":{"name":"x","abstract":"

    Undocumented

    ","parent_name":"ListLayoutPoint"},"Structs/ListLayoutPoint.html#/s:10ListableUI15ListLayoutPointV1y12CoreGraphics7CGFloatVvp":{"name":"y","abstract":"

    Undocumented

    ","parent_name":"ListLayoutPoint"},"Structs/ListLayoutPoint.html#/s:10ListableUI15ListLayoutPointV7rotatesSbvp":{"name":"rotates","abstract":"

    Undocumented

    ","parent_name":"ListLayoutPoint"},"Structs/ListLayoutPoint.html#/s:10ListableUI15ListLayoutPointV1x1y7rotatesAC12CoreGraphics7CGFloatV_AISbtcfc":{"name":"init(x:y:rotates:)","abstract":"

    Undocumented

    ","parent_name":"ListLayoutPoint"},"Structs/ListLayoutPoint.html#/s:10ListableUI15ListLayoutPointV12CGPointValue3forSo0F0VAA0D9DirectionO_tF":{"name":"CGPointValue(for:)","abstract":"

    Undocumented

    ","parent_name":"ListLayoutPoint"},"Structs/ListLayoutScrollViewProperties/ContentInsetAdjustmentBehavior.html#/s:10ListableUI30ListLayoutScrollViewPropertiesV30ContentInsetAdjustmentBehaviorO9automaticyA2EmF":{"name":"automatic","abstract":"

    Undocumented

    ","parent_name":"ContentInsetAdjustmentBehavior"},"Structs/ListLayoutScrollViewProperties/ContentInsetAdjustmentBehavior.html#/s:10ListableUI30ListLayoutScrollViewPropertiesV30ContentInsetAdjustmentBehaviorO14scrollableAxesyA2EmF":{"name":"scrollableAxes","abstract":"

    Undocumented

    ","parent_name":"ContentInsetAdjustmentBehavior"},"Structs/ListLayoutScrollViewProperties/ContentInsetAdjustmentBehavior.html#/s:10ListableUI30ListLayoutScrollViewPropertiesV30ContentInsetAdjustmentBehaviorO5neveryA2EmF":{"name":"never","abstract":"

    Undocumented

    ","parent_name":"ContentInsetAdjustmentBehavior"},"Structs/ListLayoutScrollViewProperties/ContentInsetAdjustmentBehavior.html#/s:10ListableUI30ListLayoutScrollViewPropertiesV30ContentInsetAdjustmentBehaviorO6alwaysyA2EmF":{"name":"always","abstract":"

    Undocumented

    ","parent_name":"ContentInsetAdjustmentBehavior"},"Structs/ListLayoutScrollViewProperties.html#/s:10ListableUI30ListLayoutScrollViewPropertiesV15isPagingEnabledSbvp":{"name":"isPagingEnabled","abstract":"

    Undocumented

    ","parent_name":"ListLayoutScrollViewProperties"},"Structs/ListLayoutScrollViewProperties.html#/s:10ListableUI30ListLayoutScrollViewPropertiesV30contentInsetAdjustmentBehaviorAC07ContentijK0Ovp":{"name":"contentInsetAdjustmentBehavior","abstract":"

    Undocumented

    ","parent_name":"ListLayoutScrollViewProperties"},"Structs/ListLayoutScrollViewProperties.html#/s:10ListableUI30ListLayoutScrollViewPropertiesV20allowsBounceVerticalSbvp":{"name":"allowsBounceVertical","abstract":"

    Undocumented

    ","parent_name":"ListLayoutScrollViewProperties"},"Structs/ListLayoutScrollViewProperties.html#/s:10ListableUI30ListLayoutScrollViewPropertiesV22allowsBounceHorizontalSbvp":{"name":"allowsBounceHorizontal","abstract":"

    Undocumented

    ","parent_name":"ListLayoutScrollViewProperties"},"Structs/ListLayoutScrollViewProperties.html#/s:10ListableUI30ListLayoutScrollViewPropertiesV016allowsHorizontalE9IndicatorSbvp":{"name":"allowsHorizontalScrollIndicator","abstract":"

    Undocumented

    ","parent_name":"ListLayoutScrollViewProperties"},"Structs/ListLayoutScrollViewProperties.html#/s:10ListableUI30ListLayoutScrollViewPropertiesV014allowsVerticalE9IndicatorSbvp":{"name":"allowsVerticalScrollIndicator","abstract":"

    Undocumented

    ","parent_name":"ListLayoutScrollViewProperties"},"Structs/ListLayoutScrollViewProperties.html#/s:10ListableUI30ListLayoutScrollViewPropertiesV15isPagingEnabled30contentInsetAdjustmentBehavior20allowsBounceVertical0oP10Horizontal0oqE9Indicator0oreS0ACSb_AC07ContentlmN0OS4btcfc":{"name":"init(isPagingEnabled:contentInsetAdjustmentBehavior:allowsBounceVertical:allowsBounceHorizontal:allowsVerticalScrollIndicator:allowsHorizontalScrollIndicator:)","abstract":"

    Undocumented

    ","parent_name":"ListLayoutScrollViewProperties"},"Structs/ListLayoutScrollViewProperties/ContentInsetAdjustmentBehavior.html":{"name":"ContentInsetAdjustmentBehavior","abstract":"

    Undocumented

    ","parent_name":"ListLayoutScrollViewProperties"},"Structs/ListLayoutDefaults.html#/s:10ListableUI18ListLayoutDefaultsV29itemInsertAndRemoveAnimationsAA04ItemghiJ0Vvp":{"name":"itemInsertAndRemoveAnimations","abstract":"

    Undocumented

    ","parent_name":"ListLayoutDefaults"},"Structs/ListLayoutDefaults.html#/s:10ListableUI18ListLayoutDefaultsV29itemInsertAndRemoveAnimationsAcA04ItemghiJ0V_tcfc":{"name":"init(itemInsertAndRemoveAnimations:)","abstract":"

    Undocumented

    ","parent_name":"ListLayoutDefaults"},"Structs/ListLayoutAttributes.html#/s:10ListableUI20ListLayoutAttributesV7SectionV":{"name":"Section","abstract":"

    Undocumented

    ","parent_name":"ListLayoutAttributes"},"Structs/ListLayoutAttributes.html#/s:10ListableUI20ListLayoutAttributesV13SupplementaryV":{"name":"Supplementary","abstract":"

    Undocumented

    ","parent_name":"ListLayoutAttributes"},"Structs/ListLayoutAttributes.html#/s:10ListableUI20ListLayoutAttributesV4ItemV":{"name":"Item","abstract":"

    Undocumented

    ","parent_name":"ListLayoutAttributes"},"Structs/ListAppearance/Layout.html#/s:10ListableUI14ListAppearanceV6LayoutV7paddingSo12UIEdgeInsetsVvp":{"name":"padding","abstract":"

    The padding to place around the outside of the content of the list.

    ","parent_name":"Layout"},"Structs/ListAppearance/Layout.html#/s:10ListableUI14ListAppearanceV6LayoutV5widthAA15WidthConstraintOvp":{"name":"width","abstract":"

    The width of the content of the list, which can be optionally constrained.

    ","parent_name":"Layout"},"Structs/ListAppearance/Layout.html#/s:10ListableUI14ListAppearanceV6LayoutV27headerToFirstSectionSpacing12CoreGraphics7CGFloatVvp":{"name":"headerToFirstSectionSpacing","abstract":"

    The spacing between the list header and the first section.","parent_name":"Layout"},"Structs/ListAppearance/Layout.html#/s:10ListableUI14ListAppearanceV6LayoutV31interSectionSpacingWithNoFooter12CoreGraphics7CGFloatVvp":{"name":"interSectionSpacingWithNoFooter","abstract":"

    The spacing to apply between sections, if the previous section has no footer.

    ","parent_name":"Layout"},"Structs/ListAppearance/Layout.html#/s:10ListableUI14ListAppearanceV6LayoutV29interSectionSpacingWithFooter12CoreGraphics7CGFloatVvp":{"name":"interSectionSpacingWithFooter","abstract":"

    The spacing to apply between sections, if the previous section has a footer.

    ","parent_name":"Layout"},"Structs/ListAppearance/Layout.html#/s:10ListableUI14ListAppearanceV6LayoutV26sectionHeaderBottomSpacing12CoreGraphics7CGFloatVvp":{"name":"sectionHeaderBottomSpacing","abstract":"

    The spacing to apply below a section header, before its items.","parent_name":"Layout"},"Structs/ListAppearance/Layout.html#/s:10ListableUI14ListAppearanceV6LayoutV11itemSpacing12CoreGraphics7CGFloatVvp":{"name":"itemSpacing","abstract":"

    The spacing between individual items within a section in a list.

    ","parent_name":"Layout"},"Structs/ListAppearance/Layout.html#/s:10ListableUI14ListAppearanceV6LayoutV26itemToSectionFooterSpacing12CoreGraphics7CGFloatVvp":{"name":"itemToSectionFooterSpacing","abstract":"

    The spacing between the last item in the section and the footer.","parent_name":"Layout"},"Structs/ListAppearance/Layout.html#/s:10ListableUI14ListAppearanceV6LayoutV26lastSectionToFooterSpacing12CoreGraphics7CGFloatVvp":{"name":"lastSectionToFooterSpacing","abstract":"

    The spacing between the last section and the footer of the list.","parent_name":"Layout"},"Structs/ListAppearance/Layout.html#/s:10ListableUI14ListAppearanceV6LayoutV7padding5width27headerToFirstSectionSpacing05interkL12WithNoFooter0mklnP0019sectionHeaderBottomL004itemL00tikpL004lastkipL0AESo12UIEdgeInsetsV_AA15WidthConstraintO12CoreGraphics7CGFloatVA6Utcfc":{"name":"init(padding:width:headerToFirstSectionSpacing:interSectionSpacingWithNoFooter:interSectionSpacingWithFooter:sectionHeaderBottomSpacing:itemSpacing:itemToSectionFooterSpacing:lastSectionToFooterSpacing:)","abstract":"

    Creates a new Layout with the provided options.

    ","parent_name":"Layout"},"Structs/ListAppearance/Layout.html#/s:10ListableUI14ListAppearanceV6LayoutV3set4withyyAEzXE_tF":{"name":"set(with:)","abstract":"

    Easily mutate the Layout in place.

    ","parent_name":"Layout"},"Structs/ListAppearance/Sizing.html#/s:10ListableUI14ListAppearanceV6SizingV10itemHeight12CoreGraphics7CGFloatVvp":{"name":"itemHeight","abstract":"

    The default height for items in a list.

    ","parent_name":"Sizing"},"Structs/ListAppearance/Sizing.html#/s:10ListableUI14ListAppearanceV6SizingV19sectionHeaderHeight12CoreGraphics7CGFloatVvp":{"name":"sectionHeaderHeight","abstract":"

    The default height for section headers in a list.

    ","parent_name":"Sizing"},"Structs/ListAppearance/Sizing.html#/s:10ListableUI14ListAppearanceV6SizingV19sectionFooterHeight12CoreGraphics7CGFloatVvp":{"name":"sectionFooterHeight","abstract":"

    The default height for section footer in a list.

    ","parent_name":"Sizing"},"Structs/ListAppearance/Sizing.html#/s:10ListableUI14ListAppearanceV6SizingV16listHeaderHeight12CoreGraphics7CGFloatVvp":{"name":"listHeaderHeight","abstract":"

    The default height for the list’s header.

    ","parent_name":"Sizing"},"Structs/ListAppearance/Sizing.html#/s:10ListableUI14ListAppearanceV6SizingV16listFooterHeight12CoreGraphics7CGFloatVvp":{"name":"listFooterHeight","abstract":"

    The default height for the list’s footer.

    ","parent_name":"Sizing"},"Structs/ListAppearance/Sizing.html#/s:10ListableUI14ListAppearanceV6SizingV22overscrollFooterHeight12CoreGraphics7CGFloatVvp":{"name":"overscrollFooterHeight","abstract":"

    The default height for the list’s overscroll footer.

    ","parent_name":"Sizing"},"Structs/ListAppearance/Sizing.html#/s:10ListableUI14ListAppearanceV6SizingV26itemPositionGroupingHeight12CoreGraphics7CGFloatVvp":{"name":"itemPositionGroupingHeight","abstract":"

    When providing the ItemPosition for items in a list, specifies the max spacing","parent_name":"Sizing"},"Structs/ListAppearance/Sizing.html#/s:10ListableUI14ListAppearanceV6SizingV10itemHeight013sectionHeaderG00h6FooterG004listiG00kjG0010overscrolljG00f16PositionGroupingG0AE12CoreGraphics7CGFloatV_A6Otcfc":{"name":"init(itemHeight:sectionHeaderHeight:sectionFooterHeight:listHeaderHeight:listFooterHeight:overscrollFooterHeight:itemPositionGroupingHeight:)","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Structs/ListAppearance/Sizing.html#/s:10ListableUI14ListAppearanceV6SizingV3set4withyyAEzXE_tF":{"name":"set(with:)","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Structs/ListAppearance.html#/s:10ListableUI14ListAppearanceV9directionAA15LayoutDirectionOvp":{"name":"direction","abstract":"

    Undocumented

    ","parent_name":"ListAppearance"},"Structs/ListAppearance.html#/s:10ListableUI14ListAppearanceV20stickySectionHeadersSbvp":{"name":"stickySectionHeaders","abstract":"

    Undocumented

    ","parent_name":"ListAppearance"},"Structs/ListAppearance.html#/s:10ListableUI14ListAppearanceV6sizingAC6SizingVvp":{"name":"sizing","abstract":"

    Default sizing attributes for content in the list.

    ","parent_name":"ListAppearance"},"Structs/ListAppearance.html#/s:10ListableUI14ListAppearanceV6layoutAC6LayoutVvp":{"name":"layout","abstract":"

    Layout attributes for content in the list.

    ","parent_name":"ListAppearance"},"Structs/ListAppearance.html#/s:10ListableUI14ListAppearanceV7defaultACvpZ":{"name":"default","abstract":"

    Undocumented

    ","parent_name":"ListAppearance"},"Structs/ListAppearance.html#/s:10ListableUI14ListAppearanceV20stickySectionHeaders6sizing6layoutACSb_AC6SizingVAC6LayoutVtcfc":{"name":"init(stickySectionHeaders:sizing:layout:)","abstract":"

    Creates a new ListAppearance object.

    ","parent_name":"ListAppearance"},"Structs/ListAppearance/Sizing.html":{"name":"Sizing","abstract":"

    Sizing options for the list.

    ","parent_name":"ListAppearance"},"Structs/ListAppearance/Layout.html":{"name":"Layout","abstract":"

    Layout options for the list.

    ","parent_name":"ListAppearance"},"Structs/GridAppearance/Layout.html#/s:10ListableUI14GridAppearanceV6LayoutV7paddingSo12UIEdgeInsetsVvp":{"name":"padding","abstract":"

    Undocumented

    ","parent_name":"Layout"},"Structs/GridAppearance/Layout.html#/s:10ListableUI14GridAppearanceV6LayoutV5widthAA15WidthConstraintOvp":{"name":"width","abstract":"

    Undocumented

    ","parent_name":"Layout"},"Structs/GridAppearance/Layout.html#/s:10ListableUI14GridAppearanceV6LayoutV31interSectionSpacingWithNoFooter12CoreGraphics7CGFloatVvp":{"name":"interSectionSpacingWithNoFooter","abstract":"

    Undocumented

    ","parent_name":"Layout"},"Structs/GridAppearance/Layout.html#/s:10ListableUI14GridAppearanceV6LayoutV29interSectionSpacingWithFooter12CoreGraphics7CGFloatVvp":{"name":"interSectionSpacingWithFooter","abstract":"

    Undocumented

    ","parent_name":"Layout"},"Structs/GridAppearance/Layout.html#/s:10ListableUI14GridAppearanceV6LayoutV26sectionHeaderBottomSpacing12CoreGraphics7CGFloatVvp":{"name":"sectionHeaderBottomSpacing","abstract":"

    Undocumented

    ","parent_name":"Layout"},"Structs/GridAppearance/Layout.html#/s:10ListableUI14GridAppearanceV6LayoutV26itemToSectionFooterSpacing12CoreGraphics7CGFloatVvp":{"name":"itemToSectionFooterSpacing","abstract":"

    Undocumented

    ","parent_name":"Layout"},"Structs/GridAppearance/Layout.html#/s:10ListableUI14GridAppearanceV6LayoutV7padding5width31interSectionSpacingWithNoFooter0hijkM0019sectionHeaderBottomJ006itemToimJ0AESo12UIEdgeInsetsV_AA15WidthConstraintO12CoreGraphics7CGFloatVA3Rtcfc":{"name":"init(padding:width:interSectionSpacingWithNoFooter:interSectionSpacingWithFooter:sectionHeaderBottomSpacing:itemToSectionFooterSpacing:)","abstract":"

    Undocumented

    ","parent_name":"Layout"},"Structs/GridAppearance/Layout.html#/s:10ListableUI14GridAppearanceV6LayoutV3set4withyyAEzXE_tF":{"name":"set(with:)","abstract":"

    Undocumented

    ","parent_name":"Layout"},"Structs/GridAppearance/Sizing/ItemSize.html#/s:10ListableUI14GridAppearanceV6SizingV8ItemSizeO5fixedyAGSo6CGSizeVcAGmF":{"name":"fixed(_:)","abstract":"

    Undocumented

    ","parent_name":"ItemSize"},"Structs/GridAppearance/Sizing.html#/s:10ListableUI14GridAppearanceV6SizingV8itemSizeAE04ItemG0Ovp":{"name":"itemSize","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Structs/GridAppearance/Sizing/ItemSize.html":{"name":"ItemSize","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Structs/GridAppearance/Sizing.html#/s:10ListableUI14GridAppearanceV6SizingV19sectionHeaderHeight12CoreGraphics7CGFloatVvp":{"name":"sectionHeaderHeight","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Structs/GridAppearance/Sizing.html#/s:10ListableUI14GridAppearanceV6SizingV19sectionFooterHeight12CoreGraphics7CGFloatVvp":{"name":"sectionFooterHeight","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Structs/GridAppearance/Sizing.html#/s:10ListableUI14GridAppearanceV6SizingV16listHeaderHeight12CoreGraphics7CGFloatVvp":{"name":"listHeaderHeight","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Structs/GridAppearance/Sizing.html#/s:10ListableUI14GridAppearanceV6SizingV16listFooterHeight12CoreGraphics7CGFloatVvp":{"name":"listFooterHeight","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Structs/GridAppearance/Sizing.html#/s:10ListableUI14GridAppearanceV6SizingV22overscrollFooterHeight12CoreGraphics7CGFloatVvp":{"name":"overscrollFooterHeight","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Structs/GridAppearance/Sizing.html#/s:10ListableUI14GridAppearanceV6SizingV8itemSize19sectionHeaderHeight0h6FooterJ004listiJ00lkJ0010overscrollkJ0A2E04ItemG0O_12CoreGraphics7CGFloatVA4Ptcfc":{"name":"init(itemSize:sectionHeaderHeight:sectionFooterHeight:listHeaderHeight:listFooterHeight:overscrollFooterHeight:)","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Structs/GridAppearance/Sizing.html#/s:10ListableUI14GridAppearanceV6SizingV3set4withyyAEzXE_tF":{"name":"set(with:)","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Structs/GridAppearance.html#/s:10ListableUI14GridAppearanceV6sizingAC6SizingVvp":{"name":"sizing","abstract":"

    Undocumented

    ","parent_name":"GridAppearance"},"Structs/GridAppearance.html#/s:10ListableUI14GridAppearanceV6layoutAC6LayoutVvp":{"name":"layout","abstract":"

    Undocumented

    ","parent_name":"GridAppearance"},"Structs/GridAppearance.html#/s:10ListableUI14GridAppearanceV9directionAA15LayoutDirectionOvp":{"name":"direction","abstract":"

    Undocumented

    ","parent_name":"GridAppearance"},"Structs/GridAppearance.html#/s:10ListableUI14GridAppearanceV20stickySectionHeadersSbvp":{"name":"stickySectionHeaders","abstract":"

    Undocumented

    ","parent_name":"GridAppearance"},"Structs/GridAppearance.html#/s:10ListableUI14GridAppearanceV7defaultACvpZ":{"name":"default","abstract":"

    Undocumented

    ","parent_name":"GridAppearance"},"Structs/GridAppearance.html#/s:10ListableUI14GridAppearanceV20stickySectionHeaders6sizing6layoutACSb_AC6SizingVAC6LayoutVtcfc":{"name":"init(stickySectionHeaders:sizing:layout:)","abstract":"

    Undocumented

    ","parent_name":"GridAppearance"},"Structs/GridAppearance/Sizing.html":{"name":"Sizing","abstract":"

    Undocumented

    ","parent_name":"GridAppearance"},"Structs/GridAppearance/Layout.html":{"name":"Layout","abstract":"

    Undocumented

    ","parent_name":"GridAppearance"},"Structs/LayoutDescription.html#/s:10ListableUI17LayoutDescriptionV10layoutType10appearanceACxm_y0C10AppearanceQzzctcAA04ListC0Rzlufc":{"name":"init(layoutType:appearance:)","abstract":"

    Creates a new layout description for the provided layout type, with the provided optional layout configuration.

    ","parent_name":"LayoutDescription"},"Structs/LayoutDescription.html#/s:10ListableUI17LayoutDescriptionV17grid_experimentalyACyAA14GridAppearanceVzcFZ":{"name":"grid_experimental(_:)","abstract":"

    Undocumented

    ","parent_name":"LayoutDescription"},"Structs/LayoutDescription.html#/s:10ListableUI17LayoutDescriptionV4listyACyAA14ListAppearanceVzcFZ":{"name":"list(_:)","abstract":"

    Undocumented

    ","parent_name":"LayoutDescription"},"Structs/LayoutDescription.html#/s:10ListableUI17LayoutDescriptionV5pagedyACyAA15PagedAppearanceVzcFZ":{"name":"paged(_:)","abstract":"

    Undocumented

    ","parent_name":"LayoutDescription"},"Structs/Reordering/Result.html#/s:10ListableUI10ReorderingV6ResultV11fromSectionAA0F0Vvp":{"name":"fromSection","abstract":"

    Undocumented

    ","parent_name":"Result"},"Structs/Reordering/Result.html#/s:10ListableUI10ReorderingV6ResultV13fromIndexPath10Foundation0fG0Vvp":{"name":"fromIndexPath","abstract":"

    Undocumented

    ","parent_name":"Result"},"Structs/Reordering/Result.html#/s:10ListableUI10ReorderingV6ResultV9toSectionAA0F0Vvp":{"name":"toSection","abstract":"

    Undocumented

    ","parent_name":"Result"},"Structs/Reordering/Result.html#/s:10ListableUI10ReorderingV6ResultV11toIndexPath10Foundation0fG0Vvp":{"name":"toIndexPath","abstract":"

    Undocumented

    ","parent_name":"Result"},"Structs/Reordering/Sections.html#/s:10ListableUI10ReorderingV8SectionsO4sameyA2EmF":{"name":"same","abstract":"

    Undocumented

    ","parent_name":"Sections"},"Structs/Reordering.html#/s:10ListableUI10ReorderingV8sectionsAC8SectionsOvp":{"name":"sections","abstract":"

    Undocumented

    ","parent_name":"Reordering"},"Structs/Reordering.html#/s:10ListableUI10ReorderingV10CanReordera":{"name":"CanReorder","abstract":"

    Undocumented

    ","parent_name":"Reordering"},"Structs/Reordering.html#/s:10ListableUI10ReorderingV10canReorderSbAC6ResultVcSgvp":{"name":"canReorder","abstract":"

    Undocumented

    ","parent_name":"Reordering"},"Structs/Reordering.html#/s:10ListableUI10ReorderingV10DidReordera":{"name":"DidReorder","abstract":"

    Undocumented

    ","parent_name":"Reordering"},"Structs/Reordering.html#/s:10ListableUI10ReorderingV10didReorderyyAC6ResultVcvp":{"name":"didReorder","abstract":"

    Undocumented

    ","parent_name":"Reordering"},"Structs/Reordering.html#/s:10ListableUI10ReorderingV8sections10canReorder03didF0A2C8SectionsO_SbAC6ResultVcSgyAJctcfc":{"name":"init(sections:canReorder:didReorder:)","abstract":"

    Undocumented

    ","parent_name":"Reordering"},"Structs/Reordering/Sections.html":{"name":"Sections","abstract":"

    Undocumented

    ","parent_name":"Reordering"},"Structs/Reordering/Result.html":{"name":"Result","abstract":"

    Undocumented

    ","parent_name":"Reordering"},"Structs/ItemState.html#/s:10ListableUI9ItemStateV10isSelected0E11HighlightedACSb_Sbtcfc":{"name":"init(isSelected:isHighlighted:)","abstract":"

    Undocumented

    ","parent_name":"ItemState"},"Structs/ItemState.html#/s:10ListableUI9ItemStateV4cellACSo20UICollectionViewCellC_tcfc":{"name":"init(cell:)","abstract":"

    Undocumented

    ","parent_name":"ItemState"},"Structs/ItemState.html#/s:10ListableUI9ItemStateV10isSelectedSbvp":{"name":"isSelected","abstract":"

    If the item is currently selected.

    ","parent_name":"ItemState"},"Structs/ItemState.html#/s:10ListableUI9ItemStateV13isHighlightedSbvp":{"name":"isHighlighted","abstract":"

    If the item is currently highlighted.

    ","parent_name":"ItemState"},"Structs/ItemState.html#/s:10ListableUI9ItemStateV8isActiveSbvp":{"name":"isActive","abstract":"

    If the item is either selected or highlighted.

    ","parent_name":"ItemState"},"Structs/ItemLayout.html#/s:10ListableUI10ItemLayoutV11itemSpacing12CoreGraphics7CGFloatVSgvp":{"name":"itemSpacing","abstract":"

    Undocumented

    ","parent_name":"ItemLayout"},"Structs/ItemLayout.html#/s:10ListableUI10ItemLayoutV26itemToSectionFooterSpacing12CoreGraphics7CGFloatVSgvp":{"name":"itemToSectionFooterSpacing","abstract":"

    Undocumented

    ","parent_name":"ItemLayout"},"Structs/ItemLayout.html#/s:10ListableUI10ItemLayoutV5widthAA11CustomWidthOvp":{"name":"width","abstract":"

    Undocumented

    ","parent_name":"ItemLayout"},"Structs/ItemLayout.html#/s:10ListableUI10ItemLayoutV11itemSpacing0e15ToSectionFooterF05widthAC12CoreGraphics7CGFloatVSg_AjA11CustomWidthOtcfc":{"name":"init(itemSpacing:itemToSectionFooterSpacing:width:)","abstract":"

    Undocumented

    ","parent_name":"ItemLayout"},"Structs/ItemInsertAndRemoveAnimations/Attributes.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV10AttributesV6boundsSo6CGRectVvp":{"name":"bounds","abstract":"

    Undocumented

    ","parent_name":"Attributes"},"Structs/ItemInsertAndRemoveAnimations/Attributes.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV10AttributesV6centerSo7CGPointVvp":{"name":"center","abstract":"

    Undocumented

    ","parent_name":"Attributes"},"Structs/ItemInsertAndRemoveAnimations/Attributes.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV10AttributesV9transformSo17CGAffineTransformVvp":{"name":"transform","abstract":"

    Undocumented

    ","parent_name":"Attributes"},"Structs/ItemInsertAndRemoveAnimations/Attributes.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV10AttributesV11transform3DSo13CATransform3DVvp":{"name":"transform3D","abstract":"

    Undocumented

    ","parent_name":"Attributes"},"Structs/ItemInsertAndRemoveAnimations/Attributes.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV10AttributesV5alpha12CoreGraphics7CGFloatVvp":{"name":"alpha","abstract":"

    Undocumented

    ","parent_name":"Attributes"},"Structs/ItemInsertAndRemoveAnimations/Attributes.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV10AttributesV6zIndexSivp":{"name":"zIndex","abstract":"

    Undocumented

    ","parent_name":"Attributes"},"Structs/ItemInsertAndRemoveAnimations/Attributes.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV10AttributesV5frameSo6CGRectVvp":{"name":"frame","abstract":"

    Undocumented

    ","parent_name":"Attributes"},"Structs/ItemInsertAndRemoveAnimations.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV7Preparea":{"name":"Prepare","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ItemInsertAndRemoveAnimations.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV02onD0yyAC10AttributesVzcvp":{"name":"onInsert","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ItemInsertAndRemoveAnimations.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV9onRemovalyyAC10AttributesVzcvp":{"name":"onRemoval","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ItemInsertAndRemoveAnimations.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV02onD00H7RemovalACyAC10AttributesVzc_yAGzctcfc":{"name":"init(onInsert:onRemoval:)","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ItemInsertAndRemoveAnimations.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV10attributesACyAC10AttributesVzc_tcfc":{"name":"init(attributes:)","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ItemInsertAndRemoveAnimations/Attributes.html":{"name":"Attributes","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ItemInsertAndRemoveAnimations.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV4fadeACvpZ":{"name":"fade","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ItemInsertAndRemoveAnimations.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV5rightACvpZ":{"name":"right","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ItemInsertAndRemoveAnimations.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV4leftACvpZ":{"name":"left","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ItemInsertAndRemoveAnimations.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV3topACvpZ":{"name":"top","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ItemInsertAndRemoveAnimations.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV6bottomACvpZ":{"name":"bottom","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ItemInsertAndRemoveAnimations.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV9scaleDownACvpZ":{"name":"scaleDown","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ItemInsertAndRemoveAnimations.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV7scaleUpACvpZ":{"name":"scaleUp","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ApplyItemContentInfo.html#/s:10ListableUI20ApplyItemContentInfoV5stateAA0D5StateVvp":{"name":"state","abstract":"

    The state of the Item currently displaying the content. Is it highlighted, selected, etc.

    ","parent_name":"ApplyItemContentInfo"},"Structs/ApplyItemContentInfo.html#/s:10ListableUI20ApplyItemContentInfoV8positionAA0D8PositionOvp":{"name":"position","abstract":"

    The position of the item within its section.

    ","parent_name":"ApplyItemContentInfo"},"Structs/ApplyItemContentInfo.html#/s:10ListableUI20ApplyItemContentInfoV10reorderingAA17ReorderingActionsCvp":{"name":"reordering","abstract":"

    Provides access to actions to handle re-ordering the content within the list.

    ","parent_name":"ApplyItemContentInfo"},"Structs/ApplyItemContentInfo.html#/s:10ListableUI20ApplyItemContentInfoV11environmentAA15ListEnvironmentVvp":{"name":"environment","abstract":"

    The environment of the containing list.","parent_name":"ApplyItemContentInfo"},"Structs/ItemContentViews.html#/s:10ListableUI16ItemContentViewsV7content0D4ViewQzvp":{"name":"content","abstract":"

    The content view of the content.

    ","parent_name":"ItemContentViews"},"Structs/ItemContentViews.html#/s:10ListableUI16ItemContentViewsV10background14BackgroundViewQzvp":{"name":"background","abstract":"

    The background view of the content.

    ","parent_name":"ItemContentViews"},"Structs/ItemContentViews.html#/s:10ListableUI16ItemContentViewsV18selectedBackground08SelectedG4ViewQzvp":{"name":"selectedBackground","abstract":"

    The selected background view of the content.","parent_name":"ItemContentViews"},"Structs/DefaultItemProperties.html#/s:10ListableUI21DefaultItemPropertiesV6sizingAA6SizingOSgvp":{"name":"sizing","abstract":"

    Undocumented

    ","parent_name":"DefaultItemProperties"},"Structs/DefaultItemProperties.html#/s:10ListableUI21DefaultItemPropertiesV6layoutAA0D6LayoutVSgvp":{"name":"layout","abstract":"

    Undocumented

    ","parent_name":"DefaultItemProperties"},"Structs/DefaultItemProperties.html#/s:10ListableUI21DefaultItemPropertiesV14selectionStyleAA0d9SelectionG0OSgvp":{"name":"selectionStyle","abstract":"

    Undocumented

    ","parent_name":"DefaultItemProperties"},"Structs/DefaultItemProperties.html#/s:10ListableUI21DefaultItemPropertiesV25insertAndRemoveAnimationsAA0d6InsertghI0VSgvp":{"name":"insertAndRemoveAnimations","abstract":"

    Undocumented

    ","parent_name":"DefaultItemProperties"},"Structs/DefaultItemProperties.html#/s:10ListableUI21DefaultItemPropertiesV12swipeActionsAA05SwipeG13ConfigurationVSgvp":{"name":"swipeActions","abstract":"

    Undocumented

    ","parent_name":"DefaultItemProperties"},"Structs/DefaultItemProperties.html#/s:10ListableUI21DefaultItemPropertiesV6sizing6layout14selectionStyle25insertAndRemoveAnimations12swipeActionsACyxGAA6SizingOSg_AA0D6LayoutVSgAA0d9SelectionI0OSgAA0d6InsertklM0VSgAA05SwipeO13ConfigurationVSgtcfc":{"name":"init(sizing:layout:selectionStyle:insertAndRemoveAnimations:swipeActions:)","abstract":"

    Undocumented

    ","parent_name":"DefaultItemProperties"},"Structs/HeaderFooterLayout.html#/s:10ListableUI18HeaderFooterLayoutV5widthAA11CustomWidthOvp":{"name":"width","abstract":"

    Undocumented

    ","parent_name":"HeaderFooterLayout"},"Structs/HeaderFooterLayout.html#/s:10ListableUI18HeaderFooterLayoutV5widthAcA11CustomWidthO_tcfc":{"name":"init(width:)","abstract":"

    Undocumented

    ","parent_name":"HeaderFooterLayout"},"Structs/HeaderFooterContentViews.html#/s:10ListableUI24HeaderFooterContentViewsV7content0E4ViewQzvp":{"name":"content","abstract":"

    The content view of the content.

    ","parent_name":"HeaderFooterContentViews"},"Structs/HeaderFooterContentViews.html#/s:10ListableUI24HeaderFooterContentViewsV10background14BackgroundViewQzvp":{"name":"background","abstract":"

    The background view of the content.

    ","parent_name":"HeaderFooterContentViews"},"Structs/HeaderFooterContentViews.html#/s:10ListableUI24HeaderFooterContentViewsV7pressed21PressedBackgroundViewQzvp":{"name":"pressed","abstract":"

    The background view of the content that’s displayed while a press is active.

    ","parent_name":"HeaderFooterContentViews"},"Structs/ApplyHeaderFooterContentInfo.html#/s:10ListableUI28ApplyHeaderFooterContentInfoV11environmentAA15ListEnvironmentVvp":{"name":"environment","abstract":"

    The environment of the containing list.","parent_name":"ApplyHeaderFooterContentInfo"},"Structs/HeaderFooter.html#/s:10ListableUI12HeaderFooterV7contentxvp":{"name":"content","abstract":"

    Undocumented

    ","parent_name":"HeaderFooter"},"Structs/HeaderFooter.html#/s:10ListableUI12HeaderFooterV6sizingAA6SizingOvp":{"name":"sizing","abstract":"

    Undocumented

    ","parent_name":"HeaderFooter"},"Structs/HeaderFooter.html#/s:10ListableUI12HeaderFooterV6layoutAA0cD6LayoutVvp":{"name":"layout","abstract":"

    Undocumented

    ","parent_name":"HeaderFooter"},"Structs/HeaderFooter.html#/s:10ListableUI12HeaderFooterV5OnTapa":{"name":"OnTap","abstract":"

    Undocumented

    ","parent_name":"HeaderFooter"},"Structs/HeaderFooter.html#/s:10ListableUI12HeaderFooterV5onTapyxcSgvp":{"name":"onTap","abstract":"

    Undocumented

    ","parent_name":"HeaderFooter"},"Structs/HeaderFooter.html#/s:10ListableUI12HeaderFooterV19debuggingIdentifierSSSgvp":{"name":"debuggingIdentifier","abstract":"

    Undocumented

    ","parent_name":"HeaderFooter"},"Structs/HeaderFooter.html#/s:10ListableUI12HeaderFooterV5Builda":{"name":"Build","abstract":"

    Undocumented

    ","parent_name":"HeaderFooter"},"Structs/HeaderFooter.html#/s:10ListableUI12HeaderFooterV_5buildACyxGx_yAEzXEtcfc":{"name":"init(_:build:)","abstract":"

    Undocumented

    ","parent_name":"HeaderFooter"},"Structs/HeaderFooter.html#/s:10ListableUI12HeaderFooterV_6sizing6layout5onTapACyxGx_AA6SizingOAA0cD6LayoutVyxcSgtcfc":{"name":"init(_:sizing:layout:onTap:)","abstract":"

    Undocumented

    ","parent_name":"HeaderFooter"},"Structs/HeaderFooter.html#/s:10ListableUI12HeaderFooterV5apply2to3for4withySo6UIViewC_AA11ApplyReasonOAA0jcD11ContentInfoVtF":{"name":"apply(to:for:with:)","abstract":"

    Undocumented

    ","parent_name":"HeaderFooter"},"Structs/HeaderFooter.html#/s:10ListableUI12HeaderFooterV15anyIsEquivalent2toSbAA03AnycD0_p_tF":{"name":"anyIsEquivalent(to:)","abstract":"

    Undocumented

    ","parent_name":"HeaderFooter"},"Structs/HeaderFooter.html#/s:10ListableUI12HeaderFooterV015newPresentationcD5State24performsContentCallbacksypSb_tF":{"name":"newPresentationHeaderFooterState(performsContentCallbacks:)","abstract":"

    Undocumented

    ","parent_name":"HeaderFooter"},"Structs/EmbeddedList/Sizing.html#/s:10ListableUI12EmbeddedListV6SizingO7defaultyA2EmF":{"name":"default","abstract":"

    Falls back to the default sizing of Items in the list view.

    ","parent_name":"Sizing"},"Structs/EmbeddedList/Sizing.html#/s:10ListableUI12EmbeddedListV6SizingO5fixedyAE12CoreGraphics7CGFloatV_AItcAEmF":{"name":"fixed(width:height:)","abstract":"

    A fixed size item with the given width or height.

    ","parent_name":"Sizing"},"Structs/EmbeddedList.html#/s:10ListableUI12EmbeddedListV10propertiesAA0D10PropertiesVvp":{"name":"properties","abstract":"

    Undocumented

    ","parent_name":"EmbeddedList"},"Structs/EmbeddedList.html#/s:10ListableUI12EmbeddedListV17contentIdentifiers11AnyHashableVvp":{"name":"contentIdentifier","abstract":"

    Undocumented

    ","parent_name":"EmbeddedList"},"Structs/EmbeddedList.html#/s:10ListableUI12EmbeddedListV10identifier5buildACx_yAA0D10PropertiesVzXEtcSHRzlufc":{"name":"init(identifier:build:)","abstract":"

    Undocumented

    ","parent_name":"EmbeddedList"},"Structs/EmbeddedList.html#/s:10ListableUI11ItemContentP0D4ViewQa":{"name":"ContentView","parent_name":"EmbeddedList"},"Structs/EmbeddedList.html#/s:10ListableUI11ItemContentP10identifierAA10IdentifierCyxGvp":{"name":"identifier","parent_name":"EmbeddedList"},"Structs/EmbeddedList.html#/s:10ListableUI11ItemContentP5apply2to3for4withyAA0cD5ViewsVyxG_AA11ApplyReasonOAA0jcD4InfoVtF":{"name":"apply(to:for:with:)","parent_name":"EmbeddedList"},"Structs/EmbeddedList.html#/s:10ListableUI11ItemContentP12isEquivalent2toSbx_tF":{"name":"isEquivalent(to:)","parent_name":"EmbeddedList"},"Structs/EmbeddedList.html#/s:10ListableUI11ItemContentP014createReusableD4View5frame0dG0QzSo6CGRectV_tFZ":{"name":"createReusableContentView(frame:)","parent_name":"EmbeddedList"},"Structs/EmbeddedList/Sizing.html":{"name":"Sizing","abstract":"

    How you specify sizing for an embedded list. The surface area","parent_name":"EmbeddedList"},"Structs/Item/OnUpdate.html#/s:10ListableUI4ItemV8OnUpdateV8Callbacka":{"name":"Callback","abstract":"

    Undocumented

    ","parent_name":"OnUpdate"},"Structs/Item/OnUpdate.html#/s:10ListableUI4ItemV8OnUpdateV3oldACyxGvp":{"name":"old","abstract":"

    Undocumented

    ","parent_name":"OnUpdate"},"Structs/Item/OnUpdate.html#/s:10ListableUI4ItemV8OnUpdateV3newACyxGvp":{"name":"new","abstract":"

    Undocumented

    ","parent_name":"OnUpdate"},"Structs/Item/OnMove.html#/s:10ListableUI4ItemV6OnMoveV8Callbacka":{"name":"Callback","abstract":"

    Undocumented

    ","parent_name":"OnMove"},"Structs/Item/OnMove.html#/s:10ListableUI4ItemV6OnMoveV3oldACyxGvp":{"name":"old","abstract":"

    Undocumented

    ","parent_name":"OnMove"},"Structs/Item/OnMove.html#/s:10ListableUI4ItemV6OnMoveV3newACyxGvp":{"name":"new","abstract":"

    Undocumented

    ","parent_name":"OnMove"},"Structs/Item/OnRemove.html#/s:10ListableUI4ItemV8OnRemoveV8Callbacka":{"name":"Callback","abstract":"

    Undocumented

    ","parent_name":"OnRemove"},"Structs/Item/OnRemove.html#/s:10ListableUI4ItemV8OnRemoveV4itemACyxGvp":{"name":"item","abstract":"

    Undocumented

    ","parent_name":"OnRemove"},"Structs/Item/OnInsert.html#/s:10ListableUI4ItemV8OnInsertV8Callbacka":{"name":"Callback","abstract":"

    Undocumented

    ","parent_name":"OnInsert"},"Structs/Item/OnInsert.html#/s:10ListableUI4ItemV8OnInsertV4itemACyxGvp":{"name":"item","abstract":"

    Undocumented

    ","parent_name":"OnInsert"},"Structs/Item/OnDeselect.html#/s:10ListableUI4ItemV10OnDeselectV8Callbacka":{"name":"Callback","abstract":"

    Undocumented

    ","parent_name":"OnDeselect"},"Structs/Item/OnDeselect.html#/s:10ListableUI4ItemV10OnDeselectV4itemACyxGvp":{"name":"item","abstract":"

    Undocumented

    ","parent_name":"OnDeselect"},"Structs/Item/OnSelect.html#/s:10ListableUI4ItemV8OnSelectV8Callbacka":{"name":"Callback","abstract":"

    Undocumented

    ","parent_name":"OnSelect"},"Structs/Item/OnSelect.html#/s:10ListableUI4ItemV8OnSelectV4itemACyxGvp":{"name":"item","abstract":"

    Undocumented

    ","parent_name":"OnSelect"},"Structs/Item/OnEndDisplay.html#/s:10ListableUI4ItemV12OnEndDisplayV8Callbacka":{"name":"Callback","abstract":"

    Undocumented

    ","parent_name":"OnEndDisplay"},"Structs/Item/OnEndDisplay.html#/s:10ListableUI4ItemV12OnEndDisplayV4itemACyxGvp":{"name":"item","abstract":"

    Undocumented

    ","parent_name":"OnEndDisplay"},"Structs/Item/OnEndDisplay.html#/s:10ListableUI4ItemV12OnEndDisplayV07isFirsteF0Sbvp":{"name":"isFirstEndDisplay","abstract":"

    Undocumented

    ","parent_name":"OnEndDisplay"},"Structs/Item/OnDisplay.html#/s:10ListableUI4ItemV9OnDisplayV8Callbacka":{"name":"Callback","abstract":"

    Undocumented

    ","parent_name":"OnDisplay"},"Structs/Item/OnDisplay.html#/s:10ListableUI4ItemV9OnDisplayV4itemACyxGvp":{"name":"item","abstract":"

    Undocumented

    ","parent_name":"OnDisplay"},"Structs/Item/OnDisplay.html#/s:10ListableUI4ItemV9OnDisplayV07isFirstE0Sbvp":{"name":"isFirstDisplay","abstract":"

    Undocumented

    ","parent_name":"OnDisplay"},"Structs/Item.html#/s:10ListableUI4ItemV10identifierAA13AnyIdentifierCvp":{"name":"identifier","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV7contentxvp":{"name":"content","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV6sizingAA6SizingOvp":{"name":"sizing","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV6layoutAA0C6LayoutVvp":{"name":"layout","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV14selectionStyleAA0c9SelectionE0Ovp":{"name":"selectionStyle","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV25insertAndRemoveAnimationsAA0c6InsertefG0VSgvp":{"name":"insertAndRemoveAnimations","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV12swipeActionsAA05SwipeE13ConfigurationVSgvp":{"name":"swipeActions","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV10reorderingAA10ReorderingVSgvp":{"name":"reordering","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV9onDisplayyAC02OnE0Vyx_GcSgvp":{"name":"onDisplay","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV12onEndDisplayyAC02OneF0Vyx_GcSgvp":{"name":"onEndDisplay","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV8onSelectyAC02OnE0Vyx_GcSgvp":{"name":"onSelect","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV10onDeselectyAC02OnE0Vyx_GcSgvp":{"name":"onDeselect","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV8onInsertyAC02OnE0Vyx_GcSgvp":{"name":"onInsert","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV8onRemoveyAC02OnE0Vyx_GcSgvp":{"name":"onRemove","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV6onMoveyAC02OnE0Vyx_GcSgvp":{"name":"onMove","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV8onUpdateyAC02OnE0Vyx_GcSgvp":{"name":"onUpdate","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV19debuggingIdentifierSSSgvp":{"name":"debuggingIdentifier","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV5Builda":{"name":"Build","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV_5buildACyxGx_yAEzXEtcfc":{"name":"init(_:build:)","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV_6sizing6layout14selectionStyle25insertAndRemoveAnimations12swipeActions10reordering9onDisplay0o3EndP00O6Select0O8Deselect0O6Insert0oJ00O4Move0O6UpdateACyxGx_AA6SizingOSgAA0C6LayoutVSgAA0c9SelectionG0OSgAA0ctijK0VSgAA05SwipeM13ConfigurationVSgAA10ReorderingVSgyAC02OnP0Vyx_GcSgyAC02OnqP0Vyx_GcSgyAC02OnR0Vyx_GcSgyAC02OnS0Vyx_GcSgyAC02OnT0Vyx_GcSgyAC02OnJ0Vyx_GcSgyAC02OnU0Vyx_GcSgyAC02OnV0Vyx_GcSgtcfc":{"name":"init(_:sizing:layout:selectionStyle:insertAndRemoveAnimations:swipeActions:reordering:onDisplay:onEndDisplay:onSelect:onDeselect:onInsert:onRemove:onMove:onUpdate:)","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV10anyContentypvp":{"name":"anyContent","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV15anyIsEquivalent2toSbAA03AnyC0_p_tF":{"name":"anyIsEquivalent(to:)","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV11anyWasMoved10comparedToSbAA03AnyC0_p_tF":{"name":"anyWasMoved(comparedTo:)","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV015newPresentationC5State4with15updateCallbacks015performsContentI0ypAA0cF12DependenciesV_AA06UpdateI0CSbtF":{"name":"newPresentationItemState(with:updateCallbacks:performsContentCallbacks:)","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item/OnDisplay.html":{"name":"OnDisplay","abstract":"

    Value passed to the onDisplay callback for Item.

    ","parent_name":"Item"},"Structs/Item/OnEndDisplay.html":{"name":"OnEndDisplay","abstract":"

    Value passed to the onEndDisplay callback for Item.

    ","parent_name":"Item"},"Structs/Item/OnSelect.html":{"name":"OnSelect","abstract":"

    Value passed to the onSelect callback for Item.

    ","parent_name":"Item"},"Structs/Item/OnDeselect.html":{"name":"OnDeselect","abstract":"

    Value passed to the onDeselect callback for Item.

    ","parent_name":"Item"},"Structs/Item/OnInsert.html":{"name":"OnInsert","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item/OnRemove.html":{"name":"OnRemove","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item/OnMove.html":{"name":"OnMove","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item/OnUpdate.html":{"name":"OnUpdate","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemVA2A12EmbeddedListVRszrlE4list_6sizing5buildACyAEGqd___AE6SizingOyAA0E10PropertiesVzXEtSHRd__lFZ":{"name":"list(_:sizing:build:)","abstract":"

    Creates an Item which can be used to embed a list inside another list,","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemVA2A019LocalizedCollatableC7ContentRzrlE15collationStringSSvp":{"name":"collationString","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Content.html#/s:10ListableUI7ContentV10identifiers11AnyHashableVSgvp":{"name":"identifier","abstract":"

    The identifier for the content, defaults to nil.","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV14refreshControlAA07RefreshE0VSgvp":{"name":"refreshControl","abstract":"

    The refresh control, if any, associated with the list.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV6headerAA15AnyHeaderFooter_pSgvp":{"name":"header","abstract":"

    The header for the list, usually displayed before all other content.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV6footerAA15AnyHeaderFooter_pSgvp":{"name":"footer","abstract":"

    The footer for the list, usually displayed after all other content.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV16overscrollFooterAA09AnyHeaderE0_pSgvp":{"name":"overscrollFooter","abstract":"

    The overscroll footer for the list, which is displayed below the bottom bounds of the visible frame,","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV8sectionsSayAA7SectionVGvp":{"name":"sections","abstract":"

    All sections in the list.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV16nonEmptySectionsSayAA7SectionVGvp":{"name":"nonEmptySections","abstract":"

    Any sections that have a non-zero number of items.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV9itemCountSivp":{"name":"itemCount","abstract":"

    The total number of items in all of the sections in the list.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV8contains3anySbShyAA0C7FiltersOG_tF":{"name":"contains(any:)","abstract":"

    Check if the content contains any of the given types, which you specify via the filters","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV5Builda":{"name":"Build","abstract":"

    Undocumented

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV4withACyACzXE_tcfc":{"name":"init(with:)","abstract":"

    Creates a new instance, configured as needed via the provided builder block.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV10identifier14refreshControl6header6footer16overscrollFooter8sectionsACs11AnyHashableVSg_AA07RefreshF0VSgAA0l6HeaderJ0_pSgA2QSayAA7SectionVGtcfc":{"name":"init(identifier:refreshControl:header:footer:overscrollFooter:sections:)","abstract":"

    Creates a new instance with the provided parameters.","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV9firstItemAA03AnyE0_pSgvp":{"name":"firstItem","abstract":"

    The first Item in the content. Returns nil if there is no content in any section.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV8lastItemAA03AnyE0_pSgvp":{"name":"lastItem","abstract":"

    The last Item in the content. Returns nil if there is no content in any section.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV4item2atAA7AnyItem_p10Foundation9IndexPathV_tF":{"name":"item(at:)","abstract":"

    Returns the Item at the given IndexPath.","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV14firstIndexPath3for10Foundation0eF0VSgAA13AnyIdentifierC_tF":{"name":"firstIndexPath(for:)","abstract":"

    Returns the first IndexPath for the contained Item with the given AnyIdentifier,","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV13lastIndexPath10Foundation0eF0VSgyF":{"name":"lastIndexPath()","abstract":"

    Returns the IndexPath of the last Item in the content.","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV11removeEmptyyyF":{"name":"removeEmpty()","abstract":"

    Removes all Sections that do not contain any Items.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV3addyyAA7SectionVF":{"name":"add(_:)","abstract":"

    Appends a Section to the end of the Content.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV2peoiyyACz_AA7SectionVtFZ":{"name":"+=(_:_:)","abstract":"

    Appends a Section to the end of the Content.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV2peoiyyACz_SayAA7SectionVGtFZ":{"name":"+=(_:_:)","abstract":"

    Appends a list of Sections to the end of the Content.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV14callAsFunction_5buildyx_yAA7SectionVzXEtSHRzlF":{"name":"callAsFunction(_:build:)","abstract":"

    Allows streamlined creation of sections when building a list, leveraging Swift’s callAsFunction","parent_name":"Content"},"Structs/Color.html#/s:10ListableUI5ColorV12wrappedValueSo7UIColorCvp":{"name":"wrappedValue","abstract":"

    The underlying color value.

    ","parent_name":"Color"},"Structs/Color.html#/s:10ListableUI5ColorVyACSo7UIColorCcfc":{"name":"init(_:)","abstract":"

    Undocumented

    ","parent_name":"Color"},"Structs/Color.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"Color"},"Structs/Behavior/Underflow/Alignment.html#/s:10ListableUI8BehaviorV9UnderflowV9AlignmentO3topyA2GmF":{"name":"top","abstract":"

    Undocumented

    ","parent_name":"Alignment"},"Structs/Behavior/Underflow/Alignment.html#/s:10ListableUI8BehaviorV9UnderflowV9AlignmentO6centeryA2GmF":{"name":"center","abstract":"

    Undocumented

    ","parent_name":"Alignment"},"Structs/Behavior/Underflow/Alignment.html#/s:10ListableUI8BehaviorV9UnderflowV9AlignmentO6bottomyA2GmF":{"name":"bottom","abstract":"

    Undocumented

    ","parent_name":"Alignment"},"Structs/Behavior/Underflow.html#/s:10ListableUI8BehaviorV9UnderflowV12alwaysBounceSbvp":{"name":"alwaysBounce","abstract":"

    Undocumented

    ","parent_name":"Underflow"},"Structs/Behavior/Underflow.html#/s:10ListableUI8BehaviorV9UnderflowV9alignmentAE9AlignmentOvp":{"name":"alignment","abstract":"

    Undocumented

    ","parent_name":"Underflow"},"Structs/Behavior/Underflow.html#/s:10ListableUI8BehaviorV9UnderflowV12alwaysBounce9alignmentAESb_AE9AlignmentOtcfc":{"name":"init(alwaysBounce:alignment:)","abstract":"

    Undocumented

    ","parent_name":"Underflow"},"Structs/Behavior/Underflow/Alignment.html":{"name":"Alignment","abstract":"

    Undocumented

    ","parent_name":"Underflow"},"Structs/Behavior/SelectionMode.html#/s:10ListableUI8BehaviorV13SelectionModeO4noneyA2EmF":{"name":"none","abstract":"

    The list view does not allow any selections.

    ","parent_name":"SelectionMode"},"Structs/Behavior/SelectionMode.html#/s:10ListableUI8BehaviorV13SelectionModeO6singleyAESb_tcAEmF":{"name":"single(clearsSelectionOnViewWillAppear:)","abstract":"

    The list view allows single selections. When an item is selected, the previously selected item (if any)","parent_name":"SelectionMode"},"Structs/Behavior/SelectionMode.html#/s:10ListableUI8BehaviorV13SelectionModeO8multipleyA2EmF":{"name":"multiple","abstract":"

    The list view allows multiple selections. It is your responsibility to update the content","parent_name":"SelectionMode"},"Structs/Behavior/ScrollsToTop.html#/s:10ListableUI8BehaviorV12ScrollsToTopO8disabledyA2EmF":{"name":"disabled","abstract":"

    No action is performed when the user taps on the status bar.

    ","parent_name":"ScrollsToTop"},"Structs/Behavior/ScrollsToTop.html#/s:10ListableUI8BehaviorV12ScrollsToTopO7enabledyA2EmF":{"name":"enabled","abstract":"

    When the user taps on the status bar, scroll to the top of the list.

    ","parent_name":"ScrollsToTop"},"Structs/Behavior/KeyboardAdjustmentMode.html#/s:10ListableUI8BehaviorV22KeyboardAdjustmentModeO4noneyA2EmF":{"name":"none","abstract":"

    The contentInset of the list is not adjusted when the keyboard appears or disappears.

    ","parent_name":"KeyboardAdjustmentMode"},"Structs/Behavior/KeyboardAdjustmentMode.html#/s:10ListableUI8BehaviorV22KeyboardAdjustmentModeO18adjustsWhenVisibleyA2EmF":{"name":"adjustsWhenVisible","abstract":"

    The contentInset of the list is adjusted when the keyboard appears or disappears.

    ","parent_name":"KeyboardAdjustmentMode"},"Structs/Behavior.html#/s:10ListableUI8BehaviorV19keyboardDismissModeSo020UIScrollViewKeyboardeF0Vvp":{"name":"keyboardDismissMode","abstract":"

    How the keyboard should be dismissed (if at all) based on scrolling of the list view.

    ","parent_name":"Behavior"},"Structs/Behavior.html#/s:10ListableUI8BehaviorV22keyboardAdjustmentModeAC08KeyboardeF0Ovp":{"name":"keyboardAdjustmentMode","abstract":"

    How to adjust the contentInset of the list when the keyboard visibility changes.

    ","parent_name":"Behavior"},"Structs/Behavior.html#/s:10ListableUI8BehaviorV12scrollsToTopAC07ScrollseF0Ovp":{"name":"scrollsToTop","abstract":"

    How the list should react when the user taps the application status bar.","parent_name":"Behavior"},"Structs/Behavior.html#/s:10ListableUI8BehaviorV13selectionModeAC09SelectionE0Ovp":{"name":"selectionMode","abstract":"

    How the list should respond to selection attempts.

    ","parent_name":"Behavior"},"Structs/Behavior.html#/s:10ListableUI8BehaviorV9underflowAC9UnderflowVvp":{"name":"underflow","abstract":"

    How the list should behave when its content takes up less space than is available in the list view.","parent_name":"Behavior"},"Structs/Behavior.html#/s:10ListableUI8BehaviorV23canCancelContentTouchesSbvp":{"name":"canCancelContentTouches","abstract":"

    A Boolean value that controls whether touches in the content view always lead to tracking.

    ","parent_name":"Behavior"},"Structs/Behavior.html#/s:10ListableUI8BehaviorV20delaysContentTouchesSbvp":{"name":"delaysContentTouches","abstract":"

    A Boolean value that determines whether the scroll view delays the handling of touch-down gestures.

    ","parent_name":"Behavior"},"Structs/Behavior.html#/s:10ListableUI8BehaviorV15isPagingEnabledSbvp":{"name":"isPagingEnabled","abstract":"

    Is paging enabled on the underlying scroll view.

    ","parent_name":"Behavior"},"Structs/Behavior.html#/s:10ListableUI8BehaviorV19keyboardDismissMode0d10AdjustmentF012scrollsToTop09selectionF09underflow23canCancelContentTouches06delaysoP015isPagingEnabledACSo020UIScrollViewKeyboardeF0V_AC0wgF0OAC07ScrollsiJ0OAC09SelectionF0OAC9UnderflowVS3btcfc":{"name":"init(keyboardDismissMode:keyboardAdjustmentMode:scrollsToTop:selectionMode:underflow:canCancelContentTouches:delaysContentTouches:isPagingEnabled:)","abstract":"

    Creates a new Behavior based on the provided parameters.

    ","parent_name":"Behavior"},"Structs/Behavior/KeyboardAdjustmentMode.html":{"name":"KeyboardAdjustmentMode","abstract":"

    How to adjust the contentInset of the list when the keyboard visibility changes.

    ","parent_name":"Behavior"},"Structs/Behavior/ScrollsToTop.html":{"name":"ScrollsToTop","abstract":"

    How to react when the user taps on the status bar of the application.

    ","parent_name":"Behavior"},"Structs/Behavior/SelectionMode.html":{"name":"SelectionMode","abstract":"

    The selection mode of the list view, which controls how many items (if any) can be selected at once.

    ","parent_name":"Behavior"},"Structs/Behavior/Underflow.html":{"name":"Underflow","abstract":"

    Undocumented

    ","parent_name":"Behavior"},"Structs/Appearance.html#/s:10ListableUI10AppearanceV15backgroundColorSo7UIColorCvp":{"name":"backgroundColor","abstract":"

    The background color for the list.

    ","parent_name":"Appearance"},"Structs/Appearance.html#/s:10ListableUI10AppearanceV21showsScrollIndicatorsSbvp":{"name":"showsScrollIndicators","abstract":"

    If the list should display its scroll indicators.

    ","parent_name":"Appearance"},"Structs/Appearance.html#/s:10ListableUI10AppearanceV15backgroundColor21showsScrollIndicators9configureACSo7UIColorC_SbyACzXEtcfc":{"name":"init(backgroundColor:showsScrollIndicators:configure:)","abstract":"

    Creates a new appearance object with the provided options.

    ","parent_name":"Appearance"},"Structs/Appearance.html#/s:10ListableUI10AppearanceV22defaultBackgroundColorSo7UIColorCvpZ":{"name":"defaultBackgroundColor","abstract":"

    The default background color for the Appearance.

    ","parent_name":"Appearance"},"Structs/Appearance.html":{"name":"Appearance","abstract":"

    Contains all the properties which affect the appearance of all possible kinds of list layouts.

    "},"Structs/Behavior.html":{"name":"Behavior","abstract":"

    Controls various behaviors of the list view, such as keyboard dismissal, selection mode, and behavior"},"Structs/Color.html":{"name":"Color","abstract":"

    A color wrapper which provides equatability for"},"Structs/Content.html":{"name":"Content","abstract":"

    Undocumented

    "},"Structs/Item.html":{"name":"Item","abstract":"

    Undocumented

    "},"Structs/EmbeddedList.html":{"name":"EmbeddedList","abstract":"

    Describes item content which can be used to embed a list inside another list,"},"Structs/HeaderFooter.html":{"name":"HeaderFooter","abstract":"

    Undocumented

    "},"Structs/ApplyHeaderFooterContentInfo.html":{"name":"ApplyHeaderFooterContentInfo","abstract":"

    Information about the current state of the content, which is passed to apply(to:for:with:)"},"Structs/HeaderFooterContentViews.html":{"name":"HeaderFooterContentViews","abstract":"

    The views owned by the item content, passed to the apply(to:) method to theme and provide content.

    "},"Structs/HeaderFooterLayout.html":{"name":"HeaderFooterLayout","abstract":"

    Undocumented

    "},"Structs.html#/s:10ListableUI21ItemStateDependenciesV":{"name":"ItemStateDependencies","abstract":"

    Undocumented

    "},"Structs/DefaultItemProperties.html":{"name":"DefaultItemProperties","abstract":"

    Allows specifying default properties to apply to an item when it is initialized,"},"Structs/ItemContentViews.html":{"name":"ItemContentViews","abstract":"

    The views owned by the item content, passed to the apply(to:) method to theme and provide content.

    "},"Structs/ApplyItemContentInfo.html":{"name":"ApplyItemContentInfo","abstract":"

    Information about the current state of the content, which is passed to apply(to:for:with:)"},"Structs/ItemInsertAndRemoveAnimations.html":{"name":"ItemInsertAndRemoveAnimations","abstract":"

    Undocumented

    "},"Structs/ItemLayout.html":{"name":"ItemLayout","abstract":"

    Undocumented

    "},"Structs/ItemState.html":{"name":"ItemState","abstract":"

    Undocumented

    "},"Structs/Reordering.html":{"name":"Reordering","abstract":"

    Undocumented

    "},"Structs/LayoutDescription.html":{"name":"LayoutDescription","abstract":"

    A LayoutDescription, well, describes the type of and properties of a layout to apply to a list view.

    "},"Structs/GridAppearance.html":{"name":"GridAppearance","abstract":"

    Undocumented

    "},"Structs/ListAppearance.html":{"name":"ListAppearance","abstract":"

    ListAppearance defines the appearance and layout attribute for list layouts within a Listable list.

    "},"Structs/ListLayoutAttributes.html":{"name":"ListLayoutAttributes","abstract":"

    Undocumented

    "},"Structs/ListLayoutDefaults.html":{"name":"ListLayoutDefaults","abstract":"

    Undocumented

    "},"Structs/ListLayoutScrollViewProperties.html":{"name":"ListLayoutScrollViewProperties","abstract":"

    Undocumented

    "},"Structs/ListLayoutPoint.html":{"name":"ListLayoutPoint","abstract":"

    Undocumented

    "},"Structs/ListLayoutSize.html":{"name":"ListLayoutSize","abstract":"

    Undocumented

    "},"Structs/PagedAppearance.html":{"name":"PagedAppearance","abstract":"

    Describes the available appearance configuration options for a paged list layout."},"Structs/ListEnvironment.html":{"name":"ListEnvironment","abstract":"

    An environment of keys and values that are passed to every ItemContent and HeaderFooter"},"Structs/ListProperties.html":{"name":"ListProperties","abstract":"

    The ListProperties object describes all of the given values needed to configure"},"Structs/ListScrollPositionInfo.html":{"name":"ListScrollPositionInfo","abstract":"

    Information about the current scroll position of a list,"},"Structs/ListStateObserver.html":{"name":"ListStateObserver","abstract":"

    Allows reading state and events based on state changes within the list view."},"Structs/LocalizedItemCollator.html":{"name":"LocalizedItemCollator","abstract":"

    If you’re looking for the equivalent of UILocalizedIndexedCollation for lists,"},"Structs/ItemPreview.html":{"name":"ItemPreview","abstract":"

    A SwiftUI view that you can use to preview your Item or ItemContent"},"Structs/ItemPreviewAppearance.html":{"name":"ItemPreviewAppearance","abstract":"

    The appearance options for a preview item.

    "},"Structs/RefreshControl.html":{"name":"RefreshControl","abstract":"

    Undocumented

    "},"Structs/ScrollPosition.html":{"name":"ScrollPosition","abstract":"

    Specifies how to position an item in a list when requesting the list scrolls to it.

    "},"Structs/Section.html":{"name":"Section","abstract":"

    Undocumented

    "},"Structs/HorizontalPadding.html":{"name":"HorizontalPadding","abstract":"

    Undocumented

    "},"Structs/SwipeActionsConfiguration.html":{"name":"SwipeActionsConfiguration","abstract":"

    Use SwipeActionsConfiguration to configure an item with SwipeActions."},"Structs/SwipeAction.html":{"name":"SwipeAction","abstract":"

    Create SwipeActions to define actions that can be performed in a SwipeActionsConfiguration.

    "},"Protocols/AnySectionInfo.html#/s:10ListableUI14AnySectionInfoP13anyIdentifierAA0cG0Cvp":{"name":"anyIdentifier","abstract":"

    Undocumented

    ","parent_name":"AnySectionInfo"},"Protocols/AnySectionInfo.html#/s:10ListableUI14AnySectionInfoP11anyWasMoved10comparedToSbAaB_p_tF":{"name":"anyWasMoved(comparedTo:)","abstract":"

    Undocumented

    ","parent_name":"AnySectionInfo"},"Protocols/SectionInfo.html#/s:10ListableUI11SectionInfoP10identifierAA10IdentifierCyxGvp":{"name":"identifier","abstract":"

    Undocumented

    ","parent_name":"SectionInfo"},"Protocols/SectionInfo.html#/s:10ListableUI11SectionInfoP8wasMoved10comparedToSbx_tF":{"name":"wasMoved(comparedTo:)","abstract":"

    Undocumented

    ","parent_name":"SectionInfo"},"Protocols/SectionInfo.html#/s:10ListableUI11SectionInfoPAAE13anyIdentifierAA03AnyF0Cvp":{"name":"anyIdentifier","abstract":"

    Undocumented

    ","parent_name":"SectionInfo"},"Protocols/SectionInfo.html#/s:10ListableUI11SectionInfoPAAE11anyWasMoved10comparedToSbAA03AnycD0_p_tF":{"name":"anyWasMoved(comparedTo:)","abstract":"

    Undocumented

    ","parent_name":"SectionInfo"},"Protocols/AnyLocalizedCollatableItem.html#/s:10ListableUI26AnyLocalizedCollatableItemP15collationStringSSvp":{"name":"collationString","abstract":"

    Undocumented

    ","parent_name":"AnyLocalizedCollatableItem"},"Protocols/LocalizedCollatableItemContent.html#/s:10ListableUI30LocalizedCollatableItemContentP15collationStringSSvp":{"name":"collationString","abstract":"

    A string that represents the primary content of your ItemContent; usually a name or title.

    ","parent_name":"LocalizedCollatableItemContent"},"Protocols/ListViewSource.html#/s:10ListableUI14ListViewSourceP5StateQa":{"name":"State","abstract":"

    Undocumented

    ","parent_name":"ListViewSource"},"Protocols/ListViewSource.html#/s:10ListableUI14ListViewSourceP7content4withADyAA0E5StateCy0H0QzG_AA7ContentVztF":{"name":"content(with:content:)","abstract":"

    Undocumented

    ","parent_name":"ListViewSource"},"Protocols/ListViewSource.html#/s:10ListableUI14ListViewSourceP7content4withAA7ContentVAA0E5StateCy0I0QzG_tF":{"name":"content(with:)","abstract":"

    Undocumented

    ","parent_name":"ListViewSource"},"Protocols/ListEnvironmentKey.html#/s:10ListableUI18ListEnvironmentKeyP5ValueQa":{"name":"Value","abstract":"

    The type of value stored by this key.

    ","parent_name":"ListEnvironmentKey"},"Protocols/ListEnvironmentKey.html#/s:10ListableUI18ListEnvironmentKeyP12defaultValue0G0QzvpZ":{"name":"defaultValue","abstract":"

    The default value that will be vended by an Environment for this key if no other value has been set.

    ","parent_name":"ListEnvironmentKey"},"Protocols/ListLayoutAppearance.html#/s:10ListableUI20ListLayoutAppearanceP7defaultxvpZ":{"name":"default","abstract":"

    Undocumented

    ","parent_name":"ListLayoutAppearance"},"Protocols/ListLayoutAppearance.html#/s:10ListableUI20ListLayoutAppearanceP9directionAA0D9DirectionOvp":{"name":"direction","abstract":"

    Undocumented

    ","parent_name":"ListLayoutAppearance"},"Protocols/ListLayoutAppearance.html#/s:10ListableUI20ListLayoutAppearanceP20stickySectionHeadersSbvp":{"name":"stickySectionHeaders","abstract":"

    Undocumented

    ","parent_name":"ListLayoutAppearance"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutP10appearanceAA10AppearanceVvp":{"name":"appearance","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutP8behaviorAA8BehaviorVvp":{"name":"behavior","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutP7contentAA0dE7ContentCvp":{"name":"content","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutP20scrollViewPropertiesAA0de6ScrollgH0Vvp":{"name":"scrollViewProperties","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutP9directionAA0E9DirectionOvp":{"name":"direction","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutP20stickySectionHeadersSbvp":{"name":"stickySectionHeaders","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutP06updateE02inySo16UICollectionViewC_tF":{"name":"updateLayout(in:)","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutP6layout8delegate2inyAA014CollectionViewE8Delegate_p_So012UICollectionJ0CtF":{"name":"layout(delegate:in:)","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutP11setZIndexesyyF":{"name":"setZIndexes()","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutPAAE19visibleContentFrame3forSo6CGRectVSo16UICollectionViewC_tF":{"name":"visibleContentFrame(for:)","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutPAAE36positionStickySectionHeadersIfNeeded2inySo16UICollectionViewC_tF":{"name":"positionStickySectionHeadersIfNeeded(in:)","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutPAAE30updateOverscrollFooterPosition2inySo16UICollectionViewC_tF":{"name":"updateOverscrollFooterPosition(in:)","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutPAAE018adjustPositionsForE9Underflow2inySo16UICollectionViewC_tF":{"name":"adjustPositionsForLayoutUnderflow(in:)","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyLayoutDescriptionConfiguration.html#/s:10ListableUI33AnyLayoutDescriptionConfigurationP011createEmptyD010appearance8behaviorAA0c4ListD0_pAA10AppearanceV_AA8BehaviorVtF":{"name":"createEmptyLayout(appearance:behavior:)","abstract":"

    Undocumented

    ","parent_name":"AnyLayoutDescriptionConfiguration"},"Protocols/AnyLayoutDescriptionConfiguration.html#/s:10ListableUI33AnyLayoutDescriptionConfigurationP015createPopulatedD010appearance8behavior8delegateAA0c4ListD0_pAA10AppearanceV_AA8BehaviorVAA014CollectionViewD8Delegate_ptF":{"name":"createPopulatedLayout(appearance:behavior:delegate:)","abstract":"

    Undocumented

    ","parent_name":"AnyLayoutDescriptionConfiguration"},"Protocols/AnyLayoutDescriptionConfiguration.html#/s:10ListableUI33AnyLayoutDescriptionConfigurationP13shouldRebuild6layoutSbAA0c4ListD0_p_tF":{"name":"shouldRebuild(layout:)","abstract":"

    Undocumented

    ","parent_name":"AnyLayoutDescriptionConfiguration"},"Protocols/AnyLayoutDescriptionConfiguration.html#/s:10ListableUI33AnyLayoutDescriptionConfigurationP06isSameD4Type2asSbAaB_p_tF":{"name":"isSameLayoutType(as:)","abstract":"

    Undocumented

    ","parent_name":"AnyLayoutDescriptionConfiguration"},"Protocols/ListLayout.html#/s:10ListableUI10ListLayoutP0D10AppearanceQa":{"name":"LayoutAppearance","abstract":"

    Undocumented

    ","parent_name":"ListLayout"},"Protocols/ListLayout.html#/s:10ListableUI10ListLayoutP8defaultsAA0cD8DefaultsVvpZ":{"name":"defaults","abstract":"

    Undocumented

    ","parent_name":"ListLayout"},"Protocols/ListLayout.html#/s:10ListableUI10ListLayoutP16layoutAppearance0dF0Qzvp":{"name":"layoutAppearance","abstract":"

    Undocumented

    ","parent_name":"ListLayout"},"Protocols/ListLayout.html#/s:10ListableUI10ListLayoutP16layoutAppearance10appearance8behavior7contentx0dF0Qz_AA0F0VAA8BehaviorVAA0cD7ContentCtcfc":{"name":"init(layoutAppearance:appearance:behavior:content:)","abstract":"

    Undocumented

    ","parent_name":"ListLayout"},"Protocols/ListLayout.html#/s:10ListableUI10ListLayoutPAAE8describe10appearanceAA0D11DescriptionVy0D10AppearanceQzzc_tFZ":{"name":"describe(appearance:)","abstract":"

    Creates a new layout description for a list layout, with the provided optional layout configuration.

    ","parent_name":"ListLayout"},"Protocols/ListLayout.html#/s:10ListableUI10ListLayoutPAAE9directionAA0D9DirectionOvp":{"name":"direction","abstract":"

    Undocumented

    ","parent_name":"ListLayout"},"Protocols/ListLayout.html#/s:10ListableUI10ListLayoutPAAE20stickySectionHeadersSbvp":{"name":"stickySectionHeaders","abstract":"

    Undocumented

    ","parent_name":"ListLayout"},"Protocols/CollectionViewLayoutDelegate.html#/s:10ListableUI28CollectionViewLayoutDelegateP04listdE20UpdatedItemPositionsyySo012UICollectionD0CF":{"name":"listViewLayoutUpdatedItemPositions(_:)","abstract":"

    Undocumented

    ","parent_name":"CollectionViewLayoutDelegate"},"Protocols/CollectionViewLayoutDelegate.html#/s:10ListableUI28CollectionViewLayoutDelegateP04listE7Content8defaultsAA04ListeH0CAA0jE8DefaultsV_tF":{"name":"listLayoutContent(defaults:)","abstract":"

    Undocumented

    ","parent_name":"CollectionViewLayoutDelegate"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP0cD4TypeQa":{"name":"ItemContentType","abstract":"

    The type of ItemContent associated with this coordinator.

    ","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP7actionsAA0cdE7ActionsCy0cD4TypeQzGvp":{"name":"actions","abstract":"

    The available actions you can perform on the coordinated Item. Eg, updating it to a new value.

    ","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP4infoAA0cdE4InfoCy0cD4TypeQzGvp":{"name":"info","abstract":"

    Info about the coordinated Item, such as its original and current value.

    ","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP11wasInsertedyyAA0C0V8OnInsertVy0cD4TypeQz_GF":{"name":"wasInserted(_:)","abstract":"

    Invoked on the coordinator when it is first created and configured.

    ","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP10wasRemovedyyAA0C0V8OnRemoveVy0cD4TypeQz_GF":{"name":"wasRemoved(_:)","abstract":"

    Invoked on the coordinator when its owned item is removed from the list due to","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP8wasMovedyyAA0C0V6OnMoveVy0cD4TypeQz_GF":{"name":"wasMoved(_:)","abstract":"

    Invoked on the coordinator when its owned item is moved inside a list due to its","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP10wasUpdatedyyAA0C0V8OnUpdateVy0cD4TypeQz_GF":{"name":"wasUpdated(_:)","abstract":"

    Invoked on the coordinator when an external update is pushed onto the owned Item.","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP4Viewa":{"name":"View","abstract":"

    The view type associated with the item.

    ","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP4view0cD4Type_0D4ViewQZSgvp":{"name":"view","abstract":"

    The view, if any, currently used to display the item.

    ","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP11willDisplay4withy0cD4Type_0D4ViewQZ_tF":{"name":"willDisplay(with:)","abstract":"

    Invoked when the list is about to begin displaying the item with the given view.

    ","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP13didEndDisplay4withy0cD4Type_0D4ViewQZ_tF":{"name":"didEndDisplay(with:)","abstract":"

    Invoked when the list is about to complete displaying the item with the given view.

    ","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP11wasSelectedyyF":{"name":"wasSelected()","abstract":"

    Invoked when the item is selected, via either user interaction or the selectionStyle.

    ","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP13wasDeselectedyyF":{"name":"wasDeselected()","abstract":"

    Invoked when the item is deselected, via either user interaction or the selectionStyle.

    ","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentSwipeActionsView.html#/s:10ListableUI27ItemContentSwipeActionsViewP05swipeF5Width12CoreGraphics7CGFloatVvp":{"name":"swipeActionsWidth","abstract":"

    Undocumented

    ","parent_name":"ItemContentSwipeActionsView"},"Protocols/ItemContentSwipeActionsView.html#/s:10ListableUI27ItemContentSwipeActionsViewP16didPerformActionxySbc_tcfc":{"name":"init(didPerformAction:)","abstract":"

    Undocumented

    ","parent_name":"ItemContentSwipeActionsView"},"Protocols/ItemContentSwipeActionsView.html#/s:10ListableUI27ItemContentSwipeActionsViewP5apply7actionsyAA0eF13ConfigurationV_tF":{"name":"apply(actions:)","abstract":"

    Undocumented

    ","parent_name":"ItemContentSwipeActionsView"},"Protocols/ItemContentSwipeActionsView.html#/s:10ListableUI27ItemContentSwipeActionsViewP5apply5stateyAA0E11ActionStateO_tF":{"name":"apply(state:)","abstract":"

    Undocumented

    ","parent_name":"ItemContentSwipeActionsView"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP10identifierAA10IdentifierCyxGvp":{"name":"identifier","abstract":"

    Identifies the content across updates to the list. This value must remain the same,","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP07defaultC10PropertiesAA07DefaultcF0VyxGvp":{"name":"defaultItemProperties","abstract":"

    Default values to assign to various properties on the Item which wraps","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP5apply2to3for4withyAA0cD5ViewsVyxG_AA11ApplyReasonOAA0jcD4InfoVtF":{"name":"apply(to:for:with:)","abstract":"

    Called when rendering the content. This is where you should push data from your","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP8wasMoved10comparedToSbx_tF":{"name":"wasMoved(comparedTo:)","abstract":"

    Return true if the content’s sort changed based on the old value passed into the function.

    ","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP12isEquivalent2toSbx_tF":{"name":"isEquivalent(to:)","abstract":"

    Return false if the content’ changed based on the old value passed into the function.

    ","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP16SwipeActionsViewQa":{"name":"SwipeActionsView","abstract":"

    The view type to use to render swipe actions (delete, etc) for this content.","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP0D4ViewQa":{"name":"ContentView","abstract":"

    The content view used to draw the content.","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP014createReusableD4View5frame0dG0QzSo6CGRectV_tFZ":{"name":"createReusableContentView(frame:)","abstract":"

    Create and return a new content view used to render the content.

    ","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP11CoordinatorQa":{"name":"Coordinator","abstract":"

    The coordinator type to use to manage the live state of the Item and ItemContent,","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP18CoordinatorActionsa":{"name":"CoordinatorActions","abstract":"

    The actions passed to the coordinator.

    ","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP15CoordinatorInfoa":{"name":"CoordinatorInfo","abstract":"

    The info passed to the coordinator.

    ","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP15makeCoordinator7actions4info0F0QzAA0cdF7ActionsCyxG_AA0cdF4InfoCyxGtF":{"name":"makeCoordinator(actions:info:)","abstract":"

    Creates a new coordinator with the provided actions and info.

    ","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP14BackgroundViewQa":{"name":"BackgroundView","abstract":"

    The background view used to draw the background of the content.","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP28createReusableBackgroundView5frame0gH0QzSo6CGRectV_tFZ":{"name":"createReusableBackgroundView(frame:)","abstract":"

    Create and return a new background view used to render the content’s background.

    ","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP22SelectedBackgroundViewQa":{"name":"SelectedBackgroundView","abstract":"

    The selected background view used to draw the background of the content when it is selected or highlighted.","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP36createReusableSelectedBackgroundView5frame0ghI0QzSo6CGRectV_tFZ":{"name":"createReusableSelectedBackgroundView(frame:)","abstract":"

    Create and return a new background view used to render the content’s selected background.

    ","parent_name":"ItemContent"},"Protocols/AnyItem_Internal.html#/s:10ListableUI16AnyItem_InternalP11anyWasMoved10comparedToSbAA0cD0_p_tF":{"name":"anyWasMoved(comparedTo:)","abstract":"

    Undocumented

    ","parent_name":"AnyItem_Internal"},"Protocols/AnyItem_Internal.html#/s:10ListableUI16AnyItem_InternalP15anyIsEquivalent2toSbAA0cD0_p_tF":{"name":"anyIsEquivalent(to:)","abstract":"

    Undocumented

    ","parent_name":"AnyItem_Internal"},"Protocols/AnyItem_Internal.html#/s:10ListableUI16AnyItem_InternalP015newPresentationD5State4with15updateCallbacks015performsContentK0ypAA0dH12DependenciesV_AA06UpdateK0CSbtF":{"name":"newPresentationItemState(with:updateCallbacks:performsContentCallbacks:)","abstract":"

    Undocumented

    ","parent_name":"AnyItem_Internal"},"Protocols/AnyItem.html#/s:10ListableUI7AnyItemP10identifierAA0C10IdentifierCvp":{"name":"identifier","abstract":"

    Undocumented

    ","parent_name":"AnyItem"},"Protocols/AnyItem.html#/s:10ListableUI7AnyItemP10anyContentypvp":{"name":"anyContent","abstract":"

    Undocumented

    ","parent_name":"AnyItem"},"Protocols/AnyItem.html#/s:10ListableUI7AnyItemP6sizingAA6SizingOvp":{"name":"sizing","abstract":"

    Undocumented

    ","parent_name":"AnyItem"},"Protocols/AnyItem.html#/s:10ListableUI7AnyItemP6layoutAA0D6LayoutVvp":{"name":"layout","abstract":"

    Undocumented

    ","parent_name":"AnyItem"},"Protocols/AnyItem.html#/s:10ListableUI7AnyItemP14selectionStyleAA0d9SelectionF0Ovp":{"name":"selectionStyle","abstract":"

    Undocumented

    ","parent_name":"AnyItem"},"Protocols/AnyItem.html#/s:10ListableUI7AnyItemP25insertAndRemoveAnimationsAA0d6InsertfgH0VSgvp":{"name":"insertAndRemoveAnimations","abstract":"

    Undocumented

    ","parent_name":"AnyItem"},"Protocols/AnyItem.html#/s:10ListableUI7AnyItemP12swipeActionsAA05SwipeF13ConfigurationVSgvp":{"name":"swipeActions","abstract":"

    Undocumented

    ","parent_name":"AnyItem"},"Protocols/AnyItem.html#/s:10ListableUI7AnyItemP10reorderingAA10ReorderingVSgvp":{"name":"reordering","abstract":"

    Undocumented

    ","parent_name":"AnyItem"},"Protocols/HeaderFooterContent.html#/s:10ListableUI19HeaderFooterContentP5apply2to3for4withyAA0cdE5ViewsVyxG_AA11ApplyReasonOAA0kcdE4InfoVtF":{"name":"apply(to:for:with:)","abstract":"

    Undocumented

    ","parent_name":"HeaderFooterContent"},"Protocols/HeaderFooterContent.html#/s:10ListableUI19HeaderFooterContentP12isEquivalent2toSbx_tF":{"name":"isEquivalent(to:)","abstract":"

    Undocumented

    ","parent_name":"HeaderFooterContent"},"Protocols/HeaderFooterContent.html#/s:10ListableUI19HeaderFooterContentP0E4ViewQa":{"name":"ContentView","abstract":"

    The content view used to draw the content.","parent_name":"HeaderFooterContent"},"Protocols/HeaderFooterContent.html#/s:10ListableUI19HeaderFooterContentP014createReusableE4View5frame0eH0QzSo6CGRectV_tFZ":{"name":"createReusableContentView(frame:)","abstract":"

    Create and return a new content view used to render the content.

    ","parent_name":"HeaderFooterContent"},"Protocols/HeaderFooterContent.html#/s:10ListableUI19HeaderFooterContentP14BackgroundViewQa":{"name":"BackgroundView","abstract":"

    The background view used to draw the background of the content.","parent_name":"HeaderFooterContent"},"Protocols/HeaderFooterContent.html#/s:10ListableUI19HeaderFooterContentP28createReusableBackgroundView5frame0hI0QzSo6CGRectV_tFZ":{"name":"createReusableBackgroundView(frame:)","abstract":"

    Create and return a new background view used to render the content’s background.

    ","parent_name":"HeaderFooterContent"},"Protocols/HeaderFooterContent.html#/s:10ListableUI19HeaderFooterContentP21PressedBackgroundViewQa":{"name":"PressedBackgroundView","abstract":"

    The selected background view used to draw the background of the content when it is selected or highlighted.","parent_name":"HeaderFooterContent"},"Protocols/HeaderFooterContent.html#/s:10ListableUI19HeaderFooterContentP35createReusablePressedBackgroundView5frame0hiJ0QzSo6CGRectV_tFZ":{"name":"createReusablePressedBackgroundView(frame:)","abstract":"

    Create and return a new background view used to render the content’s pressed background.

    ","parent_name":"HeaderFooterContent"},"Protocols/HeaderFooterContent.html#/s:10ListableUI19HeaderFooterContentPAASQRzrlE12isEquivalent2toSbx_tF":{"name":"isEquivalent(to:)","parent_name":"HeaderFooterContent"},"Protocols/AnyHeaderFooter_Internal.html#/s:10ListableUI24AnyHeaderFooter_InternalP6layoutAA0dE6LayoutVvp":{"name":"layout","abstract":"

    Undocumented

    ","parent_name":"AnyHeaderFooter_Internal"},"Protocols/AnyHeaderFooter_Internal.html#/s:10ListableUI24AnyHeaderFooter_InternalP5apply2to3for4withySo6UIViewC_AA11ApplyReasonOAA0ldE11ContentInfoVtF":{"name":"apply(to:for:with:)","abstract":"

    Undocumented

    ","parent_name":"AnyHeaderFooter_Internal"},"Protocols/AnyHeaderFooter_Internal.html#/s:10ListableUI24AnyHeaderFooter_InternalP15anyIsEquivalent2toSbAA0cdE0_p_tF":{"name":"anyIsEquivalent(to:)","abstract":"

    Undocumented

    ","parent_name":"AnyHeaderFooter_Internal"},"Protocols/AnyHeaderFooter_Internal.html#/s:10ListableUI24AnyHeaderFooter_InternalP015newPresentationdE5State24performsContentCallbacksypSb_tF":{"name":"newPresentationHeaderFooterState(performsContentCallbacks:)","abstract":"

    Undocumented

    ","parent_name":"AnyHeaderFooter_Internal"},"Protocols/AnyHeaderFooter.html#/s:10ListableUI15AnyHeaderFooterP6sizingAA6SizingOvp":{"name":"sizing","abstract":"

    Undocumented

    ","parent_name":"AnyHeaderFooter"},"Protocols/AnyHeaderFooter.html#/s:10ListableUI15AnyHeaderFooterP6layoutAA0dE6LayoutVvp":{"name":"layout","abstract":"

    Undocumented

    ","parent_name":"AnyHeaderFooter"},"Protocols/AnyHeaderFooter.html":{"name":"AnyHeaderFooter","abstract":"

    Undocumented

    "},"Protocols/AnyHeaderFooter_Internal.html":{"name":"AnyHeaderFooter_Internal","abstract":"

    Undocumented

    "},"Protocols/HeaderFooterContent.html":{"name":"HeaderFooterContent","abstract":"

    A HeaderFooterContent is a type which specifies the content of a header, footer,"},"Protocols/AnyItem.html":{"name":"AnyItem","abstract":"

    Undocumented

    "},"Protocols/AnyItem_Internal.html":{"name":"AnyItem_Internal","abstract":"

    Undocumented

    "},"Protocols/ItemContent.html":{"name":"ItemContent","abstract":"

    An ItemContent is a type used to provide the content of an Item"},"Protocols/ItemContentSwipeActionsView.html":{"name":"ItemContentSwipeActionsView","abstract":"

    Conform to this protocol to implement a completely custom swipe action view.

    "},"Protocols/ItemContentCoordinator.html":{"name":"ItemContentCoordinator","abstract":"

    A type which lets you interactively manage the contents of an Item or ItemContent"},"Protocols/CollectionViewLayoutDelegate.html":{"name":"CollectionViewLayoutDelegate","abstract":"

    Undocumented

    "},"Protocols/ListLayout.html":{"name":"ListLayout","abstract":"

    Undocumented

    "},"Protocols/AnyLayoutDescriptionConfiguration.html":{"name":"AnyLayoutDescriptionConfiguration","abstract":"

    Undocumented

    "},"Protocols/AnyListLayout.html":{"name":"AnyListLayout","abstract":"

    Undocumented

    "},"Protocols/ListLayoutAppearance.html":{"name":"ListLayoutAppearance","abstract":"

    Undocumented

    "},"Protocols/ListEnvironmentKey.html":{"name":"ListEnvironmentKey","abstract":"

    Defines a value stored in the ListEnvironment of a list.

    "},"Protocols/ListViewSource.html":{"name":"ListViewSource","abstract":"

    Undocumented

    "},"Protocols/LocalizedCollatableItemContent.html":{"name":"LocalizedCollatableItemContent","abstract":"

    If you would like to make your ItemContent work with the LocalizedItemCollator,"},"Protocols/AnyLocalizedCollatableItem.html":{"name":"AnyLocalizedCollatableItem","abstract":"

    Represents an AnyItem which can be collated, via its vended collationString.

    "},"Protocols/SectionInfo.html":{"name":"SectionInfo","abstract":"

    Undocumented

    "},"Protocols/AnySectionInfo.html":{"name":"AnySectionInfo","abstract":"

    Undocumented

    "},"Functions.html#/s:10ListableUI13listableFatal_4file4lines5NeverOSSyXK_s12StaticStringVSutF":{"name":"listableFatal(_:file:line:)","abstract":"

    Undocumented

    "},"Functions.html#/s:10ListableUI20listablePrecondition__4file4lineySbyXK_SSyXKs12StaticStringVSutF":{"name":"listablePrecondition(_:_:file:line:)","abstract":"

    Undocumented

    "},"Extensions/Set.html#/s:Sh10ListableUIAA15ScrollAnimationO0D7OptionsORszrlE7defaultShyAEGvpZ":{"name":"default","abstract":"

    Undocumented

    ","parent_name":"Set"},"Extensions/UIRectEdge.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"UIRectEdge"},"Extensions/SectionedDiff.html#/SectionChanges":{"name":"SectionChanges","parent_name":"SectionedDiff"},"Extensions/SectionedDiff.html#/ItemChanges":{"name":"ItemChanges","parent_name":"SectionedDiff"},"Extensions/SectionedDiff.html":{"name":"SectionedDiff"},"Extensions/UIRectEdge.html":{"name":"UIRectEdge"},"Extensions/Set.html":{"name":"Set"},"Enums/CustomWidth/Alignment.html#/s:10ListableUI11CustomWidthO9AlignmentO4leftyA2EmF":{"name":"left","abstract":"

    Undocumented

    ","parent_name":"Alignment"},"Enums/CustomWidth/Alignment.html#/s:10ListableUI11CustomWidthO9AlignmentO6centeryA2EmF":{"name":"center","abstract":"

    Undocumented

    ","parent_name":"Alignment"},"Enums/CustomWidth/Alignment.html#/s:10ListableUI11CustomWidthO9AlignmentO5rightyA2EmF":{"name":"right","abstract":"

    Undocumented

    ","parent_name":"Alignment"},"Enums/CustomWidth/Alignment.html#/s:10ListableUI11CustomWidthO9AlignmentO10originWith06parentD05width7padding12CoreGraphics7CGFloatVAL_AlA17HorizontalPaddingVtF":{"name":"originWith(parentWidth:width:padding:)","abstract":"

    Undocumented

    ","parent_name":"Alignment"},"Enums/CustomWidth/Custom.html#/s:10ListableUI11CustomWidthO0C0V7paddingAA17HorizontalPaddingVvp":{"name":"padding","abstract":"

    Undocumented

    ","parent_name":"Custom"},"Enums/CustomWidth/Custom.html#/s:10ListableUI11CustomWidthO0C0V5widthAA0D10ConstraintOvp":{"name":"width","abstract":"

    Undocumented

    ","parent_name":"Custom"},"Enums/CustomWidth/Custom.html#/s:10ListableUI11CustomWidthO0C0V9alignmentAC9AlignmentOvp":{"name":"alignment","abstract":"

    Undocumented

    ","parent_name":"Custom"},"Enums/CustomWidth/Custom.html#/s:10ListableUI11CustomWidthO0C0V7padding5width9alignmentAeA17HorizontalPaddingV_AA0D10ConstraintOAC9AlignmentOtcfc":{"name":"init(padding:width:alignment:)","abstract":"

    Undocumented

    ","parent_name":"Custom"},"Enums/CustomWidth/Custom.html#/s:10ListableUI11CustomWidthO0C0V8position4withAC8PositionVSo6CGSizeV_tF":{"name":"position(with:)","abstract":"

    Undocumented

    ","parent_name":"Custom"},"Enums/CustomWidth.html#/s:10ListableUI11CustomWidthO7defaultyA2CmF":{"name":"default","abstract":"

    Undocumented

    ","parent_name":"CustomWidth"},"Enums/CustomWidth.html#/s:10ListableUI11CustomWidthO4fillyA2CmF":{"name":"fill","abstract":"

    Undocumented

    ","parent_name":"CustomWidth"},"Enums/CustomWidth.html#/s:10ListableUI11CustomWidthO6customyA2C0C0VcACmF":{"name":"custom(_:)","abstract":"

    Undocumented

    ","parent_name":"CustomWidth"},"Enums/CustomWidth.html#/s:10ListableUI11CustomWidthO5merge4withA2C_tF":{"name":"merge(with:)","abstract":"

    Undocumented

    ","parent_name":"CustomWidth"},"Enums/CustomWidth.html#/s:10ListableUI11CustomWidthO8position4with07defaultD0AC8PositionVSo6CGSizeV_12CoreGraphics7CGFloatVtF":{"name":"position(with:defaultWidth:)","abstract":"

    Undocumented

    ","parent_name":"CustomWidth"},"Enums/CustomWidth/Custom.html":{"name":"Custom","abstract":"

    Undocumented

    ","parent_name":"CustomWidth"},"Enums/CustomWidth/Alignment.html":{"name":"Alignment","abstract":"

    Undocumented

    ","parent_name":"CustomWidth"},"Enums/CustomWidth.html#/s:10ListableUI11CustomWidthO8PositionV":{"name":"Position","abstract":"

    Undocumented

    ","parent_name":"CustomWidth"},"Enums/WidthConstraint.html#/s:10ListableUI15WidthConstraintO02noD0yA2CmF":{"name":"noConstraint","abstract":"

    Undocumented

    ","parent_name":"WidthConstraint"},"Enums/WidthConstraint.html#/s:10ListableUI15WidthConstraintO5fixedyAC12CoreGraphics7CGFloatVcACmF":{"name":"fixed(_:)","abstract":"

    Undocumented

    ","parent_name":"WidthConstraint"},"Enums/WidthConstraint.html#/s:10ListableUI15WidthConstraintO6atMostyAC12CoreGraphics7CGFloatVcACmF":{"name":"atMost(_:)","abstract":"

    Undocumented

    ","parent_name":"WidthConstraint"},"Enums/WidthConstraint.html#/s:10ListableUI15WidthConstraintO5clampy12CoreGraphics7CGFloatVAGF":{"name":"clamp(_:)","abstract":"

    Undocumented

    ","parent_name":"WidthConstraint"},"Enums/Sizing/Constraint/Axis/Value.html#/s:10ListableUI6SizingO10ConstraintV4AxisO5ValueO7defaultyA2ImF":{"name":"default","abstract":"

    Undocumented

    ","parent_name":"Value"},"Enums/Sizing/Constraint/Axis/Value.html#/s:10ListableUI6SizingO10ConstraintV4AxisO5ValueO5fixedyAI12CoreGraphics7CGFloatVcAImF":{"name":"fixed(_:)","abstract":"

    Undocumented

    ","parent_name":"Value"},"Enums/Sizing/Constraint/Axis/Value.html#/s:10ListableUI6SizingO10ConstraintV4AxisO5ValueO5value4with12CoreGraphics7CGFloatVAN_tF":{"name":"value(with:)","abstract":"

    Undocumented

    ","parent_name":"Value"},"Enums/Sizing/Constraint/Axis.html#/s:10ListableUI6SizingO10ConstraintV4AxisO02noD0yA2GmF":{"name":"noConstraint","abstract":"

    Undocumented

    ","parent_name":"Axis"},"Enums/Sizing/Constraint/Axis.html#/s:10ListableUI6SizingO10ConstraintV4AxisO7atLeastyA2G5ValueOcAGmF":{"name":"atLeast(_:)","abstract":"

    Undocumented

    ","parent_name":"Axis"},"Enums/Sizing/Constraint/Axis.html#/s:10ListableUI6SizingO10ConstraintV4AxisO6atMostyAG12CoreGraphics7CGFloatVcAGmF":{"name":"atMost(_:)","abstract":"

    Undocumented

    ","parent_name":"Axis"},"Enums/Sizing/Constraint/Axis.html#/s:10ListableUI6SizingO10ConstraintV4AxisO6withinyA2G5ValueO_12CoreGraphics7CGFloatVtcAGmF":{"name":"within(_:_:)","abstract":"

    Undocumented

    ","parent_name":"Axis"},"Enums/Sizing/Constraint/Axis/Value.html":{"name":"Value","abstract":"

    Undocumented

    ","parent_name":"Axis"},"Enums/Sizing/Constraint/Axis.html#/s:10ListableUI6SizingO10ConstraintV4AxisO5clamp_4with12CoreGraphics7CGFloatVAL_ALtF":{"name":"clamp(_:with:)","abstract":"

    Undocumented

    ","parent_name":"Axis"},"Enums/Sizing/Constraint.html#/s:10ListableUI6SizingO10ConstraintV5widthAE4AxisOvp":{"name":"width","abstract":"

    Undocumented

    ","parent_name":"Constraint"},"Enums/Sizing/Constraint.html#/s:10ListableUI6SizingO10ConstraintV6heightAE4AxisOvp":{"name":"height","abstract":"

    Undocumented

    ","parent_name":"Constraint"},"Enums/Sizing/Constraint.html#/s:10ListableUI6SizingO10ConstraintV02noD0AEvpZ":{"name":"noConstraint","abstract":"

    Undocumented

    ","parent_name":"Constraint"},"Enums/Sizing/Constraint.html#/s:10ListableUI6SizingO10ConstraintVyA2E4AxisOcfc":{"name":"init(_:)","abstract":"

    Undocumented

    ","parent_name":"Constraint"},"Enums/Sizing/Constraint.html#/s:10ListableUI6SizingO10ConstraintV5width6heightA2E4AxisO_AItcfc":{"name":"init(width:height:)","abstract":"

    Undocumented

    ","parent_name":"Constraint"},"Enums/Sizing/Constraint.html#/s:10ListableUI6SizingO10ConstraintV5clamp_4withSo6CGSizeVAI_AItF":{"name":"clamp(_:with:)","abstract":"

    Undocumented

    ","parent_name":"Constraint"},"Enums/Sizing/Constraint/Axis.html":{"name":"Axis","abstract":"

    Undocumented

    ","parent_name":"Constraint"},"Enums/Sizing.html#/s:10ListableUI6SizingO7defaultyA2CmF":{"name":"default","abstract":"

    The default size from the list’s appearance is used. The size is not dynamic at all.

    ","parent_name":"Sizing"},"Enums/Sizing.html#/s:10ListableUI6SizingO5fixedyAC12CoreGraphics7CGFloatV_AGtcACmF":{"name":"fixed(width:height:)","abstract":"

    Fixes the size to the absolute value passed in.

    ","parent_name":"Sizing"},"Enums/Sizing.html#/s:10ListableUI6SizingO8thatFitsyA2C10ConstraintVcACmF":{"name":"thatFits(_:)","abstract":"

    Sizes the item by calling sizeThatFits on its underlying view type.","parent_name":"Sizing"},"Enums/Sizing.html#/s:10ListableUI6SizingO10autolayoutyA2C10ConstraintVcACmF":{"name":"autolayout(_:)","abstract":"

    Sizes the item by calling systemLayoutSizeFitting on its underlying view type.","parent_name":"Sizing"},"Enums/Sizing.html#/s:10ListableUI6SizingO11MeasureInfoV":{"name":"MeasureInfo","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Enums/Sizing/Constraint.html":{"name":"Constraint","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Enums/ScrollAnimation/AnimationOptions.html#/s:10ListableUI15ScrollAnimationO0D7OptionsO14curveEaseInOutyA2EmF":{"name":"curveEaseInOut","abstract":"

    Undocumented

    ","parent_name":"AnimationOptions"},"Enums/ScrollAnimation/AnimationOptions.html#/s:10ListableUI15ScrollAnimationO0D7OptionsO11curveEaseInyA2EmF":{"name":"curveEaseIn","abstract":"

    Undocumented

    ","parent_name":"AnimationOptions"},"Enums/ScrollAnimation/AnimationOptions.html#/s:10ListableUI15ScrollAnimationO0D7OptionsO12curveEaseOutyA2EmF":{"name":"curveEaseOut","abstract":"

    Undocumented

    ","parent_name":"AnimationOptions"},"Enums/ScrollAnimation/AnimationOptions.html#/s:10ListableUI15ScrollAnimationO0D7OptionsO11curveLinearyA2EmF":{"name":"curveLinear","abstract":"

    Undocumented

    ","parent_name":"AnimationOptions"},"Enums/ScrollAnimation.html#/s:10ListableUI15ScrollAnimationO4noneyA2CmF":{"name":"none","abstract":"

    No animation is performed.

    ","parent_name":"ScrollAnimation"},"Enums/ScrollAnimation.html#/s:10ListableUI15ScrollAnimationO7defaultyA2CmF":{"name":"default","abstract":"

    A default animation is performed. This is the same as .custom().

    ","parent_name":"ScrollAnimation"},"Enums/ScrollAnimation.html#/s:10ListableUI15ScrollAnimationO6customyACSd_ShyAC0D7OptionsOGtcACmF":{"name":"custom(duration:options:)","abstract":"

    A custom animation is performed.","parent_name":"ScrollAnimation"},"Enums/ScrollAnimation.html#/s:10ListableUI15ScrollAnimationO6springyACSd_So24UISpringTimingParametersCtcACmF":{"name":"spring(duration:timing:)","abstract":"

    Undocumented

    ","parent_name":"ScrollAnimation"},"Enums/ScrollAnimation.html#/s:10ListableUI15ScrollAnimationO3and4withACSb_tF":{"name":"and(with:)","abstract":"

    Ands the animation with the provided bool, returning the animation if true, and .none if false.

    ","parent_name":"ScrollAnimation"},"Enums/ScrollAnimation.html#/s:10ListableUI15ScrollAnimationO7perform10animations10completionyyyc_ySbctF":{"name":"perform(animations:completion:)","abstract":"

    Performs the provided animations for the ScrollAnimation.

    ","parent_name":"ScrollAnimation"},"Enums/ScrollAnimation/AnimationOptions.html":{"name":"AnimationOptions","abstract":"

    The animations options available for the ScrollAnimation.

    ","parent_name":"ScrollAnimation"},"Enums/ListSizing.html#/s:10ListableUI10ListSizingO10fillParentyA2CmF":{"name":"fillParent","abstract":"

    When using .fillParent, the full available space will be taken up, regardless","parent_name":"ListSizing"},"Enums/ListSizing.html#/s:10ListableUI10ListSizingO14measureContentyA2CmF":{"name":"measureContent","abstract":"

    When using .measureContent, the content will be measured within the provided fitting size","parent_name":"ListSizing"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO8verticalyA2CmF":{"name":"vertical","abstract":"

    A list layout which lays out top to bottom.

    ","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO10horizontalyA2CmF":{"name":"horizontal","abstract":"

    A list layout which lays out left to right (or leading to trailing, depending on implementation).

    ","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO6switch8vertical10horizontalxxyXE_xyXEtlF":{"name":"switch(vertical:horizontal:)","abstract":"

    When writing a layout, use this method to return differing values based on","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO6switch8vertical10horizontalxxyXK_xyXKtlF":{"name":"switch(vertical:horizontal:)","abstract":"

    When writing a layout, use this method to return differing values based on","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO6height3for12CoreGraphics7CGFloatVSo6CGSizeV_tF":{"name":"height(for:)","abstract":"

    .vertical: Returns the height of the provided size.","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO5width3for12CoreGraphics7CGFloatVSo6CGSizeV_tF":{"name":"width(for:)","abstract":"

    .vertical: Returns the width of the provided size.","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO5point1x1ySo7CGPointV12CoreGraphics7CGFloatV_AKtF":{"name":"point(x:y:)","abstract":"

    .vertical: Returns a CGPoint made with (x, y).","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO4size3forSo6CGSizeVAG_tF":{"name":"size(for:)","abstract":"

    .vertical: Returns the provided size.","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO4size5width6heightSo6CGSizeV12CoreGraphics7CGFloatV_AKtF":{"name":"size(width:height:)","abstract":"

    .vertical: Returns a CGSize made with (width, height).","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO4maxY3for12CoreGraphics7CGFloatVSo6CGRectV_tF":{"name":"maxY(for:)","abstract":"

    .vertical: Returns the maxY of the frame.","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO4maxX3for12CoreGraphics7CGFloatVSo6CGRectV_tF":{"name":"maxX(for:)","abstract":"

    .vertical: Returns the maxX of the frame.","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO1x3for12CoreGraphics7CGFloatVSo7CGPointV_tF":{"name":"x(for:)","abstract":"

    .vertical: Returns the x of the point.","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO1y3for12CoreGraphics7CGFloatVSo7CGPointV_tF":{"name":"y(for:)","abstract":"

    .vertical: Returns the y of the point.","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO3top4with12CoreGraphics7CGFloatVSo12UIEdgeInsetsV_tF":{"name":"top(with:)","abstract":"

    .vertical: Returns the top of the insets.","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO6bottom4with12CoreGraphics7CGFloatVSo12UIEdgeInsetsV_tF":{"name":"bottom(with:)","abstract":"

    .vertical: Returns the bottom of the insets.","parent_name":"LayoutDirection"},"Enums/ItemSelectionStyle.html#/s:10ListableUI18ItemSelectionStyleO13notSelectableyA2CmF":{"name":"notSelectable","abstract":"

    The item is not selectable at all.

    ","parent_name":"ItemSelectionStyle"},"Enums/ItemSelectionStyle.html#/s:10ListableUI18ItemSelectionStyleO8tappableyA2CmF":{"name":"tappable","abstract":"

    The item is temporarily selectable. Once the user lifts their finger, the item is deselected.

    ","parent_name":"ItemSelectionStyle"},"Enums/ItemSelectionStyle.html#/s:10ListableUI18ItemSelectionStyleO10selectableyACSb_tcACmF":{"name":"selectable(isSelected:)","abstract":"

    The item is persistently selectable. Once the user lifts their finger, the item is maintained.

    ","parent_name":"ItemSelectionStyle"},"Enums/ItemPosition.html#/s:10ListableUI12ItemPositionO6singleyA2CmF":{"name":"single","abstract":"

    Undocumented

    ","parent_name":"ItemPosition"},"Enums/ItemPosition.html#/s:10ListableUI12ItemPositionO5firstyA2CmF":{"name":"first","abstract":"

    Undocumented

    ","parent_name":"ItemPosition"},"Enums/ItemPosition.html#/s:10ListableUI12ItemPositionO6middleyA2CmF":{"name":"middle","abstract":"

    Undocumented

    ","parent_name":"ItemPosition"},"Enums/ItemPosition.html#/s:10ListableUI12ItemPositionO4lastyA2CmF":{"name":"last","abstract":"

    Undocumented

    ","parent_name":"ItemPosition"},"Enums/SwipeActionState.html#/s:10ListableUI16SwipeActionStateO6closedyA2CmF":{"name":"closed","abstract":"

    The actions are completely collapsed.

    ","parent_name":"SwipeActionState"},"Enums/SwipeActionState.html#/s:10ListableUI16SwipeActionStateO4openyA2CmF":{"name":"open","abstract":"

    The actions are open to their natural size.

    ","parent_name":"SwipeActionState"},"Enums/SwipeActionState.html#/s:10ListableUI16SwipeActionStateO7swipingyACSb_tcACmF":{"name":"swiping(willPerformAction:)","abstract":"

    The actions are being swiped and the size is affected by the gesture recognizer.

    ","parent_name":"SwipeActionState"},"Enums/SwipeActionState.html#/s:10ListableUI16SwipeActionStateO016willPerformFirstD13AutomaticallyyA2CmF":{"name":"willPerformFirstActionAutomatically","abstract":"

    The actions have been swiped far enough to confirm the first action.

    ","parent_name":"SwipeActionState"},"Enums/SwipeActionState.html#/s:10ListableUI16SwipeActionStateO13expandActionsyA2CmF":{"name":"expandActions","abstract":"

    The actions have been asked to completely expand (typically because the item is being deleted).

    ","parent_name":"SwipeActionState"},"Enums/ContentFilters.html#/s:10ListableUI14ContentFiltersO03anyC0ShyACGvpZ":{"name":"anyContent","abstract":"

    If there is any content in the list at all, including headers and footers.

    ","parent_name":"ContentFilters"},"Enums/ContentFilters.html#/s:10ListableUI14ContentFiltersO12sectionsOnlyShyACGvpZ":{"name":"sectionsOnly","abstract":"

    Check if the content in the list is section-driven content, with the","parent_name":"ContentFilters"},"Enums/ContentFilters.html#/s:10ListableUI14ContentFiltersO10listHeaderyA2CmF":{"name":"listHeader","abstract":"

    If the list has a list-level header.

    ","parent_name":"ContentFilters"},"Enums/ContentFilters.html#/s:10ListableUI14ContentFiltersO10listFooteryA2CmF":{"name":"listFooter","abstract":"

    If the list has a list-level footer.

    ","parent_name":"ContentFilters"},"Enums/ContentFilters.html#/s:10ListableUI14ContentFiltersO16overscrollFooteryA2CmF":{"name":"overscrollFooter","abstract":"

    If the list has an overscroll footer.

    ","parent_name":"ContentFilters"},"Enums/ContentFilters.html#/s:10ListableUI14ContentFiltersO5itemsyA2CmF":{"name":"items","abstract":"

    If the sections in the list contain any items.

    ","parent_name":"ContentFilters"},"Enums/ContentFilters.html#/s:10ListableUI14ContentFiltersO14sectionHeadersyA2CmF":{"name":"sectionHeaders","abstract":"

    If any section in the list has a header.

    ","parent_name":"ContentFilters"},"Enums/ContentFilters.html#/s:10ListableUI14ContentFiltersO14sectionFootersyA2CmF":{"name":"sectionFooters","abstract":"

    If any section in the list has a footer.

    ","parent_name":"ContentFilters"},"Enums/AutoScrollAction/OnInsertedItem.html#/s:10ListableUI16AutoScrollActionO14OnInsertedItemV11destinationAC0D11DestinationOvp":{"name":"destination","abstract":"

    The item in the list to scroll to when the insertedIdentifier is inserted.

    ","parent_name":"OnInsertedItem"},"Enums/AutoScrollAction/OnInsertedItem.html#/s:10ListableUI16AutoScrollActionO14OnInsertedItemV18insertedIdentifierAA03AnyJ0Cvp":{"name":"insertedIdentifier","abstract":"

    The identifier of the item for which the AutoScrollAction should be performed.

    ","parent_name":"OnInsertedItem"},"Enums/AutoScrollAction/OnInsertedItem.html#/s:10ListableUI16AutoScrollActionO14OnInsertedItemV8positionAA0D8PositionVvp":{"name":"position","abstract":"

    The desired scroll position,

    ","parent_name":"OnInsertedItem"},"Enums/AutoScrollAction/OnInsertedItem.html#/s:10ListableUI16AutoScrollActionO14OnInsertedItemV9animationAA0D9AnimationOvp":{"name":"animation","abstract":"

    How to animate the change.

    ","parent_name":"OnInsertedItem"},"Enums/AutoScrollAction/OnInsertedItem.html#/s:10ListableUI16AutoScrollActionO14OnInsertedItemV13shouldPerformySbAA04ListD12PositionInfoVcvp":{"name":"shouldPerform","abstract":"

    An additional check you may provide to approve or reject the scroll action.

    ","parent_name":"OnInsertedItem"},"Enums/AutoScrollAction/OnInsertedItem.html#/s:10ListableUI16AutoScrollActionO14OnInsertedItemV10didPerformyyAA04ListD12PositionInfoVcvp":{"name":"didPerform","abstract":"

    Called when the list performs the insertion.

    ","parent_name":"OnInsertedItem"},"Enums/AutoScrollAction/ScrollDestination.html#/s:10ListableUI16AutoScrollActionO0D11DestinationO9firstItemyA2EmF":{"name":"firstItem","abstract":"

    Scroll to the first item in the list.

    ","parent_name":"ScrollDestination"},"Enums/AutoScrollAction/ScrollDestination.html#/s:10ListableUI16AutoScrollActionO0D11DestinationO8lastItemyA2EmF":{"name":"lastItem","abstract":"

    Scroll to the last item in the list.

    ","parent_name":"ScrollDestination"},"Enums/AutoScrollAction/ScrollDestination.html#/s:10ListableUI16AutoScrollActionO0D11DestinationO4itemyAeA13AnyIdentifierCcAEmF":{"name":"item(_:)","abstract":"

    Scroll to the item with the specified identifier.

    ","parent_name":"ScrollDestination"},"Enums/AutoScrollAction.html#/s:10ListableUI16AutoScrollActionO4noneyA2CmF":{"name":"none","abstract":"

    The list never automatically scrolls.

    ","parent_name":"AutoScrollAction"},"Enums/AutoScrollAction.html#/s:10ListableUI16AutoScrollActionO12scrollToItemyA2C010OnInsertedH0V_tcACmF":{"name":"scrollToItem(onInsertOf:)","abstract":"

    Scrolls to the specified item when the list is updated if the item was inserted in this update.

    ","parent_name":"AutoScrollAction"},"Enums/AutoScrollAction.html#/s:10ListableUI16AutoScrollActionO8scrollTo_10onInsertOf8position9animation13shouldPerform03didN0A2C0D11DestinationOSg_AA13AnyIdentifierCAA0D8PositionVAA0D9AnimationOSbAA04ListdS4InfoVcyATctFZ":{"name":"scrollTo(_:onInsertOf:position:animation:shouldPerform:didPerform:)","abstract":"

    Scrolls to the specified item when the list is updated if the item was inserted in this update.

    ","parent_name":"AutoScrollAction"},"Enums/AutoScrollAction/ScrollDestination.html":{"name":"ScrollDestination","abstract":"

    Where to scroll as a result of an AutoScrollAction.

    ","parent_name":"AutoScrollAction"},"Enums/AutoScrollAction/OnInsertedItem.html":{"name":"OnInsertedItem","abstract":"

    Values used to configure the scrollToItem(onInsertOf:) action.

    ","parent_name":"AutoScrollAction"},"Enums/ApplyReason.html#/s:10ListableUI11ApplyReasonO11willDisplayyA2CmF":{"name":"willDisplay","abstract":"

    The view is about to be displayed on screen. Update should be performed with no animation.

    ","parent_name":"ApplyReason"},"Enums/ApplyReason.html#/s:10ListableUI11ApplyReasonO10wasUpdatedyA2CmF":{"name":"wasUpdated","abstract":"

    A view that is already visible is being updated.","parent_name":"ApplyReason"},"Enums/ApplyReason.html#/s:10ListableUI11ApplyReasonO13shouldAnimateSbvp":{"name":"shouldAnimate","abstract":"

    If you should use animations while applying the update.","parent_name":"ApplyReason"},"Enums/ApplyReason.html":{"name":"ApplyReason","abstract":"

    Why the Item or HeaderFooter is being asked to apply an update to its presented views.

    "},"Enums/AutoScrollAction.html":{"name":"AutoScrollAction","abstract":"

    Options for auto-scrolling to items when the list is updated.

    "},"Enums/ContentFilters.html":{"name":"ContentFilters","abstract":"

    A filter enum which allows you to query the types of content contained in a Content or Section object.

    "},"Enums/SwipeActionState.html":{"name":"SwipeActionState","abstract":"

    These states dictate the layout of the swipe actions.

    "},"Enums/ItemPosition.html":{"name":"ItemPosition","abstract":"

    Undocumented

    "},"Enums/ItemSelectionStyle.html":{"name":"ItemSelectionStyle","abstract":"

    Controls the selection style and behavior of an item in a list.

    "},"Enums/LayoutDirection.html":{"name":"LayoutDirection","abstract":"

    Describes the given direction / axis that a layout uses when flowing its content.

    "},"Enums/ListSizing.html":{"name":"ListSizing","abstract":"

    Provides the possible options for how to size and measure a list when its measured size is queried"},"Enums/ScrollAnimation.html":{"name":"ScrollAnimation","abstract":"

    Specifies the kind of animation to use when scrolling a list view.

    "},"Enums/Sizing.html":{"name":"Sizing","abstract":"

    Controls how a header, footer, or item in a list view is sized.

    "},"Enums/WidthConstraint.html":{"name":"WidthConstraint","abstract":"

    Undocumented

    "},"Enums/CustomWidth.html":{"name":"CustomWidth","abstract":"

    Undocumented

    "},"Classes/ReorderingActions.html#/s:10ListableUI17ReorderingActionsC8isMovingSbvp":{"name":"isMoving","abstract":"

    Undocumented

    ","parent_name":"ReorderingActions"},"Classes/ReorderingActions.html#/s:10ListableUI17ReorderingActionsC11beginMovingSbyF":{"name":"beginMoving()","abstract":"

    Undocumented

    ","parent_name":"ReorderingActions"},"Classes/ReorderingActions.html#/s:10ListableUI17ReorderingActionsC5moved4withySo22UIPanGestureRecognizerC_tF":{"name":"moved(with:)","abstract":"

    Undocumented

    ","parent_name":"ReorderingActions"},"Classes/ReorderingActions.html#/s:10ListableUI17ReorderingActionsC3endyyF":{"name":"end()","abstract":"

    Undocumented

    ","parent_name":"ReorderingActions"},"Classes/ItemPreviewView.html#/c:@M@ListableUI@objc(cs)ItemPreviewView(im)init":{"name":"init()","abstract":"

    Creates a preview for the given width.

    ","parent_name":"ItemPreviewView"},"Classes/ItemPreviewView.html#/s:10ListableUI15ItemPreviewViewC4with5state10appearance4itemAC12CoreGraphics7CGFloatV_AA0C5StateVAA0cD10AppearanceVAA03AnyC0_ptcfc":{"name":"init(with:state:appearance:item:)","abstract":"

    Creates a preview for the given item and parameters, and then lays out the preview view.

    ","parent_name":"ItemPreviewView"},"Classes/ItemPreviewView.html#/s:10ListableUI15ItemPreviewViewC6update4with5state10appearance4itemy12CoreGraphics7CGFloatV_AA0C5StateVAA0cD10AppearanceVAA03AnyC0_ptF":{"name":"update(with:state:appearance:item:)","abstract":"

    Updates the item for the given parameters.","parent_name":"ItemPreviewView"},"Classes/ItemPreviewView.html#/c:@M@ListableUI@objc(cs)ItemPreviewView(im)layoutSubviews":{"name":"layoutSubviews()","abstract":"

    Undocumented

    ","parent_name":"ItemPreviewView"},"Classes/ItemPreviewView.html#/c:@M@ListableUI@objc(cs)ItemPreviewView(im)sizeThatFits:":{"name":"sizeThatFits(_:)","abstract":"

    Undocumented

    ","parent_name":"ItemPreviewView"},"Classes/ItemPreviewView.html#/c:@M@ListableUI@objc(cs)ItemPreviewView(py)intrinsicContentSize":{"name":"intrinsicContentSize","abstract":"

    Undocumented

    ","parent_name":"ItemPreviewView"},"Classes/StaticSource/State.html#/s:10ListableUI12StaticSourceC5StateVAEycfc":{"name":"init()","abstract":"

    Undocumented

    ","parent_name":"State"},"Classes/StaticSource/State.html":{"name":"State","abstract":"

    Undocumented

    ","parent_name":"StaticSource"},"Classes/StaticSource.html#/s:10ListableUI12StaticSourceC7contentAA7ContentVvp":{"name":"content","abstract":"

    Undocumented

    ","parent_name":"StaticSource"},"Classes/StaticSource.html#/s:10ListableUI12StaticSourceC4withAcA7ContentV_tcfc":{"name":"init(with:)","abstract":"

    Undocumented

    ","parent_name":"StaticSource"},"Classes/StaticSource.html#/s:10ListableUI12StaticSourceC4withACyAA7ContentVzXE_tcfc":{"name":"init(with:)","abstract":"

    Undocumented

    ","parent_name":"StaticSource"},"Classes/StaticSource.html#/s:10ListableUI12StaticSourceC7content4withADyAA0D5StateCyAC0G0VG_AA7ContentVztF":{"name":"content(with:content:)","abstract":"

    Undocumented

    ","parent_name":"StaticSource"},"Classes/StaticSource.html#/s:10ListableUI12StaticSourceC7content4withAA7ContentVAA0D5StateCyAC0H0VG_tF":{"name":"content(with:)","abstract":"

    Undocumented

    ","parent_name":"StaticSource"},"Classes/DynamicSource.html#/s:10ListableUI13DynamicSourceC7Buildera":{"name":"Builder","abstract":"

    Undocumented

    ","parent_name":"DynamicSource"},"Classes/DynamicSource.html#/s:10ListableUI13DynamicSourceC4withACyxGyAA0D5StateCyxG_AA7ContentVztc_tcfc":{"name":"init(with:)","abstract":"

    Undocumented

    ","parent_name":"DynamicSource"},"Classes/DynamicSource.html#/s:10ListableUI13DynamicSourceC7content4withADyAA0D5StateCyxG_AA7ContentVztF":{"name":"content(with:content:)","abstract":"

    Undocumented

    ","parent_name":"DynamicSource"},"Classes/SourceState.html#/s:10ListableUI11SourceStateC5valuexvp":{"name":"value","abstract":"

    Undocumented

    ","parent_name":"SourceState"},"Classes/SourceState.html#/s:10ListableUI11SourceStateC3setyyyxzXEF":{"name":"set(_:)","abstract":"

    Undocumented

    ","parent_name":"SourceState"},"Classes/SourceState.html#/s:10ListableUI11SourceStateC7initial9didChangeACyxGx_yyctcfc":{"name":"init(initial:didChange:)","abstract":"

    Undocumented

    ","parent_name":"SourceState"},"Classes/SourceState.html#/s:10ListableUI11SourceStateC7discardyyF":{"name":"discard()","abstract":"

    Undocumented

    ","parent_name":"SourceState"},"Classes/StateAccessor.html#/s:10ListableUI13StateAccessorC5valuexvp":{"name":"value","abstract":"

    Undocumented

    ","parent_name":"StateAccessor"},"Classes/ListViewController.html#/s:10ListableUI18ListViewControllerC9configure4listyAA0C10PropertiesVz_tF":{"name":"configure(list:)","abstract":"

    Override this method to configure your list how you’d like to.","parent_name":"ListViewController"},"Classes/ListViewController.html#/s:10ListableUI18ListViewControllerC6reload8animatedySb_tF":{"name":"reload(animated:)","abstract":"

    Undocumented

    ","parent_name":"ListViewController"},"Classes/ListViewController.html#/c:@M@ListableUI@objc(cs)ListViewController(im)initWithNibName:bundle:":{"name":"init(nibName:bundle:)","abstract":"

    Undocumented

    ","parent_name":"ListViewController"},"Classes/ListViewController.html#/c:@M@ListableUI@objc(cs)ListViewController(im)loadView":{"name":"loadView()","abstract":"

    Undocumented

    ","parent_name":"ListViewController"},"Classes/ListViewController.html#/c:@M@ListableUI@objc(cs)ListViewController(im)viewWillAppear:":{"name":"viewWillAppear(_:)","abstract":"

    Undocumented

    ","parent_name":"ListViewController"},"Classes/ListView.html#/s:10ListableUI8ListViewC5frame10appearanceACSo6CGRectV_AA10AppearanceVtcfc":{"name":"init(frame:appearance:)","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC19debuggingIdentifierSSSgvp":{"name":"debuggingIdentifier","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC10appearanceAA10AppearanceVvp":{"name":"appearance","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC18scrollPositionInfoAA0c6ScrollfG0Vvp":{"name":"scrollPositionInfo","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC6layoutAA17LayoutDescriptionVvp":{"name":"layout","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC3set6layout8animated10completionyAA17LayoutDescriptionV_SbyyctF":{"name":"set(layout:animated:completion:)","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC11contentSizeSo6CGSizeVvp":{"name":"contentSize","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC8behaviorAA8BehaviorVvp":{"name":"behavior","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC21scrollIndicatorInsetsSo06UIEdgeG0Vvp":{"name":"scrollIndicatorInsets","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC13stateObserverAA0c5StateF0Vvp":{"name":"stateObserver","abstract":"

    A state observer allows you to receive callbacks when varying types","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC16ScrollCompletiona":{"name":"ScrollCompletion","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC8scrollTo4item8position9animation10completionSbAA7AnyItem_p_AA14ScrollPositionVAA0M9AnimationOySbctF":{"name":"scrollTo(item:position:animation:completion:)","abstract":"

    Scrolls to the provided item, with the provided positioning.","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC8scrollTo4item8position9animation10completionSbAA13AnyIdentifierC_AA14ScrollPositionVAA0M9AnimationOySbctF":{"name":"scrollTo(item:position:animation:completion:)","abstract":"

    Scrolls to the item with the provided identifier, with the provided positioning.","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC11scrollToTop9animation10completionSbAA15ScrollAnimationO_ySbctF":{"name":"scrollToTop(animation:completion:)","abstract":"

    Scrolls to the very top of the list, which includes displaying the list header.

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC16scrollToLastItem9animation10completionSbAA15ScrollAnimationO_ySbctF":{"name":"scrollToLastItem(animation:completion:)","abstract":"

    Scrolls to the last item in the list. If the list contains no items, no action is performed.

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC11environmentAA0C11EnvironmentVvp":{"name":"environment","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC7contentAA7ContentVvp":{"name":"content","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC10setContent8animated_ySb_AA0F0VtF":{"name":"setContent(animated:_:)","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC3set6source7initial8animatedAA13StateAccessorCy0I0QzGx_AKSbtAA0cD6SourceRzlF":{"name":"set(source:initial:animated:)","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC9configure4withyyAA0C10PropertiesVzXE_tF":{"name":"configure(with:)","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC9configure4withyAA0C10PropertiesV_tF":{"name":"configure(with:)","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/c:@M@ListableUI@objc(cs)ListView(py)frame":{"name":"frame","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/c:@M@ListableUI@objc(cs)ListView(py)bounds":{"name":"bounds","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/c:@M@ListableUI@objc(cs)ListView(py)backgroundColor":{"name":"backgroundColor","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/c:@M@ListableUI@objc(cs)ListView(im)didMoveToWindow":{"name":"didMoveToWindow()","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/c:@M@ListableUI@objc(cs)ListView(im)didMoveToSuperview":{"name":"didMoveToSuperview()","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/c:@M@ListableUI@objc(cs)ListView(im)layoutSubviews":{"name":"layoutSubviews()","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC11contentSize2in3forSo6CGSizeVAH_yAA0C10PropertiesVzXEtFZ":{"name":"contentSize(in:for:)","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC11contentSize2in3forSo6CGSizeVAH_AA0C10PropertiesVtFZ":{"name":"contentSize(in:for:)","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC28testing_forceLayoutUpdateNowyyF":{"name":"testing_forceLayoutUpdateNow()","abstract":"

    Call this method to force an immediate, synchronous re-render of the list","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC020clearSelectionDuringD10WillAppear9alongside8animatedySo37UIViewControllerTransitionCoordinator_pSg_SbtF":{"name":"clearSelectionDuringViewWillAppear(alongside:animated:)","abstract":"

    A method which provides Behavior.SelectionMode.single‘s clearsSelectionOnViewWillAppear behaviour.","parent_name":"ListView"},"Classes/ListActions/ViewControllerTransitioning.html#/s:10ListableUI11ListActionsC27ViewControllerTransitioningCAEycfc":{"name":"init()","abstract":"

    Undocumented

    ","parent_name":"ViewControllerTransitioning"},"Classes/ListActions/Scrolling.html#/s:10ListableUI11ListActionsC9ScrollingCAEycfc":{"name":"init()","abstract":"

    Undocumented

    ","parent_name":"Scrolling"},"Classes/ListActions/Scrolling.html#/s:10ListableUI11ListActionsC9ScrollingC16ScrollCompletiona":{"name":"ScrollCompletion","abstract":"

    Undocumented

    ","parent_name":"Scrolling"},"Classes/ListActions/Scrolling.html#/s:10ListableUI11ListActionsC9ScrollingC8scrollTo4item8position9animation10completionSbAA7AnyItem_p_AA14ScrollPositionVAA0N9AnimationOySbctF":{"name":"scrollTo(item:position:animation:completion:)","abstract":"

    Scrolls to the provided item, with the provided positioning.","parent_name":"Scrolling"},"Classes/ListActions/Scrolling.html#/s:10ListableUI11ListActionsC9ScrollingC8scrollTo4item8position9animation10completionSbAA13AnyIdentifierC_AA14ScrollPositionVAA0N9AnimationOySbctF":{"name":"scrollTo(item:position:animation:completion:)","abstract":"

    Scrolls to the item with the provided identifier, with the provided positioning.","parent_name":"Scrolling"},"Classes/ListActions/Scrolling.html#/s:10ListableUI11ListActionsC9ScrollingC11scrollToTop9animation10completionSbAA15ScrollAnimationO_ySbctF":{"name":"scrollToTop(animation:completion:)","abstract":"

    Scrolls to the very top of the list, which includes displaying the list header.

    ","parent_name":"Scrolling"},"Classes/ListActions/Scrolling.html#/s:10ListableUI11ListActionsC9ScrollingC16scrollToLastItem9animation10completionSbAA15ScrollAnimationO_ySbctF":{"name":"scrollToLastItem(animation:completion:)","abstract":"

    Scrolls to the last item in the list. If the list contains no items, no action is performed.

    ","parent_name":"Scrolling"},"Classes/ListActions.html#/s:10ListableUI11ListActionsC9scrollingAC9ScrollingCvp":{"name":"scrolling","abstract":"

    Actions which allow scrolling to individual items in a list.

    ","parent_name":"ListActions"},"Classes/ListActions.html#/s:10ListableUI11ListActionsC27viewControllerTransitioningAC04ViewfG0Cvp":{"name":"viewControllerTransitioning","abstract":"

    Actions which allow hooking up your list to the view controller transitioning APIs.

    ","parent_name":"ListActions"},"Classes/ListActions.html#/s:10ListableUI11ListActionsCACycfc":{"name":"init()","abstract":"

    Creates and returns an actions object which can be registered with a list view.

    ","parent_name":"ListActions"},"Classes/ListActions/Scrolling.html":{"name":"Scrolling","abstract":"

    Provides access to scrolling actions within a list view.

    ","parent_name":"ListActions"},"Classes/ListActions/ViewControllerTransitioning.html":{"name":"ViewControllerTransitioning","abstract":"

    Provides access to view controller transitioning options in a list.

    ","parent_name":"ListActions"},"Classes/ListLayoutContent.html#/s:10ListableUI17ListLayoutContentC11SectionInfoC":{"name":"SectionInfo","abstract":"

    Undocumented

    ","parent_name":"ListLayoutContent"},"Classes/ListLayoutContent.html#/s:10ListableUI17ListLayoutContentC21SupplementaryItemInfoC":{"name":"SupplementaryItemInfo","abstract":"

    Undocumented

    ","parent_name":"ListLayoutContent"},"Classes/ListLayoutContent.html#/s:10ListableUI17ListLayoutContentC8ItemInfoC":{"name":"ItemInfo","abstract":"

    Undocumented

    ","parent_name":"ListLayoutContent"},"Classes/DefaultItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP7actionsAA0cdE7ActionsCy0cD4TypeQzGvp":{"name":"actions","parent_name":"DefaultItemContentCoordinator"},"Classes/DefaultItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP4infoAA0cdE4InfoCy0cD4TypeQzGvp":{"name":"info","parent_name":"DefaultItemContentCoordinator"},"Classes/DefaultItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP4view0cD4Type_0D4ViewQZSgvp":{"name":"view","parent_name":"DefaultItemContentCoordinator"},"Classes/ItemContentCoordinatorInfo.html#/s:10ListableUI26ItemContentCoordinatorInfoC8originalAA0C0VyxGvp":{"name":"original","abstract":"

    The original state of the item, as passed to the list.","parent_name":"ItemContentCoordinatorInfo"},"Classes/ItemContentCoordinatorInfo.html#/s:10ListableUI26ItemContentCoordinatorInfoC7currentAA0C0VyxGvp":{"name":"current","abstract":"

    The current value of the item, including changes made","parent_name":"ItemContentCoordinatorInfo"},"Classes/ItemContentCoordinatorActions.html#/s:10ListableUI29ItemContentCoordinatorActionsC6update8animated_ySb_AA0C0VyxGtF":{"name":"update(animated:_:)","abstract":"

    Updates the item to the provided item.

    ","parent_name":"ItemContentCoordinatorActions"},"Classes/ItemContentCoordinatorActions.html#/s:10ListableUI29ItemContentCoordinatorActionsC6update8animated_ySb_yAA0C0VyxGzXEtF":{"name":"update(animated:_:)","abstract":"

    Allows you to update the item passed into the update closure.

    ","parent_name":"ItemContentCoordinatorActions"},"Classes/__LST_KeyboardObserver_ObjCAccess.html#/c:@M@ListableUI@objc(cs)__LST_KeyboardObserver_ObjCAccess(cm)__setupSharedInstance":{"name":"__setupSharedInstance()","abstract":"

    Undocumented

    ","parent_name":"__LST_KeyboardObserver_ObjCAccess"},"Classes/DefaultSwipeActionsView.html#/s:10ListableUI23DefaultSwipeActionsViewC05swipeE5Width12CoreGraphics7CGFloatVvp":{"name":"swipeActionsWidth","abstract":"

    Undocumented

    ","parent_name":"DefaultSwipeActionsView"},"Classes/DefaultSwipeActionsView.html#/s:10ListableUI23DefaultSwipeActionsViewC16didPerformActionACySbc_tcfc":{"name":"init(didPerformAction:)","abstract":"

    Undocumented

    ","parent_name":"DefaultSwipeActionsView"},"Classes/DefaultSwipeActionsView.html#/c:@M@ListableUI@objc(cs)DefaultSwipeActionsView(im)layoutSubviews":{"name":"layoutSubviews()","abstract":"

    Undocumented

    ","parent_name":"DefaultSwipeActionsView"},"Classes/DefaultSwipeActionsView.html#/s:10ListableUI23DefaultSwipeActionsViewC5apply7actionsyAA0dE13ConfigurationV_tF":{"name":"apply(actions:)","abstract":"

    Undocumented

    ","parent_name":"DefaultSwipeActionsView"},"Classes/DefaultSwipeActionsView.html#/s:10ListableUI23DefaultSwipeActionsViewC5apply5stateyAA0D11ActionStateO_tF":{"name":"apply(state:)","abstract":"

    Undocumented

    ","parent_name":"DefaultSwipeActionsView"},"Classes/AnyIdentifier.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"AnyIdentifier"},"Classes/AnyIdentifier.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"AnyIdentifier"},"Classes/AnyIdentifier.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"AnyIdentifier"},"Classes/Identifier.html#/s:10ListableUI10IdentifierCACyxGycfc":{"name":"init()","abstract":"

    Identifier which identifies by the type of Represented only.","parent_name":"Identifier"},"Classes/Identifier.html#/s:10ListableUI10IdentifierCyACyxGqd__cSHRd__lufc":{"name":"init(_:)","abstract":"

    Creates an identifier which identifies by both Represented, and the value passed to init.

    ","parent_name":"Identifier"},"Classes/Identifier.html#/s:10ListableUI10IdentifierC16debugDescriptionSSvp":{"name":"debugDescription","abstract":"

    Undocumented

    ","parent_name":"Identifier"},"Classes/Identifier.html":{"name":"Identifier","abstract":"

    An Identifier is used to unique items in Listable lists. Sections,"},"Classes/AnyIdentifier.html":{"name":"AnyIdentifier","abstract":"

    A type-erased Identifier used to identify content in a listable list.

    "},"Classes/DefaultSwipeActionsView.html":{"name":"DefaultSwipeActionsView","abstract":"

    Undocumented

    "},"Classes/__LST_KeyboardObserver_ObjCAccess.html":{"name":"__LST_KeyboardObserver_ObjCAccess","abstract":"

    An Objective-C accessible class that lets us set up the shared"},"Classes/ItemContentCoordinatorActions.html":{"name":"ItemContentCoordinatorActions","abstract":"

    The available actions you can perform as a coordinator, which are reported back to the list to manage the item.

    "},"Classes/ItemContentCoordinatorInfo.html":{"name":"ItemContentCoordinatorInfo","abstract":"

    Information about the current and original state of the item.

    "},"Classes/DefaultItemContentCoordinator.html":{"name":"DefaultItemContentCoordinator","abstract":"

    The default ItemContentCoordinator, which performs no actions.

    "},"Classes/ListLayoutContent.html":{"name":"ListLayoutContent","abstract":"

    Undocumented

    "},"Classes/ListActions.html":{"name":"ListActions","abstract":"

    ListActions is an type that you can use to gain access to actions to perform on a List"},"Classes/ListView.html":{"name":"ListView","abstract":"

    Undocumented

    "},"Classes.html#/s:10ListableUI15UpdateCallbacksC":{"name":"UpdateCallbacks","abstract":"

    Undocumented

    "},"Classes/ListViewController.html":{"name":"ListViewController","abstract":"

    A class which provides an easy way to set up and display a ListView,"},"Classes/StateAccessor.html":{"name":"StateAccessor","abstract":"

    Undocumented

    "},"Classes/SourceState.html":{"name":"SourceState","abstract":"

    Undocumented

    "},"Classes/DynamicSource.html":{"name":"DynamicSource","abstract":"

    Undocumented

    "},"Classes/StaticSource.html":{"name":"StaticSource","abstract":"

    Undocumented

    "},"Classes/ItemPreviewView.html":{"name":"ItemPreviewView","abstract":"

    A view you can use to test the various possible states that your ItemContent can be in.

    "},"Classes/ReorderingActions.html":{"name":"ReorderingActions","abstract":"

    Undocumented

    "},"Classes.html":{"name":"Classes","abstract":"

    The following classes are available globally.

    "},"Enums.html":{"name":"Enumerations","abstract":"

    The following enumerations are available globally.

    "},"Extensions.html":{"name":"Extensions","abstract":"

    The following extensions are available globally.

    "},"Functions.html":{"name":"Functions","abstract":"

    The following functions are available globally.

    "},"Protocols.html":{"name":"Protocols","abstract":"

    The following protocols are available globally.

    "},"Structs.html":{"name":"Structures","abstract":"

    The following structures are available globally.

    "},"Typealiases.html":{"name":"Type Aliases","abstract":"

    The following type aliases are available globally.

    "}} \ No newline at end of file +{"Typealiases.html#/s:10ListableUI6Headera":{"name":"Header","abstract":"

    Undocumented

    "},"Typealiases.html#/s:10ListableUI6Footera":{"name":"Footer","abstract":"

    Undocumented

    "},"Typealiases.html#/s:10ListableUI13HeaderContenta":{"name":"HeaderContent","abstract":"

    Undocumented

    "},"Typealiases.html#/s:10ListableUI13FooterContenta":{"name":"FooterContent","abstract":"

    Undocumented

    "},"Structs/SwipeAction.html#/s:10ListableUI11SwipeActionV17CompletionHandlera":{"name":"CompletionHandler","abstract":"

    The completion handler to call after performing the swipe action.

    ","parent_name":"SwipeAction"},"Structs/SwipeAction.html#/s:10ListableUI11SwipeActionV7Handlera":{"name":"Handler","abstract":"

    The completion handler called when the action is tapped.

    ","parent_name":"SwipeAction"},"Structs/SwipeAction.html#/s:10ListableUI11SwipeActionV5titleSSSgvp":{"name":"title","abstract":"

    Undocumented

    ","parent_name":"SwipeAction"},"Structs/SwipeAction.html#/s:10ListableUI11SwipeActionV15backgroundColorSo7UIColorCSgvp":{"name":"backgroundColor","abstract":"

    Undocumented

    ","parent_name":"SwipeAction"},"Structs/SwipeAction.html#/s:10ListableUI11SwipeActionV5imageSo7UIImageCSgvp":{"name":"image","abstract":"

    Undocumented

    ","parent_name":"SwipeAction"},"Structs/SwipeAction.html#/s:10ListableUI11SwipeActionV7handleryyySbccvp":{"name":"handler","abstract":"

    Undocumented

    ","parent_name":"SwipeAction"},"Structs/SwipeAction.html#/s:10ListableUI11SwipeActionV5title15backgroundColor5image7handlerACSS_So7UIColorCSo7UIImageCSgyySbcctcfc":{"name":"init(title:backgroundColor:image:handler:)","abstract":"

    Undocumented

    ","parent_name":"SwipeAction"},"Structs/SwipeActionsConfiguration.html#/s:10ListableUI25SwipeActionsConfigurationV7actionsSayAA0C6ActionVGvp":{"name":"actions","abstract":"

    The actions to display when the cell is swiped.

    ","parent_name":"SwipeActionsConfiguration"},"Structs/SwipeActionsConfiguration.html#/s:10ListableUI25SwipeActionsConfigurationV027performsFirstActionWithFullC0Sbvp":{"name":"performsFirstActionWithFullSwipe","abstract":"

    Whether the first action is performed automatically with a full swipe.

    ","parent_name":"SwipeActionsConfiguration"},"Structs/SwipeActionsConfiguration.html#/s:10ListableUI25SwipeActionsConfigurationV6action027performsFirstActionWithFullC0AcA0cI0V_Sbtcfc":{"name":"init(action:performsFirstActionWithFullSwipe:)","abstract":"

    Undocumented

    ","parent_name":"SwipeActionsConfiguration"},"Structs/SwipeActionsConfiguration.html#/s:10ListableUI25SwipeActionsConfigurationV7actions027performsFirstActionWithFullC0ACSayAA0cI0VG_Sbtcfc":{"name":"init(actions:performsFirstActionWithFullSwipe:)","abstract":"

    Undocumented

    ","parent_name":"SwipeActionsConfiguration"},"Structs/HorizontalPadding.html#/s:10ListableUI17HorizontalPaddingV4left12CoreGraphics7CGFloatVvp":{"name":"left","abstract":"

    Undocumented

    ","parent_name":"HorizontalPadding"},"Structs/HorizontalPadding.html#/s:10ListableUI17HorizontalPaddingV5right12CoreGraphics7CGFloatVvp":{"name":"right","abstract":"

    Undocumented

    ","parent_name":"HorizontalPadding"},"Structs/HorizontalPadding.html#/s:10ListableUI17HorizontalPaddingV4zeroACvpZ":{"name":"zero","abstract":"

    Undocumented

    ","parent_name":"HorizontalPadding"},"Structs/HorizontalPadding.html#/s:10ListableUI17HorizontalPaddingV4left5rightAC12CoreGraphics7CGFloatV_AHtcfc":{"name":"init(left:right:)","abstract":"

    Undocumented

    ","parent_name":"HorizontalPadding"},"Structs/HorizontalPadding.html#/s:10ListableUI17HorizontalPaddingV7uniformAC12CoreGraphics7CGFloatV_tcfc":{"name":"init(uniform:)","abstract":"

    Undocumented

    ","parent_name":"HorizontalPadding"},"Structs/Section.html#/s:10ListableUI7SectionV4infoAA03AnyC4Info_pvp":{"name":"info","abstract":"

    Data backing the identity and updates to the section – for example","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV6headerAA15AnyHeaderFooter_pSgvp":{"name":"header","abstract":"

    The header, if any, associated with the section.

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV6footerAA15AnyHeaderFooter_pSgvp":{"name":"footer","abstract":"

    The footer, if any, associated with the section.

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV5itemsSayAA7AnyItem_pGvp":{"name":"items","abstract":"

    The items, if any, associated with the section.

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV8contains3anySbShyAA14ContentFiltersOG_tF":{"name":"contains(any:)","abstract":"

    Check if the section contains any of the given types, which you specify via the filters","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV7layoutsAA0C7LayoutsVvp":{"name":"layouts","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV9Configurea":{"name":"Configure","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV_9configureACx_yACzXEtcAA0C4InfoRzlufc":{"name":"init(_:configure:)","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV_7layouts6header6footer5items9configureACx_AA0C7LayoutsVAA15AnyHeaderFooter_pSgALSayAA0J4Item_pGyACzXEtcSHRzlufc":{"name":"init(_:layouts:header:footer:items:configure:)","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV_7layouts6header6footer5items9configureACx_AA0C7LayoutsVAA15AnyHeaderFooter_pSgALSayAA0J4Item_pGyACzXEtcAA0C4InfoRzlufc":{"name":"init(_:layouts:header:footer:items:configure:)","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV3addyyAA7AnyItem_pF":{"name":"add(_:)","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV2peoiyyACz_AA7AnyItem_ptFZ":{"name":"+=(_:_:)","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV2peoiyyACz_AA4ItemVyxGtAA0E7ContentRzlFZ":{"name":"+=(_:_:)","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV2peoiyyACz_xtAA11ItemContentRzlFZ":{"name":"+=(_:_:)","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV2peoiyyACz_SayAA7AnyItem_pGtFZ":{"name":"+=(_:_:)","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV2peoiyyACz_SayAA4ItemVyxGGtAA0E7ContentRzlFZ":{"name":"+=(_:_:)","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/Section.html#/s:10ListableUI7SectionV2peoiyyACz_SayxGtAA11ItemContentRzlFZ":{"name":"+=(_:_:)","abstract":"

    Undocumented

    ","parent_name":"Section"},"Structs/ScrollPosition/IfAlreadyVisible.html#/s:10ListableUI14ScrollPositionV16IfAlreadyVisibleO9doNothingyA2EmF":{"name":"doNothing","abstract":"

    Do not perform any action if the item is already partially visible.

    ","parent_name":"IfAlreadyVisible"},"Structs/ScrollPosition/IfAlreadyVisible.html#/s:10ListableUI14ScrollPositionV16IfAlreadyVisibleO08scrollToD0yA2EmF":{"name":"scrollToPosition","abstract":"

    Scroll the item to the desired Position, even if it is already partially visible.

    ","parent_name":"IfAlreadyVisible"},"Structs/ScrollPosition/Position.html#/s:10ListableUI14ScrollPositionV0D0O3topyA2EmF":{"name":"top","abstract":"

    Scroll the item to the top of the list.

    ","parent_name":"Position"},"Structs/ScrollPosition/Position.html#/s:10ListableUI14ScrollPositionV0D0O8centeredyA2EmF":{"name":"centered","abstract":"

    Scroll the item to the middle of the list.

    ","parent_name":"Position"},"Structs/ScrollPosition/Position.html#/s:10ListableUI14ScrollPositionV0D0O6bottomyA2EmF":{"name":"bottom","abstract":"

    Scroll the item to the bottom of the list.

    ","parent_name":"Position"},"Structs/ScrollPosition.html#/s:10ListableUI14ScrollPositionV8position16ifAlreadyVisible6offsetA2C0D0O_AC02IfgH0O12CoreGraphics7CGFloatVtcfc":{"name":"init(position:ifAlreadyVisible:offset:)","abstract":"

    Creates a new scroll position with the provided values.

    ","parent_name":"ScrollPosition"},"Structs/ScrollPosition/Position.html":{"name":"Position","abstract":"

    How the item should be positioned within the list.

    ","parent_name":"ScrollPosition"},"Structs/ScrollPosition/IfAlreadyVisible.html":{"name":"IfAlreadyVisible","abstract":"

    What action should be taken if an item is already partially visible within a list.

    ","parent_name":"ScrollPosition"},"Structs/RefreshControl/Title.html#/s:10ListableUI14RefreshControlV5TitleO6stringyAESScAEmF":{"name":"string(_:)","abstract":"

    Undocumented

    ","parent_name":"Title"},"Structs/RefreshControl/Title.html#/s:10ListableUI14RefreshControlV5TitleO10attributedyAESo18NSAttributedStringCcAEmF":{"name":"attributed(_:)","abstract":"

    Undocumented

    ","parent_name":"Title"},"Structs/RefreshControl.html#/s:10ListableUI14RefreshControlV12isRefreshingSbvp":{"name":"isRefreshing","abstract":"

    Undocumented

    ","parent_name":"RefreshControl"},"Structs/RefreshControl.html#/s:10ListableUI14RefreshControlV5titleAC5TitleOSgvp":{"name":"title","abstract":"

    Undocumented

    ","parent_name":"RefreshControl"},"Structs/RefreshControl.html#/s:10ListableUI14RefreshControlV9tintColorSo7UIColorCSgvp":{"name":"tintColor","abstract":"

    Undocumented

    ","parent_name":"RefreshControl"},"Structs/RefreshControl.html#/s:10ListableUI14RefreshControlV02OnC0a":{"name":"OnRefresh","abstract":"

    Undocumented

    ","parent_name":"RefreshControl"},"Structs/RefreshControl.html#/s:10ListableUI14RefreshControlV02onC0yycvp":{"name":"onRefresh","abstract":"

    Undocumented

    ","parent_name":"RefreshControl"},"Structs/RefreshControl.html#/s:10ListableUI14RefreshControlV12isRefreshing5title9tintColor02onC0ACSb_AC5TitleOSgSo7UIColorCSgyyctcfc":{"name":"init(isRefreshing:title:tintColor:onRefresh:)","abstract":"

    Undocumented

    ","parent_name":"RefreshControl"},"Structs/RefreshControl/Title.html":{"name":"Title","abstract":"

    Undocumented

    ","parent_name":"RefreshControl"},"Structs/ItemPreviewAppearance.html#/s:10ListableUI21ItemPreviewAppearanceV7padding15backgroundColorAC12CoreGraphics7CGFloatV_So7UIColorCtcfc":{"name":"init(padding:backgroundColor:)","abstract":"

    Creates a new preview appearance.

    ","parent_name":"ItemPreviewAppearance"},"Structs/ItemPreview/Properties.html#/s:10ListableUI11ItemPreviewV10PropertiesV5width12CoreGraphics7CGFloatVvp":{"name":"width","abstract":"

    The width of the preview.

    ","parent_name":"Properties"},"Structs/ItemPreview/Properties.html#/s:10ListableUI11ItemPreviewV10PropertiesV5stateAA0C5StateVvp":{"name":"state","abstract":"

    The ItemState to use in the preview.

    ","parent_name":"Properties"},"Structs/ItemPreview/Properties.html#/s:10ListableUI11ItemPreviewV10PropertiesV10appearanceAA0cD10AppearanceVvp":{"name":"appearance","abstract":"

    The desired appearance of the preview.

    ","parent_name":"Properties"},"Structs/ItemPreview/Properties.html#/s:10ListableUI11ItemPreviewV10PropertiesV4with5state10appearanceAE12CoreGraphics7CGFloatV_AA0C5StateVAA0cD10AppearanceVtcfc":{"name":"init(with:state:appearance:)","abstract":"

    Creates a new preview with the desired options.

    ","parent_name":"Properties"},"Structs/ItemPreview.html#/s:10ListableUI11ItemPreviewV4itemAA03AnyC0_pvp":{"name":"item","abstract":"

    The item being previewed by the preview.

    ","parent_name":"ItemPreview"},"Structs/ItemPreview.html#/s:10ListableUI11ItemPreviewV10propertiesAC10PropertiesVvp":{"name":"properties","abstract":"

    The properties of the current preview.

    ","parent_name":"ItemPreview"},"Structs/ItemPreview/Properties.html":{"name":"Properties","abstract":"

    The properties of a preview.

    ","parent_name":"ItemPreview"},"Structs/ItemPreview.html#/s:10ListableUI11ItemPreviewV8previews3for4withQrAA03AnyC0_p_SayAC10PropertiesVGtFZ":{"name":"previews(for:with:)","abstract":"

    Creates and returns a SwiftUI view that contains individual previews for each of the provided","parent_name":"ItemPreview"},"Structs/ItemPreview.html#/s:10ListableUI11ItemPreviewV07withAllC6States3for5width10appearanceQrAA03AnyC0_p_12CoreGraphics7CGFloatVAA0cD10AppearanceVtFZ":{"name":"withAllItemStates(for:width:appearance:)","abstract":"

    Creates and returns a SwiftUI view that contains individual previews for all the possible","parent_name":"ItemPreview"},"Structs/ItemPreview.html#/s:10ListableUI11ItemPreviewV_5width5state10appearanceAcA03AnyC0_p_12CoreGraphics7CGFloatVAA0C5StateVAA0cD10AppearanceVtcfc":{"name":"init(_:width:state:appearance:)","abstract":"

    Creates a new preview with the provided properties.

    ","parent_name":"ItemPreview"},"Structs/ItemPreview.html#/s:10ListableUI11ItemPreviewV_10propertiesAcA03AnyC0_p_AC10PropertiesVtcfc":{"name":"init(_:properties:)","abstract":"

    Creates a new preview with the provided properties.

    ","parent_name":"ItemPreview"},"Structs/ItemPreview.html#/s:7SwiftUI4ViewP4body4BodyQzvp":{"name":"body","parent_name":"ItemPreview"},"Structs/LocalizedItemCollator/CollatedSection.html#/s:10ListableUI21LocalizedItemCollatorV15CollatedSectionV5titleSSvp":{"name":"title","abstract":"

    The title of section – a single letter like A, B, C, D, E, etc.","parent_name":"CollatedSection"},"Structs/LocalizedItemCollator/CollatedSection.html#/s:10ListableUI21LocalizedItemCollatorV15CollatedSectionV5itemsSayAA03AnyD0_pGvp":{"name":"items","abstract":"

    The sorted items in the collated sections.

    ","parent_name":"CollatedSection"},"Structs/LocalizedItemCollator.html#/s:10ListableUI21LocalizedItemCollatorV7collate9collation5itemsSayAC15CollatedSectionVGSo27UILocalizedIndexedCollationC_SayAA03Anyc10CollatableD0_pGtFZ":{"name":"collate(collation:items:)","abstract":"

    Collates and returns the set of items into CollatedSections.","parent_name":"LocalizedItemCollator"},"Structs/LocalizedItemCollator.html#/s:10ListableUI21LocalizedItemCollatorV8sections9collation4with_SayAA7SectionVGSo27UILocalizedIndexedCollationC_SayAA03Anyc10CollatableD0_pGyAC08CollatedI0V_AHztXEtFZ":{"name":"sections(collation:with:_:)","abstract":"

    Collates and returns the set of items into list Sections,","parent_name":"LocalizedItemCollator"},"Structs/LocalizedItemCollator/CollatedSection.html":{"name":"CollatedSection","abstract":"

    The output of the collator, with the collated title and items","parent_name":"LocalizedItemCollator"},"Structs/ListStateObserver/SelectionChanged.html#/s:10ListableUI17ListStateObserverV16SelectionChangedV7actionsAA0C7ActionsCvp":{"name":"actions","abstract":"

    Undocumented

    ","parent_name":"SelectionChanged"},"Structs/ListStateObserver/SelectionChanged.html#/s:10ListableUI17ListStateObserverV16SelectionChangedV12positionInfoAA0c14ScrollPositionI0Vvp":{"name":"positionInfo","abstract":"

    Undocumented

    ","parent_name":"SelectionChanged"},"Structs/ListStateObserver/SelectionChanged.html#/s:10ListableUI17ListStateObserverV16SelectionChangedV3oldShyAA13AnyIdentifierCGvp":{"name":"old","abstract":"

    Undocumented

    ","parent_name":"SelectionChanged"},"Structs/ListStateObserver/SelectionChanged.html#/s:10ListableUI17ListStateObserverV16SelectionChangedV3newShyAA13AnyIdentifierCGvp":{"name":"new","abstract":"

    Undocumented

    ","parent_name":"SelectionChanged"},"Structs/ListStateObserver/FrameChanged.html#/s:10ListableUI17ListStateObserverV12FrameChangedV7actionsAA0C7ActionsCvp":{"name":"actions","abstract":"

    Undocumented

    ","parent_name":"FrameChanged"},"Structs/ListStateObserver/FrameChanged.html#/s:10ListableUI17ListStateObserverV12FrameChangedV12positionInfoAA0c14ScrollPositionI0Vvp":{"name":"positionInfo","abstract":"

    Undocumented

    ","parent_name":"FrameChanged"},"Structs/ListStateObserver/FrameChanged.html#/s:10ListableUI17ListStateObserverV12FrameChangedV3oldSo6CGRectVvp":{"name":"old","abstract":"

    Undocumented

    ","parent_name":"FrameChanged"},"Structs/ListStateObserver/FrameChanged.html#/s:10ListableUI17ListStateObserverV12FrameChangedV3newSo6CGRectVvp":{"name":"new","abstract":"

    Undocumented

    ","parent_name":"FrameChanged"},"Structs/ListStateObserver/VisibilityChanged.html#/s:10ListableUI17ListStateObserverV17VisibilityChangedV7actionsAA0C7ActionsCvp":{"name":"actions","abstract":"

    Undocumented

    ","parent_name":"VisibilityChanged"},"Structs/ListStateObserver/VisibilityChanged.html#/s:10ListableUI17ListStateObserverV17VisibilityChangedV12positionInfoAA0c14ScrollPositionI0Vvp":{"name":"positionInfo","abstract":"

    Undocumented

    ","parent_name":"VisibilityChanged"},"Structs/ListStateObserver/VisibilityChanged.html#/s:10ListableUI17ListStateObserverV17VisibilityChangedV9displayedSayAA7AnyItem_pGvp":{"name":"displayed","abstract":"

    Undocumented

    ","parent_name":"VisibilityChanged"},"Structs/ListStateObserver/VisibilityChanged.html#/s:10ListableUI17ListStateObserverV17VisibilityChangedV12endedDisplaySayAA7AnyItem_pGvp":{"name":"endedDisplay","abstract":"

    Undocumented

    ","parent_name":"VisibilityChanged"},"Structs/ListStateObserver/ContentUpdated/InsertionsAndRemovals/ChangedIDs.html#/s:10ListableUI17ListStateObserverV14ContentUpdatedV21InsertionsAndRemovalsV10ChangedIDsV8insertedShyAA13AnyIdentifierCGvp":{"name":"inserted","abstract":"

    Undocumented

    ","parent_name":"ChangedIDs"},"Structs/ListStateObserver/ContentUpdated/InsertionsAndRemovals/ChangedIDs.html#/s:10ListableUI17ListStateObserverV14ContentUpdatedV21InsertionsAndRemovalsV10ChangedIDsV7removedShyAA13AnyIdentifierCGvp":{"name":"removed","abstract":"

    Undocumented

    ","parent_name":"ChangedIDs"},"Structs/ListStateObserver/ContentUpdated/InsertionsAndRemovals.html#/s:10ListableUI17ListStateObserverV14ContentUpdatedV21InsertionsAndRemovalsV8sectionsAG10ChangedIDsVvp":{"name":"sections","abstract":"

    Undocumented

    ","parent_name":"InsertionsAndRemovals"},"Structs/ListStateObserver/ContentUpdated/InsertionsAndRemovals.html#/s:10ListableUI17ListStateObserverV14ContentUpdatedV21InsertionsAndRemovalsV5itemsAG10ChangedIDsVvp":{"name":"items","abstract":"

    Undocumented

    ","parent_name":"InsertionsAndRemovals"},"Structs/ListStateObserver/ContentUpdated/InsertionsAndRemovals/ChangedIDs.html":{"name":"ChangedIDs","abstract":"

    Undocumented

    ","parent_name":"InsertionsAndRemovals"},"Structs/ListStateObserver/ContentUpdated.html#/s:10ListableUI17ListStateObserverV14ContentUpdatedV10hadChangesSbvp":{"name":"hadChanges","abstract":"

    Undocumented

    ","parent_name":"ContentUpdated"},"Structs/ListStateObserver/ContentUpdated.html#/s:10ListableUI17ListStateObserverV14ContentUpdatedV21insertionsAndRemovalsAE010InsertionsiJ0Vvp":{"name":"insertionsAndRemovals","abstract":"

    Undocumented

    ","parent_name":"ContentUpdated"},"Structs/ListStateObserver/ContentUpdated.html#/s:10ListableUI17ListStateObserverV14ContentUpdatedV7actionsAA0C7ActionsCvp":{"name":"actions","abstract":"

    Undocumented

    ","parent_name":"ContentUpdated"},"Structs/ListStateObserver/ContentUpdated.html#/s:10ListableUI17ListStateObserverV14ContentUpdatedV12positionInfoAA0c14ScrollPositionI0Vvp":{"name":"positionInfo","abstract":"

    Undocumented

    ","parent_name":"ContentUpdated"},"Structs/ListStateObserver/ContentUpdated/InsertionsAndRemovals.html":{"name":"InsertionsAndRemovals","abstract":"

    Undocumented

    ","parent_name":"ContentUpdated"},"Structs/ListStateObserver/DidScroll.html#/s:10ListableUI17ListStateObserverV9DidScrollV7actionsAA0C7ActionsCvp":{"name":"actions","abstract":"

    Undocumented

    ","parent_name":"DidScroll"},"Structs/ListStateObserver/DidScroll.html#/s:10ListableUI17ListStateObserverV9DidScrollV12positionInfoAA0cg8PositionI0Vvp":{"name":"positionInfo","abstract":"

    Undocumented

    ","parent_name":"DidScroll"},"Structs/ListStateObserver.html#/s:10ListableUI17ListStateObserverVyACyACzXEcfc":{"name":"init(_:)","abstract":"

    Creates and optionally allows you to configure an observer.

    ","parent_name":"ListStateObserver"},"Structs/ListStateObserver.html#/s:10ListableUI17ListStateObserverV11OnDidScrolla":{"name":"OnDidScroll","abstract":"

    Undocumented

    ","parent_name":"ListStateObserver"},"Structs/ListStateObserver.html#/s:10ListableUI17ListStateObserverV11onDidScrollyyyAC0gH0VcF":{"name":"onDidScroll(_:)","abstract":"

    Registers a callback which will be called when the list view is scrolled, or is","parent_name":"ListStateObserver"},"Structs/ListStateObserver.html#/s:10ListableUI17ListStateObserverV16OnContentUpdateda":{"name":"OnContentUpdated","abstract":"

    Undocumented

    ","parent_name":"ListStateObserver"},"Structs/ListStateObserver.html#/s:10ListableUI17ListStateObserverV16onContentUpdatedyyyAC0gH0VcF":{"name":"onContentUpdated(_:)","abstract":"

    Registers a callback which will be called when the list view’s content is updated","parent_name":"ListStateObserver"},"Structs/ListStateObserver.html#/s:10ListableUI17ListStateObserverV19OnVisibilityChangeda":{"name":"OnVisibilityChanged","abstract":"

    Undocumented

    ","parent_name":"ListStateObserver"},"Structs/ListStateObserver.html#/s:10ListableUI17ListStateObserverV19onVisibilityChangedyyyAC0gH0VcF":{"name":"onVisibilityChanged(_:)","abstract":"

    Registers a callback which will be called when the list view’s content is changed – eg through","parent_name":"ListStateObserver"},"Structs/ListStateObserver.html#/s:10ListableUI17ListStateObserverV14OnFrameChangeda":{"name":"OnFrameChanged","abstract":"

    Undocumented

    ","parent_name":"ListStateObserver"},"Structs/ListStateObserver.html#/s:10ListableUI17ListStateObserverV14onFrameChangedyyyAC0gH0VcF":{"name":"onFrameChanged(_:)","abstract":"

    Registers a callback which will be called when the list view’s frame is changed.

    ","parent_name":"ListStateObserver"},"Structs/ListStateObserver.html#/s:10ListableUI17ListStateObserverV18OnSelectionChangeda":{"name":"OnSelectionChanged","abstract":"

    Undocumented

    ","parent_name":"ListStateObserver"},"Structs/ListStateObserver.html#/s:10ListableUI17ListStateObserverV18onSelectionChangedyyyAC0gH0VcF":{"name":"onSelectionChanged(_:)","abstract":"

    Registers a callback which will be called when the list view’s selected items are changed by the user.

    ","parent_name":"ListStateObserver"},"Structs/ListStateObserver/DidScroll.html":{"name":"DidScroll","abstract":"

    Parameters available for OnDidScroll callbacks.

    ","parent_name":"ListStateObserver"},"Structs/ListStateObserver/ContentUpdated.html":{"name":"ContentUpdated","abstract":"

    Parameters available for OnContentUpdated callbacks.

    ","parent_name":"ListStateObserver"},"Structs/ListStateObserver/VisibilityChanged.html":{"name":"VisibilityChanged","abstract":"

    Parameters available for OnVisibilityChanged callbacks.

    ","parent_name":"ListStateObserver"},"Structs/ListStateObserver/FrameChanged.html":{"name":"FrameChanged","abstract":"

    Parameters available for OnFrameChanged callbacks.

    ","parent_name":"ListStateObserver"},"Structs/ListStateObserver/SelectionChanged.html":{"name":"SelectionChanged","abstract":"

    Parameters available for OnSelectionChanged callbacks.

    ","parent_name":"ListStateObserver"},"Structs/ListScrollPositionInfo.html#/s:10ListableUI22ListScrollPositionInfoV12visibleItemsShyAA13AnyIdentifierCGvp":{"name":"visibleItems","abstract":"

    Which items within the list are currently visible.

    ","parent_name":"ListScrollPositionInfo"},"Structs/ListScrollPositionInfo.html#/s:10ListableUI22ListScrollPositionInfoV18isFirstItemVisibleSbvp":{"name":"isFirstItemVisible","abstract":"

    If the first item list is partially visible.

    ","parent_name":"ListScrollPositionInfo"},"Structs/ListScrollPositionInfo.html#/s:10ListableUI22ListScrollPositionInfoV17isLastItemVisibleSbvp":{"name":"isLastItemVisible","abstract":"

    If the last item list is partially visible.

    ","parent_name":"ListScrollPositionInfo"},"Structs/ListScrollPositionInfo.html#/s:10ListableUI22ListScrollPositionInfoV19visibleContentEdges017includingSafeAreaI0So10UIRectEdgeVAG_tF":{"name":"visibleContentEdges(includingSafeAreaEdges:)","abstract":"

    Used to retrieve the visible content edges for the list’s content.

    ","parent_name":"ListScrollPositionInfo"},"Structs/ListScrollPositionInfo.html#/s:10ListableUI22ListScrollPositionInfoV10scrollView12visibleItems18isFirstItemVisible0k4LastmN0ACSo08UIScrollH0C_ShyAA13AnyIdentifierCGS2btcfc":{"name":"init(scrollView:visibleItems:isFirstItemVisible:isLastItemVisible:)","abstract":"

    Creates a ListScrollPositionInfo for the provided scroll view.

    ","parent_name":"ListScrollPositionInfo"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV15animatesChangesSbvp":{"name":"animatesChanges","abstract":"

    If the changes applied should be animated or not.","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV7contentAA7ContentVvp":{"name":"content","abstract":"

    The content displayed by the list.","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV11environmentAA0C11EnvironmentVvp":{"name":"environment","abstract":"

    The environment associated with the List.

    ","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV6layoutAA17LayoutDescriptionVvp":{"name":"layout","abstract":"

    The layout type to use with the list. Defaults to .table(), aka a table","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV10appearanceAA10AppearanceVvp":{"name":"appearance","abstract":"

    The appearance to use with the list.

    ","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV21scrollIndicatorInsetsSo06UIEdgeG0Vvp":{"name":"scrollIndicatorInsets","abstract":"

    The scroll insets to apply to the list view.

    ","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV8behaviorAA8BehaviorVvp":{"name":"behavior","abstract":"

    The various behavior options to apply to the list, which affect how the user","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV13stateObserverAA0c5StateF0Vvp":{"name":"stateObserver","abstract":"

    The state reader to use with your list. A ListStateObserver","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV7actionsAA0C7ActionsCSgvp":{"name":"actions","abstract":"

    The actions instance to use to control the list, eg to scroll to a given","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV16autoScrollActionAA04AutofG0Ovp":{"name":"autoScrollAction","abstract":"

    The auto scroll action to apply to the list. This allows you to","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV23accessibilityIdentifierSSSgvp":{"name":"accessibilityIdentifier","abstract":"

    The accessibility identifier assigned to the inner UICollectionView.

    ","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV19debuggingIdentifierSSSgvp":{"name":"debuggingIdentifier","abstract":"

    The debugging identifier assigned to the list. Used for os_signpost integration","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV5Builda":{"name":"Build","abstract":"

    Undocumented

    ","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV7default4withACyACzXE_tFZ":{"name":"default(with:)","abstract":"

    An instance of ListProperties with sensible default values.

    ","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV15animatesChanges6layout10appearance21scrollIndicatorInsets8behavior16autoScrollAction23accessibilityIdentifier09debuggingQ05buildACSb_AA17LayoutDescriptionVAA10AppearanceVSo06UIEdgeK0VAA8BehaviorVAA04AutonO0OSSSgAWyACzXEtcfc":{"name":"init(animatesChanges:layout:appearance:scrollIndicatorInsets:behavior:autoScrollAction:accessibilityIdentifier:debuggingIdentifier:build:)","abstract":"

    Create a new instance of ListProperties with the provided values.

    ","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV6modify5usingyyACzXE_tF":{"name":"modify(using:)","abstract":"

    Updates the ListProperties object with the changes in the provided builder.

    ","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV8modified5usingACyACzXE_tF":{"name":"modified(using:)","abstract":"

    Creates a new ListProperties object modified by the changes in the provided builder.

    ","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV3addyyAA7SectionVF":{"name":"add(_:)","abstract":"

    Adds a new section to the content.

    ","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV2peoiyyACz_AA7SectionVtFZ":{"name":"+=(_:_:)","abstract":"

    Adds a new section to the content.

    ","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV2peoiyyACz_SayAA7SectionVGtFZ":{"name":"+=(_:_:)","abstract":"

    Adds a list of new sections to the content.

    ","parent_name":"ListProperties"},"Structs/ListProperties.html#/s:10ListableUI14ListPropertiesV14callAsFunction_9configureyx_yAA7SectionVzXEtSHRzlF":{"name":"callAsFunction(_:configure:)","abstract":"

    Allows streamlined creation of sections when building a list.

    ","parent_name":"ListProperties"},"Structs/ListEnvironment.html#/s:10ListableUI15ListEnvironmentV5emptyACvpZ":{"name":"empty","abstract":"

    A default “empty” environment, with no values overridden.","parent_name":"ListEnvironment"},"Structs/ListEnvironment.html#/s:10ListableUI15ListEnvironmentVy5ValueQzxmcAA0cD3KeyRzluip":{"name":"subscript(_:)","abstract":"

    Gets or sets an environment value by its key.

    ","parent_name":"ListEnvironment"},"Structs/TableAppearance/Layout.html#/s:10ListableUI15TableAppearanceV6LayoutV7paddingSo12UIEdgeInsetsVvp":{"name":"padding","abstract":"

    The padding to place around the outside of the content of the list.

    ","parent_name":"Layout"},"Structs/TableAppearance/Layout.html#/s:10ListableUI15TableAppearanceV6LayoutV5widthAA15WidthConstraintOvp":{"name":"width","abstract":"

    The width of the content of the list, which can be optionally constrained.

    ","parent_name":"Layout"},"Structs/TableAppearance/Layout.html#/s:10ListableUI15TableAppearanceV6LayoutV27headerToFirstSectionSpacing12CoreGraphics7CGFloatVvp":{"name":"headerToFirstSectionSpacing","abstract":"

    The spacing between the list header and the first section.","parent_name":"Layout"},"Structs/TableAppearance/Layout.html#/s:10ListableUI15TableAppearanceV6LayoutV31interSectionSpacingWithNoFooter12CoreGraphics7CGFloatVvp":{"name":"interSectionSpacingWithNoFooter","abstract":"

    The spacing to apply between sections, if the previous section has no footer.

    ","parent_name":"Layout"},"Structs/TableAppearance/Layout.html#/s:10ListableUI15TableAppearanceV6LayoutV29interSectionSpacingWithFooter12CoreGraphics7CGFloatVvp":{"name":"interSectionSpacingWithFooter","abstract":"

    The spacing to apply between sections, if the previous section has a footer.

    ","parent_name":"Layout"},"Structs/TableAppearance/Layout.html#/s:10ListableUI15TableAppearanceV6LayoutV26sectionHeaderBottomSpacing12CoreGraphics7CGFloatVvp":{"name":"sectionHeaderBottomSpacing","abstract":"

    The spacing to apply below a section header, before its items.","parent_name":"Layout"},"Structs/TableAppearance/Layout.html#/s:10ListableUI15TableAppearanceV6LayoutV11itemSpacing12CoreGraphics7CGFloatVvp":{"name":"itemSpacing","abstract":"

    The spacing between individual items within a section in a list.

    ","parent_name":"Layout"},"Structs/TableAppearance/Layout.html#/s:10ListableUI15TableAppearanceV6LayoutV26itemToSectionFooterSpacing12CoreGraphics7CGFloatVvp":{"name":"itemToSectionFooterSpacing","abstract":"

    The spacing between the last item in the section and the footer.","parent_name":"Layout"},"Structs/TableAppearance/Layout.html#/s:10ListableUI15TableAppearanceV6LayoutV26lastSectionToFooterSpacing12CoreGraphics7CGFloatVvp":{"name":"lastSectionToFooterSpacing","abstract":"

    The spacing between the last section and the footer of the list.","parent_name":"Layout"},"Structs/TableAppearance/Layout.html#/s:10ListableUI15TableAppearanceV6LayoutV7padding5width27headerToFirstSectionSpacing05interkL12WithNoFooter0mklnP0019sectionHeaderBottomL004itemL00tikpL004lastkipL0AESo12UIEdgeInsetsV_AA15WidthConstraintO12CoreGraphics7CGFloatVA6Utcfc":{"name":"init(padding:width:headerToFirstSectionSpacing:interSectionSpacingWithNoFooter:interSectionSpacingWithFooter:sectionHeaderBottomSpacing:itemSpacing:itemToSectionFooterSpacing:lastSectionToFooterSpacing:)","abstract":"

    Creates a new Layout with the provided options.

    ","parent_name":"Layout"},"Structs/TableAppearance/Layout.html#/s:10ListableUI15TableAppearanceV6LayoutV3set4withyyAEzXE_tF":{"name":"set(with:)","abstract":"

    Easily mutate the Layout in place.

    ","parent_name":"Layout"},"Structs/TableAppearance/Sizing.html#/s:10ListableUI15TableAppearanceV6SizingV10itemHeight12CoreGraphics7CGFloatVvp":{"name":"itemHeight","abstract":"

    The default height for items in a list.

    ","parent_name":"Sizing"},"Structs/TableAppearance/Sizing.html#/s:10ListableUI15TableAppearanceV6SizingV19sectionHeaderHeight12CoreGraphics7CGFloatVvp":{"name":"sectionHeaderHeight","abstract":"

    The default height for section headers in a list.

    ","parent_name":"Sizing"},"Structs/TableAppearance/Sizing.html#/s:10ListableUI15TableAppearanceV6SizingV19sectionFooterHeight12CoreGraphics7CGFloatVvp":{"name":"sectionFooterHeight","abstract":"

    The default height for section footer in a list.

    ","parent_name":"Sizing"},"Structs/TableAppearance/Sizing.html#/s:10ListableUI15TableAppearanceV6SizingV16listHeaderHeight12CoreGraphics7CGFloatVvp":{"name":"listHeaderHeight","abstract":"

    The default height for the list’s header.

    ","parent_name":"Sizing"},"Structs/TableAppearance/Sizing.html#/s:10ListableUI15TableAppearanceV6SizingV16listFooterHeight12CoreGraphics7CGFloatVvp":{"name":"listFooterHeight","abstract":"

    The default height for the list’s footer.

    ","parent_name":"Sizing"},"Structs/TableAppearance/Sizing.html#/s:10ListableUI15TableAppearanceV6SizingV22overscrollFooterHeight12CoreGraphics7CGFloatVvp":{"name":"overscrollFooterHeight","abstract":"

    The default height for the list’s overscroll footer.

    ","parent_name":"Sizing"},"Structs/TableAppearance/Sizing.html#/s:10ListableUI15TableAppearanceV6SizingV26itemPositionGroupingHeight12CoreGraphics7CGFloatVvp":{"name":"itemPositionGroupingHeight","abstract":"

    When providing the ItemPosition for items in a list, specifies the max spacing","parent_name":"Sizing"},"Structs/TableAppearance/Sizing.html#/s:10ListableUI15TableAppearanceV6SizingV10itemHeight013sectionHeaderG00h6FooterG004listiG00kjG0010overscrolljG00f16PositionGroupingG0AE12CoreGraphics7CGFloatV_A6Otcfc":{"name":"init(itemHeight:sectionHeaderHeight:sectionFooterHeight:listHeaderHeight:listFooterHeight:overscrollFooterHeight:itemPositionGroupingHeight:)","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Structs/TableAppearance/Sizing.html#/s:10ListableUI15TableAppearanceV6SizingV3set4withyyAEzXE_tF":{"name":"set(with:)","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Structs/TableAppearance/SectionLayout/Columns.html#/s:10ListableUI15TableAppearanceV13SectionLayoutV7ColumnsV5countSivp":{"name":"count","abstract":"

    Undocumented

    ","parent_name":"Columns"},"Structs/TableAppearance/SectionLayout/Columns.html#/s:10ListableUI15TableAppearanceV13SectionLayoutV7ColumnsV7spacing12CoreGraphics7CGFloatVvp":{"name":"spacing","abstract":"

    Undocumented

    ","parent_name":"Columns"},"Structs/TableAppearance/SectionLayout/Columns.html#/s:10ListableUI15TableAppearanceV13SectionLayoutV7ColumnsV3oneAGvpZ":{"name":"one","abstract":"

    Undocumented

    ","parent_name":"Columns"},"Structs/TableAppearance/SectionLayout/Columns.html#/s:10ListableUI15TableAppearanceV13SectionLayoutV7ColumnsV5count7spacingAGSi_12CoreGraphics7CGFloatVtcfc":{"name":"init(count:spacing:)","abstract":"

    Undocumented

    ","parent_name":"Columns"},"Structs/TableAppearance/SectionLayout.html#/s:10ListableUI15TableAppearanceV13SectionLayoutV5widthAA11CustomWidthOvp":{"name":"width","abstract":"

    Undocumented

    ","parent_name":"SectionLayout"},"Structs/TableAppearance/SectionLayout.html#/s:10ListableUI15TableAppearanceV13SectionLayoutV011customInterE7Spacing12CoreGraphics7CGFloatVSgvp":{"name":"customInterSectionSpacing","abstract":"

    Overrides the calculated spacing after this section

    ","parent_name":"SectionLayout"},"Structs/TableAppearance/SectionLayout.html#/s:10ListableUI15TableAppearanceV13SectionLayoutV7columnsAE7ColumnsVvp":{"name":"columns","abstract":"

    Undocumented

    ","parent_name":"SectionLayout"},"Structs/TableAppearance/SectionLayout.html#/s:10ListableUI15TableAppearanceV13SectionLayoutV5width011customInterE7Spacing7columnsAeA11CustomWidthO_12CoreGraphics7CGFloatVSgAE7ColumnsVtcfc":{"name":"init(width:customInterSectionSpacing:columns:)","abstract":"

    Undocumented

    ","parent_name":"SectionLayout"},"Structs/TableAppearance/SectionLayout.html#/s:10ListableUI19SectionLayoutsValueP07defaultE0xvpZ":{"name":"defaultValue","parent_name":"SectionLayout"},"Structs/TableAppearance/SectionLayout/Columns.html":{"name":"Columns","abstract":"

    Undocumented

    ","parent_name":"SectionLayout"},"Structs/TableAppearance/HeaderFooterLayout.html#/s:10ListableUI15TableAppearanceV18HeaderFooterLayoutV5widthAA11CustomWidthOvp":{"name":"width","abstract":"

    Undocumented

    ","parent_name":"HeaderFooterLayout"},"Structs/TableAppearance/HeaderFooterLayout.html#/s:10ListableUI15TableAppearanceV18HeaderFooterLayoutV5widthAeA11CustomWidthO_tcfc":{"name":"init(width:)","abstract":"

    Undocumented

    ","parent_name":"HeaderFooterLayout"},"Structs/TableAppearance/HeaderFooterLayout.html#/s:10ListableUI24HeaderFooterLayoutsValueP07defaultF0xvpZ":{"name":"defaultValue","parent_name":"HeaderFooterLayout"},"Structs/TableAppearance/ItemLayout.html#/s:10ListableUI15TableAppearanceV10ItemLayoutV11itemSpacing12CoreGraphics7CGFloatVSgvp":{"name":"itemSpacing","abstract":"

    Undocumented

    ","parent_name":"ItemLayout"},"Structs/TableAppearance/ItemLayout.html#/s:10ListableUI15TableAppearanceV10ItemLayoutV26itemToSectionFooterSpacing12CoreGraphics7CGFloatVSgvp":{"name":"itemToSectionFooterSpacing","abstract":"

    Undocumented

    ","parent_name":"ItemLayout"},"Structs/TableAppearance/ItemLayout.html#/s:10ListableUI15TableAppearanceV10ItemLayoutV5widthAA11CustomWidthOvp":{"name":"width","abstract":"

    Undocumented

    ","parent_name":"ItemLayout"},"Structs/TableAppearance/ItemLayout.html#/s:10ListableUI15TableAppearanceV10ItemLayoutV11itemSpacing0g15ToSectionFooterH05widthAE12CoreGraphics7CGFloatVSg_AlA11CustomWidthOtcfc":{"name":"init(itemSpacing:itemToSectionFooterSpacing:width:)","abstract":"

    Undocumented

    ","parent_name":"ItemLayout"},"Structs/TableAppearance/ItemLayout.html#/s:10ListableUI16ItemLayoutsValueP07defaultE0xvpZ":{"name":"defaultValue","parent_name":"ItemLayout"},"Structs/TableAppearance.html#/s:10ListableUI15TableAppearanceV9directionAA15LayoutDirectionOvp":{"name":"direction","abstract":"

    Undocumented

    ","parent_name":"TableAppearance"},"Structs/TableAppearance.html#/s:10ListableUI15TableAppearanceV20stickySectionHeadersSbvp":{"name":"stickySectionHeaders","abstract":"

    Undocumented

    ","parent_name":"TableAppearance"},"Structs/TableAppearance.html#/s:10ListableUI15TableAppearanceV6sizingAC6SizingVvp":{"name":"sizing","abstract":"

    Default sizing attributes for content in the list.

    ","parent_name":"TableAppearance"},"Structs/TableAppearance.html#/s:10ListableUI15TableAppearanceV6layoutAC6LayoutVvp":{"name":"layout","abstract":"

    Layout attributes for content in the list.

    ","parent_name":"TableAppearance"},"Structs/TableAppearance.html#/s:10ListableUI15TableAppearanceV7defaultACvpZ":{"name":"default","abstract":"

    Undocumented

    ","parent_name":"TableAppearance"},"Structs/TableAppearance.html#/s:10ListableUI15TableAppearanceV20stickySectionHeaders6sizing6layoutACSb_AC6SizingVAC6LayoutVtcfc":{"name":"init(stickySectionHeaders:sizing:layout:)","abstract":"

    Creates a new TableAppearance object.

    ","parent_name":"TableAppearance"},"Structs/TableAppearance/ItemLayout.html":{"name":"ItemLayout","abstract":"

    Undocumented

    ","parent_name":"TableAppearance"},"Structs/TableAppearance/HeaderFooterLayout.html":{"name":"HeaderFooterLayout","abstract":"

    Undocumented

    ","parent_name":"TableAppearance"},"Structs/TableAppearance/SectionLayout.html":{"name":"SectionLayout","abstract":"

    Undocumented

    ","parent_name":"TableAppearance"},"Structs/TableAppearance/Sizing.html":{"name":"Sizing","abstract":"

    Sizing options for the list.

    ","parent_name":"TableAppearance"},"Structs/TableAppearance/Layout.html":{"name":"Layout","abstract":"

    Layout options for the list.

    ","parent_name":"TableAppearance"},"Structs/PagedAppearance.html#/s:10ListableUI15PagedAppearanceV7defaultACvpZ":{"name":"default","abstract":"

    Undocumented

    ","parent_name":"PagedAppearance"},"Structs/PagedAppearance.html#/s:10ListableUI15PagedAppearanceV9directionAA15LayoutDirectionOvp":{"name":"direction","abstract":"

    The direction the paging layout should occur in. Defaults to vertical.

    ","parent_name":"PagedAppearance"},"Structs/PagedAppearance.html#/s:10ListableUI15PagedAppearanceV20stickySectionHeadersSbvp":{"name":"stickySectionHeaders","abstract":"

    Undocumented

    ","parent_name":"PagedAppearance"},"Structs/PagedAppearance.html#/s:10ListableUI15PagedAppearanceV21showsScrollIndicatorsSbvp":{"name":"showsScrollIndicators","abstract":"

    If scroll indicators should be visible along the scrollable axis.

    ","parent_name":"PagedAppearance"},"Structs/PagedAppearance.html#/s:10ListableUI15PagedAppearanceV10itemInsetsSo06UIEdgeF0Vvp":{"name":"itemInsets","abstract":"

    How far each item in the list should be inset from the edges of the view.

    ","parent_name":"PagedAppearance"},"Structs/PagedAppearance.html#/s:10ListableUI15PagedAppearanceV9direction21showsScrollIndicators10itemInsetsAcA15LayoutDirectionO_SbSo06UIEdgeJ0Vtcfc":{"name":"init(direction:showsScrollIndicators:itemInsets:)","abstract":"

    Undocumented

    ","parent_name":"PagedAppearance"},"Structs/ListLayoutSize.html#/s:10ListableUI14ListLayoutSizeV5width12CoreGraphics7CGFloatVvp":{"name":"width","abstract":"

    Undocumented

    ","parent_name":"ListLayoutSize"},"Structs/ListLayoutSize.html#/s:10ListableUI14ListLayoutSizeV6height12CoreGraphics7CGFloatVvp":{"name":"height","abstract":"

    Undocumented

    ","parent_name":"ListLayoutSize"},"Structs/ListLayoutSize.html#/s:10ListableUI14ListLayoutSizeV7rotatesSbvp":{"name":"rotates","abstract":"

    Undocumented

    ","parent_name":"ListLayoutSize"},"Structs/ListLayoutSize.html#/s:10ListableUI14ListLayoutSizeV5width6height7rotatesAC12CoreGraphics7CGFloatV_AISbtcfc":{"name":"init(width:height:rotates:)","abstract":"

    Undocumented

    ","parent_name":"ListLayoutSize"},"Structs/ListLayoutSize.html#/s:10ListableUI14ListLayoutSizeV12CGPointValue3forSo6CGSizeVAA0D9DirectionO_tF":{"name":"CGPointValue(for:)","abstract":"

    Undocumented

    ","parent_name":"ListLayoutSize"},"Structs/ListLayoutPoint.html#/s:10ListableUI15ListLayoutPointV1x12CoreGraphics7CGFloatVvp":{"name":"x","abstract":"

    Undocumented

    ","parent_name":"ListLayoutPoint"},"Structs/ListLayoutPoint.html#/s:10ListableUI15ListLayoutPointV1y12CoreGraphics7CGFloatVvp":{"name":"y","abstract":"

    Undocumented

    ","parent_name":"ListLayoutPoint"},"Structs/ListLayoutPoint.html#/s:10ListableUI15ListLayoutPointV7rotatesSbvp":{"name":"rotates","abstract":"

    Undocumented

    ","parent_name":"ListLayoutPoint"},"Structs/ListLayoutPoint.html#/s:10ListableUI15ListLayoutPointV1x1y7rotatesAC12CoreGraphics7CGFloatV_AISbtcfc":{"name":"init(x:y:rotates:)","abstract":"

    Undocumented

    ","parent_name":"ListLayoutPoint"},"Structs/ListLayoutPoint.html#/s:10ListableUI15ListLayoutPointV12CGPointValue3forSo0F0VAA0D9DirectionO_tF":{"name":"CGPointValue(for:)","abstract":"

    Undocumented

    ","parent_name":"ListLayoutPoint"},"Structs/ListLayoutScrollViewProperties/ContentInsetAdjustmentBehavior.html#/s:10ListableUI30ListLayoutScrollViewPropertiesV30ContentInsetAdjustmentBehaviorO9automaticyA2EmF":{"name":"automatic","abstract":"

    Undocumented

    ","parent_name":"ContentInsetAdjustmentBehavior"},"Structs/ListLayoutScrollViewProperties/ContentInsetAdjustmentBehavior.html#/s:10ListableUI30ListLayoutScrollViewPropertiesV30ContentInsetAdjustmentBehaviorO14scrollableAxesyA2EmF":{"name":"scrollableAxes","abstract":"

    Undocumented

    ","parent_name":"ContentInsetAdjustmentBehavior"},"Structs/ListLayoutScrollViewProperties/ContentInsetAdjustmentBehavior.html#/s:10ListableUI30ListLayoutScrollViewPropertiesV30ContentInsetAdjustmentBehaviorO5neveryA2EmF":{"name":"never","abstract":"

    Undocumented

    ","parent_name":"ContentInsetAdjustmentBehavior"},"Structs/ListLayoutScrollViewProperties/ContentInsetAdjustmentBehavior.html#/s:10ListableUI30ListLayoutScrollViewPropertiesV30ContentInsetAdjustmentBehaviorO6alwaysyA2EmF":{"name":"always","abstract":"

    Undocumented

    ","parent_name":"ContentInsetAdjustmentBehavior"},"Structs/ListLayoutScrollViewProperties.html#/s:10ListableUI30ListLayoutScrollViewPropertiesV15isPagingEnabledSbvp":{"name":"isPagingEnabled","abstract":"

    Undocumented

    ","parent_name":"ListLayoutScrollViewProperties"},"Structs/ListLayoutScrollViewProperties.html#/s:10ListableUI30ListLayoutScrollViewPropertiesV30contentInsetAdjustmentBehaviorAC07ContentijK0Ovp":{"name":"contentInsetAdjustmentBehavior","abstract":"

    Undocumented

    ","parent_name":"ListLayoutScrollViewProperties"},"Structs/ListLayoutScrollViewProperties.html#/s:10ListableUI30ListLayoutScrollViewPropertiesV20allowsBounceVerticalSbvp":{"name":"allowsBounceVertical","abstract":"

    Undocumented

    ","parent_name":"ListLayoutScrollViewProperties"},"Structs/ListLayoutScrollViewProperties.html#/s:10ListableUI30ListLayoutScrollViewPropertiesV22allowsBounceHorizontalSbvp":{"name":"allowsBounceHorizontal","abstract":"

    Undocumented

    ","parent_name":"ListLayoutScrollViewProperties"},"Structs/ListLayoutScrollViewProperties.html#/s:10ListableUI30ListLayoutScrollViewPropertiesV016allowsHorizontalE9IndicatorSbvp":{"name":"allowsHorizontalScrollIndicator","abstract":"

    Undocumented

    ","parent_name":"ListLayoutScrollViewProperties"},"Structs/ListLayoutScrollViewProperties.html#/s:10ListableUI30ListLayoutScrollViewPropertiesV014allowsVerticalE9IndicatorSbvp":{"name":"allowsVerticalScrollIndicator","abstract":"

    Undocumented

    ","parent_name":"ListLayoutScrollViewProperties"},"Structs/ListLayoutScrollViewProperties.html#/s:10ListableUI30ListLayoutScrollViewPropertiesV15isPagingEnabled30contentInsetAdjustmentBehavior20allowsBounceVertical0oP10Horizontal0oqE9Indicator0oreS0ACSb_AC07ContentlmN0OS4btcfc":{"name":"init(isPagingEnabled:contentInsetAdjustmentBehavior:allowsBounceVertical:allowsBounceHorizontal:allowsVerticalScrollIndicator:allowsHorizontalScrollIndicator:)","abstract":"

    Undocumented

    ","parent_name":"ListLayoutScrollViewProperties"},"Structs/ListLayoutScrollViewProperties/ContentInsetAdjustmentBehavior.html":{"name":"ContentInsetAdjustmentBehavior","abstract":"

    Undocumented

    ","parent_name":"ListLayoutScrollViewProperties"},"Structs/ListLayoutDefaults.html#/s:10ListableUI18ListLayoutDefaultsV29itemInsertAndRemoveAnimationsAA04ItemghiJ0Vvp":{"name":"itemInsertAndRemoveAnimations","abstract":"

    Undocumented

    ","parent_name":"ListLayoutDefaults"},"Structs/ListLayoutDefaults.html#/s:10ListableUI18ListLayoutDefaultsV29itemInsertAndRemoveAnimationsAcA04ItemghiJ0V_tcfc":{"name":"init(itemInsertAndRemoveAnimations:)","abstract":"

    Undocumented

    ","parent_name":"ListLayoutDefaults"},"Structs/ListLayoutAttributes.html#/s:10ListableUI20ListLayoutAttributesV7SectionV":{"name":"Section","abstract":"

    Undocumented

    ","parent_name":"ListLayoutAttributes"},"Structs/ListLayoutAttributes.html#/s:10ListableUI20ListLayoutAttributesV13SupplementaryV":{"name":"Supplementary","abstract":"

    Undocumented

    ","parent_name":"ListLayoutAttributes"},"Structs/ListLayoutAttributes.html#/s:10ListableUI20ListLayoutAttributesV4ItemV":{"name":"Item","abstract":"

    Undocumented

    ","parent_name":"ListLayoutAttributes"},"Structs/SectionLayouts.html#/s:10ListableUI14SectionLayoutsVyACyACzXEcfc":{"name":"init(_:)","abstract":"

    Creates a new instance of the layouts, with an optional configure","parent_name":"SectionLayouts"},"Structs/SectionLayouts.html#/s:10ListableUI14SectionLayoutsVyxxmcAA0cD5ValueRzluip":{"name":"subscript(_:)","abstract":"

    Allows accessing the various SectionLayoutsValues stored within the object.","parent_name":"SectionLayouts"},"Structs/SectionLayouts.html#/s:10ListableUI14SectionLayoutsV4gridAA14GridAppearanceV0C6LayoutVvp":{"name":"grid","abstract":"

    Undocumented

    ","parent_name":"SectionLayouts"},"Structs/SectionLayouts.html#/s:10ListableUI14SectionLayoutsV5tableAA15TableAppearanceV0C6LayoutVvp":{"name":"table","abstract":"

    Allows customization of a Section‘s layout when it is presented within a .table style layout.

    ","parent_name":"SectionLayouts"},"Structs/GridAppearance/SectionLayout.html#/s:10ListableUI14GridAppearanceV13SectionLayoutV5widthAA11CustomWidthOvp":{"name":"width","abstract":"

    Undocumented

    ","parent_name":"SectionLayout"},"Structs/GridAppearance/SectionLayout.html#/s:10ListableUI19SectionLayoutsValueP07defaultE0xvpZ":{"name":"defaultValue","parent_name":"SectionLayout"},"Structs/GridAppearance/SectionLayout.html#/s:10ListableUI14GridAppearanceV13SectionLayoutV5widthAeA11CustomWidthO_tcfc":{"name":"init(width:)","abstract":"

    Undocumented

    ","parent_name":"SectionLayout"},"Structs/GridAppearance/HeaderFooterLayout.html#/s:10ListableUI14GridAppearanceV18HeaderFooterLayoutV5widthAA11CustomWidthOvp":{"name":"width","abstract":"

    Undocumented

    ","parent_name":"HeaderFooterLayout"},"Structs/GridAppearance/HeaderFooterLayout.html#/s:10ListableUI24HeaderFooterLayoutsValueP07defaultF0xvpZ":{"name":"defaultValue","parent_name":"HeaderFooterLayout"},"Structs/GridAppearance/HeaderFooterLayout.html#/s:10ListableUI14GridAppearanceV18HeaderFooterLayoutV5widthAeA11CustomWidthO_tcfc":{"name":"init(width:)","abstract":"

    Undocumented

    ","parent_name":"HeaderFooterLayout"},"Structs/GridAppearance/ItemLayout.html#/s:10ListableUI16ItemLayoutsValueP07defaultE0xvpZ":{"name":"defaultValue","parent_name":"ItemLayout"},"Structs/GridAppearance/ItemLayout.html#/s:10ListableUI14GridAppearanceV10ItemLayoutVAEycfc":{"name":"init()","abstract":"

    Undocumented

    ","parent_name":"ItemLayout"},"Structs/GridAppearance/Layout.html#/s:10ListableUI14GridAppearanceV6LayoutV7paddingSo12UIEdgeInsetsVvp":{"name":"padding","abstract":"

    Undocumented

    ","parent_name":"Layout"},"Structs/GridAppearance/Layout.html#/s:10ListableUI14GridAppearanceV6LayoutV5widthAA15WidthConstraintOvp":{"name":"width","abstract":"

    Undocumented

    ","parent_name":"Layout"},"Structs/GridAppearance/Layout.html#/s:10ListableUI14GridAppearanceV6LayoutV31interSectionSpacingWithNoFooter12CoreGraphics7CGFloatVvp":{"name":"interSectionSpacingWithNoFooter","abstract":"

    Undocumented

    ","parent_name":"Layout"},"Structs/GridAppearance/Layout.html#/s:10ListableUI14GridAppearanceV6LayoutV29interSectionSpacingWithFooter12CoreGraphics7CGFloatVvp":{"name":"interSectionSpacingWithFooter","abstract":"

    Undocumented

    ","parent_name":"Layout"},"Structs/GridAppearance/Layout.html#/s:10ListableUI14GridAppearanceV6LayoutV26sectionHeaderBottomSpacing12CoreGraphics7CGFloatVvp":{"name":"sectionHeaderBottomSpacing","abstract":"

    Undocumented

    ","parent_name":"Layout"},"Structs/GridAppearance/Layout.html#/s:10ListableUI14GridAppearanceV6LayoutV26itemToSectionFooterSpacing12CoreGraphics7CGFloatVvp":{"name":"itemToSectionFooterSpacing","abstract":"

    Undocumented

    ","parent_name":"Layout"},"Structs/GridAppearance/Layout.html#/s:10ListableUI14GridAppearanceV6LayoutV7padding5width31interSectionSpacingWithNoFooter0hijkM0019sectionHeaderBottomJ006itemToimJ0AESo12UIEdgeInsetsV_AA15WidthConstraintO12CoreGraphics7CGFloatVA3Rtcfc":{"name":"init(padding:width:interSectionSpacingWithNoFooter:interSectionSpacingWithFooter:sectionHeaderBottomSpacing:itemToSectionFooterSpacing:)","abstract":"

    Undocumented

    ","parent_name":"Layout"},"Structs/GridAppearance/Layout.html#/s:10ListableUI14GridAppearanceV6LayoutV3set4withyyAEzXE_tF":{"name":"set(with:)","abstract":"

    Undocumented

    ","parent_name":"Layout"},"Structs/GridAppearance/Sizing/ItemSize.html#/s:10ListableUI14GridAppearanceV6SizingV8ItemSizeO5fixedyAGSo6CGSizeVcAGmF":{"name":"fixed(_:)","abstract":"

    Undocumented

    ","parent_name":"ItemSize"},"Structs/GridAppearance/Sizing.html#/s:10ListableUI14GridAppearanceV6SizingV8itemSizeAE04ItemG0Ovp":{"name":"itemSize","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Structs/GridAppearance/Sizing/ItemSize.html":{"name":"ItemSize","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Structs/GridAppearance/Sizing.html#/s:10ListableUI14GridAppearanceV6SizingV19sectionHeaderHeight12CoreGraphics7CGFloatVvp":{"name":"sectionHeaderHeight","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Structs/GridAppearance/Sizing.html#/s:10ListableUI14GridAppearanceV6SizingV19sectionFooterHeight12CoreGraphics7CGFloatVvp":{"name":"sectionFooterHeight","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Structs/GridAppearance/Sizing.html#/s:10ListableUI14GridAppearanceV6SizingV16listHeaderHeight12CoreGraphics7CGFloatVvp":{"name":"listHeaderHeight","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Structs/GridAppearance/Sizing.html#/s:10ListableUI14GridAppearanceV6SizingV16listFooterHeight12CoreGraphics7CGFloatVvp":{"name":"listFooterHeight","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Structs/GridAppearance/Sizing.html#/s:10ListableUI14GridAppearanceV6SizingV22overscrollFooterHeight12CoreGraphics7CGFloatVvp":{"name":"overscrollFooterHeight","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Structs/GridAppearance/Sizing.html#/s:10ListableUI14GridAppearanceV6SizingV8itemSize19sectionHeaderHeight0h6FooterJ004listiJ00lkJ0010overscrollkJ0A2E04ItemG0O_12CoreGraphics7CGFloatVA4Ptcfc":{"name":"init(itemSize:sectionHeaderHeight:sectionFooterHeight:listHeaderHeight:listFooterHeight:overscrollFooterHeight:)","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Structs/GridAppearance/Sizing.html#/s:10ListableUI14GridAppearanceV6SizingV3set4withyyAEzXE_tF":{"name":"set(with:)","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Structs/GridAppearance.html#/s:10ListableUI14GridAppearanceV6sizingAC6SizingVvp":{"name":"sizing","abstract":"

    Undocumented

    ","parent_name":"GridAppearance"},"Structs/GridAppearance.html#/s:10ListableUI14GridAppearanceV6layoutAC6LayoutVvp":{"name":"layout","abstract":"

    Undocumented

    ","parent_name":"GridAppearance"},"Structs/GridAppearance.html#/s:10ListableUI14GridAppearanceV9directionAA15LayoutDirectionOvp":{"name":"direction","abstract":"

    Undocumented

    ","parent_name":"GridAppearance"},"Structs/GridAppearance.html#/s:10ListableUI14GridAppearanceV20stickySectionHeadersSbvp":{"name":"stickySectionHeaders","abstract":"

    Undocumented

    ","parent_name":"GridAppearance"},"Structs/GridAppearance.html#/s:10ListableUI14GridAppearanceV7defaultACvpZ":{"name":"default","abstract":"

    Undocumented

    ","parent_name":"GridAppearance"},"Structs/GridAppearance.html#/s:10ListableUI14GridAppearanceV20stickySectionHeaders6sizing6layoutACSb_AC6SizingVAC6LayoutVtcfc":{"name":"init(stickySectionHeaders:sizing:layout:)","abstract":"

    Undocumented

    ","parent_name":"GridAppearance"},"Structs/GridAppearance/Sizing.html":{"name":"Sizing","abstract":"

    Undocumented

    ","parent_name":"GridAppearance"},"Structs/GridAppearance/Layout.html":{"name":"Layout","abstract":"

    Undocumented

    ","parent_name":"GridAppearance"},"Structs/GridAppearance/ItemLayout.html":{"name":"ItemLayout","abstract":"

    Undocumented

    ","parent_name":"GridAppearance"},"Structs/GridAppearance/HeaderFooterLayout.html":{"name":"HeaderFooterLayout","abstract":"

    Undocumented

    ","parent_name":"GridAppearance"},"Structs/GridAppearance/SectionLayout.html":{"name":"SectionLayout","abstract":"

    Undocumented

    ","parent_name":"GridAppearance"},"Structs/LayoutDescription.html#/s:10ListableUI17LayoutDescriptionV10layoutType10appearanceACxm_y0C10AppearanceQzzctcAA04ListC0Rzlufc":{"name":"init(layoutType:appearance:)","abstract":"

    Creates a new layout description for the provided layout type, with the provided optional layout configuration.

    ","parent_name":"LayoutDescription"},"Structs/LayoutDescription.html#/s:10ListableUI17LayoutDescriptionV17experimental_gridyACyAA14GridAppearanceVzcFZ":{"name":"experimental_grid(_:)","abstract":"

    Undocumented

    ","parent_name":"LayoutDescription"},"Structs/LayoutDescription.html#/s:10ListableUI17LayoutDescriptionV5pagedyACyAA15PagedAppearanceVzcFZ":{"name":"paged(_:)","abstract":"

    Undocumented

    ","parent_name":"LayoutDescription"},"Structs/LayoutDescription.html#/s:10ListableUI17LayoutDescriptionV5tableyACyAA15TableAppearanceVzcFZ":{"name":"table(_:)","abstract":"

    Undocumented

    ","parent_name":"LayoutDescription"},"Structs/Reordering/Result.html#/s:10ListableUI10ReorderingV6ResultV11fromSectionAA0F0Vvp":{"name":"fromSection","abstract":"

    Undocumented

    ","parent_name":"Result"},"Structs/Reordering/Result.html#/s:10ListableUI10ReorderingV6ResultV13fromIndexPath10Foundation0fG0Vvp":{"name":"fromIndexPath","abstract":"

    Undocumented

    ","parent_name":"Result"},"Structs/Reordering/Result.html#/s:10ListableUI10ReorderingV6ResultV9toSectionAA0F0Vvp":{"name":"toSection","abstract":"

    Undocumented

    ","parent_name":"Result"},"Structs/Reordering/Result.html#/s:10ListableUI10ReorderingV6ResultV11toIndexPath10Foundation0fG0Vvp":{"name":"toIndexPath","abstract":"

    Undocumented

    ","parent_name":"Result"},"Structs/Reordering/Sections.html#/s:10ListableUI10ReorderingV8SectionsO4sameyA2EmF":{"name":"same","abstract":"

    Undocumented

    ","parent_name":"Sections"},"Structs/Reordering.html#/s:10ListableUI10ReorderingV8sectionsAC8SectionsOvp":{"name":"sections","abstract":"

    Undocumented

    ","parent_name":"Reordering"},"Structs/Reordering.html#/s:10ListableUI10ReorderingV10CanReordera":{"name":"CanReorder","abstract":"

    Undocumented

    ","parent_name":"Reordering"},"Structs/Reordering.html#/s:10ListableUI10ReorderingV10canReorderSbAC6ResultVcSgvp":{"name":"canReorder","abstract":"

    Undocumented

    ","parent_name":"Reordering"},"Structs/Reordering.html#/s:10ListableUI10ReorderingV10DidReordera":{"name":"DidReorder","abstract":"

    Undocumented

    ","parent_name":"Reordering"},"Structs/Reordering.html#/s:10ListableUI10ReorderingV10didReorderyyAC6ResultVcvp":{"name":"didReorder","abstract":"

    Undocumented

    ","parent_name":"Reordering"},"Structs/Reordering.html#/s:10ListableUI10ReorderingV8sections10canReorder03didF0A2C8SectionsO_SbAC6ResultVcSgyAJctcfc":{"name":"init(sections:canReorder:didReorder:)","abstract":"

    Undocumented

    ","parent_name":"Reordering"},"Structs/Reordering/Sections.html":{"name":"Sections","abstract":"

    Undocumented

    ","parent_name":"Reordering"},"Structs/Reordering/Result.html":{"name":"Result","abstract":"

    Undocumented

    ","parent_name":"Reordering"},"Structs/ItemState.html#/s:10ListableUI9ItemStateV10isSelected0E11HighlightedACSb_Sbtcfc":{"name":"init(isSelected:isHighlighted:)","abstract":"

    Undocumented

    ","parent_name":"ItemState"},"Structs/ItemState.html#/s:10ListableUI9ItemStateV4cellACSo20UICollectionViewCellC_tcfc":{"name":"init(cell:)","abstract":"

    Undocumented

    ","parent_name":"ItemState"},"Structs/ItemState.html#/s:10ListableUI9ItemStateV10isSelectedSbvp":{"name":"isSelected","abstract":"

    If the item is currently selected.

    ","parent_name":"ItemState"},"Structs/ItemState.html#/s:10ListableUI9ItemStateV13isHighlightedSbvp":{"name":"isHighlighted","abstract":"

    If the item is currently highlighted.

    ","parent_name":"ItemState"},"Structs/ItemState.html#/s:10ListableUI9ItemStateV8isActiveSbvp":{"name":"isActive","abstract":"

    If the item is either selected or highlighted.

    ","parent_name":"ItemState"},"Structs/ItemLayouts.html#/s:10ListableUI11ItemLayoutsVyACyACzXEcfc":{"name":"init(_:)","abstract":"

    Creates a new instance of the layouts, with an optional configure","parent_name":"ItemLayouts"},"Structs/ItemLayouts.html#/s:10ListableUI11ItemLayoutsVyxxmcAA0cD5ValueRzluip":{"name":"subscript(_:)","abstract":"

    Allows accessing the various ItemLayoutsValues stored within the object.","parent_name":"ItemLayouts"},"Structs/ItemLayouts.html#/s:10ListableUI11ItemLayoutsV4gridAA14GridAppearanceV0C6LayoutVvp":{"name":"grid","abstract":"

    Undocumented

    ","parent_name":"ItemLayouts"},"Structs/ItemLayouts.html#/s:10ListableUI11ItemLayoutsV5tableAA15TableAppearanceV0C6LayoutVvp":{"name":"table","abstract":"

    Allows customization of an Item‘s layout when it is presented within a .table style layout.

    ","parent_name":"ItemLayouts"},"Structs/ItemInsertAndRemoveAnimations/Attributes.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV10AttributesV6boundsSo6CGRectVvp":{"name":"bounds","abstract":"

    Undocumented

    ","parent_name":"Attributes"},"Structs/ItemInsertAndRemoveAnimations/Attributes.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV10AttributesV6centerSo7CGPointVvp":{"name":"center","abstract":"

    Undocumented

    ","parent_name":"Attributes"},"Structs/ItemInsertAndRemoveAnimations/Attributes.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV10AttributesV9transformSo17CGAffineTransformVvp":{"name":"transform","abstract":"

    Undocumented

    ","parent_name":"Attributes"},"Structs/ItemInsertAndRemoveAnimations/Attributes.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV10AttributesV11transform3DSo13CATransform3DVvp":{"name":"transform3D","abstract":"

    Undocumented

    ","parent_name":"Attributes"},"Structs/ItemInsertAndRemoveAnimations/Attributes.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV10AttributesV5alpha12CoreGraphics7CGFloatVvp":{"name":"alpha","abstract":"

    Undocumented

    ","parent_name":"Attributes"},"Structs/ItemInsertAndRemoveAnimations/Attributes.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV10AttributesV6zIndexSivp":{"name":"zIndex","abstract":"

    Undocumented

    ","parent_name":"Attributes"},"Structs/ItemInsertAndRemoveAnimations/Attributes.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV10AttributesV5frameSo6CGRectVvp":{"name":"frame","abstract":"

    Undocumented

    ","parent_name":"Attributes"},"Structs/ItemInsertAndRemoveAnimations.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV7Preparea":{"name":"Prepare","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ItemInsertAndRemoveAnimations.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV02onD0yyAC10AttributesVzcvp":{"name":"onInsert","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ItemInsertAndRemoveAnimations.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV9onRemovalyyAC10AttributesVzcvp":{"name":"onRemoval","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ItemInsertAndRemoveAnimations.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV02onD00H7RemovalACyAC10AttributesVzc_yAGzctcfc":{"name":"init(onInsert:onRemoval:)","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ItemInsertAndRemoveAnimations.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV10attributesACyAC10AttributesVzc_tcfc":{"name":"init(attributes:)","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ItemInsertAndRemoveAnimations/Attributes.html":{"name":"Attributes","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ItemInsertAndRemoveAnimations.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV4fadeACvpZ":{"name":"fade","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ItemInsertAndRemoveAnimations.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV5rightACvpZ":{"name":"right","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ItemInsertAndRemoveAnimations.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV4leftACvpZ":{"name":"left","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ItemInsertAndRemoveAnimations.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV3topACvpZ":{"name":"top","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ItemInsertAndRemoveAnimations.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV6bottomACvpZ":{"name":"bottom","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ItemInsertAndRemoveAnimations.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV9scaleDownACvpZ":{"name":"scaleDown","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ItemInsertAndRemoveAnimations.html#/s:10ListableUI29ItemInsertAndRemoveAnimationsV7scaleUpACvpZ":{"name":"scaleUp","abstract":"

    Undocumented

    ","parent_name":"ItemInsertAndRemoveAnimations"},"Structs/ApplyItemContentInfo.html#/s:10ListableUI20ApplyItemContentInfoV5stateAA0D5StateVvp":{"name":"state","abstract":"

    The state of the Item currently displaying the content. Is it highlighted, selected, etc.

    ","parent_name":"ApplyItemContentInfo"},"Structs/ApplyItemContentInfo.html#/s:10ListableUI20ApplyItemContentInfoV8positionAA0D8PositionOvp":{"name":"position","abstract":"

    The position of the item within its section.

    ","parent_name":"ApplyItemContentInfo"},"Structs/ApplyItemContentInfo.html#/s:10ListableUI20ApplyItemContentInfoV10reorderingAA17ReorderingActionsCvp":{"name":"reordering","abstract":"

    Provides access to actions to handle re-ordering the content within the list.

    ","parent_name":"ApplyItemContentInfo"},"Structs/ApplyItemContentInfo.html#/s:10ListableUI20ApplyItemContentInfoV11environmentAA15ListEnvironmentVvp":{"name":"environment","abstract":"

    The environment of the containing list.","parent_name":"ApplyItemContentInfo"},"Structs/ItemContentViews.html#/s:10ListableUI16ItemContentViewsV7content0D4ViewQzvp":{"name":"content","abstract":"

    The content view of the content.

    ","parent_name":"ItemContentViews"},"Structs/ItemContentViews.html#/s:10ListableUI16ItemContentViewsV10background14BackgroundViewQzvp":{"name":"background","abstract":"

    The background view of the content.

    ","parent_name":"ItemContentViews"},"Structs/ItemContentViews.html#/s:10ListableUI16ItemContentViewsV18selectedBackground08SelectedG4ViewQzvp":{"name":"selectedBackground","abstract":"

    The selected background view of the content.","parent_name":"ItemContentViews"},"Structs/DefaultItemProperties.html#/s:10ListableUI21DefaultItemPropertiesV6sizingAA6SizingOSgvp":{"name":"sizing","abstract":"

    Undocumented

    ","parent_name":"DefaultItemProperties"},"Structs/DefaultItemProperties.html#/s:10ListableUI21DefaultItemPropertiesV7layoutsAA0D7LayoutsVSgvp":{"name":"layouts","abstract":"

    Undocumented

    ","parent_name":"DefaultItemProperties"},"Structs/DefaultItemProperties.html#/s:10ListableUI21DefaultItemPropertiesV14selectionStyleAA0d9SelectionG0OSgvp":{"name":"selectionStyle","abstract":"

    Undocumented

    ","parent_name":"DefaultItemProperties"},"Structs/DefaultItemProperties.html#/s:10ListableUI21DefaultItemPropertiesV25insertAndRemoveAnimationsAA0d6InsertghI0VSgvp":{"name":"insertAndRemoveAnimations","abstract":"

    Undocumented

    ","parent_name":"DefaultItemProperties"},"Structs/DefaultItemProperties.html#/s:10ListableUI21DefaultItemPropertiesV12swipeActionsAA05SwipeG13ConfigurationVSgvp":{"name":"swipeActions","abstract":"

    Undocumented

    ","parent_name":"DefaultItemProperties"},"Structs/DefaultItemProperties.html#/s:10ListableUI21DefaultItemPropertiesV6sizing7layouts14selectionStyle25insertAndRemoveAnimations12swipeActionsACyxGAA6SizingOSg_AA0D7LayoutsVSgAA0d9SelectionI0OSgAA0d6InsertklM0VSgAA05SwipeO13ConfigurationVSgtcfc":{"name":"init(sizing:layouts:selectionStyle:insertAndRemoveAnimations:swipeActions:)","abstract":"

    Undocumented

    ","parent_name":"DefaultItemProperties"},"Structs/HeaderFooterLayouts.html#/s:10ListableUI19HeaderFooterLayoutsVyACyACzXEcfc":{"name":"init(_:)","abstract":"

    Creates a new instance of the layouts, with an optional configure","parent_name":"HeaderFooterLayouts"},"Structs/HeaderFooterLayouts.html#/s:10ListableUI19HeaderFooterLayoutsVyxxmcAA0cdE5ValueRzluip":{"name":"subscript(_:)","abstract":"

    Allows accessing the various HeaderFooterLayoutValues stored within the object.","parent_name":"HeaderFooterLayouts"},"Structs/HeaderFooterLayouts.html#/s:10ListableUI19HeaderFooterLayoutsV4gridAA14GridAppearanceV0cD6LayoutVvp":{"name":"grid","abstract":"

    Undocumented

    ","parent_name":"HeaderFooterLayouts"},"Structs/HeaderFooterLayouts.html#/s:10ListableUI19HeaderFooterLayoutsV5tableAA15TableAppearanceV0cD6LayoutVvp":{"name":"table","abstract":"

    Allows customization of a HeaderFooter‘s layout when it is presented within a .table style layout.

    ","parent_name":"HeaderFooterLayouts"},"Structs/HeaderFooterContentViews.html#/s:10ListableUI24HeaderFooterContentViewsV7content0E4ViewQzvp":{"name":"content","abstract":"

    The content view of the content.

    ","parent_name":"HeaderFooterContentViews"},"Structs/HeaderFooterContentViews.html#/s:10ListableUI24HeaderFooterContentViewsV10background14BackgroundViewQzvp":{"name":"background","abstract":"

    The background view of the content.

    ","parent_name":"HeaderFooterContentViews"},"Structs/HeaderFooterContentViews.html#/s:10ListableUI24HeaderFooterContentViewsV7pressed21PressedBackgroundViewQzvp":{"name":"pressed","abstract":"

    The background view of the content that’s displayed while a press is active.

    ","parent_name":"HeaderFooterContentViews"},"Structs/ApplyHeaderFooterContentInfo.html#/s:10ListableUI28ApplyHeaderFooterContentInfoV11environmentAA15ListEnvironmentVvp":{"name":"environment","abstract":"

    The environment of the containing list.","parent_name":"ApplyHeaderFooterContentInfo"},"Structs/HeaderFooter.html#/s:10ListableUI12HeaderFooterV7contentxvp":{"name":"content","abstract":"

    Undocumented

    ","parent_name":"HeaderFooter"},"Structs/HeaderFooter.html#/s:10ListableUI12HeaderFooterV6sizingAA6SizingOvp":{"name":"sizing","abstract":"

    Undocumented

    ","parent_name":"HeaderFooter"},"Structs/HeaderFooter.html#/s:10ListableUI12HeaderFooterV7layoutsAA0cD7LayoutsVvp":{"name":"layouts","abstract":"

    Undocumented

    ","parent_name":"HeaderFooter"},"Structs/HeaderFooter.html#/s:10ListableUI12HeaderFooterV5OnTapa":{"name":"OnTap","abstract":"

    Undocumented

    ","parent_name":"HeaderFooter"},"Structs/HeaderFooter.html#/s:10ListableUI12HeaderFooterV5onTapyxcSgvp":{"name":"onTap","abstract":"

    Undocumented

    ","parent_name":"HeaderFooter"},"Structs/HeaderFooter.html#/s:10ListableUI12HeaderFooterV19debuggingIdentifierSSSgvp":{"name":"debuggingIdentifier","abstract":"

    Undocumented

    ","parent_name":"HeaderFooter"},"Structs/HeaderFooter.html#/s:10ListableUI12HeaderFooterV5Builda":{"name":"Build","abstract":"

    Undocumented

    ","parent_name":"HeaderFooter"},"Structs/HeaderFooter.html#/s:10ListableUI12HeaderFooterV_5buildACyxGx_yAEzXEtcfc":{"name":"init(_:build:)","abstract":"

    Undocumented

    ","parent_name":"HeaderFooter"},"Structs/HeaderFooter.html#/s:10ListableUI12HeaderFooterV_6sizing7layouts5onTapACyxGx_AA6SizingOAA0cD7LayoutsVyxcSgtcfc":{"name":"init(_:sizing:layouts:onTap:)","abstract":"

    Undocumented

    ","parent_name":"HeaderFooter"},"Structs/HeaderFooter.html#/s:10ListableUI12HeaderFooterV5apply2to3for4withySo6UIViewC_AA11ApplyReasonOAA0jcD11ContentInfoVtF":{"name":"apply(to:for:with:)","abstract":"

    Undocumented

    ","parent_name":"HeaderFooter"},"Structs/HeaderFooter.html#/s:10ListableUI12HeaderFooterV15anyIsEquivalent2toSbAA03AnycD0_p_tF":{"name":"anyIsEquivalent(to:)","abstract":"

    Undocumented

    ","parent_name":"HeaderFooter"},"Structs/HeaderFooter.html#/s:10ListableUI12HeaderFooterV015newPresentationcD5State24performsContentCallbacksypSb_tF":{"name":"newPresentationHeaderFooterState(performsContentCallbacks:)","abstract":"

    Undocumented

    ","parent_name":"HeaderFooter"},"Structs/EmbeddedList/Sizing.html#/s:10ListableUI12EmbeddedListV6SizingO7defaultyA2EmF":{"name":"default","abstract":"

    Falls back to the default sizing of Items in the list view.

    ","parent_name":"Sizing"},"Structs/EmbeddedList/Sizing.html#/s:10ListableUI12EmbeddedListV6SizingO5fixedyAE12CoreGraphics7CGFloatV_AItcAEmF":{"name":"fixed(width:height:)","abstract":"

    A fixed size item with the given width or height.

    ","parent_name":"Sizing"},"Structs/EmbeddedList.html#/s:10ListableUI12EmbeddedListV10propertiesAA0D10PropertiesVvp":{"name":"properties","abstract":"

    Undocumented

    ","parent_name":"EmbeddedList"},"Structs/EmbeddedList.html#/s:10ListableUI12EmbeddedListV17contentIdentifiers11AnyHashableVvp":{"name":"contentIdentifier","abstract":"

    Undocumented

    ","parent_name":"EmbeddedList"},"Structs/EmbeddedList.html#/s:10ListableUI12EmbeddedListV10identifier5buildACx_yAA0D10PropertiesVzXEtcSHRzlufc":{"name":"init(identifier:build:)","abstract":"

    Undocumented

    ","parent_name":"EmbeddedList"},"Structs/EmbeddedList.html#/s:10ListableUI11ItemContentP0D4ViewQa":{"name":"ContentView","parent_name":"EmbeddedList"},"Structs/EmbeddedList.html#/s:10ListableUI11ItemContentP10identifierAA10IdentifierCyxGvp":{"name":"identifier","parent_name":"EmbeddedList"},"Structs/EmbeddedList.html#/s:10ListableUI11ItemContentP5apply2to3for4withyAA0cD5ViewsVyxG_AA11ApplyReasonOAA0jcD4InfoVtF":{"name":"apply(to:for:with:)","parent_name":"EmbeddedList"},"Structs/EmbeddedList.html#/s:10ListableUI11ItemContentP12isEquivalent2toSbx_tF":{"name":"isEquivalent(to:)","parent_name":"EmbeddedList"},"Structs/EmbeddedList.html#/s:10ListableUI11ItemContentP014createReusableD4View5frame0dG0QzSo6CGRectV_tFZ":{"name":"createReusableContentView(frame:)","parent_name":"EmbeddedList"},"Structs/EmbeddedList/Sizing.html":{"name":"Sizing","abstract":"

    How you specify sizing for an embedded list. The surface area","parent_name":"EmbeddedList"},"Structs/Item/OnUpdate.html#/s:10ListableUI4ItemV8OnUpdateV8Callbacka":{"name":"Callback","abstract":"

    Undocumented

    ","parent_name":"OnUpdate"},"Structs/Item/OnUpdate.html#/s:10ListableUI4ItemV8OnUpdateV3oldACyxGvp":{"name":"old","abstract":"

    Undocumented

    ","parent_name":"OnUpdate"},"Structs/Item/OnUpdate.html#/s:10ListableUI4ItemV8OnUpdateV3newACyxGvp":{"name":"new","abstract":"

    Undocumented

    ","parent_name":"OnUpdate"},"Structs/Item/OnMove.html#/s:10ListableUI4ItemV6OnMoveV8Callbacka":{"name":"Callback","abstract":"

    Undocumented

    ","parent_name":"OnMove"},"Structs/Item/OnMove.html#/s:10ListableUI4ItemV6OnMoveV3oldACyxGvp":{"name":"old","abstract":"

    Undocumented

    ","parent_name":"OnMove"},"Structs/Item/OnMove.html#/s:10ListableUI4ItemV6OnMoveV3newACyxGvp":{"name":"new","abstract":"

    Undocumented

    ","parent_name":"OnMove"},"Structs/Item/OnRemove.html#/s:10ListableUI4ItemV8OnRemoveV8Callbacka":{"name":"Callback","abstract":"

    Undocumented

    ","parent_name":"OnRemove"},"Structs/Item/OnRemove.html#/s:10ListableUI4ItemV8OnRemoveV4itemACyxGvp":{"name":"item","abstract":"

    Undocumented

    ","parent_name":"OnRemove"},"Structs/Item/OnInsert.html#/s:10ListableUI4ItemV8OnInsertV8Callbacka":{"name":"Callback","abstract":"

    Undocumented

    ","parent_name":"OnInsert"},"Structs/Item/OnInsert.html#/s:10ListableUI4ItemV8OnInsertV4itemACyxGvp":{"name":"item","abstract":"

    Undocumented

    ","parent_name":"OnInsert"},"Structs/Item/OnDeselect.html#/s:10ListableUI4ItemV10OnDeselectV8Callbacka":{"name":"Callback","abstract":"

    Undocumented

    ","parent_name":"OnDeselect"},"Structs/Item/OnDeselect.html#/s:10ListableUI4ItemV10OnDeselectV4itemACyxGvp":{"name":"item","abstract":"

    Undocumented

    ","parent_name":"OnDeselect"},"Structs/Item/OnSelect.html#/s:10ListableUI4ItemV8OnSelectV8Callbacka":{"name":"Callback","abstract":"

    Undocumented

    ","parent_name":"OnSelect"},"Structs/Item/OnSelect.html#/s:10ListableUI4ItemV8OnSelectV4itemACyxGvp":{"name":"item","abstract":"

    Undocumented

    ","parent_name":"OnSelect"},"Structs/Item/OnEndDisplay.html#/s:10ListableUI4ItemV12OnEndDisplayV8Callbacka":{"name":"Callback","abstract":"

    Undocumented

    ","parent_name":"OnEndDisplay"},"Structs/Item/OnEndDisplay.html#/s:10ListableUI4ItemV12OnEndDisplayV4itemACyxGvp":{"name":"item","abstract":"

    Undocumented

    ","parent_name":"OnEndDisplay"},"Structs/Item/OnEndDisplay.html#/s:10ListableUI4ItemV12OnEndDisplayV07isFirsteF0Sbvp":{"name":"isFirstEndDisplay","abstract":"

    Undocumented

    ","parent_name":"OnEndDisplay"},"Structs/Item/OnDisplay.html#/s:10ListableUI4ItemV9OnDisplayV8Callbacka":{"name":"Callback","abstract":"

    Undocumented

    ","parent_name":"OnDisplay"},"Structs/Item/OnDisplay.html#/s:10ListableUI4ItemV9OnDisplayV4itemACyxGvp":{"name":"item","abstract":"

    Undocumented

    ","parent_name":"OnDisplay"},"Structs/Item/OnDisplay.html#/s:10ListableUI4ItemV9OnDisplayV07isFirstE0Sbvp":{"name":"isFirstDisplay","abstract":"

    Undocumented

    ","parent_name":"OnDisplay"},"Structs/Item.html#/s:10ListableUI4ItemV10identifierAA13AnyIdentifierCvp":{"name":"identifier","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV7contentxvp":{"name":"content","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV6sizingAA6SizingOvp":{"name":"sizing","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV7layoutsAA0C7LayoutsVvp":{"name":"layouts","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV14selectionStyleAA0c9SelectionE0Ovp":{"name":"selectionStyle","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV25insertAndRemoveAnimationsAA0c6InsertefG0VSgvp":{"name":"insertAndRemoveAnimations","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV12swipeActionsAA05SwipeE13ConfigurationVSgvp":{"name":"swipeActions","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV10reorderingAA10ReorderingVSgvp":{"name":"reordering","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV9onDisplayyAC02OnE0Vyx_GcSgvp":{"name":"onDisplay","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV12onEndDisplayyAC02OneF0Vyx_GcSgvp":{"name":"onEndDisplay","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV8onSelectyAC02OnE0Vyx_GcSgvp":{"name":"onSelect","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV10onDeselectyAC02OnE0Vyx_GcSgvp":{"name":"onDeselect","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV8onInsertyAC02OnE0Vyx_GcSgvp":{"name":"onInsert","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV8onRemoveyAC02OnE0Vyx_GcSgvp":{"name":"onRemove","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV6onMoveyAC02OnE0Vyx_GcSgvp":{"name":"onMove","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV8onUpdateyAC02OnE0Vyx_GcSgvp":{"name":"onUpdate","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV19debuggingIdentifierSSSgvp":{"name":"debuggingIdentifier","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV5Builda":{"name":"Build","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV_5buildACyxGx_yAEzXEtcfc":{"name":"init(_:build:)","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV_6sizing7layouts14selectionStyle25insertAndRemoveAnimations12swipeActions10reordering9onDisplay0o3EndP00O6Select0O8Deselect0O6Insert0oJ00O4Move0O6UpdateACyxGx_AA6SizingOSgAA0C7LayoutsVSgAA0c9SelectionG0OSgAA0ctijK0VSgAA05SwipeM13ConfigurationVSgAA10ReorderingVSgyAC02OnP0Vyx_GcSgyAC02OnqP0Vyx_GcSgyAC02OnR0Vyx_GcSgyAC02OnS0Vyx_GcSgyAC02OnT0Vyx_GcSgyAC02OnJ0Vyx_GcSgyAC02OnU0Vyx_GcSgyAC02OnV0Vyx_GcSgtcfc":{"name":"init(_:sizing:layouts:selectionStyle:insertAndRemoveAnimations:swipeActions:reordering:onDisplay:onEndDisplay:onSelect:onDeselect:onInsert:onRemove:onMove:onUpdate:)","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV10anyContentypvp":{"name":"anyContent","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV15anyIsEquivalent2toSbAA03AnyC0_p_tF":{"name":"anyIsEquivalent(to:)","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV11anyWasMoved10comparedToSbAA03AnyC0_p_tF":{"name":"anyWasMoved(comparedTo:)","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemV015newPresentationC5State4with15updateCallbacks015performsContentI0ypAA0cF12DependenciesV_AA06UpdateI0CSbtF":{"name":"newPresentationItemState(with:updateCallbacks:performsContentCallbacks:)","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item/OnDisplay.html":{"name":"OnDisplay","abstract":"

    Value passed to the onDisplay callback for Item.

    ","parent_name":"Item"},"Structs/Item/OnEndDisplay.html":{"name":"OnEndDisplay","abstract":"

    Value passed to the onEndDisplay callback for Item.

    ","parent_name":"Item"},"Structs/Item/OnSelect.html":{"name":"OnSelect","abstract":"

    Value passed to the onSelect callback for Item.

    ","parent_name":"Item"},"Structs/Item/OnDeselect.html":{"name":"OnDeselect","abstract":"

    Value passed to the onDeselect callback for Item.

    ","parent_name":"Item"},"Structs/Item/OnInsert.html":{"name":"OnInsert","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item/OnRemove.html":{"name":"OnRemove","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item/OnMove.html":{"name":"OnMove","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item/OnUpdate.html":{"name":"OnUpdate","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemVA2A12EmbeddedListVRszrlE4list_6sizing5buildACyAEGqd___AE6SizingOyAA0E10PropertiesVzXEtSHRd__lFZ":{"name":"list(_:sizing:build:)","abstract":"

    Creates an Item which can be used to embed a list inside another list,","parent_name":"Item"},"Structs/Item.html#/s:10ListableUI4ItemVA2A019LocalizedCollatableC7ContentRzrlE15collationStringSSvp":{"name":"collationString","abstract":"

    Undocumented

    ","parent_name":"Item"},"Structs/Content.html#/s:10ListableUI7ContentV10identifiers11AnyHashableVSgvp":{"name":"identifier","abstract":"

    The identifier for the content, defaults to nil.","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV14refreshControlAA07RefreshE0VSgvp":{"name":"refreshControl","abstract":"

    The refresh control, if any, associated with the list.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV6headerAA15AnyHeaderFooter_pSgvp":{"name":"header","abstract":"

    The header for the list, usually displayed before all other content.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV6footerAA15AnyHeaderFooter_pSgvp":{"name":"footer","abstract":"

    The footer for the list, usually displayed after all other content.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV16overscrollFooterAA09AnyHeaderE0_pSgvp":{"name":"overscrollFooter","abstract":"

    The overscroll footer for the list, which is displayed below the bottom bounds of the visible frame,","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV8sectionsSayAA7SectionVGvp":{"name":"sections","abstract":"

    All sections in the list.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV16nonEmptySectionsSayAA7SectionVGvp":{"name":"nonEmptySections","abstract":"

    Any sections that have a non-zero number of items.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV9itemCountSivp":{"name":"itemCount","abstract":"

    The total number of items in all of the sections in the list.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV8contains3anySbShyAA0C7FiltersOG_tF":{"name":"contains(any:)","abstract":"

    Check if the content contains any of the given types, which you specify via the filters","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV5Builda":{"name":"Build","abstract":"

    Undocumented

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV4withACyACzXE_tcfc":{"name":"init(with:)","abstract":"

    Creates a new instance, configured as needed via the provided builder block.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV10identifier14refreshControl6header6footer16overscrollFooter8sectionsACs11AnyHashableVSg_AA07RefreshF0VSgAA0l6HeaderJ0_pSgA2QSayAA7SectionVGtcfc":{"name":"init(identifier:refreshControl:header:footer:overscrollFooter:sections:)","abstract":"

    Creates a new instance with the provided parameters.","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV9firstItemAA03AnyE0_pSgvp":{"name":"firstItem","abstract":"

    The first Item in the content. Returns nil if there is no content in any section.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV8lastItemAA03AnyE0_pSgvp":{"name":"lastItem","abstract":"

    The last Item in the content. Returns nil if there is no content in any section.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV4item2atAA7AnyItem_p10Foundation9IndexPathV_tF":{"name":"item(at:)","abstract":"

    Returns the Item at the given IndexPath.","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV14firstIndexPath3for10Foundation0eF0VSgAA13AnyIdentifierC_tF":{"name":"firstIndexPath(for:)","abstract":"

    Returns the first IndexPath for the contained Item with the given AnyIdentifier,","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV13lastIndexPath10Foundation0eF0VSgyF":{"name":"lastIndexPath()","abstract":"

    Returns the IndexPath of the last Item in the content.","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV11removeEmptyyyF":{"name":"removeEmpty()","abstract":"

    Removes all Sections that do not contain any Items.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV3addyyAA7SectionVF":{"name":"add(_:)","abstract":"

    Appends a Section to the end of the Content.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV2peoiyyACz_AA7SectionVtFZ":{"name":"+=(_:_:)","abstract":"

    Appends a Section to the end of the Content.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV2peoiyyACz_SayAA7SectionVGtFZ":{"name":"+=(_:_:)","abstract":"

    Appends a list of Sections to the end of the Content.

    ","parent_name":"Content"},"Structs/Content.html#/s:10ListableUI7ContentV14callAsFunction_9configureyx_yAA7SectionVzXEtSHRzlF":{"name":"callAsFunction(_:configure:)","abstract":"

    Allows streamlined creation of sections when building a list, leveraging Swift’s callAsFunction","parent_name":"Content"},"Structs/Color.html#/s:10ListableUI5ColorV12wrappedValueSo7UIColorCvp":{"name":"wrappedValue","abstract":"

    The underlying color value.

    ","parent_name":"Color"},"Structs/Color.html#/s:10ListableUI5ColorVyACSo7UIColorCcfc":{"name":"init(_:)","abstract":"

    Undocumented

    ","parent_name":"Color"},"Structs/Color.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"Color"},"Structs/Behavior/Underflow/Alignment.html#/s:10ListableUI8BehaviorV9UnderflowV9AlignmentO3topyA2GmF":{"name":"top","abstract":"

    Undocumented

    ","parent_name":"Alignment"},"Structs/Behavior/Underflow/Alignment.html#/s:10ListableUI8BehaviorV9UnderflowV9AlignmentO6centeryA2GmF":{"name":"center","abstract":"

    Undocumented

    ","parent_name":"Alignment"},"Structs/Behavior/Underflow/Alignment.html#/s:10ListableUI8BehaviorV9UnderflowV9AlignmentO6bottomyA2GmF":{"name":"bottom","abstract":"

    Undocumented

    ","parent_name":"Alignment"},"Structs/Behavior/Underflow.html#/s:10ListableUI8BehaviorV9UnderflowV12alwaysBounceSbvp":{"name":"alwaysBounce","abstract":"

    Undocumented

    ","parent_name":"Underflow"},"Structs/Behavior/Underflow.html#/s:10ListableUI8BehaviorV9UnderflowV9alignmentAE9AlignmentOvp":{"name":"alignment","abstract":"

    Undocumented

    ","parent_name":"Underflow"},"Structs/Behavior/Underflow.html#/s:10ListableUI8BehaviorV9UnderflowV12alwaysBounce9alignmentAESb_AE9AlignmentOtcfc":{"name":"init(alwaysBounce:alignment:)","abstract":"

    Undocumented

    ","parent_name":"Underflow"},"Structs/Behavior/Underflow/Alignment.html":{"name":"Alignment","abstract":"

    Undocumented

    ","parent_name":"Underflow"},"Structs/Behavior/SelectionMode.html#/s:10ListableUI8BehaviorV13SelectionModeO4noneyA2EmF":{"name":"none","abstract":"

    The list view does not allow any selections.

    ","parent_name":"SelectionMode"},"Structs/Behavior/SelectionMode.html#/s:10ListableUI8BehaviorV13SelectionModeO6singleyAESb_tcAEmF":{"name":"single(clearsSelectionOnViewWillAppear:)","abstract":"

    The list view allows single selections. When an item is selected, the previously selected item (if any)","parent_name":"SelectionMode"},"Structs/Behavior/SelectionMode.html#/s:10ListableUI8BehaviorV13SelectionModeO8multipleyA2EmF":{"name":"multiple","abstract":"

    The list view allows multiple selections. It is your responsibility to update the content","parent_name":"SelectionMode"},"Structs/Behavior/ScrollsToTop.html#/s:10ListableUI8BehaviorV12ScrollsToTopO8disabledyA2EmF":{"name":"disabled","abstract":"

    No action is performed when the user taps on the status bar.

    ","parent_name":"ScrollsToTop"},"Structs/Behavior/ScrollsToTop.html#/s:10ListableUI8BehaviorV12ScrollsToTopO7enabledyA2EmF":{"name":"enabled","abstract":"

    When the user taps on the status bar, scroll to the top of the list.

    ","parent_name":"ScrollsToTop"},"Structs/Behavior/KeyboardAdjustmentMode.html#/s:10ListableUI8BehaviorV22KeyboardAdjustmentModeO4noneyA2EmF":{"name":"none","abstract":"

    The contentInset of the list is not adjusted when the keyboard appears or disappears.

    ","parent_name":"KeyboardAdjustmentMode"},"Structs/Behavior/KeyboardAdjustmentMode.html#/s:10ListableUI8BehaviorV22KeyboardAdjustmentModeO18adjustsWhenVisibleyA2EmF":{"name":"adjustsWhenVisible","abstract":"

    The contentInset of the list is adjusted when the keyboard appears or disappears.

    ","parent_name":"KeyboardAdjustmentMode"},"Structs/Behavior.html#/s:10ListableUI8BehaviorV19keyboardDismissModeSo020UIScrollViewKeyboardeF0Vvp":{"name":"keyboardDismissMode","abstract":"

    How the keyboard should be dismissed (if at all) based on scrolling of the list view.

    ","parent_name":"Behavior"},"Structs/Behavior.html#/s:10ListableUI8BehaviorV22keyboardAdjustmentModeAC08KeyboardeF0Ovp":{"name":"keyboardAdjustmentMode","abstract":"

    How to adjust the contentInset of the list when the keyboard visibility changes.

    ","parent_name":"Behavior"},"Structs/Behavior.html#/s:10ListableUI8BehaviorV12scrollsToTopAC07ScrollseF0Ovp":{"name":"scrollsToTop","abstract":"

    How the list should react when the user taps the application status bar.","parent_name":"Behavior"},"Structs/Behavior.html#/s:10ListableUI8BehaviorV13selectionModeAC09SelectionE0Ovp":{"name":"selectionMode","abstract":"

    How the list should respond to selection attempts.

    ","parent_name":"Behavior"},"Structs/Behavior.html#/s:10ListableUI8BehaviorV9underflowAC9UnderflowVvp":{"name":"underflow","abstract":"

    How the list should behave when its content takes up less space than is available in the list view.","parent_name":"Behavior"},"Structs/Behavior.html#/s:10ListableUI8BehaviorV23canCancelContentTouchesSbvp":{"name":"canCancelContentTouches","abstract":"

    A Boolean value that controls whether touches in the content view always lead to tracking.

    ","parent_name":"Behavior"},"Structs/Behavior.html#/s:10ListableUI8BehaviorV20delaysContentTouchesSbvp":{"name":"delaysContentTouches","abstract":"

    A Boolean value that determines whether the scroll view delays the handling of touch-down gestures.

    ","parent_name":"Behavior"},"Structs/Behavior.html#/s:10ListableUI8BehaviorV15isPagingEnabledSbvp":{"name":"isPagingEnabled","abstract":"

    Is paging enabled on the underlying scroll view.

    ","parent_name":"Behavior"},"Structs/Behavior.html#/s:10ListableUI8BehaviorV19keyboardDismissMode0d10AdjustmentF012scrollsToTop09selectionF09underflow23canCancelContentTouches06delaysoP015isPagingEnabledACSo020UIScrollViewKeyboardeF0V_AC0wgF0OAC07ScrollsiJ0OAC09SelectionF0OAC9UnderflowVS3btcfc":{"name":"init(keyboardDismissMode:keyboardAdjustmentMode:scrollsToTop:selectionMode:underflow:canCancelContentTouches:delaysContentTouches:isPagingEnabled:)","abstract":"

    Creates a new Behavior based on the provided parameters.

    ","parent_name":"Behavior"},"Structs/Behavior/KeyboardAdjustmentMode.html":{"name":"KeyboardAdjustmentMode","abstract":"

    How to adjust the contentInset of the list when the keyboard visibility changes.

    ","parent_name":"Behavior"},"Structs/Behavior/ScrollsToTop.html":{"name":"ScrollsToTop","abstract":"

    How to react when the user taps on the status bar of the application.

    ","parent_name":"Behavior"},"Structs/Behavior/SelectionMode.html":{"name":"SelectionMode","abstract":"

    The selection mode of the list view, which controls how many items (if any) can be selected at once.

    ","parent_name":"Behavior"},"Structs/Behavior/Underflow.html":{"name":"Underflow","abstract":"

    Undocumented

    ","parent_name":"Behavior"},"Structs/Appearance.html#/s:10ListableUI10AppearanceV15backgroundColorSo7UIColorCvp":{"name":"backgroundColor","abstract":"

    The background color for the list.

    ","parent_name":"Appearance"},"Structs/Appearance.html#/s:10ListableUI10AppearanceV21showsScrollIndicatorsSbvp":{"name":"showsScrollIndicators","abstract":"

    If the list should display its scroll indicators.

    ","parent_name":"Appearance"},"Structs/Appearance.html#/s:10ListableUI10AppearanceV15backgroundColor21showsScrollIndicators9configureACSo7UIColorC_SbyACzXEtcfc":{"name":"init(backgroundColor:showsScrollIndicators:configure:)","abstract":"

    Creates a new appearance object with the provided options.

    ","parent_name":"Appearance"},"Structs/Appearance.html#/s:10ListableUI10AppearanceV22defaultBackgroundColorSo7UIColorCvpZ":{"name":"defaultBackgroundColor","abstract":"

    The default background color for the Appearance.

    ","parent_name":"Appearance"},"Structs/Appearance.html":{"name":"Appearance","abstract":"

    Contains all the properties which affect the appearance of all possible kinds of list layouts.

    "},"Structs/Behavior.html":{"name":"Behavior","abstract":"

    Controls various behaviors of the list view, such as keyboard dismissal, selection mode, and behavior"},"Structs/Color.html":{"name":"Color","abstract":"

    A color wrapper which provides equatability for"},"Structs/Content.html":{"name":"Content","abstract":"

    Undocumented

    "},"Structs/Item.html":{"name":"Item","abstract":"

    Undocumented

    "},"Structs/EmbeddedList.html":{"name":"EmbeddedList","abstract":"

    Describes item content which can be used to embed a list inside another list,"},"Structs/HeaderFooter.html":{"name":"HeaderFooter","abstract":"

    Undocumented

    "},"Structs/ApplyHeaderFooterContentInfo.html":{"name":"ApplyHeaderFooterContentInfo","abstract":"

    Information about the current state of the content, which is passed to apply(to:for:with:)"},"Structs/HeaderFooterContentViews.html":{"name":"HeaderFooterContentViews","abstract":"

    The views owned by the item content, passed to the apply(to:) method to theme and provide content.

    "},"Structs/HeaderFooterLayouts.html":{"name":"HeaderFooterLayouts","abstract":"

    HeaderFooterLayouts allows you to provide ListLayout-specific layout configuration for"},"Structs.html#/s:10ListableUI21ItemStateDependenciesV":{"name":"ItemStateDependencies","abstract":"

    Undocumented

    "},"Structs/DefaultItemProperties.html":{"name":"DefaultItemProperties","abstract":"

    Allows specifying default properties to apply to an item when it is initialized,"},"Structs/ItemContentViews.html":{"name":"ItemContentViews","abstract":"

    The views owned by the item content, passed to the apply(to:) method to theme and provide content.

    "},"Structs/ApplyItemContentInfo.html":{"name":"ApplyItemContentInfo","abstract":"

    Information about the current state of the content, which is passed to apply(to:for:with:)"},"Structs/ItemInsertAndRemoveAnimations.html":{"name":"ItemInsertAndRemoveAnimations","abstract":"

    Undocumented

    "},"Structs/ItemLayouts.html":{"name":"ItemLayouts","abstract":"

    ItemLayouts allows you to provide ListLayout-specific layout configuration for"},"Structs/ItemState.html":{"name":"ItemState","abstract":"

    Undocumented

    "},"Structs/Reordering.html":{"name":"Reordering","abstract":"

    Undocumented

    "},"Structs/LayoutDescription.html":{"name":"LayoutDescription","abstract":"

    A LayoutDescription, well, describes the type of and properties of a layout to apply to a list view.

    "},"Structs/GridAppearance.html":{"name":"GridAppearance","abstract":"

    Undocumented

    "},"Structs/SectionLayouts.html":{"name":"SectionLayouts","abstract":"

    SectionLayouts allows you to provide ListLayout-specific layout configuration for"},"Structs/ListLayoutAttributes.html":{"name":"ListLayoutAttributes","abstract":"

    Undocumented

    "},"Structs/ListLayoutDefaults.html":{"name":"ListLayoutDefaults","abstract":"

    Undocumented

    "},"Structs/ListLayoutScrollViewProperties.html":{"name":"ListLayoutScrollViewProperties","abstract":"

    Undocumented

    "},"Structs/ListLayoutPoint.html":{"name":"ListLayoutPoint","abstract":"

    Undocumented

    "},"Structs/ListLayoutSize.html":{"name":"ListLayoutSize","abstract":"

    Undocumented

    "},"Structs/PagedAppearance.html":{"name":"PagedAppearance","abstract":"

    Describes the available appearance configuration options for a paged list layout."},"Structs/TableAppearance.html":{"name":"TableAppearance","abstract":"

    TableAppearance defines the appearance and layout attribute for list layouts within a Listable list.

    "},"Structs/ListEnvironment.html":{"name":"ListEnvironment","abstract":"

    An environment of keys and values that are passed to every ItemContent and HeaderFooter"},"Structs/ListProperties.html":{"name":"ListProperties","abstract":"

    The ListProperties object describes all of the given values needed to configure"},"Structs/ListScrollPositionInfo.html":{"name":"ListScrollPositionInfo","abstract":"

    Information about the current scroll position of a list,"},"Structs/ListStateObserver.html":{"name":"ListStateObserver","abstract":"

    Allows reading state and events based on state changes within the list view."},"Structs/LocalizedItemCollator.html":{"name":"LocalizedItemCollator","abstract":"

    If you’re looking for the equivalent of UILocalizedIndexedCollation for lists,"},"Structs/ItemPreview.html":{"name":"ItemPreview","abstract":"

    A SwiftUI view that you can use to preview your Item or ItemContent"},"Structs/ItemPreviewAppearance.html":{"name":"ItemPreviewAppearance","abstract":"

    The appearance options for a preview item.

    "},"Structs/RefreshControl.html":{"name":"RefreshControl","abstract":"

    Undocumented

    "},"Structs/ScrollPosition.html":{"name":"ScrollPosition","abstract":"

    Specifies how to position an item in a list when requesting the list scrolls to it.

    "},"Structs/Section.html":{"name":"Section","abstract":"

    Undocumented

    "},"Structs/HorizontalPadding.html":{"name":"HorizontalPadding","abstract":"

    Undocumented

    "},"Structs/SwipeActionsConfiguration.html":{"name":"SwipeActionsConfiguration","abstract":"

    Use SwipeActionsConfiguration to configure an item with SwipeActions."},"Structs/SwipeAction.html":{"name":"SwipeAction","abstract":"

    Create SwipeActions to define actions that can be performed in a SwipeActionsConfiguration.

    "},"Protocols/SectionLayoutsValue.html#/s:10ListableUI19SectionLayoutsValueP07defaultE0xvpZ":{"name":"defaultValue","abstract":"

    The default value used when accessing the value, if none is set.

    ","parent_name":"SectionLayoutsValue"},"Protocols/AnySectionInfo.html#/s:10ListableUI14AnySectionInfoP13anyIdentifierAA0cG0Cvp":{"name":"anyIdentifier","abstract":"

    Undocumented

    ","parent_name":"AnySectionInfo"},"Protocols/AnySectionInfo.html#/s:10ListableUI14AnySectionInfoP11anyWasMoved10comparedToSbAaB_p_tF":{"name":"anyWasMoved(comparedTo:)","abstract":"

    Undocumented

    ","parent_name":"AnySectionInfo"},"Protocols/SectionInfo.html#/s:10ListableUI11SectionInfoP10identifierAA10IdentifierCyxGvp":{"name":"identifier","abstract":"

    Undocumented

    ","parent_name":"SectionInfo"},"Protocols/SectionInfo.html#/s:10ListableUI11SectionInfoP8wasMoved10comparedToSbx_tF":{"name":"wasMoved(comparedTo:)","abstract":"

    Undocumented

    ","parent_name":"SectionInfo"},"Protocols/SectionInfo.html#/s:10ListableUI11SectionInfoPAAE13anyIdentifierAA03AnyF0Cvp":{"name":"anyIdentifier","abstract":"

    Undocumented

    ","parent_name":"SectionInfo"},"Protocols/SectionInfo.html#/s:10ListableUI11SectionInfoPAAE11anyWasMoved10comparedToSbAA03AnycD0_p_tF":{"name":"anyWasMoved(comparedTo:)","abstract":"

    Undocumented

    ","parent_name":"SectionInfo"},"Protocols/AnyLocalizedCollatableItem.html#/s:10ListableUI26AnyLocalizedCollatableItemP15collationStringSSvp":{"name":"collationString","abstract":"

    Undocumented

    ","parent_name":"AnyLocalizedCollatableItem"},"Protocols/LocalizedCollatableItemContent.html#/s:10ListableUI30LocalizedCollatableItemContentP15collationStringSSvp":{"name":"collationString","abstract":"

    A string that represents the primary content of your ItemContent; usually a name or title.

    ","parent_name":"LocalizedCollatableItemContent"},"Protocols/ListViewSource.html#/s:10ListableUI14ListViewSourceP5StateQa":{"name":"State","abstract":"

    Undocumented

    ","parent_name":"ListViewSource"},"Protocols/ListViewSource.html#/s:10ListableUI14ListViewSourceP7content4withADyAA0E5StateCy0H0QzG_AA7ContentVztF":{"name":"content(with:content:)","abstract":"

    Undocumented

    ","parent_name":"ListViewSource"},"Protocols/ListViewSource.html#/s:10ListableUI14ListViewSourceP7content4withAA7ContentVAA0E5StateCy0I0QzG_tF":{"name":"content(with:)","abstract":"

    Undocumented

    ","parent_name":"ListViewSource"},"Protocols/ListEnvironmentKey.html#/s:10ListableUI18ListEnvironmentKeyP5ValueQa":{"name":"Value","abstract":"

    The type of value stored by this key.

    ","parent_name":"ListEnvironmentKey"},"Protocols/ListEnvironmentKey.html#/s:10ListableUI18ListEnvironmentKeyP12defaultValue0G0QzvpZ":{"name":"defaultValue","abstract":"

    The default value that will be vended by an Environment for this key if no other value has been set.

    ","parent_name":"ListEnvironmentKey"},"Protocols/ListLayoutAppearance.html#/s:10ListableUI20ListLayoutAppearanceP7defaultxvpZ":{"name":"default","abstract":"

    Undocumented

    ","parent_name":"ListLayoutAppearance"},"Protocols/ListLayoutAppearance.html#/s:10ListableUI20ListLayoutAppearanceP9directionAA0D9DirectionOvp":{"name":"direction","abstract":"

    Undocumented

    ","parent_name":"ListLayoutAppearance"},"Protocols/ListLayoutAppearance.html#/s:10ListableUI20ListLayoutAppearanceP20stickySectionHeadersSbvp":{"name":"stickySectionHeaders","abstract":"

    Undocumented

    ","parent_name":"ListLayoutAppearance"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutP10appearanceAA10AppearanceVvp":{"name":"appearance","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutP8behaviorAA8BehaviorVvp":{"name":"behavior","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutP7contentAA0dE7ContentCvp":{"name":"content","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutP20scrollViewPropertiesAA0de6ScrollgH0Vvp":{"name":"scrollViewProperties","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutP9directionAA0E9DirectionOvp":{"name":"direction","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutP20stickySectionHeadersSbvp":{"name":"stickySectionHeaders","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutP06updateE02inySo16UICollectionViewC_tF":{"name":"updateLayout(in:)","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutP6layout8delegate2inyAA014CollectionViewE8Delegate_p_So012UICollectionJ0CtF":{"name":"layout(delegate:in:)","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutP11setZIndexesyyF":{"name":"setZIndexes()","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutPAAE19visibleContentFrame3forSo6CGRectVSo16UICollectionViewC_tF":{"name":"visibleContentFrame(for:)","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutPAAE36positionStickySectionHeadersIfNeeded2inySo16UICollectionViewC_tF":{"name":"positionStickySectionHeadersIfNeeded(in:)","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutPAAE30updateOverscrollFooterPosition2inySo16UICollectionViewC_tF":{"name":"updateOverscrollFooterPosition(in:)","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyListLayout.html#/s:10ListableUI13AnyListLayoutPAAE018adjustPositionsForE9Underflow2inySo16UICollectionViewC_tF":{"name":"adjustPositionsForLayoutUnderflow(in:)","abstract":"

    Undocumented

    ","parent_name":"AnyListLayout"},"Protocols/AnyLayoutDescriptionConfiguration.html#/s:10ListableUI33AnyLayoutDescriptionConfigurationP011createEmptyD010appearance8behaviorAA0c4ListD0_pAA10AppearanceV_AA8BehaviorVtF":{"name":"createEmptyLayout(appearance:behavior:)","abstract":"

    Undocumented

    ","parent_name":"AnyLayoutDescriptionConfiguration"},"Protocols/AnyLayoutDescriptionConfiguration.html#/s:10ListableUI33AnyLayoutDescriptionConfigurationP015createPopulatedD010appearance8behavior8delegateAA0c4ListD0_pAA10AppearanceV_AA8BehaviorVAA014CollectionViewD8Delegate_ptF":{"name":"createPopulatedLayout(appearance:behavior:delegate:)","abstract":"

    Undocumented

    ","parent_name":"AnyLayoutDescriptionConfiguration"},"Protocols/AnyLayoutDescriptionConfiguration.html#/s:10ListableUI33AnyLayoutDescriptionConfigurationP13shouldRebuild6layoutSbAA0c4ListD0_p_tF":{"name":"shouldRebuild(layout:)","abstract":"

    Undocumented

    ","parent_name":"AnyLayoutDescriptionConfiguration"},"Protocols/AnyLayoutDescriptionConfiguration.html#/s:10ListableUI33AnyLayoutDescriptionConfigurationP06isSameD4Type2asSbAaB_p_tF":{"name":"isSameLayoutType(as:)","abstract":"

    Undocumented

    ","parent_name":"AnyLayoutDescriptionConfiguration"},"Protocols/ListLayout.html#/s:10ListableUI10ListLayoutP0D10AppearanceQa":{"name":"LayoutAppearance","abstract":"

    Undocumented

    ","parent_name":"ListLayout"},"Protocols/ListLayout.html#/s:10ListableUI10ListLayoutP8defaultsAA0cD8DefaultsVvpZ":{"name":"defaults","abstract":"

    Undocumented

    ","parent_name":"ListLayout"},"Protocols/ListLayout.html#/s:10ListableUI10ListLayoutP16layoutAppearance0dF0Qzvp":{"name":"layoutAppearance","abstract":"

    Undocumented

    ","parent_name":"ListLayout"},"Protocols/ListLayout.html#/s:10ListableUI10ListLayoutP16layoutAppearance10appearance8behavior7contentx0dF0Qz_AA0F0VAA8BehaviorVAA0cD7ContentCtcfc":{"name":"init(layoutAppearance:appearance:behavior:content:)","abstract":"

    Undocumented

    ","parent_name":"ListLayout"},"Protocols/ListLayout.html#/s:10ListableUI10ListLayoutPAAE8describe10appearanceAA0D11DescriptionVy0D10AppearanceQzzc_tFZ":{"name":"describe(appearance:)","abstract":"

    Creates a new layout description for a list layout, with the provided optional layout configuration.

    ","parent_name":"ListLayout"},"Protocols/ListLayout.html#/s:10ListableUI10ListLayoutPAAE9directionAA0D9DirectionOvp":{"name":"direction","abstract":"

    Undocumented

    ","parent_name":"ListLayout"},"Protocols/ListLayout.html#/s:10ListableUI10ListLayoutPAAE20stickySectionHeadersSbvp":{"name":"stickySectionHeaders","abstract":"

    Undocumented

    ","parent_name":"ListLayout"},"Protocols/CollectionViewLayoutDelegate.html#/s:10ListableUI28CollectionViewLayoutDelegateP04listdE20UpdatedItemPositionsyySo012UICollectionD0CF":{"name":"listViewLayoutUpdatedItemPositions(_:)","abstract":"

    Undocumented

    ","parent_name":"CollectionViewLayoutDelegate"},"Protocols/CollectionViewLayoutDelegate.html#/s:10ListableUI28CollectionViewLayoutDelegateP04listE7Content8defaultsAA04ListeH0CAA0jE8DefaultsV_tF":{"name":"listLayoutContent(defaults:)","abstract":"

    Undocumented

    ","parent_name":"CollectionViewLayoutDelegate"},"Protocols/ItemLayoutsValue.html#/s:10ListableUI16ItemLayoutsValueP07defaultE0xvpZ":{"name":"defaultValue","abstract":"

    The default value used when accessing the value, if none is set.

    ","parent_name":"ItemLayoutsValue"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP0cD4TypeQa":{"name":"ItemContentType","abstract":"

    The type of ItemContent associated with this coordinator.

    ","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP7actionsAA0cdE7ActionsCy0cD4TypeQzGvp":{"name":"actions","abstract":"

    The available actions you can perform on the coordinated Item. Eg, updating it to a new value.

    ","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP4infoAA0cdE4InfoCy0cD4TypeQzGvp":{"name":"info","abstract":"

    Info about the coordinated Item, such as its original and current value.

    ","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP11wasInsertedyyAA0C0V8OnInsertVy0cD4TypeQz_GF":{"name":"wasInserted(_:)","abstract":"

    Invoked on the coordinator when it is first created and configured.

    ","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP10wasRemovedyyAA0C0V8OnRemoveVy0cD4TypeQz_GF":{"name":"wasRemoved(_:)","abstract":"

    Invoked on the coordinator when its owned item is removed from the list due to","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP8wasMovedyyAA0C0V6OnMoveVy0cD4TypeQz_GF":{"name":"wasMoved(_:)","abstract":"

    Invoked on the coordinator when its owned item is moved inside a list due to its","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP10wasUpdatedyyAA0C0V8OnUpdateVy0cD4TypeQz_GF":{"name":"wasUpdated(_:)","abstract":"

    Invoked on the coordinator when an external update is pushed onto the owned Item.","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP4Viewa":{"name":"View","abstract":"

    The view type associated with the item.

    ","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP4view0cD4Type_0D4ViewQZSgvp":{"name":"view","abstract":"

    The view, if any, currently used to display the item.

    ","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP11willDisplay4withy0cD4Type_0D4ViewQZ_tF":{"name":"willDisplay(with:)","abstract":"

    Invoked when the list is about to begin displaying the item with the given view.

    ","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP13didEndDisplay4withy0cD4Type_0D4ViewQZ_tF":{"name":"didEndDisplay(with:)","abstract":"

    Invoked when the list is about to complete displaying the item with the given view.

    ","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP11wasSelectedyyF":{"name":"wasSelected()","abstract":"

    Invoked when the item is selected, via either user interaction or the selectionStyle.

    ","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP13wasDeselectedyyF":{"name":"wasDeselected()","abstract":"

    Invoked when the item is deselected, via either user interaction or the selectionStyle.

    ","parent_name":"ItemContentCoordinator"},"Protocols/ItemContentSwipeActionsView.html#/s:10ListableUI27ItemContentSwipeActionsViewP05swipeF5Width12CoreGraphics7CGFloatVvp":{"name":"swipeActionsWidth","abstract":"

    Undocumented

    ","parent_name":"ItemContentSwipeActionsView"},"Protocols/ItemContentSwipeActionsView.html#/s:10ListableUI27ItemContentSwipeActionsViewP16didPerformActionxySbc_tcfc":{"name":"init(didPerformAction:)","abstract":"

    Undocumented

    ","parent_name":"ItemContentSwipeActionsView"},"Protocols/ItemContentSwipeActionsView.html#/s:10ListableUI27ItemContentSwipeActionsViewP5apply7actionsyAA0eF13ConfigurationV_tF":{"name":"apply(actions:)","abstract":"

    Undocumented

    ","parent_name":"ItemContentSwipeActionsView"},"Protocols/ItemContentSwipeActionsView.html#/s:10ListableUI27ItemContentSwipeActionsViewP5apply5stateyAA0E11ActionStateO_tF":{"name":"apply(state:)","abstract":"

    Undocumented

    ","parent_name":"ItemContentSwipeActionsView"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP10identifierAA10IdentifierCyxGvp":{"name":"identifier","abstract":"

    Identifies the content across updates to the list. This value must remain the same,","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP07defaultC10PropertiesAA07DefaultcF0VyxGvp":{"name":"defaultItemProperties","abstract":"

    Default values to assign to various properties on the Item which wraps","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP5apply2to3for4withyAA0cD5ViewsVyxG_AA11ApplyReasonOAA0jcD4InfoVtF":{"name":"apply(to:for:with:)","abstract":"

    Called when rendering the content. This is where you should push data from your","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP8wasMoved10comparedToSbx_tF":{"name":"wasMoved(comparedTo:)","abstract":"

    Return true if the content’s sort changed based on the old value passed into the function.

    ","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP12isEquivalent2toSbx_tF":{"name":"isEquivalent(to:)","abstract":"

    Return false if the content’ changed based on the old value passed into the function.

    ","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP16SwipeActionsViewQa":{"name":"SwipeActionsView","abstract":"

    The view type to use to render swipe actions (delete, etc) for this content.","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP0D4ViewQa":{"name":"ContentView","abstract":"

    The content view used to draw the content.","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP014createReusableD4View5frame0dG0QzSo6CGRectV_tFZ":{"name":"createReusableContentView(frame:)","abstract":"

    Create and return a new content view used to render the content.

    ","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP11CoordinatorQa":{"name":"Coordinator","abstract":"

    The coordinator type to use to manage the live state of the Item and ItemContent,","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP18CoordinatorActionsa":{"name":"CoordinatorActions","abstract":"

    The actions passed to the coordinator.

    ","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP15CoordinatorInfoa":{"name":"CoordinatorInfo","abstract":"

    The info passed to the coordinator.

    ","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP15makeCoordinator7actions4info0F0QzAA0cdF7ActionsCyxG_AA0cdF4InfoCyxGtF":{"name":"makeCoordinator(actions:info:)","abstract":"

    Creates a new coordinator with the provided actions and info.

    ","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP14BackgroundViewQa":{"name":"BackgroundView","abstract":"

    The background view used to draw the background of the content.","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP28createReusableBackgroundView5frame0gH0QzSo6CGRectV_tFZ":{"name":"createReusableBackgroundView(frame:)","abstract":"

    Create and return a new background view used to render the content’s background.

    ","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP22SelectedBackgroundViewQa":{"name":"SelectedBackgroundView","abstract":"

    The selected background view used to draw the background of the content when it is selected or highlighted.","parent_name":"ItemContent"},"Protocols/ItemContent.html#/s:10ListableUI11ItemContentP36createReusableSelectedBackgroundView5frame0ghI0QzSo6CGRectV_tFZ":{"name":"createReusableSelectedBackgroundView(frame:)","abstract":"

    Create and return a new background view used to render the content’s selected background.

    ","parent_name":"ItemContent"},"Protocols/AnyItem_Internal.html#/s:10ListableUI16AnyItem_InternalP11anyWasMoved10comparedToSbAA0cD0_p_tF":{"name":"anyWasMoved(comparedTo:)","abstract":"

    Undocumented

    ","parent_name":"AnyItem_Internal"},"Protocols/AnyItem_Internal.html#/s:10ListableUI16AnyItem_InternalP15anyIsEquivalent2toSbAA0cD0_p_tF":{"name":"anyIsEquivalent(to:)","abstract":"

    Undocumented

    ","parent_name":"AnyItem_Internal"},"Protocols/AnyItem_Internal.html#/s:10ListableUI16AnyItem_InternalP015newPresentationD5State4with15updateCallbacks015performsContentK0ypAA0dH12DependenciesV_AA06UpdateK0CSbtF":{"name":"newPresentationItemState(with:updateCallbacks:performsContentCallbacks:)","abstract":"

    Undocumented

    ","parent_name":"AnyItem_Internal"},"Protocols/AnyItem.html#/s:10ListableUI7AnyItemP10identifierAA0C10IdentifierCvp":{"name":"identifier","abstract":"

    Undocumented

    ","parent_name":"AnyItem"},"Protocols/AnyItem.html#/s:10ListableUI7AnyItemP10anyContentypvp":{"name":"anyContent","abstract":"

    Undocumented

    ","parent_name":"AnyItem"},"Protocols/AnyItem.html#/s:10ListableUI7AnyItemP6sizingAA6SizingOvp":{"name":"sizing","abstract":"

    Undocumented

    ","parent_name":"AnyItem"},"Protocols/AnyItem.html#/s:10ListableUI7AnyItemP7layoutsAA0D7LayoutsVvp":{"name":"layouts","abstract":"

    Undocumented

    ","parent_name":"AnyItem"},"Protocols/AnyItem.html#/s:10ListableUI7AnyItemP14selectionStyleAA0d9SelectionF0Ovp":{"name":"selectionStyle","abstract":"

    Undocumented

    ","parent_name":"AnyItem"},"Protocols/AnyItem.html#/s:10ListableUI7AnyItemP25insertAndRemoveAnimationsAA0d6InsertfgH0VSgvp":{"name":"insertAndRemoveAnimations","abstract":"

    Undocumented

    ","parent_name":"AnyItem"},"Protocols/AnyItem.html#/s:10ListableUI7AnyItemP12swipeActionsAA05SwipeF13ConfigurationVSgvp":{"name":"swipeActions","abstract":"

    Undocumented

    ","parent_name":"AnyItem"},"Protocols/AnyItem.html#/s:10ListableUI7AnyItemP10reorderingAA10ReorderingVSgvp":{"name":"reordering","abstract":"

    Undocumented

    ","parent_name":"AnyItem"},"Protocols/HeaderFooterLayoutsValue.html#/s:10ListableUI24HeaderFooterLayoutsValueP07defaultF0xvpZ":{"name":"defaultValue","abstract":"

    The default value used when accessing the value, if none is set.

    ","parent_name":"HeaderFooterLayoutsValue"},"Protocols/HeaderFooterContent.html#/s:10ListableUI19HeaderFooterContentP5apply2to3for4withyAA0cdE5ViewsVyxG_AA11ApplyReasonOAA0kcdE4InfoVtF":{"name":"apply(to:for:with:)","abstract":"

    Undocumented

    ","parent_name":"HeaderFooterContent"},"Protocols/HeaderFooterContent.html#/s:10ListableUI19HeaderFooterContentP12isEquivalent2toSbx_tF":{"name":"isEquivalent(to:)","abstract":"

    Undocumented

    ","parent_name":"HeaderFooterContent"},"Protocols/HeaderFooterContent.html#/s:10ListableUI19HeaderFooterContentP0E4ViewQa":{"name":"ContentView","abstract":"

    The content view used to draw the content.","parent_name":"HeaderFooterContent"},"Protocols/HeaderFooterContent.html#/s:10ListableUI19HeaderFooterContentP014createReusableE4View5frame0eH0QzSo6CGRectV_tFZ":{"name":"createReusableContentView(frame:)","abstract":"

    Create and return a new content view used to render the content.

    ","parent_name":"HeaderFooterContent"},"Protocols/HeaderFooterContent.html#/s:10ListableUI19HeaderFooterContentP14BackgroundViewQa":{"name":"BackgroundView","abstract":"

    The background view used to draw the background of the content.","parent_name":"HeaderFooterContent"},"Protocols/HeaderFooterContent.html#/s:10ListableUI19HeaderFooterContentP28createReusableBackgroundView5frame0hI0QzSo6CGRectV_tFZ":{"name":"createReusableBackgroundView(frame:)","abstract":"

    Create and return a new background view used to render the content’s background.

    ","parent_name":"HeaderFooterContent"},"Protocols/HeaderFooterContent.html#/s:10ListableUI19HeaderFooterContentP21PressedBackgroundViewQa":{"name":"PressedBackgroundView","abstract":"

    The selected background view used to draw the background of the content when it is selected or highlighted.","parent_name":"HeaderFooterContent"},"Protocols/HeaderFooterContent.html#/s:10ListableUI19HeaderFooterContentP35createReusablePressedBackgroundView5frame0hiJ0QzSo6CGRectV_tFZ":{"name":"createReusablePressedBackgroundView(frame:)","abstract":"

    Create and return a new background view used to render the content’s pressed background.

    ","parent_name":"HeaderFooterContent"},"Protocols/HeaderFooterContent.html#/s:10ListableUI19HeaderFooterContentPAASQRzrlE12isEquivalent2toSbx_tF":{"name":"isEquivalent(to:)","parent_name":"HeaderFooterContent"},"Protocols/AnyHeaderFooter_Internal.html#/s:10ListableUI24AnyHeaderFooter_InternalP7layoutsAA0dE7LayoutsVvp":{"name":"layouts","abstract":"

    Undocumented

    ","parent_name":"AnyHeaderFooter_Internal"},"Protocols/AnyHeaderFooter_Internal.html#/s:10ListableUI24AnyHeaderFooter_InternalP5apply2to3for4withySo6UIViewC_AA11ApplyReasonOAA0ldE11ContentInfoVtF":{"name":"apply(to:for:with:)","abstract":"

    Undocumented

    ","parent_name":"AnyHeaderFooter_Internal"},"Protocols/AnyHeaderFooter_Internal.html#/s:10ListableUI24AnyHeaderFooter_InternalP15anyIsEquivalent2toSbAA0cdE0_p_tF":{"name":"anyIsEquivalent(to:)","abstract":"

    Undocumented

    ","parent_name":"AnyHeaderFooter_Internal"},"Protocols/AnyHeaderFooter_Internal.html#/s:10ListableUI24AnyHeaderFooter_InternalP015newPresentationdE5State24performsContentCallbacksypSb_tF":{"name":"newPresentationHeaderFooterState(performsContentCallbacks:)","abstract":"

    Undocumented

    ","parent_name":"AnyHeaderFooter_Internal"},"Protocols/AnyHeaderFooter.html#/s:10ListableUI15AnyHeaderFooterP6sizingAA6SizingOvp":{"name":"sizing","abstract":"

    Undocumented

    ","parent_name":"AnyHeaderFooter"},"Protocols/AnyHeaderFooter.html#/s:10ListableUI15AnyHeaderFooterP7layoutsAA0dE7LayoutsVvp":{"name":"layouts","abstract":"

    Undocumented

    ","parent_name":"AnyHeaderFooter"},"Protocols/AnyHeaderFooter.html":{"name":"AnyHeaderFooter","abstract":"

    Undocumented

    "},"Protocols/AnyHeaderFooter_Internal.html":{"name":"AnyHeaderFooter_Internal","abstract":"

    Undocumented

    "},"Protocols/HeaderFooterContent.html":{"name":"HeaderFooterContent","abstract":"

    A HeaderFooterContent is a type which specifies the content of a header, footer,"},"Protocols/HeaderFooterLayoutsValue.html":{"name":"HeaderFooterLayoutsValue","abstract":"

    The HeaderFooterLayoutsValue protocol provides a default value for the different layouts stored"},"Protocols/AnyItem.html":{"name":"AnyItem","abstract":"

    Undocumented

    "},"Protocols/AnyItem_Internal.html":{"name":"AnyItem_Internal","abstract":"

    Undocumented

    "},"Protocols/ItemContent.html":{"name":"ItemContent","abstract":"

    An ItemContent is a type used to provide the content of an Item"},"Protocols/ItemContentSwipeActionsView.html":{"name":"ItemContentSwipeActionsView","abstract":"

    Conform to this protocol to implement a completely custom swipe action view.

    "},"Protocols/ItemContentCoordinator.html":{"name":"ItemContentCoordinator","abstract":"

    A type which lets you interactively manage the contents of an Item or ItemContent"},"Protocols/ItemLayoutsValue.html":{"name":"ItemLayoutsValue","abstract":"

    The ItemLayoutsValue protocol provides a default value for the different layouts stored"},"Protocols/CollectionViewLayoutDelegate.html":{"name":"CollectionViewLayoutDelegate","abstract":"

    Undocumented

    "},"Protocols/ListLayout.html":{"name":"ListLayout","abstract":"

    Undocumented

    "},"Protocols/AnyLayoutDescriptionConfiguration.html":{"name":"AnyLayoutDescriptionConfiguration","abstract":"

    Undocumented

    "},"Protocols/AnyListLayout.html":{"name":"AnyListLayout","abstract":"

    Undocumented

    "},"Protocols/ListLayoutAppearance.html":{"name":"ListLayoutAppearance","abstract":"

    Undocumented

    "},"Protocols/ListEnvironmentKey.html":{"name":"ListEnvironmentKey","abstract":"

    Defines a value stored in the ListEnvironment of a list.

    "},"Protocols/ListViewSource.html":{"name":"ListViewSource","abstract":"

    Undocumented

    "},"Protocols/LocalizedCollatableItemContent.html":{"name":"LocalizedCollatableItemContent","abstract":"

    If you would like to make your ItemContent work with the LocalizedItemCollator,"},"Protocols/AnyLocalizedCollatableItem.html":{"name":"AnyLocalizedCollatableItem","abstract":"

    Represents an AnyItem which can be collated, via its vended collationString.

    "},"Protocols/SectionInfo.html":{"name":"SectionInfo","abstract":"

    Undocumented

    "},"Protocols/AnySectionInfo.html":{"name":"AnySectionInfo","abstract":"

    Undocumented

    "},"Protocols/SectionLayoutsValue.html":{"name":"SectionLayoutsValue","abstract":"

    The SectionLayoutsValue protocol provides a default value for the different layouts stored"},"Functions.html#/s:10ListableUI13listableFatal_4file4lines5NeverOSSyXK_s12StaticStringVSutF":{"name":"listableFatal(_:file:line:)","abstract":"

    Undocumented

    "},"Functions.html#/s:10ListableUI20listablePrecondition__4file4lineySbyXK_SSyXKs12StaticStringVSutF":{"name":"listablePrecondition(_:_:file:line:)","abstract":"

    Undocumented

    "},"Extensions/Set.html#/s:Sh10ListableUIAA15ScrollAnimationO0D7OptionsORszrlE7defaultShyAEGvpZ":{"name":"default","abstract":"

    Undocumented

    ","parent_name":"Set"},"Extensions/UIRectEdge.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"UIRectEdge"},"Extensions/SectionedDiff.html#/SectionChanges":{"name":"SectionChanges","parent_name":"SectionedDiff"},"Extensions/SectionedDiff.html#/ItemChanges":{"name":"ItemChanges","parent_name":"SectionedDiff"},"Extensions/SectionedDiff.html":{"name":"SectionedDiff"},"Extensions/UIRectEdge.html":{"name":"UIRectEdge"},"Extensions/Set.html":{"name":"Set"},"Enums/CustomWidth/Alignment.html#/s:10ListableUI11CustomWidthO9AlignmentO4leftyA2EmF":{"name":"left","abstract":"

    Undocumented

    ","parent_name":"Alignment"},"Enums/CustomWidth/Alignment.html#/s:10ListableUI11CustomWidthO9AlignmentO6centeryA2EmF":{"name":"center","abstract":"

    Undocumented

    ","parent_name":"Alignment"},"Enums/CustomWidth/Alignment.html#/s:10ListableUI11CustomWidthO9AlignmentO5rightyA2EmF":{"name":"right","abstract":"

    Undocumented

    ","parent_name":"Alignment"},"Enums/CustomWidth/Alignment.html#/s:10ListableUI11CustomWidthO9AlignmentO10originWith06parentD05width7padding12CoreGraphics7CGFloatVAL_AlA17HorizontalPaddingVtF":{"name":"originWith(parentWidth:width:padding:)","abstract":"

    Undocumented

    ","parent_name":"Alignment"},"Enums/CustomWidth/Custom.html#/s:10ListableUI11CustomWidthO0C0V7paddingAA17HorizontalPaddingVvp":{"name":"padding","abstract":"

    Undocumented

    ","parent_name":"Custom"},"Enums/CustomWidth/Custom.html#/s:10ListableUI11CustomWidthO0C0V5widthAA0D10ConstraintOvp":{"name":"width","abstract":"

    Undocumented

    ","parent_name":"Custom"},"Enums/CustomWidth/Custom.html#/s:10ListableUI11CustomWidthO0C0V9alignmentAC9AlignmentOvp":{"name":"alignment","abstract":"

    Undocumented

    ","parent_name":"Custom"},"Enums/CustomWidth/Custom.html#/s:10ListableUI11CustomWidthO0C0V7padding5width9alignmentAeA17HorizontalPaddingV_AA0D10ConstraintOAC9AlignmentOtcfc":{"name":"init(padding:width:alignment:)","abstract":"

    Undocumented

    ","parent_name":"Custom"},"Enums/CustomWidth/Custom.html#/s:10ListableUI11CustomWidthO0C0V8position4withAC8PositionVSo6CGSizeV_tF":{"name":"position(with:)","abstract":"

    Undocumented

    ","parent_name":"Custom"},"Enums/CustomWidth.html#/s:10ListableUI11CustomWidthO7defaultyA2CmF":{"name":"default","abstract":"

    Undocumented

    ","parent_name":"CustomWidth"},"Enums/CustomWidth.html#/s:10ListableUI11CustomWidthO4fillyA2CmF":{"name":"fill","abstract":"

    Undocumented

    ","parent_name":"CustomWidth"},"Enums/CustomWidth.html#/s:10ListableUI11CustomWidthO6customyA2C0C0VcACmF":{"name":"custom(_:)","abstract":"

    Undocumented

    ","parent_name":"CustomWidth"},"Enums/CustomWidth.html#/s:10ListableUI11CustomWidthO5merge4withA2C_tF":{"name":"merge(with:)","abstract":"

    Undocumented

    ","parent_name":"CustomWidth"},"Enums/CustomWidth.html#/s:10ListableUI11CustomWidthO8position4with07defaultD0AC8PositionVSo6CGSizeV_12CoreGraphics7CGFloatVtF":{"name":"position(with:defaultWidth:)","abstract":"

    Undocumented

    ","parent_name":"CustomWidth"},"Enums/CustomWidth/Custom.html":{"name":"Custom","abstract":"

    Undocumented

    ","parent_name":"CustomWidth"},"Enums/CustomWidth/Alignment.html":{"name":"Alignment","abstract":"

    Undocumented

    ","parent_name":"CustomWidth"},"Enums/CustomWidth.html#/s:10ListableUI11CustomWidthO8PositionV":{"name":"Position","abstract":"

    Undocumented

    ","parent_name":"CustomWidth"},"Enums/WidthConstraint.html#/s:10ListableUI15WidthConstraintO02noD0yA2CmF":{"name":"noConstraint","abstract":"

    Undocumented

    ","parent_name":"WidthConstraint"},"Enums/WidthConstraint.html#/s:10ListableUI15WidthConstraintO5fixedyAC12CoreGraphics7CGFloatVcACmF":{"name":"fixed(_:)","abstract":"

    Undocumented

    ","parent_name":"WidthConstraint"},"Enums/WidthConstraint.html#/s:10ListableUI15WidthConstraintO6atMostyAC12CoreGraphics7CGFloatVcACmF":{"name":"atMost(_:)","abstract":"

    Undocumented

    ","parent_name":"WidthConstraint"},"Enums/WidthConstraint.html#/s:10ListableUI15WidthConstraintO5clampy12CoreGraphics7CGFloatVAGF":{"name":"clamp(_:)","abstract":"

    Undocumented

    ","parent_name":"WidthConstraint"},"Enums/Sizing/Constraint/Axis/Value.html#/s:10ListableUI6SizingO10ConstraintV4AxisO5ValueO7defaultyA2ImF":{"name":"default","abstract":"

    Undocumented

    ","parent_name":"Value"},"Enums/Sizing/Constraint/Axis/Value.html#/s:10ListableUI6SizingO10ConstraintV4AxisO5ValueO5fixedyAI12CoreGraphics7CGFloatVcAImF":{"name":"fixed(_:)","abstract":"

    Undocumented

    ","parent_name":"Value"},"Enums/Sizing/Constraint/Axis/Value.html#/s:10ListableUI6SizingO10ConstraintV4AxisO5ValueO5value4with12CoreGraphics7CGFloatVAN_tF":{"name":"value(with:)","abstract":"

    Undocumented

    ","parent_name":"Value"},"Enums/Sizing/Constraint/Axis.html#/s:10ListableUI6SizingO10ConstraintV4AxisO02noD0yA2GmF":{"name":"noConstraint","abstract":"

    Undocumented

    ","parent_name":"Axis"},"Enums/Sizing/Constraint/Axis.html#/s:10ListableUI6SizingO10ConstraintV4AxisO7atLeastyA2G5ValueOcAGmF":{"name":"atLeast(_:)","abstract":"

    Undocumented

    ","parent_name":"Axis"},"Enums/Sizing/Constraint/Axis.html#/s:10ListableUI6SizingO10ConstraintV4AxisO6atMostyAG12CoreGraphics7CGFloatVcAGmF":{"name":"atMost(_:)","abstract":"

    Undocumented

    ","parent_name":"Axis"},"Enums/Sizing/Constraint/Axis.html#/s:10ListableUI6SizingO10ConstraintV4AxisO6withinyA2G5ValueO_12CoreGraphics7CGFloatVtcAGmF":{"name":"within(_:_:)","abstract":"

    Undocumented

    ","parent_name":"Axis"},"Enums/Sizing/Constraint/Axis/Value.html":{"name":"Value","abstract":"

    Undocumented

    ","parent_name":"Axis"},"Enums/Sizing/Constraint/Axis.html#/s:10ListableUI6SizingO10ConstraintV4AxisO5clamp_4with12CoreGraphics7CGFloatVAL_ALtF":{"name":"clamp(_:with:)","abstract":"

    Undocumented

    ","parent_name":"Axis"},"Enums/Sizing/Constraint.html#/s:10ListableUI6SizingO10ConstraintV5widthAE4AxisOvp":{"name":"width","abstract":"

    Undocumented

    ","parent_name":"Constraint"},"Enums/Sizing/Constraint.html#/s:10ListableUI6SizingO10ConstraintV6heightAE4AxisOvp":{"name":"height","abstract":"

    Undocumented

    ","parent_name":"Constraint"},"Enums/Sizing/Constraint.html#/s:10ListableUI6SizingO10ConstraintV02noD0AEvpZ":{"name":"noConstraint","abstract":"

    Undocumented

    ","parent_name":"Constraint"},"Enums/Sizing/Constraint.html#/s:10ListableUI6SizingO10ConstraintVyA2E4AxisOcfc":{"name":"init(_:)","abstract":"

    Undocumented

    ","parent_name":"Constraint"},"Enums/Sizing/Constraint.html#/s:10ListableUI6SizingO10ConstraintV5width6heightA2E4AxisO_AItcfc":{"name":"init(width:height:)","abstract":"

    Undocumented

    ","parent_name":"Constraint"},"Enums/Sizing/Constraint.html#/s:10ListableUI6SizingO10ConstraintV5clamp_4withSo6CGSizeVAI_AItF":{"name":"clamp(_:with:)","abstract":"

    Undocumented

    ","parent_name":"Constraint"},"Enums/Sizing/Constraint/Axis.html":{"name":"Axis","abstract":"

    Undocumented

    ","parent_name":"Constraint"},"Enums/Sizing.html#/s:10ListableUI6SizingO7defaultyA2CmF":{"name":"default","abstract":"

    The default size from the list’s appearance is used. The size is not dynamic at all.

    ","parent_name":"Sizing"},"Enums/Sizing.html#/s:10ListableUI6SizingO5fixedyAC12CoreGraphics7CGFloatV_AGtcACmF":{"name":"fixed(width:height:)","abstract":"

    Fixes the size to the absolute value passed in.

    ","parent_name":"Sizing"},"Enums/Sizing.html#/s:10ListableUI6SizingO8thatFitsyA2C10ConstraintVcACmF":{"name":"thatFits(_:)","abstract":"

    Sizes the item by calling sizeThatFits on its underlying view type.","parent_name":"Sizing"},"Enums/Sizing.html#/s:10ListableUI6SizingO10autolayoutyA2C10ConstraintVcACmF":{"name":"autolayout(_:)","abstract":"

    Sizes the item by calling systemLayoutSizeFitting on its underlying view type.","parent_name":"Sizing"},"Enums/Sizing.html#/s:10ListableUI6SizingO11MeasureInfoV":{"name":"MeasureInfo","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Enums/Sizing/Constraint.html":{"name":"Constraint","abstract":"

    Undocumented

    ","parent_name":"Sizing"},"Enums/ScrollAnimation/AnimationOptions.html#/s:10ListableUI15ScrollAnimationO0D7OptionsO14curveEaseInOutyA2EmF":{"name":"curveEaseInOut","abstract":"

    Undocumented

    ","parent_name":"AnimationOptions"},"Enums/ScrollAnimation/AnimationOptions.html#/s:10ListableUI15ScrollAnimationO0D7OptionsO11curveEaseInyA2EmF":{"name":"curveEaseIn","abstract":"

    Undocumented

    ","parent_name":"AnimationOptions"},"Enums/ScrollAnimation/AnimationOptions.html#/s:10ListableUI15ScrollAnimationO0D7OptionsO12curveEaseOutyA2EmF":{"name":"curveEaseOut","abstract":"

    Undocumented

    ","parent_name":"AnimationOptions"},"Enums/ScrollAnimation/AnimationOptions.html#/s:10ListableUI15ScrollAnimationO0D7OptionsO11curveLinearyA2EmF":{"name":"curveLinear","abstract":"

    Undocumented

    ","parent_name":"AnimationOptions"},"Enums/ScrollAnimation.html#/s:10ListableUI15ScrollAnimationO4noneyA2CmF":{"name":"none","abstract":"

    No animation is performed.

    ","parent_name":"ScrollAnimation"},"Enums/ScrollAnimation.html#/s:10ListableUI15ScrollAnimationO7defaultyA2CmF":{"name":"default","abstract":"

    A default animation is performed. This is the same as .custom().

    ","parent_name":"ScrollAnimation"},"Enums/ScrollAnimation.html#/s:10ListableUI15ScrollAnimationO6customyACSd_ShyAC0D7OptionsOGtcACmF":{"name":"custom(duration:options:)","abstract":"

    A custom animation is performed.","parent_name":"ScrollAnimation"},"Enums/ScrollAnimation.html#/s:10ListableUI15ScrollAnimationO6springyACSd_So24UISpringTimingParametersCtcACmF":{"name":"spring(duration:timing:)","abstract":"

    Undocumented

    ","parent_name":"ScrollAnimation"},"Enums/ScrollAnimation.html#/s:10ListableUI15ScrollAnimationO3and4withACSb_tF":{"name":"and(with:)","abstract":"

    Ands the animation with the provided bool, returning the animation if true, and .none if false.

    ","parent_name":"ScrollAnimation"},"Enums/ScrollAnimation.html#/s:10ListableUI15ScrollAnimationO7perform10animations10completionyyyc_ySbctF":{"name":"perform(animations:completion:)","abstract":"

    Performs the provided animations for the ScrollAnimation.

    ","parent_name":"ScrollAnimation"},"Enums/ScrollAnimation/AnimationOptions.html":{"name":"AnimationOptions","abstract":"

    The animations options available for the ScrollAnimation.

    ","parent_name":"ScrollAnimation"},"Enums/ListSizing.html#/s:10ListableUI10ListSizingO10fillParentyA2CmF":{"name":"fillParent","abstract":"

    When using .fillParent, the full available space will be taken up, regardless","parent_name":"ListSizing"},"Enums/ListSizing.html#/s:10ListableUI10ListSizingO14measureContentyA2CmF":{"name":"measureContent","abstract":"

    When using .measureContent, the content will be measured within the provided fitting size","parent_name":"ListSizing"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO8verticalyA2CmF":{"name":"vertical","abstract":"

    A list layout which lays out top to bottom.

    ","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO10horizontalyA2CmF":{"name":"horizontal","abstract":"

    A list layout which lays out left to right (or leading to trailing, depending on implementation).

    ","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO6switch8vertical10horizontalxxyXE_xyXEtlF":{"name":"switch(vertical:horizontal:)","abstract":"

    When writing a layout, use this method to return differing values based on","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO6switch8vertical10horizontalxxyXK_xyXKtlF":{"name":"switch(vertical:horizontal:)","abstract":"

    When writing a layout, use this method to return differing values based on","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO6height3for12CoreGraphics7CGFloatVSo6CGSizeV_tF":{"name":"height(for:)","abstract":"

    .vertical: Returns the height of the provided size.","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO5width3for12CoreGraphics7CGFloatVSo6CGSizeV_tF":{"name":"width(for:)","abstract":"

    .vertical: Returns the width of the provided size.","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO5point1x1ySo7CGPointV12CoreGraphics7CGFloatV_AKtF":{"name":"point(x:y:)","abstract":"

    .vertical: Returns a CGPoint made with (x, y).","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO4size3forSo6CGSizeVAG_tF":{"name":"size(for:)","abstract":"

    .vertical: Returns the provided size.","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO4size5width6heightSo6CGSizeV12CoreGraphics7CGFloatV_AKtF":{"name":"size(width:height:)","abstract":"

    .vertical: Returns a CGSize made with (width, height).","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO4maxY3for12CoreGraphics7CGFloatVSo6CGRectV_tF":{"name":"maxY(for:)","abstract":"

    .vertical: Returns the maxY of the frame.","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO4maxX3for12CoreGraphics7CGFloatVSo6CGRectV_tF":{"name":"maxX(for:)","abstract":"

    .vertical: Returns the maxX of the frame.","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO1x3for12CoreGraphics7CGFloatVSo7CGPointV_tF":{"name":"x(for:)","abstract":"

    .vertical: Returns the x of the point.","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO1y3for12CoreGraphics7CGFloatVSo7CGPointV_tF":{"name":"y(for:)","abstract":"

    .vertical: Returns the y of the point.","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO3top4with12CoreGraphics7CGFloatVSo12UIEdgeInsetsV_tF":{"name":"top(with:)","abstract":"

    .vertical: Returns the top of the insets.","parent_name":"LayoutDirection"},"Enums/LayoutDirection.html#/s:10ListableUI15LayoutDirectionO6bottom4with12CoreGraphics7CGFloatVSo12UIEdgeInsetsV_tF":{"name":"bottom(with:)","abstract":"

    .vertical: Returns the bottom of the insets.","parent_name":"LayoutDirection"},"Enums/ItemSelectionStyle.html#/s:10ListableUI18ItemSelectionStyleO13notSelectableyA2CmF":{"name":"notSelectable","abstract":"

    The item is not selectable at all.

    ","parent_name":"ItemSelectionStyle"},"Enums/ItemSelectionStyle.html#/s:10ListableUI18ItemSelectionStyleO8tappableyA2CmF":{"name":"tappable","abstract":"

    The item is temporarily selectable. Once the user lifts their finger, the item is deselected.

    ","parent_name":"ItemSelectionStyle"},"Enums/ItemSelectionStyle.html#/s:10ListableUI18ItemSelectionStyleO10selectableyACSb_tcACmF":{"name":"selectable(isSelected:)","abstract":"

    The item is persistently selectable. Once the user lifts their finger, the item is maintained.

    ","parent_name":"ItemSelectionStyle"},"Enums/ItemPosition.html#/s:10ListableUI12ItemPositionO6singleyA2CmF":{"name":"single","abstract":"

    Undocumented

    ","parent_name":"ItemPosition"},"Enums/ItemPosition.html#/s:10ListableUI12ItemPositionO5firstyA2CmF":{"name":"first","abstract":"

    Undocumented

    ","parent_name":"ItemPosition"},"Enums/ItemPosition.html#/s:10ListableUI12ItemPositionO6middleyA2CmF":{"name":"middle","abstract":"

    Undocumented

    ","parent_name":"ItemPosition"},"Enums/ItemPosition.html#/s:10ListableUI12ItemPositionO4lastyA2CmF":{"name":"last","abstract":"

    Undocumented

    ","parent_name":"ItemPosition"},"Enums/SwipeActionState.html#/s:10ListableUI16SwipeActionStateO6closedyA2CmF":{"name":"closed","abstract":"

    The actions are completely collapsed.

    ","parent_name":"SwipeActionState"},"Enums/SwipeActionState.html#/s:10ListableUI16SwipeActionStateO4openyA2CmF":{"name":"open","abstract":"

    The actions are open to their natural size.

    ","parent_name":"SwipeActionState"},"Enums/SwipeActionState.html#/s:10ListableUI16SwipeActionStateO7swipingyACSb_tcACmF":{"name":"swiping(willPerformAction:)","abstract":"

    The actions are being swiped and the size is affected by the gesture recognizer.

    ","parent_name":"SwipeActionState"},"Enums/SwipeActionState.html#/s:10ListableUI16SwipeActionStateO016willPerformFirstD13AutomaticallyyA2CmF":{"name":"willPerformFirstActionAutomatically","abstract":"

    The actions have been swiped far enough to confirm the first action.

    ","parent_name":"SwipeActionState"},"Enums/SwipeActionState.html#/s:10ListableUI16SwipeActionStateO13expandActionsyA2CmF":{"name":"expandActions","abstract":"

    The actions have been asked to completely expand (typically because the item is being deleted).

    ","parent_name":"SwipeActionState"},"Enums/ContentFilters.html#/s:10ListableUI14ContentFiltersO03anyC0ShyACGvpZ":{"name":"anyContent","abstract":"

    If there is any content in the list at all, including headers and footers.

    ","parent_name":"ContentFilters"},"Enums/ContentFilters.html#/s:10ListableUI14ContentFiltersO12sectionsOnlyShyACGvpZ":{"name":"sectionsOnly","abstract":"

    Check if the content in the list is section-driven content, with the","parent_name":"ContentFilters"},"Enums/ContentFilters.html#/s:10ListableUI14ContentFiltersO10listHeaderyA2CmF":{"name":"listHeader","abstract":"

    If the list has a list-level header.

    ","parent_name":"ContentFilters"},"Enums/ContentFilters.html#/s:10ListableUI14ContentFiltersO10listFooteryA2CmF":{"name":"listFooter","abstract":"

    If the list has a list-level footer.

    ","parent_name":"ContentFilters"},"Enums/ContentFilters.html#/s:10ListableUI14ContentFiltersO16overscrollFooteryA2CmF":{"name":"overscrollFooter","abstract":"

    If the list has an overscroll footer.

    ","parent_name":"ContentFilters"},"Enums/ContentFilters.html#/s:10ListableUI14ContentFiltersO5itemsyA2CmF":{"name":"items","abstract":"

    If the sections in the list contain any items.

    ","parent_name":"ContentFilters"},"Enums/ContentFilters.html#/s:10ListableUI14ContentFiltersO14sectionHeadersyA2CmF":{"name":"sectionHeaders","abstract":"

    If any section in the list has a header.

    ","parent_name":"ContentFilters"},"Enums/ContentFilters.html#/s:10ListableUI14ContentFiltersO14sectionFootersyA2CmF":{"name":"sectionFooters","abstract":"

    If any section in the list has a footer.

    ","parent_name":"ContentFilters"},"Enums/AutoScrollAction/OnInsertedItem.html#/s:10ListableUI16AutoScrollActionO14OnInsertedItemV11destinationAC0D11DestinationOvp":{"name":"destination","abstract":"

    The item in the list to scroll to when the insertedIdentifier is inserted.

    ","parent_name":"OnInsertedItem"},"Enums/AutoScrollAction/OnInsertedItem.html#/s:10ListableUI16AutoScrollActionO14OnInsertedItemV18insertedIdentifierAA03AnyJ0Cvp":{"name":"insertedIdentifier","abstract":"

    The identifier of the item for which the AutoScrollAction should be performed.

    ","parent_name":"OnInsertedItem"},"Enums/AutoScrollAction/OnInsertedItem.html#/s:10ListableUI16AutoScrollActionO14OnInsertedItemV8positionAA0D8PositionVvp":{"name":"position","abstract":"

    The desired scroll position,

    ","parent_name":"OnInsertedItem"},"Enums/AutoScrollAction/OnInsertedItem.html#/s:10ListableUI16AutoScrollActionO14OnInsertedItemV9animationAA0D9AnimationOvp":{"name":"animation","abstract":"

    How to animate the change.

    ","parent_name":"OnInsertedItem"},"Enums/AutoScrollAction/OnInsertedItem.html#/s:10ListableUI16AutoScrollActionO14OnInsertedItemV13shouldPerformySbAA04ListD12PositionInfoVcvp":{"name":"shouldPerform","abstract":"

    An additional check you may provide to approve or reject the scroll action.

    ","parent_name":"OnInsertedItem"},"Enums/AutoScrollAction/OnInsertedItem.html#/s:10ListableUI16AutoScrollActionO14OnInsertedItemV10didPerformyyAA04ListD12PositionInfoVcvp":{"name":"didPerform","abstract":"

    Called when the list performs the insertion.

    ","parent_name":"OnInsertedItem"},"Enums/AutoScrollAction/ScrollDestination.html#/s:10ListableUI16AutoScrollActionO0D11DestinationO9firstItemyA2EmF":{"name":"firstItem","abstract":"

    Scroll to the first item in the list.

    ","parent_name":"ScrollDestination"},"Enums/AutoScrollAction/ScrollDestination.html#/s:10ListableUI16AutoScrollActionO0D11DestinationO8lastItemyA2EmF":{"name":"lastItem","abstract":"

    Scroll to the last item in the list.

    ","parent_name":"ScrollDestination"},"Enums/AutoScrollAction/ScrollDestination.html#/s:10ListableUI16AutoScrollActionO0D11DestinationO4itemyAeA13AnyIdentifierCcAEmF":{"name":"item(_:)","abstract":"

    Scroll to the item with the specified identifier.

    ","parent_name":"ScrollDestination"},"Enums/AutoScrollAction.html#/s:10ListableUI16AutoScrollActionO4noneyA2CmF":{"name":"none","abstract":"

    The list never automatically scrolls.

    ","parent_name":"AutoScrollAction"},"Enums/AutoScrollAction.html#/s:10ListableUI16AutoScrollActionO12scrollToItemyA2C010OnInsertedH0V_tcACmF":{"name":"scrollToItem(onInsertOf:)","abstract":"

    Scrolls to the specified item when the list is updated if the item was inserted in this update.

    ","parent_name":"AutoScrollAction"},"Enums/AutoScrollAction.html#/s:10ListableUI16AutoScrollActionO8scrollTo_10onInsertOf8position9animation13shouldPerform03didN0A2C0D11DestinationOSg_AA13AnyIdentifierCAA0D8PositionVAA0D9AnimationOSbAA04ListdS4InfoVcyATctFZ":{"name":"scrollTo(_:onInsertOf:position:animation:shouldPerform:didPerform:)","abstract":"

    Scrolls to the specified item when the list is updated if the item was inserted in this update.

    ","parent_name":"AutoScrollAction"},"Enums/AutoScrollAction/ScrollDestination.html":{"name":"ScrollDestination","abstract":"

    Where to scroll as a result of an AutoScrollAction.

    ","parent_name":"AutoScrollAction"},"Enums/AutoScrollAction/OnInsertedItem.html":{"name":"OnInsertedItem","abstract":"

    Values used to configure the scrollToItem(onInsertOf:) action.

    ","parent_name":"AutoScrollAction"},"Enums/ApplyReason.html#/s:10ListableUI11ApplyReasonO11willDisplayyA2CmF":{"name":"willDisplay","abstract":"

    The view is about to be displayed on screen. Update should be performed with no animation.

    ","parent_name":"ApplyReason"},"Enums/ApplyReason.html#/s:10ListableUI11ApplyReasonO10wasUpdatedyA2CmF":{"name":"wasUpdated","abstract":"

    A view that is already visible is being updated.","parent_name":"ApplyReason"},"Enums/ApplyReason.html#/s:10ListableUI11ApplyReasonO13shouldAnimateSbvp":{"name":"shouldAnimate","abstract":"

    If you should use animations while applying the update.","parent_name":"ApplyReason"},"Enums/ApplyReason.html":{"name":"ApplyReason","abstract":"

    Why the Item or HeaderFooter is being asked to apply an update to its presented views.

    "},"Enums/AutoScrollAction.html":{"name":"AutoScrollAction","abstract":"

    Options for auto-scrolling to items when the list is updated.

    "},"Enums/ContentFilters.html":{"name":"ContentFilters","abstract":"

    A filter enum which allows you to query the types of content contained in a Content or Section object.

    "},"Enums/SwipeActionState.html":{"name":"SwipeActionState","abstract":"

    These states dictate the layout of the swipe actions.

    "},"Enums/ItemPosition.html":{"name":"ItemPosition","abstract":"

    Undocumented

    "},"Enums/ItemSelectionStyle.html":{"name":"ItemSelectionStyle","abstract":"

    Controls the selection style and behavior of an item in a list.

    "},"Enums/LayoutDirection.html":{"name":"LayoutDirection","abstract":"

    Describes the given direction / axis that a layout uses when flowing its content.

    "},"Enums/ListSizing.html":{"name":"ListSizing","abstract":"

    Provides the possible options for how to size and measure a list when its measured size is queried"},"Enums/ScrollAnimation.html":{"name":"ScrollAnimation","abstract":"

    Specifies the kind of animation to use when scrolling a list view.

    "},"Enums/Sizing.html":{"name":"Sizing","abstract":"

    Controls how a header, footer, or item in a list view is sized.

    "},"Enums/WidthConstraint.html":{"name":"WidthConstraint","abstract":"

    Undocumented

    "},"Enums/CustomWidth.html":{"name":"CustomWidth","abstract":"

    Undocumented

    "},"Classes/ReorderingActions.html#/s:10ListableUI17ReorderingActionsC8isMovingSbvp":{"name":"isMoving","abstract":"

    Undocumented

    ","parent_name":"ReorderingActions"},"Classes/ReorderingActions.html#/s:10ListableUI17ReorderingActionsC11beginMovingSbyF":{"name":"beginMoving()","abstract":"

    Undocumented

    ","parent_name":"ReorderingActions"},"Classes/ReorderingActions.html#/s:10ListableUI17ReorderingActionsC5moved4withySo22UIPanGestureRecognizerC_tF":{"name":"moved(with:)","abstract":"

    Undocumented

    ","parent_name":"ReorderingActions"},"Classes/ReorderingActions.html#/s:10ListableUI17ReorderingActionsC3endyyF":{"name":"end()","abstract":"

    Undocumented

    ","parent_name":"ReorderingActions"},"Classes/ItemPreviewView.html#/c:@M@ListableUI@objc(cs)ItemPreviewView(im)init":{"name":"init()","abstract":"

    Creates a preview for the given width.

    ","parent_name":"ItemPreviewView"},"Classes/ItemPreviewView.html#/s:10ListableUI15ItemPreviewViewC4with5state10appearance4itemAC12CoreGraphics7CGFloatV_AA0C5StateVAA0cD10AppearanceVAA03AnyC0_ptcfc":{"name":"init(with:state:appearance:item:)","abstract":"

    Creates a preview for the given item and parameters, and then lays out the preview view.

    ","parent_name":"ItemPreviewView"},"Classes/ItemPreviewView.html#/s:10ListableUI15ItemPreviewViewC6update4with5state10appearance4itemy12CoreGraphics7CGFloatV_AA0C5StateVAA0cD10AppearanceVAA03AnyC0_ptF":{"name":"update(with:state:appearance:item:)","abstract":"

    Updates the item for the given parameters.","parent_name":"ItemPreviewView"},"Classes/ItemPreviewView.html#/c:@M@ListableUI@objc(cs)ItemPreviewView(im)layoutSubviews":{"name":"layoutSubviews()","abstract":"

    Undocumented

    ","parent_name":"ItemPreviewView"},"Classes/ItemPreviewView.html#/c:@M@ListableUI@objc(cs)ItemPreviewView(im)sizeThatFits:":{"name":"sizeThatFits(_:)","abstract":"

    Undocumented

    ","parent_name":"ItemPreviewView"},"Classes/ItemPreviewView.html#/c:@M@ListableUI@objc(cs)ItemPreviewView(py)intrinsicContentSize":{"name":"intrinsicContentSize","abstract":"

    Undocumented

    ","parent_name":"ItemPreviewView"},"Classes/StaticSource/State.html#/s:10ListableUI12StaticSourceC5StateVAEycfc":{"name":"init()","abstract":"

    Undocumented

    ","parent_name":"State"},"Classes/StaticSource/State.html":{"name":"State","abstract":"

    Undocumented

    ","parent_name":"StaticSource"},"Classes/StaticSource.html#/s:10ListableUI12StaticSourceC7contentAA7ContentVvp":{"name":"content","abstract":"

    Undocumented

    ","parent_name":"StaticSource"},"Classes/StaticSource.html#/s:10ListableUI12StaticSourceC4withAcA7ContentV_tcfc":{"name":"init(with:)","abstract":"

    Undocumented

    ","parent_name":"StaticSource"},"Classes/StaticSource.html#/s:10ListableUI12StaticSourceC4withACyAA7ContentVzXE_tcfc":{"name":"init(with:)","abstract":"

    Undocumented

    ","parent_name":"StaticSource"},"Classes/StaticSource.html#/s:10ListableUI12StaticSourceC7content4withADyAA0D5StateCyAC0G0VG_AA7ContentVztF":{"name":"content(with:content:)","abstract":"

    Undocumented

    ","parent_name":"StaticSource"},"Classes/StaticSource.html#/s:10ListableUI12StaticSourceC7content4withAA7ContentVAA0D5StateCyAC0H0VG_tF":{"name":"content(with:)","abstract":"

    Undocumented

    ","parent_name":"StaticSource"},"Classes/DynamicSource.html#/s:10ListableUI13DynamicSourceC7Buildera":{"name":"Builder","abstract":"

    Undocumented

    ","parent_name":"DynamicSource"},"Classes/DynamicSource.html#/s:10ListableUI13DynamicSourceC4withACyxGyAA0D5StateCyxG_AA7ContentVztc_tcfc":{"name":"init(with:)","abstract":"

    Undocumented

    ","parent_name":"DynamicSource"},"Classes/DynamicSource.html#/s:10ListableUI13DynamicSourceC7content4withADyAA0D5StateCyxG_AA7ContentVztF":{"name":"content(with:content:)","abstract":"

    Undocumented

    ","parent_name":"DynamicSource"},"Classes/SourceState.html#/s:10ListableUI11SourceStateC5valuexvp":{"name":"value","abstract":"

    Undocumented

    ","parent_name":"SourceState"},"Classes/SourceState.html#/s:10ListableUI11SourceStateC3setyyyxzXEF":{"name":"set(_:)","abstract":"

    Undocumented

    ","parent_name":"SourceState"},"Classes/SourceState.html#/s:10ListableUI11SourceStateC7initial9didChangeACyxGx_yyctcfc":{"name":"init(initial:didChange:)","abstract":"

    Undocumented

    ","parent_name":"SourceState"},"Classes/SourceState.html#/s:10ListableUI11SourceStateC7discardyyF":{"name":"discard()","abstract":"

    Undocumented

    ","parent_name":"SourceState"},"Classes/StateAccessor.html#/s:10ListableUI13StateAccessorC5valuexvp":{"name":"value","abstract":"

    Undocumented

    ","parent_name":"StateAccessor"},"Classes/ListViewController.html#/s:10ListableUI18ListViewControllerC9configure4listyAA0C10PropertiesVz_tF":{"name":"configure(list:)","abstract":"

    Override this method to configure your list how you’d like to.","parent_name":"ListViewController"},"Classes/ListViewController.html#/s:10ListableUI18ListViewControllerC6reload8animatedySb_tF":{"name":"reload(animated:)","abstract":"

    Undocumented

    ","parent_name":"ListViewController"},"Classes/ListViewController.html#/c:@M@ListableUI@objc(cs)ListViewController(im)initWithNibName:bundle:":{"name":"init(nibName:bundle:)","abstract":"

    Undocumented

    ","parent_name":"ListViewController"},"Classes/ListViewController.html#/c:@M@ListableUI@objc(cs)ListViewController(im)loadView":{"name":"loadView()","abstract":"

    Undocumented

    ","parent_name":"ListViewController"},"Classes/ListViewController.html#/c:@M@ListableUI@objc(cs)ListViewController(im)viewWillAppear:":{"name":"viewWillAppear(_:)","abstract":"

    Undocumented

    ","parent_name":"ListViewController"},"Classes/ListView.html#/s:10ListableUI8ListViewC5frame10appearanceACSo6CGRectV_AA10AppearanceVtcfc":{"name":"init(frame:appearance:)","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC19debuggingIdentifierSSSgvp":{"name":"debuggingIdentifier","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC10appearanceAA10AppearanceVvp":{"name":"appearance","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC18scrollPositionInfoAA0c6ScrollfG0Vvp":{"name":"scrollPositionInfo","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC6layoutAA17LayoutDescriptionVvp":{"name":"layout","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC3set6layout8animated10completionyAA17LayoutDescriptionV_SbyyctF":{"name":"set(layout:animated:completion:)","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC11contentSizeSo6CGSizeVvp":{"name":"contentSize","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC8behaviorAA8BehaviorVvp":{"name":"behavior","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC21scrollIndicatorInsetsSo06UIEdgeG0Vvp":{"name":"scrollIndicatorInsets","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC13stateObserverAA0c5StateF0Vvp":{"name":"stateObserver","abstract":"

    A state observer allows you to receive callbacks when varying types","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC16ScrollCompletiona":{"name":"ScrollCompletion","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC8scrollTo4item8position9animation10completionSbAA7AnyItem_p_AA14ScrollPositionVAA0M9AnimationOySbctF":{"name":"scrollTo(item:position:animation:completion:)","abstract":"

    Scrolls to the provided item, with the provided positioning.","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC8scrollTo4item8position9animation10completionSbAA13AnyIdentifierC_AA14ScrollPositionVAA0M9AnimationOySbctF":{"name":"scrollTo(item:position:animation:completion:)","abstract":"

    Scrolls to the item with the provided identifier, with the provided positioning.","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC11scrollToTop9animation10completionSbAA15ScrollAnimationO_ySbctF":{"name":"scrollToTop(animation:completion:)","abstract":"

    Scrolls to the very top of the list, which includes displaying the list header.

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC16scrollToLastItem9animation10completionSbAA15ScrollAnimationO_ySbctF":{"name":"scrollToLastItem(animation:completion:)","abstract":"

    Scrolls to the last item in the list. If the list contains no items, no action is performed.

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC11environmentAA0C11EnvironmentVvp":{"name":"environment","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC7contentAA7ContentVvp":{"name":"content","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC10setContent8animated_ySb_AA0F0VtF":{"name":"setContent(animated:_:)","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC3set6source7initial8animatedAA13StateAccessorCy0I0QzGx_AKSbtAA0cD6SourceRzlF":{"name":"set(source:initial:animated:)","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC9configure4withyyAA0C10PropertiesVzXE_tF":{"name":"configure(with:)","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC9configure4withyAA0C10PropertiesV_tF":{"name":"configure(with:)","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/c:@M@ListableUI@objc(cs)ListView(py)frame":{"name":"frame","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/c:@M@ListableUI@objc(cs)ListView(py)bounds":{"name":"bounds","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/c:@M@ListableUI@objc(cs)ListView(py)backgroundColor":{"name":"backgroundColor","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/c:@M@ListableUI@objc(cs)ListView(im)didMoveToWindow":{"name":"didMoveToWindow()","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/c:@M@ListableUI@objc(cs)ListView(im)didMoveToSuperview":{"name":"didMoveToSuperview()","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/c:@M@ListableUI@objc(cs)ListView(im)layoutSubviews":{"name":"layoutSubviews()","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC11contentSize2in3forSo6CGSizeVAH_yAA0C10PropertiesVzXEtFZ":{"name":"contentSize(in:for:)","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC11contentSize2in3forSo6CGSizeVAH_AA0C10PropertiesVtFZ":{"name":"contentSize(in:for:)","abstract":"

    Undocumented

    ","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC28testing_forceLayoutUpdateNowyyF":{"name":"testing_forceLayoutUpdateNow()","abstract":"

    Call this method to force an immediate, synchronous re-render of the list","parent_name":"ListView"},"Classes/ListView.html#/s:10ListableUI8ListViewC020clearSelectionDuringD10WillAppear9alongside8animatedySo37UIViewControllerTransitionCoordinator_pSg_SbtF":{"name":"clearSelectionDuringViewWillAppear(alongside:animated:)","abstract":"

    A method which provides Behavior.SelectionMode.single‘s clearsSelectionOnViewWillAppear behaviour.","parent_name":"ListView"},"Classes/ListActions/ViewControllerTransitioning.html#/s:10ListableUI11ListActionsC27ViewControllerTransitioningCAEycfc":{"name":"init()","abstract":"

    Undocumented

    ","parent_name":"ViewControllerTransitioning"},"Classes/ListActions/Scrolling.html#/s:10ListableUI11ListActionsC9ScrollingCAEycfc":{"name":"init()","abstract":"

    Undocumented

    ","parent_name":"Scrolling"},"Classes/ListActions/Scrolling.html#/s:10ListableUI11ListActionsC9ScrollingC16ScrollCompletiona":{"name":"ScrollCompletion","abstract":"

    Undocumented

    ","parent_name":"Scrolling"},"Classes/ListActions/Scrolling.html#/s:10ListableUI11ListActionsC9ScrollingC8scrollTo4item8position9animation10completionSbAA7AnyItem_p_AA14ScrollPositionVAA0N9AnimationOySbctF":{"name":"scrollTo(item:position:animation:completion:)","abstract":"

    Scrolls to the provided item, with the provided positioning.","parent_name":"Scrolling"},"Classes/ListActions/Scrolling.html#/s:10ListableUI11ListActionsC9ScrollingC8scrollTo4item8position9animation10completionSbAA13AnyIdentifierC_AA14ScrollPositionVAA0N9AnimationOySbctF":{"name":"scrollTo(item:position:animation:completion:)","abstract":"

    Scrolls to the item with the provided identifier, with the provided positioning.","parent_name":"Scrolling"},"Classes/ListActions/Scrolling.html#/s:10ListableUI11ListActionsC9ScrollingC11scrollToTop9animation10completionSbAA15ScrollAnimationO_ySbctF":{"name":"scrollToTop(animation:completion:)","abstract":"

    Scrolls to the very top of the list, which includes displaying the list header.

    ","parent_name":"Scrolling"},"Classes/ListActions/Scrolling.html#/s:10ListableUI11ListActionsC9ScrollingC16scrollToLastItem9animation10completionSbAA15ScrollAnimationO_ySbctF":{"name":"scrollToLastItem(animation:completion:)","abstract":"

    Scrolls to the last item in the list. If the list contains no items, no action is performed.

    ","parent_name":"Scrolling"},"Classes/ListActions.html#/s:10ListableUI11ListActionsC9scrollingAC9ScrollingCvp":{"name":"scrolling","abstract":"

    Actions which allow scrolling to individual items in a list.

    ","parent_name":"ListActions"},"Classes/ListActions.html#/s:10ListableUI11ListActionsC27viewControllerTransitioningAC04ViewfG0Cvp":{"name":"viewControllerTransitioning","abstract":"

    Actions which allow hooking up your list to the view controller transitioning APIs.

    ","parent_name":"ListActions"},"Classes/ListActions.html#/s:10ListableUI11ListActionsCACycfc":{"name":"init()","abstract":"

    Creates and returns an actions object which can be registered with a list view.

    ","parent_name":"ListActions"},"Classes/ListActions/Scrolling.html":{"name":"Scrolling","abstract":"

    Provides access to scrolling actions within a list view.

    ","parent_name":"ListActions"},"Classes/ListActions/ViewControllerTransitioning.html":{"name":"ViewControllerTransitioning","abstract":"

    Provides access to view controller transitioning options in a list.

    ","parent_name":"ListActions"},"Classes/ListLayoutContent.html#/s:10ListableUI17ListLayoutContentC11SectionInfoC":{"name":"SectionInfo","abstract":"

    Undocumented

    ","parent_name":"ListLayoutContent"},"Classes/ListLayoutContent.html#/s:10ListableUI17ListLayoutContentC21SupplementaryItemInfoC":{"name":"SupplementaryItemInfo","abstract":"

    Undocumented

    ","parent_name":"ListLayoutContent"},"Classes/ListLayoutContent.html#/s:10ListableUI17ListLayoutContentC8ItemInfoC":{"name":"ItemInfo","abstract":"

    Undocumented

    ","parent_name":"ListLayoutContent"},"Classes/DefaultItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP7actionsAA0cdE7ActionsCy0cD4TypeQzGvp":{"name":"actions","parent_name":"DefaultItemContentCoordinator"},"Classes/DefaultItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP4infoAA0cdE4InfoCy0cD4TypeQzGvp":{"name":"info","parent_name":"DefaultItemContentCoordinator"},"Classes/DefaultItemContentCoordinator.html#/s:10ListableUI22ItemContentCoordinatorP4view0cD4Type_0D4ViewQZSgvp":{"name":"view","parent_name":"DefaultItemContentCoordinator"},"Classes/ItemContentCoordinatorInfo.html#/s:10ListableUI26ItemContentCoordinatorInfoC8originalAA0C0VyxGvp":{"name":"original","abstract":"

    The original state of the item, as passed to the list.","parent_name":"ItemContentCoordinatorInfo"},"Classes/ItemContentCoordinatorInfo.html#/s:10ListableUI26ItemContentCoordinatorInfoC7currentAA0C0VyxGvp":{"name":"current","abstract":"

    The current value of the item, including changes made","parent_name":"ItemContentCoordinatorInfo"},"Classes/ItemContentCoordinatorActions.html#/s:10ListableUI29ItemContentCoordinatorActionsC6update8animated_ySb_AA0C0VyxGtF":{"name":"update(animated:_:)","abstract":"

    Updates the item to the provided item.

    ","parent_name":"ItemContentCoordinatorActions"},"Classes/ItemContentCoordinatorActions.html#/s:10ListableUI29ItemContentCoordinatorActionsC6update8animated_ySb_yAA0C0VyxGzXEtF":{"name":"update(animated:_:)","abstract":"

    Allows you to update the item passed into the update closure.

    ","parent_name":"ItemContentCoordinatorActions"},"Classes/__LST_KeyboardObserver_ObjCAccess.html#/c:@M@ListableUI@objc(cs)__LST_KeyboardObserver_ObjCAccess(cm)__setupSharedInstance":{"name":"__setupSharedInstance()","abstract":"

    Undocumented

    ","parent_name":"__LST_KeyboardObserver_ObjCAccess"},"Classes/DefaultSwipeActionsView.html#/s:10ListableUI23DefaultSwipeActionsViewC05swipeE5Width12CoreGraphics7CGFloatVvp":{"name":"swipeActionsWidth","abstract":"

    Undocumented

    ","parent_name":"DefaultSwipeActionsView"},"Classes/DefaultSwipeActionsView.html#/s:10ListableUI23DefaultSwipeActionsViewC16didPerformActionACySbc_tcfc":{"name":"init(didPerformAction:)","abstract":"

    Undocumented

    ","parent_name":"DefaultSwipeActionsView"},"Classes/DefaultSwipeActionsView.html#/c:@M@ListableUI@objc(cs)DefaultSwipeActionsView(im)layoutSubviews":{"name":"layoutSubviews()","abstract":"

    Undocumented

    ","parent_name":"DefaultSwipeActionsView"},"Classes/DefaultSwipeActionsView.html#/s:10ListableUI23DefaultSwipeActionsViewC5apply7actionsyAA0dE13ConfigurationV_tF":{"name":"apply(actions:)","abstract":"

    Undocumented

    ","parent_name":"DefaultSwipeActionsView"},"Classes/DefaultSwipeActionsView.html#/s:10ListableUI23DefaultSwipeActionsViewC5apply5stateyAA0D11ActionStateO_tF":{"name":"apply(state:)","abstract":"

    Undocumented

    ","parent_name":"DefaultSwipeActionsView"},"Classes/AnyIdentifier.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"AnyIdentifier"},"Classes/AnyIdentifier.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"AnyIdentifier"},"Classes/AnyIdentifier.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"AnyIdentifier"},"Classes/Identifier.html#/s:10ListableUI10IdentifierCACyxGycfc":{"name":"init()","abstract":"

    Identifier which identifies by the type of Represented only.","parent_name":"Identifier"},"Classes/Identifier.html#/s:10ListableUI10IdentifierCyACyxGqd__cSHRd__lufc":{"name":"init(_:)","abstract":"

    Creates an identifier which identifies by both Represented, and the value passed to init.

    ","parent_name":"Identifier"},"Classes/Identifier.html#/s:10ListableUI10IdentifierC16debugDescriptionSSvp":{"name":"debugDescription","abstract":"

    Undocumented

    ","parent_name":"Identifier"},"Classes/Identifier.html":{"name":"Identifier","abstract":"

    An Identifier is used to unique items in Listable lists. Sections,"},"Classes/AnyIdentifier.html":{"name":"AnyIdentifier","abstract":"

    A type-erased Identifier used to identify content in a listable list.

    "},"Classes/DefaultSwipeActionsView.html":{"name":"DefaultSwipeActionsView","abstract":"

    Undocumented

    "},"Classes/__LST_KeyboardObserver_ObjCAccess.html":{"name":"__LST_KeyboardObserver_ObjCAccess","abstract":"

    An Objective-C accessible class that lets us set up the shared"},"Classes/ItemContentCoordinatorActions.html":{"name":"ItemContentCoordinatorActions","abstract":"

    The available actions you can perform as a coordinator, which are reported back to the list to manage the item.

    "},"Classes/ItemContentCoordinatorInfo.html":{"name":"ItemContentCoordinatorInfo","abstract":"

    Information about the current and original state of the item.

    "},"Classes/DefaultItemContentCoordinator.html":{"name":"DefaultItemContentCoordinator","abstract":"

    The default ItemContentCoordinator, which performs no actions.

    "},"Classes/ListLayoutContent.html":{"name":"ListLayoutContent","abstract":"

    Undocumented

    "},"Classes/ListActions.html":{"name":"ListActions","abstract":"

    ListActions is an type that you can use to gain access to actions to perform on a List"},"Classes/ListView.html":{"name":"ListView","abstract":"

    Undocumented

    "},"Classes.html#/s:10ListableUI15UpdateCallbacksC":{"name":"UpdateCallbacks","abstract":"

    Undocumented

    "},"Classes/ListViewController.html":{"name":"ListViewController","abstract":"

    A class which provides an easy way to set up and display a ListView,"},"Classes/StateAccessor.html":{"name":"StateAccessor","abstract":"

    Undocumented

    "},"Classes/SourceState.html":{"name":"SourceState","abstract":"

    Undocumented

    "},"Classes/DynamicSource.html":{"name":"DynamicSource","abstract":"

    Undocumented

    "},"Classes/StaticSource.html":{"name":"StaticSource","abstract":"

    Undocumented

    "},"Classes/ItemPreviewView.html":{"name":"ItemPreviewView","abstract":"

    A view you can use to test the various possible states that your ItemContent can be in.

    "},"Classes/ReorderingActions.html":{"name":"ReorderingActions","abstract":"

    Undocumented

    "},"Classes.html":{"name":"Classes","abstract":"

    The following classes are available globally.

    "},"Enums.html":{"name":"Enumerations","abstract":"

    The following enumerations are available globally.

    "},"Extensions.html":{"name":"Extensions","abstract":"

    The following extensions are available globally.

    "},"Functions.html":{"name":"Functions","abstract":"

    The following functions are available globally.

    "},"Protocols.html":{"name":"Protocols","abstract":"

    The following protocols are available globally.

    "},"Structs.html":{"name":"Structures","abstract":"

    The following structures are available globally.

    "},"Typealiases.html":{"name":"Type Aliases","abstract":"

    The following type aliases are available globally.

    "}} \ No newline at end of file diff --git a/docs/Listable/undocumented.json b/docs/Listable/undocumented.json index f12380ecb..b8868fb57 100644 --- a/docs/Listable/undocumented.json +++ b/docs/Listable/undocumented.json @@ -1,3470 +1,3603 @@ { "warnings": [ { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Behavior.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Behavior.swift", "line": 119, "symbol": "Behavior.Underflow", "symbol_kind": "source.lang.swift.decl.struct", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Behavior.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Behavior.swift", "line": 121, "symbol": "Behavior.Underflow.alwaysBounce", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Behavior.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Behavior.swift", "line": 122, "symbol": "Behavior.Underflow.alignment", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Behavior.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Behavior.swift", "line": 124, "symbol": "Behavior.Underflow.init(alwaysBounce:alignment:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Behavior.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Behavior.swift", "line": 130, "symbol": "Behavior.Underflow.Alignment", "symbol_kind": "source.lang.swift.decl.enum", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Behavior.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Behavior.swift", "line": 132, "symbol": "Behavior.Underflow.Alignment.top", "symbol_kind": "source.lang.swift.decl.enumelement", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Behavior.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Behavior.swift", "line": 133, "symbol": "Behavior.Underflow.Alignment.center", "symbol_kind": "source.lang.swift.decl.enumelement", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Behavior.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Behavior.swift", "line": 134, "symbol": "Behavior.Underflow.Alignment.bottom", "symbol_kind": "source.lang.swift.decl.enumelement", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Color.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Color.swift", "line": 20, "symbol": "Color.init(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Content.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Content.swift", "line": 10, "symbol": "Content", "symbol_kind": "source.lang.swift.decl.struct", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Content.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Content.swift", "line": 84, "symbol": "Content.Build", "symbol_kind": "source.lang.swift.decl.typealias", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/EmbeddedList.swift", - "line": 60, + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/EmbeddedList.swift", + "line": 64, "symbol": "EmbeddedList.properties", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/EmbeddedList.swift", - "line": 61, + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/EmbeddedList.swift", + "line": 65, "symbol": "EmbeddedList.contentIdentifier", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/EmbeddedList.swift", - "line": 67, + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/EmbeddedList.swift", + "line": 71, "symbol": "EmbeddedList.init(identifier:build:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/HeaderFooter/AnyHeaderFooter.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/HeaderFooter/AnyHeaderFooter.swift", "line": 11, "symbol": "AnyHeaderFooter", "symbol_kind": "source.lang.swift.decl.protocol", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/HeaderFooter/AnyHeaderFooter.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/HeaderFooter/AnyHeaderFooter.swift", "line": 13, "symbol": "AnyHeaderFooter.sizing", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/HeaderFooter/AnyHeaderFooter.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/HeaderFooter/AnyHeaderFooter.swift", "line": 14, - "symbol": "AnyHeaderFooter.layout", + "symbol": "AnyHeaderFooter.layouts", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/HeaderFooter/AnyHeaderFooter.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/HeaderFooter/AnyHeaderFooter.swift", "line": 18, "symbol": "AnyHeaderFooter_Internal", "symbol_kind": "source.lang.swift.decl.protocol", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/HeaderFooter/AnyHeaderFooter.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/HeaderFooter/AnyHeaderFooter.swift", "line": 20, - "symbol": "AnyHeaderFooter_Internal.layout", + "symbol": "AnyHeaderFooter_Internal.layouts", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/HeaderFooter/AnyHeaderFooter.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/HeaderFooter/AnyHeaderFooter.swift", "line": 22, "symbol": "AnyHeaderFooter_Internal.apply(to:for:with:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/HeaderFooter/AnyHeaderFooter.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/HeaderFooter/AnyHeaderFooter.swift", "line": 28, "symbol": "AnyHeaderFooter_Internal.anyIsEquivalent(to:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/HeaderFooter/AnyHeaderFooter.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/HeaderFooter/AnyHeaderFooter.swift", "line": 30, "symbol": "AnyHeaderFooter_Internal.newPresentationHeaderFooterState(performsContentCallbacks:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/HeaderFooter/HeaderFooter.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/HeaderFooter/HeaderFooter.swift", "line": 9, "symbol": "Header", "symbol_kind": "source.lang.swift.decl.typealias", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/HeaderFooter/HeaderFooter.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/HeaderFooter/HeaderFooter.swift", "line": 10, "symbol": "Footer", "symbol_kind": "source.lang.swift.decl.typealias", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/HeaderFooter/HeaderFooter.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/HeaderFooter/HeaderFooter.swift", "line": 13, "symbol": "HeaderFooter", "symbol_kind": "source.lang.swift.decl.struct", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/HeaderFooter/HeaderFooter.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/HeaderFooter/HeaderFooter.swift", "line": 15, "symbol": "HeaderFooter.content", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/HeaderFooter/HeaderFooter.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/HeaderFooter/HeaderFooter.swift", "line": 17, "symbol": "HeaderFooter.sizing", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/HeaderFooter/HeaderFooter.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/HeaderFooter/HeaderFooter.swift", "line": 18, - "symbol": "HeaderFooter.layout", + "symbol": "HeaderFooter.layouts", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/HeaderFooter/HeaderFooter.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/HeaderFooter/HeaderFooter.swift", "line": 20, "symbol": "HeaderFooter.OnTap", "symbol_kind": "source.lang.swift.decl.typealias", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/HeaderFooter/HeaderFooter.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/HeaderFooter/HeaderFooter.swift", "line": 21, "symbol": "HeaderFooter.onTap", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/HeaderFooter/HeaderFooter.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/HeaderFooter/HeaderFooter.swift", "line": 23, "symbol": "HeaderFooter.debuggingIdentifier", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/HeaderFooter/HeaderFooter.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/HeaderFooter/HeaderFooter.swift", "line": 31, "symbol": "HeaderFooter.Build", "symbol_kind": "source.lang.swift.decl.typealias", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/HeaderFooter/HeaderFooter.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/HeaderFooter/HeaderFooter.swift", "line": 33, "symbol": "HeaderFooter.init(_:build:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/HeaderFooter/HeaderFooter.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/HeaderFooter/HeaderFooter.swift", "line": 42, - "symbol": "HeaderFooter.init(_:sizing:layout:onTap:)", + "symbol": "HeaderFooter.init(_:sizing:layouts:onTap:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/HeaderFooter/HeaderFooter.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/HeaderFooter/HeaderFooter.swift", "line": 62, "symbol": "HeaderFooter.apply(to:for:with:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/HeaderFooter/HeaderFooter.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/HeaderFooter/HeaderFooter.swift", "line": 82, "symbol": "HeaderFooter.anyIsEquivalent(to:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/HeaderFooter/HeaderFooter.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/HeaderFooter/HeaderFooter.swift", "line": 91, "symbol": "HeaderFooter.newPresentationHeaderFooterState(performsContentCallbacks:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/HeaderFooter/HeaderFooterContent.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/HeaderFooter/HeaderFooterContent.swift", "line": 9, "symbol": "HeaderContent", "symbol_kind": "source.lang.swift.decl.typealias", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/HeaderFooter/HeaderFooterContent.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/HeaderFooter/HeaderFooterContent.swift", "line": 10, "symbol": "FooterContent", "symbol_kind": "source.lang.swift.decl.typealias", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/HeaderFooter/HeaderFooterContent.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/HeaderFooter/HeaderFooterContent.swift", "line": 51, "symbol": "HeaderFooterContent.apply(to:for:with:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/HeaderFooter/HeaderFooterContent.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/HeaderFooter/HeaderFooterContent.swift", "line": 61, "symbol": "HeaderFooterContent.isEquivalent(to:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/HeaderFooter/HeaderFooterContent.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/HeaderFooter/HeaderFooterContent.swift", "line": 159, "symbol": "HeaderFooterContent.isEquivalent(to:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/HeaderFooter/HeaderFooterLayout.swift", - "line": 11, - "symbol": "HeaderFooterLayout", - "symbol_kind": "source.lang.swift.decl.struct", - "warning": "undocumented" - }, - { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/HeaderFooter/HeaderFooterLayout.swift", - "line": 13, - "symbol": "HeaderFooterLayout.width", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/HeaderFooter/HeaderFooterLayout.swift", - "line": 15, - "symbol": "HeaderFooterLayout.init(width:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Identifier.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Identifier.swift", "line": 56, "symbol": "Identifier.debugDescription", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Internal/Assertions.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Internal/Assertions.swift", "line": 11, "symbol": "listableFatal(_:file:line:)", "symbol_kind": "source.lang.swift.decl.function.free", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Internal/Assertions.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Internal/Assertions.swift", "line": 25, "symbol": "listablePrecondition(_:_:file:line:)", "symbol_kind": "source.lang.swift.decl.function.free", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Internal/DefaultSwipeView.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Internal/DefaultSwipeView.swift", "line": 12, "symbol": "DefaultSwipeActionsView", "symbol_kind": "source.lang.swift.decl.class", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Internal/DefaultSwipeView.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Internal/DefaultSwipeView.swift", "line": 20, "symbol": "DefaultSwipeActionsView.swipeActionsWidth", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Internal/DefaultSwipeView.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Internal/DefaultSwipeView.swift", "line": 26, "symbol": "DefaultSwipeActionsView.init(didPerformAction:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Internal/DefaultSwipeView.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Internal/DefaultSwipeView.swift", "line": 36, "symbol": "DefaultSwipeActionsView.layoutSubviews()", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Internal/DefaultSwipeView.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Internal/DefaultSwipeView.swift", "line": 89, "symbol": "DefaultSwipeActionsView.apply(actions:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Internal/DefaultSwipeView.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Internal/DefaultSwipeView.swift", "line": 111, "symbol": "DefaultSwipeActionsView.apply(state:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Internal/Diff/ArrayDiff.swift", - "line": 275, + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Internal/Diff/ArrayDiff.swift", + "line": 323, "symbol": "ArrayDiff.Added", "symbol_kind": "source.lang.swift.decl.extension", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Internal/Diff/ArrayDiff.swift", - "line": 276, + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Internal/Diff/ArrayDiff.swift", + "line": 324, "symbol": "ArrayDiff.Removed", "symbol_kind": "source.lang.swift.decl.extension", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Internal/Diff/ArrayDiff.swift", - "line": 277, + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Internal/Diff/ArrayDiff.swift", + "line": 325, "symbol": "ArrayDiff.Moved", "symbol_kind": "source.lang.swift.decl.extension", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Internal/Diff/ArrayDiff.swift", - "line": 278, + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Internal/Diff/ArrayDiff.swift", + "line": 326, "symbol": "ArrayDiff.Updated", "symbol_kind": "source.lang.swift.decl.extension", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Internal/Diff/ArrayDiff.swift", - "line": 279, + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Internal/Diff/ArrayDiff.swift", + "line": 327, "symbol": "ArrayDiff.NoChange", "symbol_kind": "source.lang.swift.decl.extension", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Internal/KeyboardObserver/KeyboardObserver.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Internal/KeyboardObserver/KeyboardObserver.swift", "line": 273, "symbol": "__LST_KeyboardObserver_ObjCAccess.__setupSharedInstance()", "symbol_kind": "source.lang.swift.decl.function.method.static", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Internal/Presentation State/PresentationState.ItemState.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Internal/Presentation State/PresentationState.ItemState.swift", "line": 67, "symbol": "ItemStateDependencies", "symbol_kind": "source.lang.swift.decl.struct", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/AnyItem.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/AnyItem.swift", "line": 11, "symbol": "AnyItem", "symbol_kind": "source.lang.swift.decl.protocol", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/AnyItem.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/AnyItem.swift", "line": 13, "symbol": "AnyItem.identifier", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/AnyItem.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/AnyItem.swift", "line": 15, "symbol": "AnyItem.anyContent", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/AnyItem.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/AnyItem.swift", "line": 17, "symbol": "AnyItem.sizing", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/AnyItem.swift", - "line": 18, - "symbol": "AnyItem.layout", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/AnyItem.swift", + "line": 19, + "symbol": "AnyItem.layouts", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/AnyItem.swift", - "line": 19, + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/AnyItem.swift", + "line": 21, "symbol": "AnyItem.selectionStyle", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/AnyItem.swift", - "line": 20, + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/AnyItem.swift", + "line": 22, "symbol": "AnyItem.insertAndRemoveAnimations", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/AnyItem.swift", - "line": 21, + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/AnyItem.swift", + "line": 23, "symbol": "AnyItem.swipeActions", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/AnyItem.swift", - "line": 23, + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/AnyItem.swift", + "line": 25, "symbol": "AnyItem.reordering", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/AnyItem.swift", - "line": 27, + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/AnyItem.swift", + "line": 29, "symbol": "AnyItem_Internal", "symbol_kind": "source.lang.swift.decl.protocol", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/AnyItem.swift", - "line": 29, + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/AnyItem.swift", + "line": 31, "symbol": "AnyItem_Internal.anyWasMoved(comparedTo:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/AnyItem.swift", - "line": 30, + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/AnyItem.swift", + "line": 32, "symbol": "AnyItem_Internal.anyIsEquivalent(to:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/AnyItem.swift", - "line": 32, + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/AnyItem.swift", + "line": 34, "symbol": "AnyItem_Internal.newPresentationItemState(with:updateCallbacks:performsContentCallbacks:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/DefaultItemProperties.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/DefaultItemProperties.swift", "line": 22, "symbol": "DefaultItemProperties.sizing", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/DefaultItemProperties.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/DefaultItemProperties.swift", "line": 23, - "symbol": "DefaultItemProperties.layout", + "symbol": "DefaultItemProperties.layouts", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/DefaultItemProperties.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/DefaultItemProperties.swift", "line": 25, "symbol": "DefaultItemProperties.selectionStyle", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/DefaultItemProperties.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/DefaultItemProperties.swift", "line": 27, "symbol": "DefaultItemProperties.insertAndRemoveAnimations", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/DefaultItemProperties.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/DefaultItemProperties.swift", "line": 29, "symbol": "DefaultItemProperties.swipeActions", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/DefaultItemProperties.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/DefaultItemProperties.swift", "line": 31, - "symbol": "DefaultItemProperties.init(sizing:layout:selectionStyle:insertAndRemoveAnimations:swipeActions:)", + "symbol": "DefaultItemProperties.init(sizing:layouts:selectionStyle:insertAndRemoveAnimations:swipeActions:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item+Callbacks.swift", - "line": 16, - "symbol": "Item.OnDisplay.Callback", - "symbol_kind": "source.lang.swift.decl.typealias", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/Item.swift", + "line": 9, + "symbol": "Item", + "symbol_kind": "source.lang.swift.decl.extension", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item+Callbacks.swift", - "line": 18, - "symbol": "Item.OnDisplay.item", - "symbol_kind": "source.lang.swift.decl.var.instance", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/Item.swift", + "line": 9, + "symbol": "Item", + "symbol_kind": "source.lang.swift.decl.struct", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item+Callbacks.swift", - "line": 20, - "symbol": "Item.OnDisplay.isFirstDisplay", - "symbol_kind": "source.lang.swift.decl.var.instance", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/Item.swift", + "line": 11, + "symbol": "Item", + "symbol_kind": "source.lang.swift.decl.extension", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item+Callbacks.swift", - "line": 26, - "symbol": "Item.OnEndDisplay.Callback", - "symbol_kind": "source.lang.swift.decl.typealias", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/Item.swift", + "line": 11, + "symbol": "Item.identifier", + "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item+Callbacks.swift", - "line": 28, - "symbol": "Item.OnEndDisplay.item", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/Item.swift", + "line": 13, + "symbol": "Item.content", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item+Callbacks.swift", - "line": 30, - "symbol": "Item.OnEndDisplay.isFirstEndDisplay", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/Item.swift", + "line": 15, + "symbol": "Item.sizing", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item+Callbacks.swift", - "line": 36, - "symbol": "Item.OnSelect.Callback", - "symbol_kind": "source.lang.swift.decl.typealias", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/Item.swift", + "line": 16, + "symbol": "Item.layouts", + "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item+Callbacks.swift", - "line": 38, - "symbol": "Item.OnSelect.item", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/Item.swift", + "line": 18, + "symbol": "Item.selectionStyle", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item+Callbacks.swift", - "line": 44, - "symbol": "Item.OnDeselect.Callback", - "symbol_kind": "source.lang.swift.decl.typealias", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/Item.swift", + "line": 20, + "symbol": "Item.insertAndRemoveAnimations", + "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item+Callbacks.swift", - "line": 46, - "symbol": "Item.OnDeselect.item", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/Item.swift", + "line": 22, + "symbol": "Item.swipeActions", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item+Callbacks.swift", - "line": 49, - "symbol": "Item.OnInsert", - "symbol_kind": "source.lang.swift.decl.struct", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/Item.swift", + "line": 24, + "symbol": "Item.reordering", + "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item+Callbacks.swift", - "line": 51, - "symbol": "Item.OnInsert.Callback", - "symbol_kind": "source.lang.swift.decl.typealias", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/Item.swift", + "line": 26, + "symbol": "Item.onDisplay", + "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item+Callbacks.swift", - "line": 53, - "symbol": "Item.OnInsert.item", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/Item.swift", + "line": 27, + "symbol": "Item.onEndDisplay", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item+Callbacks.swift", - "line": 56, - "symbol": "Item.OnRemove", - "symbol_kind": "source.lang.swift.decl.struct", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/Item.swift", + "line": 29, + "symbol": "Item.onSelect", + "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item+Callbacks.swift", - "line": 58, - "symbol": "Item.OnRemove.Callback", - "symbol_kind": "source.lang.swift.decl.typealias", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/Item.swift", + "line": 30, + "symbol": "Item.onDeselect", + "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item+Callbacks.swift", - "line": 60, - "symbol": "Item.OnRemove.item", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/Item.swift", + "line": 32, + "symbol": "Item.onInsert", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item+Callbacks.swift", - "line": 63, - "symbol": "Item.OnMove", - "symbol_kind": "source.lang.swift.decl.struct", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/Item.swift", + "line": 33, + "symbol": "Item.onRemove", + "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item+Callbacks.swift", - "line": 65, - "symbol": "Item.OnMove.Callback", - "symbol_kind": "source.lang.swift.decl.typealias", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/Item.swift", + "line": 34, + "symbol": "Item.onMove", + "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item+Callbacks.swift", - "line": 67, - "symbol": "Item.OnMove.old", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/Item.swift", + "line": 35, + "symbol": "Item.onUpdate", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item+Callbacks.swift", - "line": 68, - "symbol": "Item.OnMove.new", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/Item.swift", + "line": 39, + "symbol": "Item.debuggingIdentifier", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item+Callbacks.swift", - "line": 71, - "symbol": "Item.OnUpdate", - "symbol_kind": "source.lang.swift.decl.struct", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/Item.swift", + "line": 45, + "symbol": "Item.Build", + "symbol_kind": "source.lang.swift.decl.typealias", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item+Callbacks.swift", - "line": 73, - "symbol": "Item.OnUpdate.Callback", - "symbol_kind": "source.lang.swift.decl.typealias", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/Item.swift", + "line": 47, + "symbol": "Item.init(_:build:)", + "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item+Callbacks.swift", - "line": 75, - "symbol": "Item.OnUpdate.old", - "symbol_kind": "source.lang.swift.decl.var.instance", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/Item.swift", + "line": 56, + "symbol": "Item.init(_:sizing:layouts:selectionStyle:insertAndRemoveAnimations:swipeActions:reordering:onDisplay:onEndDisplay:onSelect:onDeselect:onInsert:onRemove:onMove:onUpdate:)", + "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item+Callbacks.swift", - "line": 76, - "symbol": "Item.OnUpdate.new", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/Item.swift", + "line": 135, + "symbol": "Item.anyContent", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item.swift", - "line": 9, - "symbol": "Item", - "symbol_kind": "source.lang.swift.decl.extension", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/Item.swift", + "line": 141, + "symbol": "Item.anyIsEquivalent(to:)", + "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item.swift", - "line": 9, - "symbol": "Item", - "symbol_kind": "source.lang.swift.decl.struct", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/Item.swift", + "line": 150, + "symbol": "Item.anyWasMoved(comparedTo:)", + "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item.swift", - "line": 11, - "symbol": "Item", - "symbol_kind": "source.lang.swift.decl.extension", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/Item.swift", + "line": 159, + "symbol": "Item.newPresentationItemState(with:updateCallbacks:performsContentCallbacks:)", + "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item.swift", - "line": 11, - "symbol": "Item.identifier", - "symbol_kind": "source.lang.swift.decl.var.instance", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/Item.swift", + "line": 209, + "symbol": "Item", + "symbol_kind": "source.lang.swift.decl.extension", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item.swift", - "line": 13, - "symbol": "Item.content", - "symbol_kind": "source.lang.swift.decl.var.instance", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemCallbacks.swift", + "line": 16, + "symbol": "Item.OnDisplay.Callback", + "symbol_kind": "source.lang.swift.decl.typealias", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item.swift", - "line": 15, - "symbol": "Item.sizing", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemCallbacks.swift", + "line": 18, + "symbol": "Item.OnDisplay.item", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item.swift", - "line": 16, - "symbol": "Item.layout", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemCallbacks.swift", + "line": 20, + "symbol": "Item.OnDisplay.isFirstDisplay", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item.swift", - "line": 18, - "symbol": "Item.selectionStyle", - "symbol_kind": "source.lang.swift.decl.var.instance", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemCallbacks.swift", + "line": 26, + "symbol": "Item.OnEndDisplay.Callback", + "symbol_kind": "source.lang.swift.decl.typealias", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item.swift", - "line": 20, - "symbol": "Item.insertAndRemoveAnimations", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemCallbacks.swift", + "line": 28, + "symbol": "Item.OnEndDisplay.item", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item.swift", - "line": 22, - "symbol": "Item.swipeActions", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemCallbacks.swift", + "line": 30, + "symbol": "Item.OnEndDisplay.isFirstEndDisplay", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item.swift", - "line": 24, - "symbol": "Item.reordering", - "symbol_kind": "source.lang.swift.decl.var.instance", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemCallbacks.swift", + "line": 36, + "symbol": "Item.OnSelect.Callback", + "symbol_kind": "source.lang.swift.decl.typealias", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item.swift", - "line": 26, - "symbol": "Item.onDisplay", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemCallbacks.swift", + "line": 38, + "symbol": "Item.OnSelect.item", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item.swift", - "line": 27, - "symbol": "Item.onEndDisplay", - "symbol_kind": "source.lang.swift.decl.var.instance", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemCallbacks.swift", + "line": 44, + "symbol": "Item.OnDeselect.Callback", + "symbol_kind": "source.lang.swift.decl.typealias", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item.swift", - "line": 29, - "symbol": "Item.onSelect", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemCallbacks.swift", + "line": 46, + "symbol": "Item.OnDeselect.item", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item.swift", - "line": 30, - "symbol": "Item.onDeselect", - "symbol_kind": "source.lang.swift.decl.var.instance", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemCallbacks.swift", + "line": 49, + "symbol": "Item.OnInsert", + "symbol_kind": "source.lang.swift.decl.struct", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item.swift", - "line": 32, - "symbol": "Item.onInsert", - "symbol_kind": "source.lang.swift.decl.var.instance", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemCallbacks.swift", + "line": 51, + "symbol": "Item.OnInsert.Callback", + "symbol_kind": "source.lang.swift.decl.typealias", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item.swift", - "line": 33, - "symbol": "Item.onRemove", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemCallbacks.swift", + "line": 53, + "symbol": "Item.OnInsert.item", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item.swift", - "line": 34, - "symbol": "Item.onMove", - "symbol_kind": "source.lang.swift.decl.var.instance", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemCallbacks.swift", + "line": 56, + "symbol": "Item.OnRemove", + "symbol_kind": "source.lang.swift.decl.struct", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item.swift", - "line": 35, - "symbol": "Item.onUpdate", - "symbol_kind": "source.lang.swift.decl.var.instance", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemCallbacks.swift", + "line": 58, + "symbol": "Item.OnRemove.Callback", + "symbol_kind": "source.lang.swift.decl.typealias", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item.swift", - "line": 39, - "symbol": "Item.debuggingIdentifier", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemCallbacks.swift", + "line": 60, + "symbol": "Item.OnRemove.item", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item.swift", - "line": 45, - "symbol": "Item.Build", - "symbol_kind": "source.lang.swift.decl.typealias", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemCallbacks.swift", + "line": 63, + "symbol": "Item.OnMove", + "symbol_kind": "source.lang.swift.decl.struct", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item.swift", - "line": 47, - "symbol": "Item.init(_:build:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemCallbacks.swift", + "line": 65, + "symbol": "Item.OnMove.Callback", + "symbol_kind": "source.lang.swift.decl.typealias", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item.swift", - "line": 56, - "symbol": "Item.init(_:sizing:layout:selectionStyle:insertAndRemoveAnimations:swipeActions:reordering:onDisplay:onEndDisplay:onSelect:onDeselect:onInsert:onRemove:onMove:onUpdate:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemCallbacks.swift", + "line": 67, + "symbol": "Item.OnMove.old", + "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item.swift", - "line": 135, - "symbol": "Item.anyContent", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemCallbacks.swift", + "line": 68, + "symbol": "Item.OnMove.new", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item.swift", - "line": 141, - "symbol": "Item.anyIsEquivalent(to:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemCallbacks.swift", + "line": 71, + "symbol": "Item.OnUpdate", + "symbol_kind": "source.lang.swift.decl.struct", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item.swift", - "line": 150, - "symbol": "Item.anyWasMoved(comparedTo:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemCallbacks.swift", + "line": 73, + "symbol": "Item.OnUpdate.Callback", + "symbol_kind": "source.lang.swift.decl.typealias", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item.swift", - "line": 159, - "symbol": "Item.newPresentationItemState(with:updateCallbacks:performsContentCallbacks:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemCallbacks.swift", + "line": 75, + "symbol": "Item.OnUpdate.old", + "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Item.swift", - "line": 209, - "symbol": "Item", - "symbol_kind": "source.lang.swift.decl.extension", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemCallbacks.swift", + "line": 76, + "symbol": "Item.OnUpdate.new", + "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/ItemContent.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemContent.swift", "line": 313, "symbol": "ItemContentSwipeActionsView.swipeActionsWidth", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/ItemContent.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemContent.swift", "line": 315, "symbol": "ItemContentSwipeActionsView.init(didPerformAction:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/ItemContent.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemContent.swift", "line": 317, "symbol": "ItemContentSwipeActionsView.apply(actions:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/ItemContent.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemContent.swift", "line": 319, "symbol": "ItemContentSwipeActionsView.apply(state:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/ItemInsertAndRemoveAnimations.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemInsertAndRemoveAnimations.swift", "line": 11, "symbol": "ItemInsertAndRemoveAnimations", "symbol_kind": "source.lang.swift.decl.struct", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/ItemInsertAndRemoveAnimations.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemInsertAndRemoveAnimations.swift", "line": 13, "symbol": "ItemInsertAndRemoveAnimations.Prepare", "symbol_kind": "source.lang.swift.decl.typealias", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/ItemInsertAndRemoveAnimations.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemInsertAndRemoveAnimations.swift", "line": 15, "symbol": "ItemInsertAndRemoveAnimations.onInsert", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/ItemInsertAndRemoveAnimations.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemInsertAndRemoveAnimations.swift", "line": 16, "symbol": "ItemInsertAndRemoveAnimations.onRemoval", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/ItemInsertAndRemoveAnimations.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemInsertAndRemoveAnimations.swift", "line": 18, "symbol": "ItemInsertAndRemoveAnimations.init(onInsert:onRemoval:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/ItemInsertAndRemoveAnimations.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemInsertAndRemoveAnimations.swift", "line": 26, "symbol": "ItemInsertAndRemoveAnimations.init(attributes:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/ItemInsertAndRemoveAnimations.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemInsertAndRemoveAnimations.swift", "line": 32, "symbol": "ItemInsertAndRemoveAnimations.Attributes", "symbol_kind": "source.lang.swift.decl.struct", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/ItemInsertAndRemoveAnimations.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemInsertAndRemoveAnimations.swift", "line": 34, "symbol": "ItemInsertAndRemoveAnimations.Attributes.bounds", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/ItemInsertAndRemoveAnimations.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemInsertAndRemoveAnimations.swift", "line": 35, "symbol": "ItemInsertAndRemoveAnimations.Attributes.center", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/ItemInsertAndRemoveAnimations.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemInsertAndRemoveAnimations.swift", "line": 37, "symbol": "ItemInsertAndRemoveAnimations.Attributes.transform", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/ItemInsertAndRemoveAnimations.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemInsertAndRemoveAnimations.swift", "line": 38, "symbol": "ItemInsertAndRemoveAnimations.Attributes.transform3D", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/ItemInsertAndRemoveAnimations.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemInsertAndRemoveAnimations.swift", "line": 40, "symbol": "ItemInsertAndRemoveAnimations.Attributes.alpha", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/ItemInsertAndRemoveAnimations.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemInsertAndRemoveAnimations.swift", "line": 42, "symbol": "ItemInsertAndRemoveAnimations.Attributes.zIndex", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/ItemInsertAndRemoveAnimations.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemInsertAndRemoveAnimations.swift", "line": 44, "symbol": "ItemInsertAndRemoveAnimations.Attributes.frame", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/ItemInsertAndRemoveAnimations.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemInsertAndRemoveAnimations.swift", "line": 96, "symbol": "ItemInsertAndRemoveAnimations", "symbol_kind": "source.lang.swift.decl.extension", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/ItemInsertAndRemoveAnimations.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemInsertAndRemoveAnimations.swift", "line": 98, "symbol": "ItemInsertAndRemoveAnimations.fade", "symbol_kind": "source.lang.swift.decl.var.static", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/ItemInsertAndRemoveAnimations.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemInsertAndRemoveAnimations.swift", "line": 109, "symbol": "ItemInsertAndRemoveAnimations.right", "symbol_kind": "source.lang.swift.decl.var.static", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/ItemInsertAndRemoveAnimations.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemInsertAndRemoveAnimations.swift", "line": 122, "symbol": "ItemInsertAndRemoveAnimations.left", "symbol_kind": "source.lang.swift.decl.var.static", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/ItemInsertAndRemoveAnimations.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemInsertAndRemoveAnimations.swift", "line": 135, "symbol": "ItemInsertAndRemoveAnimations.top", "symbol_kind": "source.lang.swift.decl.var.static", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/ItemInsertAndRemoveAnimations.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemInsertAndRemoveAnimations.swift", "line": 148, "symbol": "ItemInsertAndRemoveAnimations.bottom", "symbol_kind": "source.lang.swift.decl.var.static", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/ItemInsertAndRemoveAnimations.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemInsertAndRemoveAnimations.swift", "line": 161, "symbol": "ItemInsertAndRemoveAnimations.scaleDown", "symbol_kind": "source.lang.swift.decl.var.static", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/ItemInsertAndRemoveAnimations.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemInsertAndRemoveAnimations.swift", "line": 174, "symbol": "ItemInsertAndRemoveAnimations.scaleUp", "symbol_kind": "source.lang.swift.decl.var.static", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/ItemLayout.swift", - "line": 11, - "symbol": "ItemLayout", - "symbol_kind": "source.lang.swift.decl.struct", - "warning": "undocumented" - }, - { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/ItemLayout.swift", - "line": 13, - "symbol": "ItemLayout.itemSpacing", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/ItemLayout.swift", - "line": 14, - "symbol": "ItemLayout.itemToSectionFooterSpacing", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/ItemLayout.swift", - "line": 16, - "symbol": "ItemLayout.width", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/ItemLayout.swift", - "line": 18, - "symbol": "ItemLayout.init(itemSpacing:itemToSectionFooterSpacing:width:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/ItemPosition.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemPosition.swift", "line": 11, "symbol": "ItemPosition", "symbol_kind": "source.lang.swift.decl.enum", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/ItemPosition.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemPosition.swift", "line": 13, "symbol": "ItemPosition.single", "symbol_kind": "source.lang.swift.decl.enumelement", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/ItemPosition.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemPosition.swift", "line": 15, "symbol": "ItemPosition.first", "symbol_kind": "source.lang.swift.decl.enumelement", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/ItemPosition.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemPosition.swift", "line": 16, "symbol": "ItemPosition.middle", "symbol_kind": "source.lang.swift.decl.enumelement", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/ItemPosition.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemPosition.swift", "line": 17, "symbol": "ItemPosition.last", "symbol_kind": "source.lang.swift.decl.enumelement", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/ItemState.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemState.swift", "line": 11, "symbol": "ItemState", "symbol_kind": "source.lang.swift.decl.struct", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/ItemState.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemState.swift", "line": 13, "symbol": "ItemState.init(isSelected:isHighlighted:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/ItemState.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/ItemState.swift", "line": 19, "symbol": "ItemState.init(cell:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Reordering.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/Reordering.swift", "line": 11, "symbol": "Reordering", "symbol_kind": "source.lang.swift.decl.struct", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Reordering.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/Reordering.swift", "line": 13, "symbol": "Reordering.sections", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Reordering.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/Reordering.swift", "line": 15, "symbol": "Reordering.CanReorder", "symbol_kind": "source.lang.swift.decl.typealias", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Reordering.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/Reordering.swift", "line": 16, "symbol": "Reordering.canReorder", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Reordering.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/Reordering.swift", "line": 18, "symbol": "Reordering.DidReorder", "symbol_kind": "source.lang.swift.decl.typealias", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Reordering.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/Reordering.swift", "line": 19, "symbol": "Reordering.didReorder", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Reordering.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/Reordering.swift", "line": 21, "symbol": "Reordering.init(sections:canReorder:didReorder:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Reordering.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/Reordering.swift", "line": 31, "symbol": "Reordering.Sections", "symbol_kind": "source.lang.swift.decl.enum", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Reordering.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/Reordering.swift", "line": 33, "symbol": "Reordering.Sections.same", "symbol_kind": "source.lang.swift.decl.enumelement", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Reordering.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/Reordering.swift", "line": 36, "symbol": "Reordering.Result", "symbol_kind": "source.lang.swift.decl.struct", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Reordering.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/Reordering.swift", "line": 38, "symbol": "Reordering.Result.fromSection", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Reordering.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/Reordering.swift", "line": 39, "symbol": "Reordering.Result.fromIndexPath", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Reordering.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/Reordering.swift", "line": 41, "symbol": "Reordering.Result.toSection", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Item/Reordering.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Item/Reordering.swift", "line": 42, "symbol": "Reordering.Result.toIndexPath", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/CollectionViewLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/CollectionViewLayout.swift", "line": 527, "symbol": "CollectionViewLayoutDelegate", "symbol_kind": "source.lang.swift.decl.protocol", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/CollectionViewLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/CollectionViewLayout.swift", "line": 529, "symbol": "CollectionViewLayoutDelegate.listViewLayoutUpdatedItemPositions(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/CollectionViewLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/CollectionViewLayout.swift", "line": 531, "symbol": "CollectionViewLayoutDelegate.listLayoutContent(defaults:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/Grid/GridListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Grid/GridListLayout.swift", "line": 12, - "symbol": "LayoutDescription.grid_experimental(_:)", + "symbol": "LayoutDescription.experimental_grid(_:)", "symbol_kind": "source.lang.swift.decl.function.method.static", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/Grid/GridListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Grid/GridListLayout.swift", "line": 19, "symbol": "GridAppearance", "symbol_kind": "source.lang.swift.decl.struct", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/Grid/GridListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Grid/GridListLayout.swift", "line": 21, "symbol": "GridAppearance.sizing", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/Grid/GridListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Grid/GridListLayout.swift", "line": 22, "symbol": "GridAppearance.layout", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/Grid/GridListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Grid/GridListLayout.swift", "line": 24, "symbol": "GridAppearance.direction", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/Grid/GridListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Grid/GridListLayout.swift", "line": 28, "symbol": "GridAppearance.stickySectionHeaders", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/Grid/GridListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Grid/GridListLayout.swift", "line": 30, "symbol": "GridAppearance.default", "symbol_kind": "source.lang.swift.decl.var.static", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/Grid/GridListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Grid/GridListLayout.swift", "line": 34, "symbol": "GridAppearance.init(stickySectionHeaders:sizing:layout:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/Grid/GridListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Grid/GridListLayout.swift", "line": 44, "symbol": "GridAppearance.Sizing", "symbol_kind": "source.lang.swift.decl.struct", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/Grid/GridListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Grid/GridListLayout.swift", "line": 46, "symbol": "GridAppearance.Sizing.itemSize", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/Grid/GridListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Grid/GridListLayout.swift", "line": 48, "symbol": "GridAppearance.Sizing.ItemSize", "symbol_kind": "source.lang.swift.decl.enum", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/Grid/GridListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Grid/GridListLayout.swift", "line": 49, "symbol": "GridAppearance.Sizing.ItemSize.fixed(_:)", "symbol_kind": "source.lang.swift.decl.enumelement", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/Grid/GridListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Grid/GridListLayout.swift", "line": 52, "symbol": "GridAppearance.Sizing.sectionHeaderHeight", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/Grid/GridListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Grid/GridListLayout.swift", "line": 53, "symbol": "GridAppearance.Sizing.sectionFooterHeight", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/Grid/GridListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Grid/GridListLayout.swift", "line": 55, "symbol": "GridAppearance.Sizing.listHeaderHeight", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/Grid/GridListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Grid/GridListLayout.swift", "line": 56, "symbol": "GridAppearance.Sizing.listFooterHeight", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/Grid/GridListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Grid/GridListLayout.swift", "line": 57, "symbol": "GridAppearance.Sizing.overscrollFooterHeight", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/Grid/GridListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Grid/GridListLayout.swift", "line": 59, "symbol": "GridAppearance.Sizing.init(itemSize:sectionHeaderHeight:sectionFooterHeight:listHeaderHeight:listFooterHeight:overscrollFooterHeight:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/Grid/GridListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Grid/GridListLayout.swift", "line": 76, "symbol": "GridAppearance.Sizing.set(with:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/Grid/GridListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Grid/GridListLayout.swift", "line": 85, "symbol": "GridAppearance.Layout", "symbol_kind": "source.lang.swift.decl.struct", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/Grid/GridListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Grid/GridListLayout.swift", "line": 87, "symbol": "GridAppearance.Layout.padding", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/Grid/GridListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Grid/GridListLayout.swift", "line": 88, "symbol": "GridAppearance.Layout.width", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/Grid/GridListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Grid/GridListLayout.swift", "line": 90, "symbol": "GridAppearance.Layout.interSectionSpacingWithNoFooter", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/Grid/GridListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Grid/GridListLayout.swift", "line": 91, "symbol": "GridAppearance.Layout.interSectionSpacingWithFooter", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/Grid/GridListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Grid/GridListLayout.swift", "line": 93, "symbol": "GridAppearance.Layout.sectionHeaderBottomSpacing", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/Grid/GridListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Grid/GridListLayout.swift", "line": 94, "symbol": "GridAppearance.Layout.itemToSectionFooterSpacing", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/Grid/GridListLayout.swift", - "line": 96, - "symbol": "GridAppearance.Layout.init(padding:width:interSectionSpacingWithNoFooter:interSectionSpacingWithFooter:sectionHeaderBottomSpacing:itemToSectionFooterSpacing:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Grid/GridListLayout.swift", + "line": 96, + "symbol": "GridAppearance.Layout.init(padding:width:interSectionSpacingWithNoFooter:interSectionSpacingWithFooter:sectionHeaderBottomSpacing:itemToSectionFooterSpacing:)", + "symbol_kind": "source.lang.swift.decl.function.method.instance", + "warning": "undocumented" + }, + { + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Grid/GridListLayout.swift", + "line": 115, + "symbol": "GridAppearance.Layout.set(with:)", + "symbol_kind": "source.lang.swift.decl.function.method.instance", + "warning": "undocumented" + }, + { + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Grid/GridListLayout.swift", + "line": 136, + "symbol": "GridAppearance", + "symbol_kind": "source.lang.swift.decl.extension", + "warning": "undocumented" + }, + { + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Grid/GridListLayout.swift", + "line": 138, + "symbol": "GridAppearance.ItemLayout", + "symbol_kind": "source.lang.swift.decl.struct", + "warning": "undocumented" + }, + { + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Grid/GridListLayout.swift", + "line": 144, + "symbol": "GridAppearance.ItemLayout.init()", + "symbol_kind": "source.lang.swift.decl.function.method.instance", + "warning": "undocumented" + }, + { + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Grid/GridListLayout.swift", + "line": 150, + "symbol": "GridAppearance.HeaderFooterLayout", + "symbol_kind": "source.lang.swift.decl.struct", + "warning": "undocumented" + }, + { + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Grid/GridListLayout.swift", + "line": 152, + "symbol": "GridAppearance.HeaderFooterLayout.width", + "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/Grid/GridListLayout.swift", - "line": 115, - "symbol": "GridAppearance.Layout.set(with:)", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Grid/GridListLayout.swift", + "line": 158, + "symbol": "GridAppearance.HeaderFooterLayout.init(width:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/List/DefaultListLayout.swift", - "line": 13, - "symbol": "LayoutDescription.list(_:)", - "symbol_kind": "source.lang.swift.decl.function.method.static", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Grid/GridListLayout.swift", + "line": 166, + "symbol": "GridAppearance.SectionLayout", + "symbol_kind": "source.lang.swift.decl.struct", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/List/DefaultListLayout.swift", - "line": 107, - "symbol": "ListAppearance.direction", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Grid/GridListLayout.swift", + "line": 168, + "symbol": "GridAppearance.SectionLayout.width", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/List/DefaultListLayout.swift", - "line": 111, - "symbol": "ListAppearance.stickySectionHeaders", - "symbol_kind": "source.lang.swift.decl.var.instance", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Grid/GridListLayout.swift", + "line": 174, + "symbol": "GridAppearance.SectionLayout.init(width:)", + "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/List/DefaultListLayout.swift", - "line": 119, - "symbol": "ListAppearance.default", - "symbol_kind": "source.lang.swift.decl.var.static", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Grid/GridListLayout.swift", + "line": 184, + "symbol": "ItemLayouts.grid", + "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/List/DefaultListLayout.swift", - "line": 161, - "symbol": "ListAppearance.Sizing.init(itemHeight:sectionHeaderHeight:sectionFooterHeight:listHeaderHeight:listFooterHeight:overscrollFooterHeight:itemPositionGroupingHeight:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Grid/GridListLayout.swift", + "line": 192, + "symbol": "HeaderFooterLayouts.grid", + "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/List/DefaultListLayout.swift", - "line": 180, - "symbol": "ListAppearance.Sizing.set(with:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Grid/GridListLayout.swift", + "line": 199, + "symbol": "SectionLayouts.grid", + "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/LayoutDescription.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/LayoutDescription.swift", "line": 140, "symbol": "AnyLayoutDescriptionConfiguration", "symbol_kind": "source.lang.swift.decl.protocol", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/LayoutDescription.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/LayoutDescription.swift", "line": 142, "symbol": "AnyLayoutDescriptionConfiguration.createEmptyLayout(appearance:behavior:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/LayoutDescription.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/LayoutDescription.swift", "line": 147, "symbol": "AnyLayoutDescriptionConfiguration.createPopulatedLayout(appearance:behavior:delegate:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/LayoutDescription.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/LayoutDescription.swift", "line": 153, "symbol": "AnyLayoutDescriptionConfiguration.shouldRebuild(layout:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/LayoutDescription.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/LayoutDescription.swift", "line": 155, "symbol": "AnyLayoutDescriptionConfiguration.isSameLayoutType(as:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", "line": 11, "symbol": "ListLayout", "symbol_kind": "source.lang.swift.decl.protocol", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", "line": 13, "symbol": "ListLayout.LayoutAppearance", "symbol_kind": "source.lang.swift.decl.associatedtype", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", "line": 15, "symbol": "ListLayout.defaults", "symbol_kind": "source.lang.swift.decl.var.static", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", "line": 17, "symbol": "ListLayout.layoutAppearance", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", "line": 19, "symbol": "ListLayout.init(layoutAppearance:appearance:behavior:content:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", "line": 28, "symbol": "ListLayout", "symbol_kind": "source.lang.swift.decl.extension", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", "line": 30, "symbol": "ListLayout.direction", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", "line": 34, "symbol": "ListLayout.stickySectionHeaders", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", "line": 40, "symbol": "AnyListLayout", "symbol_kind": "source.lang.swift.decl.protocol", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", "line": 46, "symbol": "AnyListLayout.appearance", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", "line": 47, "symbol": "AnyListLayout.behavior", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", "line": 49, "symbol": "AnyListLayout.content", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", "line": 51, "symbol": "AnyListLayout.scrollViewProperties", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", "line": 53, "symbol": "AnyListLayout.direction", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", "line": 55, "symbol": "AnyListLayout.stickySectionHeaders", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", "line": 56, "symbol": "ListLayout", "symbol_kind": "source.lang.swift.decl.extension", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", "line": 61, "symbol": "AnyListLayout.updateLayout(in:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", "line": 63, "symbol": "AnyListLayout.layout(delegate:in:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", "line": 68, "symbol": "AnyListLayout.setZIndexes()", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", "line": 72, "symbol": "AnyListLayout", "symbol_kind": "source.lang.swift.decl.extension", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", "line": 74, "symbol": "AnyListLayout.setZIndexes()", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", "line": 94, "symbol": "AnyListLayout", "symbol_kind": "source.lang.swift.decl.extension", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", "line": 96, "symbol": "AnyListLayout.visibleContentFrame(for:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", "line": 108, "symbol": "AnyListLayout", "symbol_kind": "source.lang.swift.decl.extension", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", "line": 110, "symbol": "AnyListLayout.positionStickySectionHeadersIfNeeded(in:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", "line": 137, "symbol": "AnyListLayout.updateOverscrollFooterPosition(in:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayout.swift", "line": 159, "symbol": "AnyListLayout.adjustPositionsForLayoutUnderflow(in:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayoutAppearance.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayoutAppearance.swift", "line": 11, "symbol": "ListLayoutAppearance", "symbol_kind": "source.lang.swift.decl.protocol", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayoutAppearance.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayoutAppearance.swift", "line": 13, "symbol": "ListLayoutAppearance.default", "symbol_kind": "source.lang.swift.decl.var.static", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayoutAppearance.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayoutAppearance.swift", "line": 15, "symbol": "ListLayoutAppearance.direction", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayoutAppearance.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayoutAppearance.swift", "line": 17, "symbol": "ListLayoutAppearance.stickySectionHeaders", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayoutAttributes.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayoutAttributes.swift", "line": 11, "symbol": "ListLayoutAttributes", "symbol_kind": "source.lang.swift.decl.struct", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayoutAttributes.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayoutAttributes.swift", "line": 21, "symbol": "ListLayoutAttributes.Section", "symbol_kind": "source.lang.swift.decl.struct", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayoutAttributes.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayoutAttributes.swift", "line": 29, "symbol": "ListLayoutAttributes.Supplementary", "symbol_kind": "source.lang.swift.decl.struct", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayoutAttributes.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayoutAttributes.swift", "line": 33, "symbol": "ListLayoutAttributes.Item", "symbol_kind": "source.lang.swift.decl.struct", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayoutContent.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayoutContent.swift", "line": 11, "symbol": "ListLayoutContent", "symbol_kind": "source.lang.swift.decl.class", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayoutContent.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayoutContent.swift", "line": 236, "symbol": "ListLayoutContent", "symbol_kind": "source.lang.swift.decl.extension", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayoutContent.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayoutContent.swift", "line": 238, "symbol": "ListLayoutContent.SectionInfo", "symbol_kind": "source.lang.swift.decl.class", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayoutContent.swift", - "line": 304, + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayoutContent.swift", + "line": 299, "symbol": "ListLayoutContent.SupplementaryItemInfo", "symbol_kind": "source.lang.swift.decl.class", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayoutContent.swift", - "line": 373, + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayoutContent.swift", + "line": 368, "symbol": "ListLayoutContent.ItemInfo", "symbol_kind": "source.lang.swift.decl.class", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayoutDefaults.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayoutDefaults.swift", "line": 11, "symbol": "ListLayoutDefaults", "symbol_kind": "source.lang.swift.decl.struct", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayoutDefaults.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayoutDefaults.swift", "line": 13, "symbol": "ListLayoutDefaults.itemInsertAndRemoveAnimations", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayoutDefaults.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayoutDefaults.swift", "line": 15, "symbol": "ListLayoutDefaults.init(itemInsertAndRemoveAnimations:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayoutScrollViewProperties.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayoutScrollViewProperties.swift", "line": 11, "symbol": "ListLayoutScrollViewProperties", "symbol_kind": "source.lang.swift.decl.struct", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayoutScrollViewProperties.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayoutScrollViewProperties.swift", "line": 13, "symbol": "ListLayoutScrollViewProperties.isPagingEnabled", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayoutScrollViewProperties.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayoutScrollViewProperties.swift", "line": 15, "symbol": "ListLayoutScrollViewProperties.contentInsetAdjustmentBehavior", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayoutScrollViewProperties.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayoutScrollViewProperties.swift", "line": 17, "symbol": "ListLayoutScrollViewProperties.allowsBounceVertical", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayoutScrollViewProperties.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayoutScrollViewProperties.swift", "line": 18, "symbol": "ListLayoutScrollViewProperties.allowsBounceHorizontal", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayoutScrollViewProperties.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayoutScrollViewProperties.swift", "line": 20, "symbol": "ListLayoutScrollViewProperties.allowsHorizontalScrollIndicator", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayoutScrollViewProperties.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayoutScrollViewProperties.swift", "line": 21, "symbol": "ListLayoutScrollViewProperties.allowsVerticalScrollIndicator", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayoutScrollViewProperties.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayoutScrollViewProperties.swift", "line": 23, "symbol": "ListLayoutScrollViewProperties.init(isPagingEnabled:contentInsetAdjustmentBehavior:allowsBounceVertical:allowsBounceHorizontal:allowsVerticalScrollIndicator:allowsHorizontalScrollIndicator:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayoutScrollViewProperties.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayoutScrollViewProperties.swift", "line": 84, "symbol": "ListLayoutScrollViewProperties.ContentInsetAdjustmentBehavior", "symbol_kind": "source.lang.swift.decl.enum", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayoutScrollViewProperties.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayoutScrollViewProperties.swift", "line": 85, "symbol": "ListLayoutScrollViewProperties.ContentInsetAdjustmentBehavior.automatic", "symbol_kind": "source.lang.swift.decl.enumelement", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayoutScrollViewProperties.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayoutScrollViewProperties.swift", "line": 86, "symbol": "ListLayoutScrollViewProperties.ContentInsetAdjustmentBehavior.scrollableAxes", "symbol_kind": "source.lang.swift.decl.enumelement", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayoutScrollViewProperties.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayoutScrollViewProperties.swift", "line": 87, "symbol": "ListLayoutScrollViewProperties.ContentInsetAdjustmentBehavior.never", "symbol_kind": "source.lang.swift.decl.enumelement", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayoutScrollViewProperties.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayoutScrollViewProperties.swift", "line": 88, "symbol": "ListLayoutScrollViewProperties.ContentInsetAdjustmentBehavior.always", "symbol_kind": "source.lang.swift.decl.enumelement", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayoutValues.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayoutValues.swift", "line": 11, "symbol": "ListLayoutPoint", "symbol_kind": "source.lang.swift.decl.struct", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayoutValues.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayoutValues.swift", "line": 13, "symbol": "ListLayoutPoint.x", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayoutValues.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayoutValues.swift", "line": 14, "symbol": "ListLayoutPoint.y", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayoutValues.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayoutValues.swift", "line": 16, "symbol": "ListLayoutPoint.rotates", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayoutValues.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayoutValues.swift", "line": 18, "symbol": "ListLayoutPoint.init(x:y:rotates:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayoutValues.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayoutValues.swift", "line": 25, "symbol": "ListLayoutPoint.CGPointValue(for:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayoutValues.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayoutValues.swift", "line": 35, "symbol": "ListLayoutSize", "symbol_kind": "source.lang.swift.decl.struct", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayoutValues.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayoutValues.swift", "line": 37, "symbol": "ListLayoutSize.width", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayoutValues.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayoutValues.swift", "line": 38, "symbol": "ListLayoutSize.height", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayoutValues.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayoutValues.swift", "line": 40, "symbol": "ListLayoutSize.rotates", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayoutValues.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayoutValues.swift", "line": 42, "symbol": "ListLayoutSize.init(width:height:rotates:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/ListLayout/ListLayoutValues.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/ListLayout/ListLayoutValues.swift", "line": 48, "symbol": "ListLayoutSize.CGPointValue(for:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/Paged/PagedListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Paged/PagedListLayout.swift", "line": 11, "symbol": "LayoutDescription.paged(_:)", "symbol_kind": "source.lang.swift.decl.function.method.static", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/Paged/PagedListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Paged/PagedListLayout.swift", "line": 54, "symbol": "PagedAppearance.default", "symbol_kind": "source.lang.swift.decl.var.static", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/Paged/PagedListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Paged/PagedListLayout.swift", "line": 61, "symbol": "PagedAppearance.stickySectionHeaders", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Layout/Paged/PagedListLayout.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Paged/PagedListLayout.swift", "line": 72, "symbol": "PagedAppearance.init(direction:showsScrollIndicators:itemInsets:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListActions.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Table/TableListLayout.swift", + "line": 13, + "symbol": "LayoutDescription.table(_:)", + "symbol_kind": "source.lang.swift.decl.function.method.static", + "warning": "undocumented" + }, + { + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Table/TableListLayout.swift", + "line": 107, + "symbol": "TableAppearance.direction", + "symbol_kind": "source.lang.swift.decl.var.instance", + "warning": "undocumented" + }, + { + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Table/TableListLayout.swift", + "line": 111, + "symbol": "TableAppearance.stickySectionHeaders", + "symbol_kind": "source.lang.swift.decl.var.instance", + "warning": "undocumented" + }, + { + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Table/TableListLayout.swift", + "line": 119, + "symbol": "TableAppearance.default", + "symbol_kind": "source.lang.swift.decl.var.static", + "warning": "undocumented" + }, + { + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Table/TableListLayout.swift", + "line": 138, + "symbol": "TableAppearance.ItemLayout", + "symbol_kind": "source.lang.swift.decl.struct", + "warning": "undocumented" + }, + { + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Table/TableListLayout.swift", + "line": 140, + "symbol": "TableAppearance.ItemLayout.itemSpacing", + "symbol_kind": "source.lang.swift.decl.var.instance", + "warning": "undocumented" + }, + { + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Table/TableListLayout.swift", + "line": 141, + "symbol": "TableAppearance.ItemLayout.itemToSectionFooterSpacing", + "symbol_kind": "source.lang.swift.decl.var.instance", + "warning": "undocumented" + }, + { + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Table/TableListLayout.swift", + "line": 143, + "symbol": "TableAppearance.ItemLayout.width", + "symbol_kind": "source.lang.swift.decl.var.instance", + "warning": "undocumented" + }, + { + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Table/TableListLayout.swift", + "line": 145, + "symbol": "TableAppearance.ItemLayout.init(itemSpacing:itemToSectionFooterSpacing:width:)", + "symbol_kind": "source.lang.swift.decl.function.method.instance", + "warning": "undocumented" + }, + { + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Table/TableListLayout.swift", + "line": 162, + "symbol": "TableAppearance.HeaderFooterLayout", + "symbol_kind": "source.lang.swift.decl.struct", + "warning": "undocumented" + }, + { + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Table/TableListLayout.swift", + "line": 164, + "symbol": "TableAppearance.HeaderFooterLayout.width", + "symbol_kind": "source.lang.swift.decl.var.instance", + "warning": "undocumented" + }, + { + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Table/TableListLayout.swift", + "line": 166, + "symbol": "TableAppearance.HeaderFooterLayout.init(width:)", + "symbol_kind": "source.lang.swift.decl.function.method.instance", + "warning": "undocumented" + }, + { + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Table/TableListLayout.swift", + "line": 177, + "symbol": "TableAppearance.SectionLayout", + "symbol_kind": "source.lang.swift.decl.struct", + "warning": "undocumented" + }, + { + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Table/TableListLayout.swift", + "line": 179, + "symbol": "TableAppearance.SectionLayout.width", + "symbol_kind": "source.lang.swift.decl.var.instance", + "warning": "undocumented" + }, + { + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Table/TableListLayout.swift", + "line": 184, + "symbol": "TableAppearance.SectionLayout.columns", + "symbol_kind": "source.lang.swift.decl.var.instance", + "warning": "undocumented" + }, + { + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Table/TableListLayout.swift", + "line": 186, + "symbol": "TableAppearance.SectionLayout.init(width:customInterSectionSpacing:columns:)", + "symbol_kind": "source.lang.swift.decl.function.method.instance", + "warning": "undocumented" + }, + { + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Table/TableListLayout.swift", + "line": 201, + "symbol": "TableAppearance.SectionLayout.Columns", + "symbol_kind": "source.lang.swift.decl.struct", + "warning": "undocumented" + }, + { + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Table/TableListLayout.swift", + "line": 203, + "symbol": "TableAppearance.SectionLayout.Columns.count", + "symbol_kind": "source.lang.swift.decl.var.instance", + "warning": "undocumented" + }, + { + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Table/TableListLayout.swift", + "line": 204, + "symbol": "TableAppearance.SectionLayout.Columns.spacing", + "symbol_kind": "source.lang.swift.decl.var.instance", + "warning": "undocumented" + }, + { + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Table/TableListLayout.swift", + "line": 206, + "symbol": "TableAppearance.SectionLayout.Columns.one", + "symbol_kind": "source.lang.swift.decl.var.static", + "warning": "undocumented" + }, + { + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Table/TableListLayout.swift", + "line": 210, + "symbol": "TableAppearance.SectionLayout.Columns.init(count:spacing:)", + "symbol_kind": "source.lang.swift.decl.function.method.instance", + "warning": "undocumented" + }, + { + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Table/TableListLayout.swift", + "line": 257, + "symbol": "TableAppearance.Sizing.init(itemHeight:sectionHeaderHeight:sectionFooterHeight:listHeaderHeight:listFooterHeight:overscrollFooterHeight:itemPositionGroupingHeight:)", + "symbol_kind": "source.lang.swift.decl.function.method.instance", + "warning": "undocumented" + }, + { + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Layout/Table/TableListLayout.swift", + "line": 276, + "symbol": "TableAppearance.Sizing.set(with:)", + "symbol_kind": "source.lang.swift.decl.function.method.instance", + "warning": "undocumented" + }, + { + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListActions.swift", "line": 82, "symbol": "ListActions.Scrolling.init()", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListActions.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListActions.swift", "line": 86, "symbol": "ListActions.Scrolling.ScrollCompletion", "symbol_kind": "source.lang.swift.decl.typealias", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListActions.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListActions.swift", "line": 175, "symbol": "ListActions.ViewControllerTransitioning.init()", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListProperties.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListProperties.swift", "line": 151, "symbol": "ListProperties.Build", "symbol_kind": "source.lang.swift.decl.typealias", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListStateObserver.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListStateObserver.swift", "line": 53, "symbol": "ListStateObserver.OnDidScroll", "symbol_kind": "source.lang.swift.decl.typealias", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListStateObserver.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListStateObserver.swift", "line": 71, "symbol": "ListStateObserver.OnContentUpdated", "symbol_kind": "source.lang.swift.decl.typealias", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListStateObserver.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListStateObserver.swift", "line": 89, "symbol": "ListStateObserver.OnVisibilityChanged", "symbol_kind": "source.lang.swift.decl.typealias", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListStateObserver.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListStateObserver.swift", "line": 104, "symbol": "ListStateObserver.OnFrameChanged", "symbol_kind": "source.lang.swift.decl.typealias", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListStateObserver.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListStateObserver.swift", "line": 118, "symbol": "ListStateObserver.OnSelectionChanged", "symbol_kind": "source.lang.swift.decl.typealias", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListStateObserver.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListStateObserver.swift", "line": 161, "symbol": "ListStateObserver.DidScroll.actions", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListStateObserver.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListStateObserver.swift", "line": 162, "symbol": "ListStateObserver.DidScroll.positionInfo", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListStateObserver.swift", - "line": 168, + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListStateObserver.swift", + "line": 169, "symbol": "ListStateObserver.ContentUpdated.hadChanges", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListStateObserver.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListStateObserver.swift", "line": 170, + "symbol": "ListStateObserver.ContentUpdated.insertionsAndRemovals", + "symbol_kind": "source.lang.swift.decl.var.instance", + "warning": "undocumented" + }, + { + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListStateObserver.swift", + "line": 172, "symbol": "ListStateObserver.ContentUpdated.actions", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListStateObserver.swift", - "line": 171, + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListStateObserver.swift", + "line": 173, "symbol": "ListStateObserver.ContentUpdated.positionInfo", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListStateObserver.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListStateObserver.swift", + "line": 175, + "symbol": "ListStateObserver.ContentUpdated.InsertionsAndRemovals", + "symbol_kind": "source.lang.swift.decl.struct", + "warning": "undocumented" + }, + { + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListStateObserver.swift", "line": 177, - "symbol": "ListStateObserver.VisibilityChanged.actions", + "symbol": "ListStateObserver.ContentUpdated.InsertionsAndRemovals.sections", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListStateObserver.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListStateObserver.swift", "line": 178, + "symbol": "ListStateObserver.ContentUpdated.InsertionsAndRemovals.items", + "symbol_kind": "source.lang.swift.decl.var.instance", + "warning": "undocumented" + }, + { + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListStateObserver.swift", + "line": 193, + "symbol": "ListStateObserver.ContentUpdated.InsertionsAndRemovals.ChangedIDs", + "symbol_kind": "source.lang.swift.decl.struct", + "warning": "undocumented" + }, + { + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListStateObserver.swift", + "line": 194, + "symbol": "ListStateObserver.ContentUpdated.InsertionsAndRemovals.ChangedIDs.inserted", + "symbol_kind": "source.lang.swift.decl.var.instance", + "warning": "undocumented" + }, + { + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListStateObserver.swift", + "line": 195, + "symbol": "ListStateObserver.ContentUpdated.InsertionsAndRemovals.ChangedIDs.removed", + "symbol_kind": "source.lang.swift.decl.var.instance", + "warning": "undocumented" + }, + { + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListStateObserver.swift", + "line": 203, + "symbol": "ListStateObserver.VisibilityChanged.actions", + "symbol_kind": "source.lang.swift.decl.var.instance", + "warning": "undocumented" + }, + { + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListStateObserver.swift", + "line": 204, "symbol": "ListStateObserver.VisibilityChanged.positionInfo", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListStateObserver.swift", - "line": 180, + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListStateObserver.swift", + "line": 206, "symbol": "ListStateObserver.VisibilityChanged.displayed", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListStateObserver.swift", - "line": 181, + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListStateObserver.swift", + "line": 207, "symbol": "ListStateObserver.VisibilityChanged.endedDisplay", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListStateObserver.swift", - "line": 187, + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListStateObserver.swift", + "line": 213, "symbol": "ListStateObserver.FrameChanged.actions", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListStateObserver.swift", - "line": 188, + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListStateObserver.swift", + "line": 214, "symbol": "ListStateObserver.FrameChanged.positionInfo", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListStateObserver.swift", - "line": 190, + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListStateObserver.swift", + "line": 216, "symbol": "ListStateObserver.FrameChanged.old", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListStateObserver.swift", - "line": 191, + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListStateObserver.swift", + "line": 217, "symbol": "ListStateObserver.FrameChanged.new", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListStateObserver.swift", - "line": 197, + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListStateObserver.swift", + "line": 223, "symbol": "ListStateObserver.SelectionChanged.actions", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListStateObserver.swift", - "line": 198, + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListStateObserver.swift", + "line": 224, "symbol": "ListStateObserver.SelectionChanged.positionInfo", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListStateObserver.swift", - "line": 200, + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListStateObserver.swift", + "line": 226, "symbol": "ListStateObserver.SelectionChanged.old", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListStateObserver.swift", - "line": 201, + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListStateObserver.swift", + "line": 227, "symbol": "ListStateObserver.SelectionChanged.new", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListView/ListSizing.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListView/ListSizing.swift", "line": 72, "symbol": "ListView.contentSize(in:for:)", "symbol_kind": "source.lang.swift.decl.function.method.static", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListView/ListSizing.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListView/ListSizing.swift", "line": 82, "symbol": "ListView.contentSize(in:for:)", "symbol_kind": "source.lang.swift.decl.function.method.static", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListView/ListView.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListView/ListView.swift", "line": 11, "symbol": "ListView", "symbol_kind": "source.lang.swift.decl.class", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListView/ListView.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListView/ListView.swift", "line": 17, "symbol": "ListView.init(frame:appearance:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListView/ListView.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListView/ListView.swift", "line": 66, "symbol": "ListView", "symbol_kind": "source.lang.swift.decl.extension", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListView/ListView.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListView/ListView.swift", "line": 128, "symbol": "ListView", "symbol_kind": "source.lang.swift.decl.extension", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListView/ListView.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListView/ListView.swift", "line": 155, "symbol": "ListView.debuggingIdentifier", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListView/ListView.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListView/ListView.swift", "line": 161, "symbol": "ListView.appearance", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListView/ListView.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListView/ListView.swift", "line": 187, "symbol": "ListView.scrollPositionInfo", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListView/ListView.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListView/ListView.swift", "line": 200, "symbol": "ListView.layout", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListView/ListView.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListView/ListView.swift", "line": 205, "symbol": "ListView.set(layout:animated:completion:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListView/ListView.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListView/ListView.swift", "line": 210, "symbol": "ListView.contentSize", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListView/ListView.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListView/ListView.swift", "line": 218, "symbol": "ListView.behavior", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListView/ListView.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListView/ListView.swift", "line": 276, "symbol": "ListView.scrollIndicatorInsets", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListView/ListView.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListView/ListView.swift", "line": 387, "symbol": "ListView.ScrollCompletion", "symbol_kind": "source.lang.swift.decl.typealias", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListView/ListView.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListView/ListView.swift", "line": 513, "symbol": "ListView.environment", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListView/ListView.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListView/ListView.swift", "line": 519, "symbol": "ListView.content", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListView/ListView.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListView/ListView.swift", "line": 524, "symbol": "ListView.setContent(animated:_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListView/ListView.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListView/ListView.swift", "line": 536, "symbol": "ListView.set(source:initial:animated:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListView/ListView.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListView/ListView.swift", "line": 561, "symbol": "ListView.configure(with:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListView/ListView.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListView/ListView.swift", "line": 578, "symbol": "ListView.configure(with:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListView/ListView.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListView/ListView.swift", "line": 624, "symbol": "ListView.frame", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListView/ListView.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListView/ListView.swift", "line": 630, "symbol": "ListView.bounds", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListView/ListView.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListView/ListView.swift", "line": 678, "symbol": "ListView.backgroundColor", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListView/ListView.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListView/ListView.swift", "line": 684, "symbol": "ListView.didMoveToWindow()", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListView/ListView.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListView/ListView.swift", "line": 693, "symbol": "ListView.didMoveToSuperview()", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListView/ListView.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListView/ListView.swift", "line": 702, "symbol": "ListView.layoutSubviews()", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListView/ListView.swift", - "line": 1024, + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListView/ListView.swift", + "line": 1025, "symbol": "ListView", "symbol_kind": "source.lang.swift.decl.extension", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListView/UpdateCallbacks.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListView/UpdateCallbacks.swift", "line": 11, "symbol": "UpdateCallbacks", "symbol_kind": "source.lang.swift.decl.class", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListViewController.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListViewController.swift", "line": 74, "symbol": "ListViewController.reload(animated:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListViewController.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListViewController.swift", "line": 94, "symbol": "ListViewController.init(nibName:bundle:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListViewController.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListViewController.swift", "line": 105, "symbol": "ListViewController.loadView()", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListViewController.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListViewController.swift", "line": 114, "symbol": "ListViewController.viewWillAppear(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListViewSource.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListViewSource.swift", "line": 12, "symbol": "ListViewSource", "symbol_kind": "source.lang.swift.decl.protocol", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListViewSource.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListViewSource.swift", "line": 14, "symbol": "ListViewSource.State", "symbol_kind": "source.lang.swift.decl.associatedtype", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListViewSource.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListViewSource.swift", "line": 16, "symbol": "ListViewSource.content(with:content:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListViewSource.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListViewSource.swift", "line": 18, "symbol": "ListViewSource.content(with:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListViewSource.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListViewSource.swift", "line": 22, "symbol": "ListViewSource", "symbol_kind": "source.lang.swift.decl.extension", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListViewSource.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListViewSource.swift", "line": 24, "symbol": "ListViewSource.content(with:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListViewSource.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListViewSource.swift", "line": 73, "symbol": "StateAccessor", "symbol_kind": "source.lang.swift.decl.class", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListViewSource.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListViewSource.swift", "line": 75, "symbol": "StateAccessor.value", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListViewSource.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListViewSource.swift", "line": 91, "symbol": "SourceState", "symbol_kind": "source.lang.swift.decl.class", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListViewSource.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListViewSource.swift", "line": 93, "symbol": "SourceState.value", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListViewSource.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListViewSource.swift", "line": 101, "symbol": "SourceState.set(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListViewSource.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListViewSource.swift", "line": 110, "symbol": "SourceState.init(initial:didChange:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListViewSource.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListViewSource.swift", "line": 117, "symbol": "SourceState.discard()", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListViewSource.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListViewSource.swift", "line": 131, "symbol": "DynamicSource", "symbol_kind": "source.lang.swift.decl.class", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListViewSource.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListViewSource.swift", "line": 133, "symbol": "DynamicSource.Builder", "symbol_kind": "source.lang.swift.decl.typealias", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListViewSource.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListViewSource.swift", "line": 137, "symbol": "DynamicSource.init(with:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListViewSource.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListViewSource.swift", "line": 142, "symbol": "DynamicSource.content(with:content:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListViewSource.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListViewSource.swift", "line": 154, "symbol": "StaticSource", "symbol_kind": "source.lang.swift.decl.class", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListViewSource.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListViewSource.swift", "line": 156, "symbol": "StaticSource.State", "symbol_kind": "source.lang.swift.decl.struct", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListViewSource.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListViewSource.swift", "line": 158, "symbol": "StaticSource.State.init()", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListViewSource.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListViewSource.swift", "line": 161, "symbol": "StaticSource.content", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListViewSource.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListViewSource.swift", "line": 163, "symbol": "StaticSource.init(with:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListViewSource.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListViewSource.swift", "line": 168, "symbol": "StaticSource.init(with:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListViewSource.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListViewSource.swift", "line": 173, "symbol": "StaticSource.content(with:content:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ListViewSource.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ListViewSource.swift", "line": 178, "symbol": "StaticSource.content(with:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/LocalizedItemCollator.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/LocalizedItemCollator.swift", "line": 43, "symbol": "AnyLocalizedCollatableItem.collationString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/LocalizedItemCollator.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/LocalizedItemCollator.swift", "line": 211, "symbol": "Item.collationString", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Previews/ItemPreviewView.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Previews/ItemPreviewView.swift", "line": 116, "symbol": "ItemPreviewView.layoutSubviews()", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Previews/ItemPreviewView.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Previews/ItemPreviewView.swift", "line": 122, "symbol": "ItemPreviewView.sizeThatFits(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Previews/ItemPreviewView.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Previews/ItemPreviewView.swift", "line": 126, "symbol": "ItemPreviewView.intrinsicContentSize", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/RefreshControl.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/RefreshControl.swift", "line": 11, "symbol": "RefreshControl", "symbol_kind": "source.lang.swift.decl.struct", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/RefreshControl.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/RefreshControl.swift", "line": 13, "symbol": "RefreshControl.isRefreshing", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/RefreshControl.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/RefreshControl.swift", "line": 15, "symbol": "RefreshControl.title", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/RefreshControl.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/RefreshControl.swift", "line": 17, "symbol": "RefreshControl.tintColor", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/RefreshControl.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/RefreshControl.swift", "line": 19, "symbol": "RefreshControl.OnRefresh", "symbol_kind": "source.lang.swift.decl.typealias", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/RefreshControl.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/RefreshControl.swift", "line": 20, "symbol": "RefreshControl.onRefresh", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/RefreshControl.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/RefreshControl.swift", "line": 22, "symbol": "RefreshControl.init(isRefreshing:title:tintColor:onRefresh:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/RefreshControl.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/RefreshControl.swift", "line": 39, "symbol": "RefreshControl", "symbol_kind": "source.lang.swift.decl.extension", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/RefreshControl.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/RefreshControl.swift", "line": 41, "symbol": "RefreshControl.Title", "symbol_kind": "source.lang.swift.decl.enum", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/RefreshControl.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/RefreshControl.swift", "line": 43, "symbol": "RefreshControl.Title.string(_:)", "symbol_kind": "source.lang.swift.decl.enumelement", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/RefreshControl.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/RefreshControl.swift", "line": 44, "symbol": "RefreshControl.Title.attributed(_:)", "symbol_kind": "source.lang.swift.decl.enumelement", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ReorderingActions.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ReorderingActions.swift", "line": 9, "symbol": "ReorderingActions", "symbol_kind": "source.lang.swift.decl.class", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ReorderingActions.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ReorderingActions.swift", "line": 11, "symbol": "ReorderingActions.isMoving", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ReorderingActions.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ReorderingActions.swift", "line": 21, "symbol": "ReorderingActions.beginMoving()", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ReorderingActions.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ReorderingActions.swift", "line": 36, "symbol": "ReorderingActions.moved(with:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ReorderingActions.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ReorderingActions.swift", "line": 45, "symbol": "ReorderingActions.end()", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ScrollAnimation.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ScrollAnimation.swift", "line": 24, "symbol": "ScrollAnimation.spring(duration:timing:)", "symbol_kind": "source.lang.swift.decl.enumelement", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ScrollAnimation.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ScrollAnimation.swift", "line": 81, "symbol": "ScrollAnimation.AnimationOptions.curveEaseInOut", "symbol_kind": "source.lang.swift.decl.enumelement", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ScrollAnimation.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ScrollAnimation.swift", "line": 82, "symbol": "ScrollAnimation.AnimationOptions.curveEaseIn", "symbol_kind": "source.lang.swift.decl.enumelement", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ScrollAnimation.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ScrollAnimation.swift", "line": 83, "symbol": "ScrollAnimation.AnimationOptions.curveEaseOut", "symbol_kind": "source.lang.swift.decl.enumelement", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ScrollAnimation.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ScrollAnimation.swift", "line": 84, "symbol": "ScrollAnimation.AnimationOptions.curveLinear", "symbol_kind": "source.lang.swift.decl.enumelement", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/ScrollAnimation.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/ScrollAnimation.swift", "line": 91, "symbol": "Set.default", "symbol_kind": "source.lang.swift.decl.var.static", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Section.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Section/Section.swift", "line": 9, "symbol": "Section", "symbol_kind": "source.lang.swift.decl.struct", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Section.swift", - "line": 68, - "symbol": "Section.Build", - "symbol_kind": "source.lang.swift.decl.typealias", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Section/Section.swift", + "line": 60, + "symbol": "Section.layouts", + "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Section.swift", - "line": 70, - "symbol": "Section.init(_:build:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Section/Section.swift", + "line": 66, + "symbol": "Section.Configure", + "symbol_kind": "source.lang.swift.decl.typealias", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Section.swift", - "line": 80, - "symbol": "Section.init(_:build:)", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Section/Section.swift", + "line": 68, + "symbol": "Section.init(_:configure:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Section.swift", - "line": 90, - "symbol": "Section.init(_:layout:columns:header:footer:items:)", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Section/Section.swift", + "line": 78, + "symbol": "Section.init(_:layouts:header:footer:items:configure:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Section.swift", - "line": 109, - "symbol": "Section.init(_:layout:columns:header:footer:items:)", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Section/Section.swift", + "line": 96, + "symbol": "Section.init(_:layouts:header:footer:items:configure:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Section.swift", - "line": 133, + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Section/Section.swift", + "line": 121, "symbol": "Section.add(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Section.swift", - "line": 138, + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Section/Section.swift", + "line": 126, "symbol": "Section.+=(_:_:)", "symbol_kind": "source.lang.swift.decl.function.method.static", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Section.swift", - "line": 143, + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Section/Section.swift", + "line": 131, "symbol": "Section.+=(_:_:)", "symbol_kind": "source.lang.swift.decl.function.method.static", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Section.swift", - "line": 148, + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Section/Section.swift", + "line": 136, "symbol": "Section.+=(_:_:)", "symbol_kind": "source.lang.swift.decl.function.method.static", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Section.swift", - "line": 157, + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Section/Section.swift", + "line": 145, "symbol": "Section.+=(_:_:)", "symbol_kind": "source.lang.swift.decl.function.method.static", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Section.swift", - "line": 162, + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Section/Section.swift", + "line": 150, "symbol": "Section.+=(_:_:)", "symbol_kind": "source.lang.swift.decl.function.method.static", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Section.swift", - "line": 167, + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Section/Section.swift", + "line": 155, "symbol": "Section.+=(_:_:)", "symbol_kind": "source.lang.swift.decl.function.method.static", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Section.swift", - "line": 185, - "symbol": "Section", - "symbol_kind": "source.lang.swift.decl.extension", - "warning": "undocumented" - }, - { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Section.swift", - "line": 187, - "symbol": "Section.Layout", - "symbol_kind": "source.lang.swift.decl.struct", - "warning": "undocumented" - }, - { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Section.swift", - "line": 189, - "symbol": "Section.Layout.width", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Section.swift", - "line": 194, - "symbol": "Section.Layout.init(width:customInterSectionSpacing:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Section.swift", - "line": 202, - "symbol": "Section.Columns", - "symbol_kind": "source.lang.swift.decl.struct", - "warning": "undocumented" - }, - { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Section.swift", - "line": 204, - "symbol": "Section.Columns.count", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Section.swift", - "line": 205, - "symbol": "Section.Columns.spacing", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Section.swift", - "line": 207, - "symbol": "Section.Columns.one", - "symbol_kind": "source.lang.swift.decl.var.static", - "warning": "undocumented" - }, - { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Section.swift", - "line": 211, - "symbol": "Section.Columns.init(count:spacing:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Section.swift", - "line": 223, + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Section/Section.swift", + "line": 173, "symbol": "SectionInfo", "symbol_kind": "source.lang.swift.decl.protocol", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Section.swift", - "line": 229, + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Section/Section.swift", + "line": 179, "symbol": "SectionInfo.identifier", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Section.swift", - "line": 231, + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Section/Section.swift", + "line": 181, "symbol": "SectionInfo.wasMoved(comparedTo:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Section.swift", - "line": 235, + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Section/Section.swift", + "line": 185, "symbol": "AnySectionInfo", "symbol_kind": "source.lang.swift.decl.protocol", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Section.swift", - "line": 241, + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Section/Section.swift", + "line": 191, "symbol": "AnySectionInfo.anyIdentifier", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Section.swift", - "line": 243, + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Section/Section.swift", + "line": 193, "symbol": "AnySectionInfo.anyWasMoved(comparedTo:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Section.swift", - "line": 247, + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Section/Section.swift", + "line": 197, "symbol": "SectionInfo", "symbol_kind": "source.lang.swift.decl.extension", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Section.swift", - "line": 249, + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Section/Section.swift", + "line": 199, "symbol": "SectionInfo.anyIdentifier", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Section.swift", - "line": 253, + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Section/Section.swift", + "line": 203, "symbol": "SectionInfo.anyWasMoved(comparedTo:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Sizing.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Sizing.swift", "line": 134, "symbol": "Sizing.MeasureInfo", "symbol_kind": "source.lang.swift.decl.struct", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Sizing.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Sizing.swift", "line": 151, "symbol": "Sizing.Constraint", "symbol_kind": "source.lang.swift.decl.struct", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Sizing.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Sizing.swift", "line": 153, "symbol": "Sizing.Constraint.width", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Sizing.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Sizing.swift", "line": 154, "symbol": "Sizing.Constraint.height", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Sizing.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Sizing.swift", "line": 156, "symbol": "Sizing.Constraint.noConstraint", "symbol_kind": "source.lang.swift.decl.var.static", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Sizing.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Sizing.swift", "line": 163, "symbol": "Sizing.Constraint.init(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Sizing.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Sizing.swift", "line": 169, "symbol": "Sizing.Constraint.init(width:height:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Sizing.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Sizing.swift", "line": 177, "symbol": "Sizing.Constraint.clamp(_:with:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Sizing.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Sizing.swift", "line": 185, "symbol": "Sizing.Constraint.Axis", "symbol_kind": "source.lang.swift.decl.enum", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Sizing.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Sizing.swift", "line": 187, "symbol": "Sizing.Constraint.Axis.noConstraint", "symbol_kind": "source.lang.swift.decl.enumelement", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Sizing.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Sizing.swift", "line": 189, "symbol": "Sizing.Constraint.Axis.atLeast(_:)", "symbol_kind": "source.lang.swift.decl.enumelement", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Sizing.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Sizing.swift", "line": 190, "symbol": "Sizing.Constraint.Axis.atMost(_:)", "symbol_kind": "source.lang.swift.decl.enumelement", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Sizing.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Sizing.swift", "line": 192, "symbol": "Sizing.Constraint.Axis.within(_:_:)", "symbol_kind": "source.lang.swift.decl.enumelement", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Sizing.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Sizing.swift", "line": 194, "symbol": "Sizing.Constraint.Axis.Value", "symbol_kind": "source.lang.swift.decl.enum", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Sizing.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Sizing.swift", "line": 196, "symbol": "Sizing.Constraint.Axis.Value.default", "symbol_kind": "source.lang.swift.decl.enumelement", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Sizing.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Sizing.swift", "line": 197, "symbol": "Sizing.Constraint.Axis.Value.fixed(_:)", "symbol_kind": "source.lang.swift.decl.enumelement", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Sizing.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Sizing.swift", "line": 199, "symbol": "Sizing.Constraint.Axis.Value.value(with:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Sizing.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Sizing.swift", "line": 208, "symbol": "Sizing.Constraint.Axis.clamp(_:with:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Sizing.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Sizing.swift", "line": 222, "symbol": "WidthConstraint", "symbol_kind": "source.lang.swift.decl.enum", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Sizing.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Sizing.swift", "line": 224, "symbol": "WidthConstraint.noConstraint", "symbol_kind": "source.lang.swift.decl.enumelement", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Sizing.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Sizing.swift", "line": 225, "symbol": "WidthConstraint.fixed(_:)", "symbol_kind": "source.lang.swift.decl.enumelement", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Sizing.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Sizing.swift", "line": 226, "symbol": "WidthConstraint.atMost(_:)", "symbol_kind": "source.lang.swift.decl.enumelement", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Sizing.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Sizing.swift", "line": 228, "symbol": "WidthConstraint.clamp(_:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Sizing.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Sizing.swift", "line": 239, "symbol": "CustomWidth", "symbol_kind": "source.lang.swift.decl.enum", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Sizing.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Sizing.swift", "line": 241, "symbol": "CustomWidth.default", "symbol_kind": "source.lang.swift.decl.enumelement", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Sizing.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Sizing.swift", "line": 242, "symbol": "CustomWidth.fill", "symbol_kind": "source.lang.swift.decl.enumelement", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Sizing.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Sizing.swift", "line": 243, "symbol": "CustomWidth.custom(_:)", "symbol_kind": "source.lang.swift.decl.enumelement", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Sizing.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Sizing.swift", "line": 245, "symbol": "CustomWidth.merge(with:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Sizing.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Sizing.swift", "line": 254, "symbol": "CustomWidth.position(with:defaultWidth:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Sizing.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Sizing.swift", "line": 276, "symbol": "CustomWidth.Custom", "symbol_kind": "source.lang.swift.decl.struct", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Sizing.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Sizing.swift", "line": 278, "symbol": "CustomWidth.Custom.padding", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Sizing.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Sizing.swift", "line": 279, "symbol": "CustomWidth.Custom.width", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Sizing.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Sizing.swift", "line": 280, "symbol": "CustomWidth.Custom.alignment", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Sizing.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Sizing.swift", "line": 282, "symbol": "CustomWidth.Custom.init(padding:width:alignment:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Sizing.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Sizing.swift", "line": 293, "symbol": "CustomWidth.Custom.position(with:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Sizing.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Sizing.swift", "line": 312, "symbol": "CustomWidth.Alignment", "symbol_kind": "source.lang.swift.decl.enum", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Sizing.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Sizing.swift", "line": 314, "symbol": "CustomWidth.Alignment.left", "symbol_kind": "source.lang.swift.decl.enumelement", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Sizing.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Sizing.swift", "line": 315, "symbol": "CustomWidth.Alignment.center", "symbol_kind": "source.lang.swift.decl.enumelement", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Sizing.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Sizing.swift", "line": 316, "symbol": "CustomWidth.Alignment.right", "symbol_kind": "source.lang.swift.decl.enumelement", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Sizing.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Sizing.swift", "line": 318, "symbol": "CustomWidth.Alignment.originWith(parentWidth:width:padding:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Sizing.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Sizing.swift", "line": 331, "symbol": "CustomWidth.Position", "symbol_kind": "source.lang.swift.decl.struct", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Sizing.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Sizing.swift", "line": 339, "symbol": "HorizontalPadding", "symbol_kind": "source.lang.swift.decl.struct", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Sizing.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Sizing.swift", "line": 341, "symbol": "HorizontalPadding.left", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Sizing.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Sizing.swift", "line": 342, "symbol": "HorizontalPadding.right", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Sizing.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Sizing.swift", "line": 344, "symbol": "HorizontalPadding.zero", "symbol_kind": "source.lang.swift.decl.var.static", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Sizing.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Sizing.swift", "line": 348, "symbol": "HorizontalPadding.init(left:right:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/Sizing.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/Sizing.swift", "line": 354, "symbol": "HorizontalPadding.init(uniform:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/SwipeActionsConfiguration.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/SwipeActionsConfiguration.swift", "line": 21, "symbol": "SwipeActionsConfiguration.init(action:performsFirstActionWithFullSwipe:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/SwipeActionsConfiguration.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/SwipeActionsConfiguration.swift", "line": 25, "symbol": "SwipeActionsConfiguration.init(actions:performsFirstActionWithFullSwipe:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/SwipeActionsConfiguration.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/SwipeActionsConfiguration.swift", "line": 44, "symbol": "SwipeAction.title", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/SwipeActionsConfiguration.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/SwipeActionsConfiguration.swift", "line": 45, "symbol": "SwipeAction.backgroundColor", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/SwipeActionsConfiguration.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/SwipeActionsConfiguration.swift", "line": 46, "symbol": "SwipeAction.image", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/SwipeActionsConfiguration.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/SwipeActionsConfiguration.swift", "line": 48, "symbol": "SwipeAction.handler", "symbol_kind": "source.lang.swift.decl.var.instance", "warning": "undocumented" }, { - "file": "/Users/k/Desktop/Development/Listable3/ListableUI/Sources/SwipeActionsConfiguration.swift", + "file": "/Users/k/Desktop/Development/Listable2/ListableUI/Sources/SwipeActionsConfiguration.swift", "line": 50, "symbol": "SwipeAction.init(title:backgroundColor:image:handler:)", "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" } ], - "source_directory": "/Users/k/Desktop/Development/Listable3" + "source_directory": "/Users/k/Desktop/Development/Listable2" } \ No newline at end of file