This is being emitted with [GCC 10.2.1](https://packages.debian.org/bullseye/g++-arm-linux-gnueabihf), in some CI jobs: i.e https://github.com/bitcoin/bitcoin/pull/25972/checks?check_run_id=12423693655, or https://github.com/bitcoin/bitcoin/pull/25972/checks?check_run_id=12423693651 (where we actually turn on all our warning flags with depends builds).
```bash
In file included from test/miniscript_tests.cpp:19:
./script/miniscript.h:1197:71: error: comparison of integers of different signs: 'typename iterator_traits<int *>::difference_type' (aka 'int') and 'const uint32_t' (aka 'const unsigned int') [-Werror,-Wsign-compare]
                    return std::count(subs.begin(), subs.end(), true) >= node.k;
                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~
test/miniscript_tests.cpp:346:34: note: in instantiation of function template specialization 'miniscript::Node<CPubKey>::IsSatisfiable<(lambda at test/miniscript_tests.cpp:346:48)>' requested here
        bool satisfiable = node->IsSatisfiable([](const Node&) { return true; });
                                 ^
1 error generated.
```

cc @darosior 
*p == 'B' ? 1 << 0 : 
            *p == 'V' ? 1 << 1 : 
            *p == 'K' ? 1 << 2 : 
            *p == 'W' ? 1 << 3 : 
            *p == 'z' ? 1 << 4 : 
            *p == 'o' ? 1 << 5 : 
            *p == 'n' ? 1 << 6 : 
            *p == 'd' ? 1 << 7 : 
            *p == 'u' ? 1 << 8 : 
            *p == 'e' ? 1 << 9 : 
            *p == 'f' ? 1 << 10 : 
            *p == 's' ? 1 << 11 : 
            *p == 'm' ? 1 << 12 : 
            *p == 'x' ? 1 << 13 : 
            *p == 'g' ? 1 << 14 : 
            *p == 'h' ? 1 << 15 : 
            *p == 'i' ? 1 << 16 : 
            *p == 'j' ? 1 << 17 : 
            *p == 'k' ? 1 << 18 : 
            (throw std::logic_error("Unknown character in _mst literal"), 0)
        );
    }
    return typ;
}
using Opcode = std::pair<opcodetype, std::vector<unsigned char>>;
template<typename Key> struct Node;
template<typename Key> using NodeRef = std::shared_ptr<const Node<Key>>;
template<typename Key, typename... Args>
NodeRef<Key> MakeNodeRef(Args&&... args) { return std::make_shared<const Node<Key>>(std::forward<Args>(args)...); }
enum class Fragment {