deixe var ou var para deixar

Nos últimos meses, aprendi muito sobre JavaScript. Tendo abusado das línguas por anos, eu ouso dizer que agora tenho uma melhor compreensão da língua e eu vim paraamor os benefícios de sua natureza funcional.
Ultimamente eu comecei a aprender Scheme, mas isso é apenas por diversão. Navegando peloReferência MDN Percebi que o JS, apesar de não ter um escopo de bloco, tem uma palavra-chave que pode ser usada para declarar uma variável local para um determinado bloco, muito parecido com o Schemelet:

for (var i=0;i<someArray.length;i++)
{
    console.log(someArray[i]);
}
console.log(i);//will log someArray's length

Enquanto que:

for (let i=0;i<someArray.length;i++)
{
    console.log(someArray[i]);
}
console.log(i);//undefined

Então, o que eu quero saber agora é: por que não élet usado com mais freqüência? Tem algo a ver com o suporte ao navegador X? É apenas um daquelesguloseimas menos conhecidas?
Em suma, quais são as vantagens de usarvar sobreletQuais são as ressalvas?

Tanto quanto eu posso dizer, o comportamento delet é, se alguma coisa, mais consistente (declarações duplas em um único bloco levantamTypeError, exceto para corpos de função (no entanto, os rascunhos do ECMA6 corrigem isso).
Para ser honesto, além deste recurso / palavra-chave não ser muito conhecido, eu me esforço para pensarqualquer argumento contra o usolet loops for, ou em qualquer lugar onde uma variável temporária faz para código mais legível.

questionAnswers(1)

yourAnswerToTheQuestion