Drivers should not be polymorphic on the channel they use. Instead, drivers should keep Peri<'d, AnyChannel<T>> for each of the DMA channels they use and AnyChannel should be capable of starting transfers. That way, we minimize the amount of typestate in drivers.