pub trait Builder: Sized {
type Instance;
// Required methods
fn set_mapping(&mut self, symbol: u16, code: Code) -> Result<()>;
fn finish(self) -> Self::Instance;
// Provided method
fn restore_canonical_huffman_codes(
self,
bitwidthes: &[u8]
) -> Result<Self::Instance> { ... }
}