//! # Values (syntax side)
//!
//! The raw value of a content line, the cursor that edits it in place, and the
//! per-value-type [`VcardCodec`](crate::tree::codec::VcardCodec) impls, one
//! module each, mirroring the model's `value/`.
//!
//! [`VcardValueNode`](node::VcardValueNode) is the generic, byte-faithful value
//! (`;`-separated components of `,`-separated leaves);
//! [`VcardValueCursor`](cursor::VcardValueCursor) borrows a line and reads and
//! writes that value through the codec, escaping on write and preserving every
//! component it does not touch. What the components *mean* is the lens's
//! business (see [`crate::tree::prop`]); the codec trait and its structural
//! dispatch live in [`crate::tree::codec`].