¿Por qué funciona este JavaScript?

Estaba viendo la salida de algunas cosas de UglifyJS y me encontré con un código como el siguiente:

var a = 0;
var b = function () {
    return function () {
        a++;
    }(), 'Hello, World'
}();

Despues de ejecutar ese codigoa es1 yb es la cuerdaHello, World!.

A primera vista parece queb estaránundefined ya que parece que se está devolviendo el resultado de una función sin valor de retorno, pero a eso le sigue una coma y una cadena literal.

¿Por qué funciona esto?
¿Y por qué UglifyJS no ejecuta la función anónima y luego regresa?Hello, World! como la siguiente afirmación?

Respuestas a la pregunta(4)

Su respuesta a la pregunta