fn root<'a, I: Iterator<Item = &'a str>>(iter: Peekable<I>) -> Result<Operation>