funções aninhadas no php lançam uma exceção quando o exterior é chamado mais de uma vez

não suponha que eu tenho o seguinte

function a(){
  function b(){}
}
a(); //pass
a(); //error

porque na segunda chamada uma exceção é lançada e diz

cannot re-declare  function b()

Eu pensei que cada chamada de função faz um novo registro ativo que contém seu próprio escopo; como em outras linguagens outras que PHP quando declaramos uma variável em uma função e chamamos essa função todas as variáveis ​​estão vivas para o seu escopo, porque a função interna não é a mesma?

questionAnswers(5)

yourAnswerToTheQuestion