I have a custom Factory type that lets me create factory functions.
Factory
export type Factory = (state?: Partial) => T;