Tail Call Optimización de la función recursiva

Esta es una función que aplana profundamente una matriz

const deepFlatten = (input) => {
  let result = [];
  input.forEach((val, index) => {
    if (Array.isArray(val)) {
      result.push(...deepFlatten(val));
    } else {
      result.push(val);
    }
  });
  return result;
};

Durante una discusión, me dijeron que no es eficiente en la memoria, ya que podría causar desbordamientos de la pila.

Yo leo enhttp://2ality.com/2015/06/tail-call-optimization.html que potencialmente podría volver a escribirlo para que sea TCO-ed.

¿Cómo se vería eso y cómo podría medir su perfil de uso de memoria?

Respuestas a la pregunta(3)

Su respuesta a la pregunta