docs: function(target, source) {
  		if(typeReflections.isIteratorLike(source) || typeReflections.isMoreListLikeThanMapLike(source) ) {
  			// copy to array and add these keys in place
  			shapeReflections.updateList(target, source);
  		} else {
  			shapeReflections.updateMap(target, source);
  		}
  		return target;
  	}