code: function processItems ( items, values, guid, counter ) {
    	if ( counter === void 0 ) counter = 0;
  
    	return items.map( function ( item ) {
    		if ( item.type === TEXT ) {
    			return item.template;
    		}
  
    		if ( item.fragment ) {
    			if ( item.fragment.iterations ) {
    				return item.fragment.iterations.map( function ( fragment ) {
    					return processItems( fragment.items, values, guid, counter );
    				}).join( '' );
    			} else {
    				return processItems( item.fragment.items, values, guid, counter );
    			}
    		}
  
    		var placeholderId = "" + guid + "-" + (counter++);
    		var model = item.model || item.newModel;
  
    		values[ placeholderId ] = model ?
    			model.wrapper ?
    				model.wrapper.value :
    				model.get() :
    			undefined;
  
    		return '${' + placeholderId + '}';
    	}).join( '' );
    }
docs: TODO all this code needs to die