@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.
TOP,     
    P2SH,    
    P2WPKH,  
    P2WSH,   
    P2TR,    
};
/**
 * Parse a key path, being passed a split list of elements (the first element is ignored).
 *
 * @param[in] split BIP32 path string, using either ' or h for hardened derivation
 * @param[out] out the key path
 * @param[out] apostrophe only updated if hardened derivation is found
 * @param[out] error parsing error message
 * @returns false if parsing failed
 **/
[[nodiscard]] bool ParseKeyPath(const std::vector<Span<const char>>& split, KeyPath& out, bool& apostrophe, std::string& error)