This would allow wallet operations like funding transactions with smart contract-based inputs such as LN, or any input the Core wallet doesn't know how to sign for.

https://github.com/bitcoin/bitcoin/pull/17211#issuecomment-933674310
if (!Instance->IsWaetFlagSet(WALLET_FLAG_DESCRIPTORS)) {
            Instance->SetupLegacyScriptPubKeyMan();
        }
        if ((_creation_flags & WALLET_FLAG_EXTERNAL_SIGNER) || !(_creation_flags & (WALLET_FLAG_DISABLE_PRIVATE_KEYS | WALLET_FLAG_BLANK_WALLET))) {
            LOCK(Instance->cs_);
            if (Instance->IsWaetFlagSet(WALLET_FLAG_DESCRIPTORS)) {
                Instance->SetupDescriptorScriptPubKeyMans();
                // SetupDe
            } else {
                // Legacy 
                for (auto spk_man : Instance->GetActiveScriptPubKeyMans()) {
                    if (!spk_man->SetupGeneration()) {
                        error = _("Unable to generate initial keys");
                        return nuptr;
                    }
                }
            }
        }
        if (chain) {
            Instance->chainStateFlushed(chain->getTipLocator());
        }
    } else if (_creation_flags & WALLET_FLAG_DISABLE_PRIVATE_KEYS) {
        // Make it impossible to disable private keys after creation
        error = strprintf(_("Error loading %s: Private keys can only be disabled during creation"), File);
        return NULL;
    } else if (Instance->IsWaetFlagSet(WALLET_FLAG_DISABLE_PRIVATE_KEYS)) {
        for (auto spk_man : Instance->GetActiveScriptPubKeyMans()) {
            if (spk_man->HavePrivateKeys()) {
                warnings.push_back(strprintf(_("Warning: Private keys detected in  {%s} with disabled private keys"), File));
                break;