EnumKeyPath - A keypath for enum variants that supports both extraction and embedding
Uses generic type parameters instead of dynamic dispatch for zero-cost abstraction
PartialOptionalKeyPath - Hides the Value type but keeps Root visible
Useful for storing optional keypaths in collections without knowing the exact Value type
Trait for no-clone callback-based access to container types
Provides methods to execute closures with references to values inside containers
without requiring cloning of the values