There is no real reason it should be this difficult though imo. If the hal supported it, you could just do ```rust let analog_pin = digital_pin.as_analog(); analog_pin.read(); // automatically switches back to digital mode drop(analog_pin); digital_pin.read(); ```