Computer science is based on foundational assumptions about which operations are fast vs which are slow. So when I design hypothetical hardware, that *can* change these underlying assumptions. But we needn't go that far!
Merely promising that you want modify any data changes performance considerations! Which is the route Haskell takes.
I quite like it, though I would advise picking compute-intensive tasks for Haskell! That's what its suited to!