		auto TransferOut() -> std::unique_ptr<Transferable> final {
			if (!reference) {
				throw RuntimeGenericError("The return value of `derefInto()` should only be used once");
			}
			return std::make_unique<DereferenceHandleTransferable>(std::move(isolate), std::move(reference));
		}
		auto TransferOut() -> std::unique_ptr<Transferable> final {
			if (!reference) {
				throw RuntimeGenericError("The return value of `derefInto()` should only be used once");
			}
			return std::make_unique<DereferenceHandleTransferable>(std::move(isolate), std::move(reference));
		}