pub type CallbackBox<T, U = ()> = Box<dyn Fn(T) -> U + Sync + Send + 'static>;
struct CallbackBox<T, U = ()>(/* private fields */);