pub trait BuildArtifact: Any + 'static {
// Required methods
fn get_type_id() -> BuildArtifactTypeId
where Self: Sized;
fn load(p: &Path) -> Result<Self, Error>
where Self: Sized;
fn get_type(&self) -> BuildArtifactTypeId;
fn write(&self, path: &Path) -> Result<(), Error>;
fn as_any(&self) -> &dyn Any;
}