pub trait Unnamed<'ni> { type Named: NamedItem<'ni>; fn add_name( self, name: <Self::Named as NamedItem<'ni>>::Name ) -> Self::Named; }