I think it is bad practice to exploit the lack of strict typing in this case for what I consider a shortcut. It isn't immediately obvious to anyone using this that `parallelLimit` can be a Number or a Function, and will ultimately lead to confusion in a year or two when everyone forgot about this. By being explicit about what is expected it provides clarity moving forward.

This is just my two cents. Obviously doing this is valid javascript, but I think it is a common anti-pattern you see throughout Node.js code.