one thing I've learned in my career is that escape hatches are one of the most important things in tools made for building other stuff.
dropping down into the familiar or the simple or the dumb is so innately necessary in the building process. many things meant to be "pure" tend to also be restrictive in that regard.
Functional languages are not necessarily pure though. Actually outside Haskell don't most functional first languages include escape hatches? F# is the one I have the most experience with and it certainly does.
For what it's worth, Haskell has plenty of escape hatches itself as well.