Instead of having this `if (funcs.lengh == 0)` we could overload this method (and its brother) and leave the compiler select the best match instead of doing in runtime. It also could save some code. We can do a re-factor after this commit though.