define(function () {
  // Returns a negated version of the passed-in predicate.
  function negate(predicate) {
    return function () {
      return !predicate.apply(this, arguments);
    };
  }

  return negate;
});