constructor(clone) {
		/** @type {0 | 1 | 2} */
		this._mode = clone ? clone._mode : 0; // 0 = empty, 1 = single entry, 2 = map
		/** @type {RuntimeSpec} */
		this._singleRuntime = clone ? clone._singleRuntime : undefined;
		/** @type {R | undefined} */
		this._singleValue = clone ? clone._singleValue : undefined;
		/** @type {RuntimeSpecMapInnerMap<R> | undefined} */
		this._map = clone && clone._map ? new Map(clone._map) : undefined;
	}
@param {RuntimeSpecMap<T, R>=} clone copy form this