diff --git a/examples/bevy_state.rs b/examples/bevy_state.rs
index 11e7b8736a0de3cbd7c1e59a5b69b0526356ab4c..9ebd91ad7da57fab1962d07ac174c8280ec03ef3 100644
--- a/examples/bevy_state.rs
+++ b/examples/bevy_state.rs
@@ -4,9 +4,7 @@ use bevy::{
     DefaultPlugins,
 };
 use kayak_ui::bevy::{BevyContext, BevyKayakUIPlugin, FontMapping, UICameraBundle};
-use kayak_ui::core::{
-    render, rsx, widget, Event, EventType, Index, KayakContextRef, KeyCode, OnEvent,
-};
+use kayak_ui::core::{render, rsx, widget, Event, EventType, KayakContextRef, KeyCode, OnEvent};
 use kayak_ui::widgets::{App, Text};
 
 #[derive(Debug, Clone, Eq, PartialEq, Hash)]
diff --git a/examples/clipping.rs b/examples/clipping.rs
index 28c64658e6180a32201cb01f920c2d9e9fb84e6a..43887fce0cb4096a9ab3e2ca7936f3e5834032b8 100644
--- a/examples/clipping.rs
+++ b/examples/clipping.rs
@@ -7,7 +7,6 @@ use kayak_ui::bevy::{BevyContext, BevyKayakUIPlugin, FontMapping, ImageManager,
 use kayak_ui::core::{
     render,
     styles::{Edge, Style, StyleProp, Units},
-    Index,
 };
 use kayak_ui::widgets::{App, Clip, NinePatch, Text};
 
diff --git a/examples/counter.rs b/examples/counter.rs
index 4c1d46d615605e2c69229d9a76677c4ff6ed0758..9b2643391804c016a9c6d9e1ae58f449a2330190 100644
--- a/examples/counter.rs
+++ b/examples/counter.rs
@@ -7,7 +7,7 @@ use kayak_ui::bevy::{BevyContext, BevyKayakUIPlugin, FontMapping, UICameraBundle
 use kayak_ui::core::{
     render, rsx,
     styles::{Style, StyleProp, Units},
-    use_state, widget, EventType, Index, OnEvent,
+    use_state, widget, EventType, OnEvent,
 };
 use kayak_ui::widgets::{App, Button, Text, Window};
 
diff --git a/examples/fold.rs b/examples/fold.rs
index 3b0570cc3125ce18a1f170863fcc0103845c694c..d22c51740a168ce73ec7d0921632855cb0a571ae 100644
--- a/examples/fold.rs
+++ b/examples/fold.rs
@@ -9,7 +9,7 @@ use kayak_ui::{
     core::{
         render, rsx,
         styles::{Style, StyleProp, Units},
-        use_state, widget, Color, EventType, Handler, Index, OnEvent,
+        use_state, widget, Color, EventType, Handler, OnEvent,
     },
     widgets::{App, Background, Button, Fold, If, Text, Window},
 };
diff --git a/examples/full_ui.rs b/examples/full_ui.rs
index b3138993fb30699e00a08eb864a4b02609e9cf80..cc4188dcf90d176d6b9d19ec2b75f35b2545bfd1 100644
--- a/examples/full_ui.rs
+++ b/examples/full_ui.rs
@@ -7,7 +7,7 @@ use kayak_ui::bevy::{BevyContext, BevyKayakUIPlugin, FontMapping, ImageManager,
 use kayak_ui::core::{
     render, rsx,
     styles::{Edge, LayoutType, Style, StyleProp, Units},
-    widget, Bound, Children, EventType, Index, MutableBound, OnEvent, WidgetProps,
+    widget, Bound, Children, EventType, MutableBound, OnEvent, WidgetProps,
 };
 use kayak_ui::widgets::{App, NinePatch, Text};
 
diff --git a/examples/global_counter.rs b/examples/global_counter.rs
index 46653ee5ec559f321acd297ed6f4e262619f2cb2..a4d20530b7827b8934557d79690ae70221c8f665 100644
--- a/examples/global_counter.rs
+++ b/examples/global_counter.rs
@@ -4,7 +4,7 @@ use bevy::{
     DefaultPlugins,
 };
 use kayak_ui::bevy::{BevyContext, BevyKayakUIPlugin, FontMapping, UICameraBundle};
-use kayak_ui::core::{bind, render, rsx, widget, Binding, Bound, Index, MutableBound};
+use kayak_ui::core::{bind, render, rsx, widget, Binding, Bound, MutableBound};
 use kayak_ui::widgets::{App, Text, Window};
 
 #[derive(Clone, PartialEq)]
diff --git a/examples/hooks.rs b/examples/hooks.rs
index 65656123c37395a4c485106aee96dd3ca8290df3..170630fe3ee6b7dcf3018fafd298a9f0ba6e63f2 100644
--- a/examples/hooks.rs
+++ b/examples/hooks.rs
@@ -16,7 +16,7 @@ use bevy::{
 };
 use kayak_ui::{
     bevy::{BevyContext, BevyKayakUIPlugin, FontMapping, UICameraBundle},
-    core::{render, rsx, use_effect, use_state, widget, EventType, Index, OnEvent},
+    core::{render, rsx, use_effect, use_state, widget, EventType, OnEvent},
     widgets::{App, Button, Text, Window},
 };
 
diff --git a/examples/if.rs b/examples/if.rs
index 1280686cf6b56b13324e21df3391cc2b94558591..8719991045d5f32935cd752eddfc8a1dfdba6c14 100644
--- a/examples/if.rs
+++ b/examples/if.rs
@@ -7,7 +7,7 @@ use kayak_ui::bevy::{BevyContext, BevyKayakUIPlugin, FontMapping, UICameraBundle
 use kayak_ui::core::{
     render, rsx,
     styles::{Style, StyleProp, Units},
-    widget, Bound, EventType, Index, MutableBound, OnEvent,
+    widget, Bound, EventType, MutableBound, OnEvent,
 };
 use kayak_ui::widgets::{App, Button, If, Text, Window};
 
diff --git a/examples/image.rs b/examples/image.rs
index 952129f61231650460199b5058d8e6d8995f697e..b7bcad0b71983ff007784746c3b49645be9e3511 100644
--- a/examples/image.rs
+++ b/examples/image.rs
@@ -8,7 +8,6 @@ use kayak_ui::bevy::{BevyContext, BevyKayakUIPlugin, ImageManager, UICameraBundl
 use kayak_ui::core::{
     render,
     styles::{Corner, Style, StyleProp, Units},
-    Index,
 };
 use kayak_ui::widgets::{App, Image};
 
diff --git a/examples/nine_patch.rs b/examples/nine_patch.rs
index d5c13d41130ddb2a8e39b278ee206ac9875585b7..1b8b5f42fca8752ab707be70be97a2a8cc2849e8 100644
--- a/examples/nine_patch.rs
+++ b/examples/nine_patch.rs
@@ -7,7 +7,6 @@ use kayak_ui::bevy::{BevyContext, BevyKayakUIPlugin, ImageManager, UICameraBundl
 use kayak_ui::core::{
     render,
     styles::{Edge, Style, StyleProp, Units},
-    Index,
 };
 use kayak_ui::widgets::{App, NinePatch};
 
diff --git a/examples/provider.rs b/examples/provider.rs
index e6bbc13986b8b16b454dde492093988d5950ce0b..349b6322a8865d01fb95e2027598b1c8ba334587 100644
--- a/examples/provider.rs
+++ b/examples/provider.rs
@@ -19,7 +19,7 @@ use kayak_ui::{
     core::{
         render, rsx,
         styles::{Edge, LayoutType, Style, StyleProp, Units},
-        widget, Bound, Color, EventType, Index, MutableBound, OnEvent, WidgetProps,
+        widget, Bound, Color, EventType, MutableBound, OnEvent, WidgetProps,
     },
     widgets::{App, Background, Element, If, Text, TooltipConsumer, TooltipProvider, Window},
 };
diff --git a/examples/scrollbox.rs b/examples/scrollbox.rs
index 42ae8c2eb433b1f8bfe9ec9d416f69f7dc522f48..fec1c35fa4ae7774186328cb695a720035fe18a7 100644
--- a/examples/scrollbox.rs
+++ b/examples/scrollbox.rs
@@ -7,7 +7,6 @@ use kayak_ui::bevy::{BevyContext, BevyKayakUIPlugin, FontMapping, ImageManager,
 use kayak_ui::core::{
     render,
     styles::{Edge, Style, StyleProp, Units},
-    Index,
 };
 use kayak_ui::widgets::{App, Inspector, NinePatch, ScrollBox, Text};
 
diff --git a/examples/shrink_grow_layout.rs b/examples/shrink_grow_layout.rs
index da59079cd21a3ecae6127a1c8f74e83412ceefee..1cd19128bccac01aba0d7cc0af2132a1266d7aa6 100644
--- a/examples/shrink_grow_layout.rs
+++ b/examples/shrink_grow_layout.rs
@@ -21,7 +21,7 @@ use kayak_ui::{
     widgets::Button,
 };
 use kayak_ui::{
-    core::{render, rsx, widget, Index},
+    core::{render, rsx, widget},
     widgets::Background,
 };
 
diff --git a/examples/tabs/tabs.rs b/examples/tabs/tabs.rs
index f0f81c3d98330626f1dafa1f4283d038cfeebd0f..6930af3588d8207744913a66c68c4c8e3f528ed8 100644
--- a/examples/tabs/tabs.rs
+++ b/examples/tabs/tabs.rs
@@ -15,7 +15,7 @@ use kayak_ui::{
     core::{
         constructor, render, rsx,
         styles::{Style, StyleProp, Units},
-        widget, Color, Index,
+        widget, Color,
     },
     widgets::{App, Text, Window},
 };
diff --git a/examples/text_box.rs b/examples/text_box.rs
index db9adcf8056737731fa4686a51f1f044125d4120..b4081b8b0f61386025b7ce6b2e81ce8acb4b544d 100644
--- a/examples/text_box.rs
+++ b/examples/text_box.rs
@@ -9,7 +9,7 @@ use kayak_ui::bevy::{BevyContext, BevyKayakUIPlugin, FontMapping, UICameraBundle
 use kayak_ui::core::{
     render, rsx,
     styles::{Style, StyleProp, Units},
-    widget, Index,
+    widget,
 };
 use kayak_ui::widgets::{App, OnChange, TextBox, Window};
 
diff --git a/examples/todo/todo.rs b/examples/todo/todo.rs
index b17b016e9d68b426348084b20277b9c0b5d857e3..9e0a17a7d22294e49b3232949538b069d18fb876 100644
--- a/examples/todo/todo.rs
+++ b/examples/todo/todo.rs
@@ -7,7 +7,7 @@ use kayak_ui::bevy::{BevyContext, BevyKayakUIPlugin, FontMapping, UICameraBundle
 use kayak_ui::core::{
     render, rsx,
     styles::{LayoutType, Style, StyleProp, Units},
-    use_state, widget, EventType, Handler, Index, OnEvent,
+    use_state, widget, EventType, Handler, OnEvent,
 };
 use kayak_ui::widgets::{App, Element, OnChange, TextBox, Window};
 
diff --git a/examples/vec_widget.rs b/examples/vec_widget.rs
index ad3966673edeea6916a3f0a7479134778942b0b6..f6103c05fe37c181f2431290f7b3cfdd7457cfbd 100644
--- a/examples/vec_widget.rs
+++ b/examples/vec_widget.rs
@@ -4,7 +4,7 @@ use bevy::{
     DefaultPlugins,
 };
 use kayak_ui::bevy::{BevyContext, BevyKayakUIPlugin, FontMapping, UICameraBundle};
-use kayak_ui::core::{constructor, render, Index, VecTracker};
+use kayak_ui::core::{constructor, render, VecTracker};
 use kayak_ui::widgets::{App, Text};
 
 fn startup(
diff --git a/examples/windows.rs b/examples/windows.rs
index 1caa3f8aa9bb2b1223a38a9970b87085aff2bdcf..fe46f1cf17c5f659a13d75cb4812f047ad8fe98a 100644
--- a/examples/windows.rs
+++ b/examples/windows.rs
@@ -4,7 +4,6 @@ use bevy::{
     DefaultPlugins,
 };
 use kayak_ui::bevy::{BevyContext, BevyKayakUIPlugin, FontMapping, UICameraBundle};
-use kayak_ui::core::Index;
 use kayak_ui::core::{render, rsx, widget};
 use kayak_ui::widgets::{App, Inspector, Window};
 
diff --git a/examples/world_interaction.rs b/examples/world_interaction.rs
index 98efecb3c26f872a73d4ae212fd84ad055b59064..c6c3e5c32f10f9f66b8f7de5d20d38a30831d09d 100644
--- a/examples/world_interaction.rs
+++ b/examples/world_interaction.rs
@@ -20,7 +20,7 @@ use kayak_ui::{
     core::{
         render, rsx,
         styles::{Edge, Style, StyleProp, Units},
-        use_state, widget, EventType, Index, OnEvent,
+        use_state, widget, EventType, OnEvent,
     },
     widgets::{App, Button, Text, Window},
 };
diff --git a/kayak_render_macros/src/lib.rs b/kayak_render_macros/src/lib.rs
index f47a051f1cfaac0e04cac2f5182eab4360221777..a6a924356ff4a89047e350b5d56fc9ff62285a17 100644
--- a/kayak_render_macros/src/lib.rs
+++ b/kayak_render_macros/src/lib.rs
@@ -36,7 +36,7 @@ pub fn render(input: TokenStream) -> TokenStream {
 
     let result = quote! {
         let mut context = #kayak_core::KayakContextRef::new(context, None);
-        let parent_id: Option<Index> = None;
+        let parent_id: Option<#kayak_core::Index> = None;
         let children: Option<#kayak_core::Children> = None;
         #widget
         context.commit();