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.