@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.
{
        CExtKey extkey;
        CExtKey dummy;
        if (!GetDerivedExtKey(arg, extkey, dummy)) return false;
        if (m_derive == DeriveType::UNHARDENED && !extkey.Derive(extkey, pos)) return false;
        if (m_derive == DeriveType::HARDENED && !extkey.Derive(extkey, pos | 0x80000000UL)) return false;
        key = extkey.key;
        return true;
    }
};
class DescriptorImpl : public Descriptor
{
protected:
    
    const std::vector<std::unique_ptr<PubkeyProvider>> m_pubkey_args;
    
    const std::string m_name;
    
    
    
    
    const std::vector<std::unique_ptr<DescriptorImpl>> m_subdescriptor_args;
    
    virtual std::string ToStringExtra() const { return ""; }