pub trait Layer2Descriptor: Debug {
type LoadError: Error;
type StoreError: Error;
// Required methods
fn load(path: &Path) -> Result<Self, Self::LoadError>
where Self: Sized;
fn store(&self, path: &Path) -> Result<(), Self::StoreError>;
}