pub struct Fqn { parts: Vec, } impl Fqn { pub fn new(parts: &[&str]) -> Self { Self { parts: parts.iter().map(|s| s.to_string()).collect(), } } pub fn parts(&self) -> &[String] { self.parts.as_slice() } }