Traversals and schema bridge
Traversals
Traversal maps over zero or many inner values:
#![allow(unused)] fn main() { use id_effect_optics::{vector_each, at_vec, at_option, field}; let doubled = vector_each::<i32>().over(vec![1, 2, 3], |n| n * 2); }
Compose a field lens with collection traversals via at_vec and at_option.
Schema field paths
get_at_path, set_at_path, and create_at_path navigate Unknown with dot-separated segments (user.name, tags.0) or JSON Pointer paths (/user/name/0).
JSON Patch
apply_patch supports add, replace, remove, move, copy, and test.
Trie zipper
TrieZipper navigates persistent tries, supports rebuild, insert_child, and remove_child.