remember 4-space for unfinished lines. And in this case, I'd prefer
```
return !!fn && !fn.nodeName &&
       fn.constructor != String &&
       fn.constructor != RegExp &&
       fn.constructor != Array &&
       /function/i.test(fn + "");
```

BTW, what is ` /function/i.test(fn + "");` for?