The main things to do are: - Facilitate memory management by attaching the right finalizers to C objects; - Facilitate the handling of pointers pointing to C++ types from Haskell. I have some ideas for both, currently experimenting.