function AccessorArray( arr ) {
	var o;
	if ( !(this instanceof AccessorArray) ) {
		return new AccessorArray( arr );
	}
	if ( !isCollection( arr ) ) {
		throw new TypeError( format( 'invalid argument. Must provide an array-like object. Value: `%s`.', arr ) );
	}
	o = accessors( arr );
	this._buffer = arr;
	this._getter = o.accessors[ 0 ];
	this._setter = o.accessors[ 1 ];
	return this;
}
Creates a minimal array-like object supporting the accessor protocol from another array-like object.

@constructor
@param {Collection} arr - input array
@throws {TypeError} must provide an array-like object
@returns {AccessorArray} accessor array instance

@example
var arr = new AccessorArray( [ 1, 2, 3 ] );
// returns <AccessorArray>

var v = arr.get( 0 );
// returns 1