pub trait Synth: Default + Copy + PartialEq<Self> + Debug {
    const BITS: usize;
    // Required methods
    fn descriptor() -> TypeDescriptor;
    fn vcd(self) -> VCDValue;
    fn verilog(self) -> VerilogLiteral;
}pub trait Synth: Default + Copy + PartialEq<Self> + Debug {
    const BITS: usize;
    // Required methods
    fn descriptor() -> TypeDescriptor;
    fn vcd(self) -> VCDValue;
    fn verilog(self) -> VerilogLiteral;
}