https://godbolt.org/z/RcyhgH
#include <cxx_function.hpp>
int foo(int);
cxx_function::function<int(), int(int)> f = foo;
cxx_function::function<int(int), int()> g = foo;
My impression from the README is that this code is supposed to compile. It doesn't.
I don't see any test cases in test/ that try to use multiple signatures, so my working hypothesis is that the README is simply over-optimistically out-of-sync with what's actually implemented.