Essa função deveria ter um "return ul " ou não é obrigatório? Porque sem o return funcionou. Mas eu achei que era obrigatório retornar a ul.
function exibeMensagensDeErro(erros){
var ul = document.querySelector("#mensagens-erro");
erros.forEach(function(erro){
var li = document.createElement("li");
li.textContent = erro;
ul.appendChild(li);
});
// return ul;
}