pub trait VisitorHelper { type Output: Default; fn aggregate(&mut self, a: Self::Output, b: Self::Output) -> Self::Output { ... } }