That's how I understand the spirit of Haskell, although I could have a limited perspective.
I think this is a valid point of view, but needs to be balanced by a need for perspicuity. After all, you aren't really using Arrows. It's just a coincidence that this function does what you want on a concrete implementation level. When I was learning to use the HXT package for XML manipulation, I was happy to learn about its use of Arrows. It really uses them. I need to understand Arrows to use it.