pub trait ReceiveDir<IdN, Idx, O>: Sized + ReceiveNode<IdN, Self::S1> + SetRoot<IdN, O> {
type S1: ReceiveIdx<Idx, Self>;
type S2: ReceiveDirName<Self>;
}
pub trait ReceiveDir<IdN, Idx, O>: Sized + ReceiveNode<IdN, Self::S1> + SetRoot<IdN, O> {
type S1: ReceiveIdx<Idx, Self>;
type S2: ReceiveDirName<Self>;
}