sjl.js
function replacePlaceHolders (array, args) {
        var out = array.map(function (element) {
            return ! (element instanceof PlaceHolder) ? element :
                (args.length > 0 ? args.shift() : element);
        });
        return args.length > 0 ? out.concat(args) : out;
    }
function replacePlaceHolders (array, args) {
        var out = array.map(function (element) {
            return ! (element instanceof PlaceHolder) ? element :
                (args.length > 0 ? args.shift() : element);
        });
        return args.length > 0 ? out.concat(args) : out;
    }
Replaces found placeholder values and appends any left over `args` to resulting array.
@param array {Array}
@param args {Array}
@returns {Array.<T>|string|Buffer}