Hardly. Given a choice between complex imperative code and complex functional code, I’ll take the latter. It’s just that the resultant C++ is somewhat brittle and not as thoroughly verified as the Haskell version. I would say the same thing if I wrote something in Coq, proved it correct, then ported it to Haskell.