type ErasedSource = Arc<dyn Fn() -> ErasedKey + Send + Sync>;
struct ErasedSource { /* private fields */ }