Explicação detalhada da captura variável nos fechamentos

á vi inúmeras postagens sobre como a captura de variáveis atrai variáveis para a criação do fechamento, no entanto, todas elas parecem ter poucos detalhes específicos e chamam a coisa toda de "mágica do compilador"

Estou procurando uma explicação clara de:

Como variáveis locais sãona realidad capturado. diferença (se houver) entre a captura de tipos de valor e tipos de referênci E se há algum boxe ocorrendo em relação aos tipos de valo

Minha preferência seria por uma resposta em termos de valores e indicadores (mais próximo do coração do que acontece internamente), embora eu aceite uma resposta clara, envolvendo valores e referências també

questionAnswers(1)

yourAnswerToTheQuestion