code: function composeClass(base, mixin) {
    if (typeof mixin === 'function') {
      // Mixin function
      return mixin(base);
    } else {
      // Mixin object
      class Subclass extends base {}
      copyOwnProperties(mixin, Subclass.prototype, NON_MIXABLE_OBJECT_PROPERTIES);
      return Subclass;
    }
  }
docs: /*
  Apply the mixin to the given base class to return a new class.
  The mixin can either be a function that returns the modified class, or a
  plain object whose members will be copied to the new class' prototype.