export type TCreateFn = (params: P) => T; export type TCreateWithOptionsFn | undefined> = (params: P, options?: O) => T; export type TAnyCreateFn | undefined = undefined> = TCreateFn | TCreateWithOptionsFn; export type TCreateFromListFn = (params: ReadonlyArray

) => ReadonlyArray; export type TCreateFromListWithOptionsFn | undefined> = (params: ReadonlyArray

, options?: O) => ReadonlyArray; export type TAnyCreateFromListFn | undefined = undefined> = TCreateFromListFn | TCreateFromListWithOptionsFn; export type TWithCreateService | undefined = undefined> = Readonly<{ create: TAnyCreateFn; createFromList: TAnyCreateFromListFn; }>;