code: function(i, delaySort)
    {
      var removing;
  
      if (i >= 0 && i < this.length)
      {
        removing = this[ i ];
  
        AP.splice.call( this, i, 1 );
        this.trigger( Collection.Events.Remove, [this, removing, i] );
  
        if ( !delaySort )
        {
          this.sort( undefined, undefined, true );
        }
      }
  
      return removing;
    }
docs: Removes the element in this collection at the given index `i` - sorting
  the collection if a comparator is set on this collection and `delaySort` is
  not specified or a true value.
  
  ```javascript
  var c = Rekord.collect(1, 2, 3, 4);
  c.removeAt( 1 ); // 2
  c.removeAt( 5 ); // undefined
  c // [1, 3, 4]
  ```
  
  @method
  @memberof Rekord.Collection#
  @param {Number} i -
  The index of the element to remove.
  @param {Boolean} [delaySort=false] -
  Whether automatic sorting should be delayed until the user manually
  calls {@link Rekord.Collection#sort sort}.
  @return {Any} -
  The element removed, or undefined if the index was invalid.
  @emits Rekord.Collection#remove
  @emits Rekord.Collection#sort