What are the difficulties functional languages face?

Historically, functional languages have been slower.

This is because functional languages do not permit assignments. Have to create an entirely new copy.

All data structures in a functional language are persistent (have to run gc), sometimes not efficient if no clear way to remove unnecessary bits.