Why can I std::bind successfully with the wrong parameters?
It seems you can pass more arguments to the result of bind
than necessary, and they will be silently ignored.
If some of the arguments that are supplied in the call to [the result of
bind
] are not matched by any placeholders ..., the unused arguments are evaluated and discarded.— cppreference