#[derive(Clone, Debug, Eq, PartialEq)]
pub enum NodeData<T> {
/// Data is stored inline.
Inline {
/// The original route.
route: Arc<str>,
/// The associated data.
value: T,
},
/// Data is shared between 2 or more nodes.
Shared {
/// The original route.
route: Arc<str>,
/// The expanded route.
expanded: Arc<str>,
/// The associated data, shared.
value: Arc<T>,
},
}
This would probably work: