use c2hs to generate the low-level bindings