pub type InitialStateFunction<'a, S> = Box<dyn Fn() -> S + Send + Sync + 'a>;
The InitialStateFunction function is used to produce the initial state.
struct InitialStateFunction<'a, S>(/* private fields */);