code: function checkedNodeCall(fn, ...args) {
    return new Promise(function(fulfill, reject) {
      try {
        fn(...args, function(error, value) {
          error ? reject(error) : fulfill(value);
        });
      } catch (ex) {
        reject(ex);
      }
    });
  }
docs: Wraps a function that expects a node-style callback as its final
  argument. This callback expects two arguments: an error value (which will be
  null if the call succeeded), and the success value as the second argument.
  The callback will the resolve or reject the returned promise, based on its
  arguments.
  @param {!Function} fn The function to wrap.
  @param {...?} args The arguments to apply to the function, excluding the
  final callback.
  @return {!Thenable} A promise that will be resolved with the
  result of the provided function's callback.