Make signal() a bit more picky on what to accept

At compile time, if only 1 signal