About the partial application support , we could do something like:
(= f [map [+ _ 1] _])
Though I am myself a Haskell coder, and I value partial application very much; I think that with this very same syntax we accomplish pretty much the same effect, without bloating and keeping the syntax clean and coherent enough with the base model of Arc.
Also, a Haskell-like notation like the one you proposed might be very tricky and difficult to read in a language without explicit typing notation.