function assign( target, source ) {
	var keys;
	var k;
	var i;

	keys = objectKeys( source );
	for ( i = 0; i < keys.length; i++ ) {
		k = keys[ i ];
		setReadOnly( target, k, source[ k ] );
	}
	return target;
}
Copies all enumerable own properties from a source object to a target object as enumerable read-only properties.

@private
@param {Object} target - target object
@param {Object} source - source object
@returns {Object} modified target object

@example
var source = {
    'beep': 'boop'
};
var target = {};

var out = assign( target, source );
// returns <Object>

var bool = ( out === target );
// returns true

var v = target.beep;
// returns 'boop'