pub trait Builder { type Input; type Output: Artifact; // Required method fn build(&self, input: &Self::Input) -> BuildResult<Self::Output>; }