F = (obj, prop, factory) => {
	if (obj[prop] === undefined) {
		obj[prop] = factory();
	}
}
Sets a dynamic default value when undefined, by calling the factory function
@template T
@template {keyof T} P
@param {T} obj an object
@param {P} prop a property of this object
@param {() => T[P]} factory a default value factory for the property
@returns {void}