Passing arrays between Haskell and C without overhead