function use(fn) {
  const exports = {
    use,
    AssertionError,
    util,
    config,
    expect,
    assert,
    Assertion,
    ...should
  };

  if (!~used.indexOf(fn)) {
    fn(exports, util);
    used.push(fn);
  }

  return exports;
}
# .use(function)

Provides a way to extend the internals of Chai.

@param {Function} fn
@returns {this} for chaining
@public