diff --git a/Bindings/Libgit2/Notes.hsc b/Bindings/Libgit2/Notes.hsc
--- a/Bindings/Libgit2/Notes.hsc
+++ b/Bindings/Libgit2/Notes.hsc
@@ -10,7 +10,7 @@
 {- typedef int (* git_note_foreach_cb)(const git_oid * blob_id,
                                     const git_oid * annotated_object_id,
                                     void * payload); -}
-#callback git_note_foreach_cb , Ptr (<git_oid>) -> Ptr (<git_oid>) -> Ptr () -> Ptr CInt
+#callback git_note_foreach_cb , Ptr (<git_oid>) -> Ptr (<git_oid>) -> Ptr () -> IO CInt
 {- typedef struct git_iterator git_note_iterator; -}
 #opaque_t git_iterator
 #synonym_t git_note_iterator , <git_iterator>
diff --git a/Bindings/Libgit2/Refs.hsc b/Bindings/Libgit2/Refs.hsc
--- a/Bindings/Libgit2/Refs.hsc
+++ b/Bindings/Libgit2/Refs.hsc
@@ -26,7 +26,7 @@
 #ccall git_reference_list , Ptr <git_strarray> -> Ptr <git_repository> -> CUInt -> IO (CInt)
 {- typedef int (* git_reference_foreach_cb)(const char * refname,
                                          void * payload); -}
-#callback git_reference_foreach_cb , CString -> Ptr () -> Ptr CInt
+#callback git_reference_foreach_cb , CString -> Ptr () -> IO CInt
 #ccall git_reference_foreach , Ptr <git_repository> -> CUInt -> <git_reference_foreach_cb> -> Ptr () -> IO (CInt)
 #ccall git_reference_free , Ptr <git_reference> -> IO ()
 #ccall git_reference_cmp , Ptr <git_reference> -> Ptr <git_reference> -> IO (CInt)
diff --git a/Bindings/Libgit2/Remote.hsc b/Bindings/Libgit2/Remote.hsc
--- a/Bindings/Libgit2/Remote.hsc
+++ b/Bindings/Libgit2/Remote.hsc
@@ -16,7 +16,7 @@
 import Bindings.Libgit2.Oid
 {- typedef int (* git_remote_rename_problem_cb)(const char * problematic_refspec,
                                              void * payload); -}
-#callback git_remote_rename_problem_cb , CString -> Ptr () -> Ptr CInt
+#callback git_remote_rename_problem_cb , CString -> Ptr () -> IO CInt
 #ccall git_remote_create , Ptr (Ptr <git_remote>) -> Ptr <git_repository> -> CString -> CString -> IO (CInt)
 #ccall git_remote_create_inmemory , Ptr (Ptr <git_remote>) -> Ptr <git_repository> -> CString -> CString -> IO (CInt)
 #ccall git_remote_load , Ptr (Ptr <git_remote>) -> Ptr <git_repository> -> CString -> IO (CInt)
diff --git a/hlibgit2.cabal b/hlibgit2.cabal
--- a/hlibgit2.cabal
+++ b/hlibgit2.cabal
@@ -1,5 +1,5 @@
 Name:                hlibgit2
-Version:             0.18.0.11
+Version:             0.18.0.12
 Synopsis:            Low-level bindings to libgit2
 Description:         Bindings to libgit2 v0.18.0.
 License-file:        LICENSE
