A low level binding to the C++ API of LLVM for Haskell