function isNodeList(el) {
    if (root.StaticNodeList) {
      // IE8 Specific
      // instanceof is slower than Object#toString, but Object#toString will not work as intended in IE8
      return el instanceof root.StaticNodeList || el instanceof root.NodeList;
    } else {
      return Object.prototype.toString.call(el) === '[object NodeList]';
    }
  }
Converts a Node.js callback style function to an observable sequence.  This must be in function (err, ...) format.
@param {Function} fn The function to call
@param {Mixed} [ctx] The context for the func parameter to be executed.  If not specified, defaults to undefined.
@param {Function} [selector] A selector which takes the arguments from the callback minus the error to produce a single item to yield on next.
@returns {Function} An async function which when applied, returns an observable sequence with the callback arguments as an array.