DependencyFactory type

DependencyFactory is a function signature that produces an instance that depends on a set of other services. The type is generic over a few parameters:

type DependencyFactory<Type, Dependencies, Initial> = (dependencies: Dependencies, initialValue: Initial extends true ? Type : Type) => Type