@achow101 noted we don't reject them therefore they must be silently accepted. This is not part of the specs, we should remove them. Also cc @sipa.

I can take care of this.
auto id = m_keys[key].GetID();
        return {id.begin(), id.end()};
    }
};
/**
 * The context for converting a Miniscript descriptor to its textual form.
 */
class StringMaker {
    
    const SigningProvider* m_arg;
    
    const std::vector<std::unique_ptr<PubkeyProvider>>& m_pubkeys;
    
    bool m_private;
public:
    StringMaker(const SigningProvider* arg LIFETIMEBOUND, const std::vector<std::unique_ptr<PubkeyProvider>>& pubkeys LIFETIMEBOUND, bool priv)
        : m_arg(arg), m_pubkeys(pubkeys), m_private(priv) {}
    std::optional<std::string> ToString(uint32_t key) const
    {
        std::string ret;
        if (m_private) {
            if (!m_pubkeys[key]->ToPrivateString(*m_arg, ret)) return {};
        } else {
            ret = m_pubkeys[key]->ToString();
        }
        return ret;
    }
};
class MiniscriptDescriptor final : public DescriptorImpl