It's also mostly straightforward to implement a fast Quicksort using mutable arrays in Haskell.
The difference is that all that stuff is formulated within a theory based on pure evaluation of functional expressions.
Loosely speaking it's like how the math that physics uses doesn't have mutable variables, but it still manages to express time varying phenomena...