pub fn sub_chars(s: &str, range: Range) -> String {
    s.chars()
        .skip(range.start)
        .take(range.len())
        .collect::<String>()
}
Extract a subset of chars by iterating. Range must be in characters.
doc-chunks/src/util.rs