The example that immediately comes to mind is the clock speed change in `low_power_run`. To handle that, you'd need to change the clock speed (how you do it will depend if you're changing PLL scalers, lowering MSI range etc). Peripherals that rely on (Timers, I2C etc) knowing their clock speed (apb1 etc) will need to have a way to adjust that. How the API might look: ```rust power::low_power_run(1_000_000, &mut dp.RCC); my_timer.change_clock_speed(1_000_000); ```