No puede descartar fácilmente cualquier conjunto de problemas que no sea adecuado para la programación funcional per se.
Mucho depende del lenguaje real utilizado para la programación funcional y sus características.
Un ejemplo es el ya mencionado Erlang para sistemas embebidos en tiempo real.
La plenitud de estado tampoco es un buen criterio en contra de la programación funcional, hay varias formas exitosas implementadas en lenguajes de programación funcional para lidiar con esto.
Los efectos secundarios también se mencionan a menudo contra la programación funcional. Cada programa que no es totalmente solipsista tiene efectos secundarios. Por lo tanto, cada lenguaje FP del mundo real tiene alguna forma de lidiar con esto, solo es una cuestión de cuán elegantemente encapsular los efectos secundarios mundiales.
No hay necesidad de efectos secundarios arbitrarios como las variables globales en absoluto.
Pero hay conjuntos de problemas que hacen que sea más fácil ingresar a la programación funcional porque no tuercen tanto su forma familiar de ver el problema. Pero una vez que logras pensar funcionalmente, más y más conjuntos de problemas están abiertos a menos efectos secundarios.
Incluso cuando se programa C, siempre es una buena idea reducir los efectos secundarios arbitrarios, como las variables globales, tanto como sea posible.