Hmm... I've been using &refs for the enums. Not the same as shared resource, but has semantic similarities: ```rust impl StatusLed { fn port_pin(&self) -> (Port, u8) { match self { Self::Fix => (Port::C, 13), Self::RxMode => (Port::C, 14), } } pub fn turn_on(&self) { let (port, pin) = self.port_pin(); gpio::set_high(port, pin); } pub fn turn_off(&self) { let (port, pin) = self.port_pin(); gpio::set_low(port, pin); } } ```