lib/abaaso.js
function ( obj, arg ) {
		utility.iterate( arg, function ( v, k ) {
			if ( ( obj[k] instanceof Array ) && ( v instanceof Array ) ) {
				array.merge( obj[k], v );
			}
			else if ( ( obj[k] instanceof Object ) && ( v instanceof Object ) ) {
				utility.iterate( v, function ( x, y ) {
					obj[k][y] = utility.clone( x );
				});
			}
			else {
				obj[k] = utility.clone( v );
			}
		});

		return obj;
	}
function ( obj, arg ) {
		utility.iterate( arg, function ( v, k ) {
			if ( ( obj[k] instanceof Array ) && ( v instanceof Array ) ) {
				array.merge( obj[k], v );
			}
			else if ( ( obj[k] instanceof Object ) && ( v instanceof Object ) ) {
				utility.iterate( v, function ( x, y ) {
					obj[k][y] = utility.clone( x );
				});
			}
			else {
				obj[k] = utility.clone( v );
			}
		});

		return obj;
	}
function ( obj , arg ) { utility . iterate ( arg , function ( v , k ) { if ( ( obj [ k ] instanceof Array ) && ( v instanceof Array ) ) { array . merge ( obj [ k ] , v ) ; } else if ( ( obj [ k ] instanceof Object ) && ( v instanceof Object ) ) { utility . iterate ( v , function ( x , y ) { obj [ k ] [ y ] = utility . clone ( x ) ; } ) ; } else { obj [ k ] = utility . clone ( v ) ; } } ) ; return obj ; }
Merges obj with arg

@method merge
@param  {Object} obj Object to decorate
@param  {Object} arg Decoration
@return {Object}     Decorated Object
Merges obj with arg