Integration of FFI into GC in Haskell

I've read a couple of thought-provoking articles:

They provide several techniques to solve some issues while doing FFI in garbage-collected languages.