pub type StateGenerator<S> = Arc<dyn Fn(OutPointRange) -> Vec<S> + Send + Sync + 'static>;
struct StateGenerator<S> { /* private fields */ }