function createComparator(callback) {
    if (!callback) { return compare; }

    callback = createCallback(callback);

    return function(x, y) {
      return compare(callback(x), callback(y));
    };
  }
Takes a function that returns a value for one argument and produces a
function that compares two arguments.

@param {Function|string|Object} callback A function, string, or object to
    convert to a callback using `createCallback`.
@returns {Function} A function that accepts two values and returns 1 if
    the first is greater, -1 if the second is greater, or 0 if they are
    equivalent.

@examples
Lazy.createComparator('a')({ a: 1 }, { a: 2 });       // => -1
Lazy.createComparator('a')({ a: 6 }, { a: 2 });       // => 1
Lazy.createComparator('a')({ a: 1 }, { a: 1 });       // => 0
Lazy.createComparator()(3, 5);                        // => -1
Lazy.createComparator()(7, 5);                        // => 1
Lazy.createComparator()(3, 3);                        // => 0