In my app I'd like the user to have an option to rate-limit based on IP (if running in a standalone mode), or reverse proxy headers. However currently conditionally setting the extractor makes the types be incompatible.
Seems to me like either GovernorConfig should drop the K generic and Box key_extractor to Box<dyn KeyExtractor>, or at very least impl KeyExtractor for Box<T> where T: KeyExtractor (and maybe for Arc<T> too), to allow people to have unified GovernorConfig<Box<dyn KeyExtractor>> that can have runtime-conditional key extractor.