pub trait HasBranch<'a> {
// Provided method
fn branch<T>(&'a mut self, segment: impl Into<String>) -> &'a mut T
where &'a mut Self: HasGet + HasBranches<&'a mut T>,
Self: AddBranch<T> + Sized + HasGetMut<'a>,
T: HasPathSegment + 'a,
String: Into<T> { ... }
}