code: function subclass(name, definition) {
    // Argument shifting.
    if (typeof name == 'function') {
      definition = name;
      name = null;
    }
    var parent = constructorToClassMap.get(this);
    if (parent.final) {
      throw new Error('Cannot subclass constructors marked final.');
    }
  
    return new Class(name, definition, parent).construct();
  }
docs: Subclass a constructor.
  Note: This function gets assigned to new constructor instances, so when
  it is invoked, its `this` context will be the calling constructor. When
  subclassing, that means `this` is the parent constructor.
  @param {Function} definition Any function that could be passed to the Class
  constructor.
  @return {Function} A new constuctor that is a subclass of the invoking
  consturctor.