pub(in api) type AvailState<N, P, D> = ApiState<ExtensibleDataSource<D, ApiState<N, P>>>;
pub(in api) struct AvailState<N, P, D>(/* private fields */);