export type DataUpdateFunction<TData> = (input: TData) => TData;

export type DataUpdate<TData> = TData | undefined;

export type Updater<TData> =
  | DataUpdate<TData>
  | DataUpdateFunction<DataUpdate<TData>>;
