pub trait LinkedStructLinksTypeProvider { type Links: Sized; } pub trait LinkedStructLinksOffset: LinkedStructLinksTypeProvider { type Node; fn getLinks(nodeRef: &Self::Node, consumer: impl FnOnce(&Self::Links) -> R) -> R; fn getLinksMut(nodeRef: &mut Self::Node, consumer: impl FnOnce(&mut Self::Links) -> R) -> R; }