diff --git a/GI/Pango.hs b/GI/Pango.hs
--- a/GI/Pango.hs
+++ b/GI/Pango.hs
@@ -293,6 +293,7 @@
 attrIteratorGetAttrs _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_attr_iterator_get_attrs _obj'
+    checkUnexpectedReturnNULL "pango_attr_iterator_get_attrs" result
     result' <- unpackGSList result
     result'' <- mapM (wrapPtr Attribute) result'
     g_slist_free result
@@ -443,6 +444,7 @@
     m AttrList
 attrListNew  = liftIO $ do
     result <- pango_attr_list_new
+    checkUnexpectedReturnNULL "pango_attr_list_new" result
     result' <- (wrapBoxed AttrList) result
     return result'
 
@@ -495,6 +497,7 @@
 attrListCopy _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_attr_list_copy _obj'
+    checkUnexpectedReturnNULL "pango_attr_list_copy" result
     result' <- (wrapBoxed AttrList) result
     touchManagedPtr _obj
     return result'
@@ -525,6 +528,7 @@
     func' <- mkAttrFilterFunc (attrFilterFuncWrapper Nothing func)
     let data_ = nullPtr
     result <- pango_attr_list_filter _obj' func' data_
+    checkUnexpectedReturnNULL "pango_attr_list_filter" result
     result' <- (wrapBoxed AttrList) result
     safeFreeFunPtr $ castFunPtrToPtr func'
     touchManagedPtr _obj
@@ -607,6 +611,7 @@
 attrListRef _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_attr_list_ref _obj'
+    checkUnexpectedReturnNULL "pango_attr_list_ref" result
     result' <- (wrapBoxed AttrList) result
     touchManagedPtr _obj
     return result'
@@ -1044,6 +1049,7 @@
 colorCopy _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_color_copy _obj'
+    checkUnexpectedReturnNULL "pango_color_copy" result
     result' <- (wrapBoxed Color) result
     touchManagedPtr _obj
     return result'
@@ -1122,6 +1128,7 @@
 colorToString _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_color_to_string _obj'
+    checkUnexpectedReturnNULL "pango_color_to_string" result
     result' <- cstringToText result
     freeMem result
     touchManagedPtr _obj
@@ -1166,6 +1173,7 @@
     m Context
 contextNew  = liftIO $ do
     result <- pango_context_new
+    checkUnexpectedReturnNULL "pango_context_new" result
     result' <- (wrapObject Context) result
     return result'
 
@@ -1264,6 +1272,7 @@
 contextGetFontDescription _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_context_get_font_description _obj'
+    checkUnexpectedReturnNULL "pango_context_get_font_description" result
     result' <- (newBoxed FontDescription) result
     touchManagedPtr _obj
     return result'
@@ -1289,6 +1298,7 @@
 contextGetFontMap _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_context_get_font_map _obj'
+    checkUnexpectedReturnNULL "pango_context_get_font_map" result
     result' <- (newObject FontMap) result
     touchManagedPtr _obj
     return result'
@@ -1364,6 +1374,7 @@
 contextGetLanguage _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_context_get_language _obj'
+    checkUnexpectedReturnNULL "pango_context_get_language" result
     result' <- (wrapBoxed Language) result
     touchManagedPtr _obj
     return result'
@@ -1389,6 +1400,7 @@
 contextGetMatrix _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_context_get_matrix _obj'
+    checkUnexpectedReturnNULL "pango_context_get_matrix" result
     result' <- (newBoxed Matrix) result
     touchManagedPtr _obj
     return result'
@@ -1428,6 +1440,7 @@
             let jLanguage' = unsafeManagedPtrGetPtr jLanguage
             return jLanguage'
     result <- pango_context_get_metrics _obj' maybeDesc maybeLanguage
+    checkUnexpectedReturnNULL "pango_context_get_metrics" result
     result' <- (wrapBoxed FontMetrics) result
     touchManagedPtr _obj
     whenJust desc touchManagedPtr
@@ -1517,6 +1530,7 @@
     let _obj' = unsafeManagedPtrCastPtr _obj
     let desc' = unsafeManagedPtrGetPtr desc
     result <- pango_context_load_font _obj' desc'
+    checkUnexpectedReturnNULL "pango_context_load_font" result
     result' <- (wrapObject Font) result
     touchManagedPtr _obj
     touchManagedPtr desc
@@ -1549,6 +1563,7 @@
     let desc' = unsafeManagedPtrGetPtr desc
     let language' = unsafeManagedPtrGetPtr language
     result <- pango_context_load_fontset _obj' desc' language'
+    checkUnexpectedReturnNULL "pango_context_load_fontset" result
     result' <- (wrapObject Fontset) result
     touchManagedPtr _obj
     touchManagedPtr desc
@@ -2151,6 +2166,7 @@
 fontDescribe _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_font_describe _obj'
+    checkUnexpectedReturnNULL "pango_font_describe" result
     result' <- (wrapBoxed FontDescription) result
     touchManagedPtr _obj
     return result'
@@ -2176,6 +2192,7 @@
 fontDescribeWithAbsoluteSize _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_font_describe_with_absolute_size _obj'
+    checkUnexpectedReturnNULL "pango_font_describe_with_absolute_size" result
     result' <- (wrapBoxed FontDescription) result
     touchManagedPtr _obj
     return result'
@@ -2201,6 +2218,7 @@
 fontGetFontMap _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_font_get_font_map _obj'
+    checkUnexpectedReturnNULL "pango_font_get_font_map" result
     result' <- (newObject FontMap) result
     touchManagedPtr _obj
     return result'
@@ -2265,6 +2283,7 @@
             let jLanguage' = unsafeManagedPtrGetPtr jLanguage
             return jLanguage'
     result <- pango_font_get_metrics _obj' maybeLanguage
+    checkUnexpectedReturnNULL "pango_font_get_metrics" result
     result' <- (wrapBoxed FontMetrics) result
     touchManagedPtr _obj
     whenJust language touchManagedPtr
@@ -2332,6 +2351,7 @@
     m FontDescription
 fontDescriptionNew  = liftIO $ do
     result <- pango_font_description_new
+    checkUnexpectedReturnNULL "pango_font_description_new" result
     result' <- (wrapBoxed FontDescription) result
     return result'
 
@@ -2393,6 +2413,7 @@
 fontDescriptionCopy _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_font_description_copy _obj'
+    checkUnexpectedReturnNULL "pango_font_description_copy" result
     result' <- (wrapBoxed FontDescription) result
     touchManagedPtr _obj
     return result'
@@ -2418,6 +2439,7 @@
 fontDescriptionCopyStatic _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_font_description_copy_static _obj'
+    checkUnexpectedReturnNULL "pango_font_description_copy_static" result
     result' <- (wrapBoxed FontDescription) result
     touchManagedPtr _obj
     return result'
@@ -2496,6 +2518,7 @@
 fontDescriptionGetFamily _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_font_description_get_family _obj'
+    checkUnexpectedReturnNULL "pango_font_description_get_family" result
     result' <- cstringToText result
     touchManagedPtr _obj
     return result'
@@ -3054,6 +3077,7 @@
 fontDescriptionToFilename _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_font_description_to_filename _obj'
+    checkUnexpectedReturnNULL "pango_font_description_to_filename" result
     result' <- cstringToText result
     freeMem result
     touchManagedPtr _obj
@@ -3080,6 +3104,7 @@
 fontDescriptionToString _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_font_description_to_string _obj'
+    checkUnexpectedReturnNULL "pango_font_description_to_string" result
     result' <- cstringToText result
     freeMem result
     touchManagedPtr _obj
@@ -3154,6 +3179,7 @@
 fontFaceDescribe _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_font_face_describe _obj'
+    checkUnexpectedReturnNULL "pango_font_face_describe" result
     result' <- (wrapBoxed FontDescription) result
     touchManagedPtr _obj
     return result'
@@ -3179,6 +3205,7 @@
 fontFaceGetFaceName _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_font_face_get_face_name _obj'
+    checkUnexpectedReturnNULL "pango_font_face_get_face_name" result
     result' <- cstringToText result
     touchManagedPtr _obj
     return result'
@@ -3284,6 +3311,7 @@
 fontFamilyGetName _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_font_family_get_name _obj'
+    checkUnexpectedReturnNULL "pango_font_family_get_name" result
     result' <- cstringToText result
     touchManagedPtr _obj
     return result'
@@ -3414,6 +3442,7 @@
 fontMapCreateContext _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_font_map_create_context _obj'
+    checkUnexpectedReturnNULL "pango_font_map_create_context" result
     result' <- (wrapObject Context) result
     touchManagedPtr _obj
     return result'
@@ -3463,6 +3492,7 @@
 fontMapGetShapeEngineType _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_font_map_get_shape_engine_type _obj'
+    checkUnexpectedReturnNULL "pango_font_map_get_shape_engine_type" result
     result' <- cstringToText result
     touchManagedPtr _obj
     return result'
@@ -3529,6 +3559,7 @@
     let context' = unsafeManagedPtrCastPtr context
     let desc' = unsafeManagedPtrGetPtr desc
     result <- pango_font_map_load_font _obj' context' desc'
+    checkUnexpectedReturnNULL "pango_font_map_load_font" result
     result' <- (wrapObject Font) result
     touchManagedPtr _obj
     touchManagedPtr context
@@ -3565,6 +3596,7 @@
     let desc' = unsafeManagedPtrGetPtr desc
     let language' = unsafeManagedPtrGetPtr language
     result <- pango_font_map_load_fontset _obj' context' desc' language'
+    checkUnexpectedReturnNULL "pango_font_map_load_fontset" result
     result' <- (wrapObject Fontset) result
     touchManagedPtr _obj
     touchManagedPtr context
@@ -3686,6 +3718,7 @@
     m FontMetrics
 fontMetricsNew  = liftIO $ do
     result <- pango_font_metrics_new
+    checkUnexpectedReturnNULL "pango_font_metrics_new" result
     result' <- (wrapBoxed FontMetrics) result
     return result'
 
@@ -3902,6 +3935,7 @@
 fontMetricsRef _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_font_metrics_ref _obj'
+    checkUnexpectedReturnNULL "pango_font_metrics_ref" result
     result' <- (wrapBoxed FontMetrics) result
     touchManagedPtr _obj
     return result'
@@ -4004,6 +4038,7 @@
 fontsetGetFont _obj wc = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_fontset_get_font _obj' wc
+    checkUnexpectedReturnNULL "pango_fontset_get_font" result
     result' <- (wrapObject Font) result
     touchManagedPtr _obj
     return result'
@@ -4029,6 +4064,7 @@
 fontsetGetMetrics _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_fontset_get_metrics _obj'
+    checkUnexpectedReturnNULL "pango_fontset_get_metrics" result
     result' <- (wrapBoxed FontMetrics) result
     touchManagedPtr _obj
     return result'
@@ -4112,6 +4148,7 @@
 fontsetSimpleNew language = liftIO $ do
     let language' = unsafeManagedPtrGetPtr language
     result <- pango_fontset_simple_new language'
+    checkUnexpectedReturnNULL "pango_fontset_simple_new" result
     result' <- (wrapObject FontsetSimple) result
     touchManagedPtr language
     return result'
@@ -4260,6 +4297,7 @@
     text' <- textToCString text
     let list' = unsafeManagedPtrGetPtr list
     result <- pango_glyph_item_apply_attrs _obj' text' list'
+    checkUnexpectedReturnNULL "pango_glyph_item_apply_attrs" result
     result' <- unpackGSList result
     result'' <- mapM (wrapBoxed GlyphItem) result'
     g_slist_free result
@@ -4289,6 +4327,7 @@
 glyphItemCopy _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_glyph_item_copy _obj'
+    checkUnexpectedReturnNULL "pango_glyph_item_copy" result
     result' <- (wrapBoxed GlyphItem) result
     touchManagedPtr _obj
     return result'
@@ -4405,6 +4444,7 @@
     let _obj' = unsafeManagedPtrGetPtr _obj
     text' <- textToCString text
     result <- pango_glyph_item_split _obj' text' split_index
+    checkUnexpectedReturnNULL "pango_glyph_item_split" result
     result' <- (wrapBoxed GlyphItem) result
     touchManagedPtr _obj
     freeMem text'
@@ -4484,6 +4524,7 @@
 glyphItemIterCopy _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_glyph_item_iter_copy _obj'
+    checkUnexpectedReturnNULL "pango_glyph_item_iter_copy" result
     result' <- (wrapBoxed GlyphItemIter) result
     touchManagedPtr _obj
     return result'
@@ -4673,6 +4714,7 @@
     m GlyphString
 glyphStringNew  = liftIO $ do
     result <- pango_glyph_string_new
+    checkUnexpectedReturnNULL "pango_glyph_string_new" result
     result' <- (wrapBoxed GlyphString) result
     return result'
 
@@ -4697,6 +4739,7 @@
 glyphStringCopy _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_glyph_string_copy _obj'
+    checkUnexpectedReturnNULL "pango_glyph_string_copy" result
     result' <- (wrapBoxed GlyphString) result
     touchManagedPtr _obj
     return result'
@@ -5097,6 +5140,7 @@
     m Item
 itemNew  = liftIO $ do
     result <- pango_item_new
+    checkUnexpectedReturnNULL "pango_item_new" result
     result' <- (wrapBoxed Item) result
     return result'
 
@@ -5121,6 +5165,7 @@
 itemCopy _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_item_copy _obj'
+    checkUnexpectedReturnNULL "pango_item_copy" result
     result' <- (wrapBoxed Item) result
     touchManagedPtr _obj
     return result'
@@ -5174,6 +5219,7 @@
 itemSplit _obj split_index split_offset = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_item_split _obj' split_index split_offset
+    checkUnexpectedReturnNULL "pango_item_split" result
     result' <- (wrapBoxed Item) result
     touchManagedPtr _obj
     return result'
@@ -5210,6 +5256,7 @@
 languageGetSampleString _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_language_get_sample_string _obj'
+    checkUnexpectedReturnNULL "pango_language_get_sample_string" result
     result' <- cstringToText result
     touchManagedPtr _obj
     return result'
@@ -5238,6 +5285,7 @@
     num_scripts <- allocMem :: IO (Ptr Int32)
     result <- pango_language_get_scripts _obj' num_scripts
     num_scripts' <- peek num_scripts
+    checkUnexpectedReturnNULL "pango_language_get_scripts" result
     result' <- (unpackStorableArrayWithLength num_scripts') result
     let result'' = map (toEnum . fromIntegral) result'
     touchManagedPtr _obj
@@ -5322,6 +5370,7 @@
 languageToString _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_language_to_string _obj'
+    checkUnexpectedReturnNULL "pango_language_to_string" result
     result' <- cstringToText result
     touchManagedPtr _obj
     return result'
@@ -5368,6 +5417,7 @@
 layoutNew context = liftIO $ do
     let context' = unsafeManagedPtrCastPtr context
     result <- pango_layout_new context'
+    checkUnexpectedReturnNULL "pango_layout_new" result
     result' <- (wrapObject Layout) result
     touchManagedPtr context
     return result'
@@ -5417,6 +5467,7 @@
 layoutCopy _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_layout_copy _obj'
+    checkUnexpectedReturnNULL "pango_layout_copy" result
     result' <- (wrapObject Layout) result
     touchManagedPtr _obj
     return result'
@@ -5467,6 +5518,7 @@
 layoutGetAttributes _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_layout_get_attributes _obj'
+    checkUnexpectedReturnNULL "pango_layout_get_attributes" result
     result' <- (newBoxed AttrList) result
     touchManagedPtr _obj
     return result'
@@ -5565,6 +5617,7 @@
 layoutGetContext _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_layout_get_context _obj'
+    checkUnexpectedReturnNULL "pango_layout_get_context" result
     result' <- (newObject Context) result
     touchManagedPtr _obj
     return result'
@@ -5677,6 +5730,7 @@
 layoutGetFontDescription _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_layout_get_font_description _obj'
+    checkUnexpectedReturnNULL "pango_layout_get_font_description" result
     result' <- (newBoxed FontDescription) result
     touchManagedPtr _obj
     return result'
@@ -5750,6 +5804,7 @@
 layoutGetIter _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_layout_get_iter _obj'
+    checkUnexpectedReturnNULL "pango_layout_get_iter" result
     result' <- (wrapBoxed LayoutIter) result
     touchManagedPtr _obj
     return result'
@@ -5802,6 +5857,7 @@
 layoutGetLine _obj line = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_layout_get_line _obj' line
+    checkUnexpectedReturnNULL "pango_layout_get_line" result
     result' <- (newBoxed LayoutLine) result
     touchManagedPtr _obj
     return result'
@@ -5853,6 +5909,7 @@
 layoutGetLineReadonly _obj line = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_layout_get_line_readonly _obj' line
+    checkUnexpectedReturnNULL "pango_layout_get_line_readonly" result
     result' <- (newBoxed LayoutLine) result
     touchManagedPtr _obj
     return result'
@@ -5878,6 +5935,7 @@
 layoutGetLines _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_layout_get_lines _obj'
+    checkUnexpectedReturnNULL "pango_layout_get_lines" result
     result' <- unpackGSList result
     result'' <- mapM (newBoxed LayoutLine) result'
     touchManagedPtr _obj
@@ -5904,6 +5962,7 @@
 layoutGetLinesReadonly _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_layout_get_lines_readonly _obj'
+    checkUnexpectedReturnNULL "pango_layout_get_lines_readonly" result
     result' <- unpackGSList result
     result'' <- mapM (newBoxed LayoutLine) result'
     touchManagedPtr _obj
@@ -5968,6 +6027,7 @@
     n_attrs <- allocMem :: IO (Ptr Int32)
     result <- pango_layout_get_log_attrs_readonly _obj' n_attrs
     n_attrs' <- peek n_attrs
+    checkUnexpectedReturnNULL "pango_layout_get_log_attrs_readonly" result
     result' <- (unpackBlockArrayWithLength 52 n_attrs') result
     result'' <- mapM (newPtr 52 LogAttr) result'
     touchManagedPtr _obj
@@ -6162,6 +6222,7 @@
 layoutGetTabs _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_layout_get_tabs _obj'
+    checkUnexpectedReturnNULL "pango_layout_get_tabs" result
     result' <- (wrapBoxed TabArray) result
     touchManagedPtr _obj
     return result'
@@ -6187,6 +6248,7 @@
 layoutGetText _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_layout_get_text _obj'
+    checkUnexpectedReturnNULL "pango_layout_get_text" result
     result' <- cstringToText result
     touchManagedPtr _obj
     return result'
@@ -6975,6 +7037,7 @@
 layoutIterCopy _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_layout_iter_copy _obj'
+    checkUnexpectedReturnNULL "pango_layout_iter_copy" result
     result' <- (wrapBoxed LayoutIter) result
     touchManagedPtr _obj
     return result'
@@ -7129,6 +7192,7 @@
 layoutIterGetLayout _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_layout_iter_get_layout _obj'
+    checkUnexpectedReturnNULL "pango_layout_iter_get_layout" result
     result' <- (newObject Layout) result
     touchManagedPtr _obj
     return result'
@@ -7184,6 +7248,7 @@
 layoutIterGetLine _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_layout_iter_get_line _obj'
+    checkUnexpectedReturnNULL "pango_layout_iter_get_line" result
     result' <- (wrapBoxed LayoutLine) result
     touchManagedPtr _obj
     return result'
@@ -7239,6 +7304,7 @@
 layoutIterGetLineReadonly _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_layout_iter_get_line_readonly _obj'
+    checkUnexpectedReturnNULL "pango_layout_iter_get_line_readonly" result
     result' <- (newBoxed LayoutLine) result
     touchManagedPtr _obj
     return result'
@@ -7296,6 +7362,7 @@
 layoutIterGetRun _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_layout_iter_get_run _obj'
+    checkUnexpectedReturnNULL "pango_layout_iter_get_run" result
     result' <- (newBoxed GlyphItem) result
     touchManagedPtr _obj
     return result'
@@ -7351,6 +7418,7 @@
 layoutIterGetRunReadonly _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_layout_iter_get_run_readonly _obj'
+    checkUnexpectedReturnNULL "pango_layout_iter_get_run_readonly" result
     result' <- (newBoxed GlyphItem) result
     touchManagedPtr _obj
     return result'
@@ -7650,6 +7718,7 @@
 layoutLineRef _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_layout_line_ref _obj'
+    checkUnexpectedReturnNULL "pango_layout_line_ref" result
     result' <- (wrapBoxed LayoutLine) result
     touchManagedPtr _obj
     return result'
@@ -7889,6 +7958,7 @@
 matrixCopy _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_matrix_copy _obj'
+    checkUnexpectedReturnNULL "pango_matrix_copy" result
     result' <- (wrapBoxed Matrix) result
     touchManagedPtr _obj
     return result'
@@ -8548,6 +8618,7 @@
     let _obj' = unsafeManagedPtrCastPtr _obj
     let part' = (fromIntegral . fromEnum) part
     result <- pango_renderer_get_color _obj' part'
+    checkUnexpectedReturnNULL "pango_renderer_get_color" result
     result' <- (newBoxed Color) result
     touchManagedPtr _obj
     return result'
@@ -8573,6 +8644,7 @@
 rendererGetLayout _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_renderer_get_layout _obj'
+    checkUnexpectedReturnNULL "pango_renderer_get_layout" result
     result' <- (newObject Layout) result
     touchManagedPtr _obj
     return result'
@@ -8598,6 +8670,7 @@
 rendererGetLayoutLine _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_renderer_get_layout_line _obj'
+    checkUnexpectedReturnNULL "pango_renderer_get_layout_line" result
     result' <- (newBoxed LayoutLine) result
     touchManagedPtr _obj
     return result'
@@ -8623,6 +8696,7 @@
 rendererGetMatrix _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_renderer_get_matrix _obj'
+    checkUnexpectedReturnNULL "pango_renderer_get_matrix" result
     result' <- (newBoxed Matrix) result
     touchManagedPtr _obj
     return result'
@@ -9233,6 +9307,7 @@
 tabArrayNew initial_size positions_in_pixels = liftIO $ do
     let positions_in_pixels' = (fromIntegral . fromEnum) positions_in_pixels
     result <- pango_tab_array_new initial_size positions_in_pixels'
+    checkUnexpectedReturnNULL "pango_tab_array_new" result
     result' <- (wrapBoxed TabArray) result
     return result'
 
@@ -9257,6 +9332,7 @@
 tabArrayCopy _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_tab_array_copy _obj'
+    checkUnexpectedReturnNULL "pango_tab_array_copy" result
     result' <- (wrapBoxed TabArray) result
     touchManagedPtr _obj
     return result'
@@ -9661,6 +9737,7 @@
 attrTypeGetName type_ = liftIO $ do
     let type_' = (fromIntegral . fromEnum) type_
     result <- pango_attr_type_get_name type_'
+    checkUnexpectedReturnNULL "pango_attr_type_get_name" result
     result' <- cstringToText result
     return result'
 
@@ -9768,6 +9845,7 @@
 configKeyGet key = liftIO $ do
     key' <- textToCString key
     result <- pango_config_key_get key'
+    checkUnexpectedReturnNULL "pango_config_key_get" result
     result' <- cstringToText result
     freeMem result
     freeMem key'
@@ -9793,6 +9871,7 @@
 configKeyGetSystem key = liftIO $ do
     key' <- textToCString key
     result <- pango_config_key_get_system key'
+    checkUnexpectedReturnNULL "pango_config_key_get_system" result
     result' <- cstringToText result
     freeMem result
     freeMem key'
@@ -9947,6 +10026,7 @@
 fontDescriptionFromString str = liftIO $ do
     str' <- textToCString str
     result <- pango_font_description_from_string str'
+    checkUnexpectedReturnNULL "pango_font_description_from_string" result
     result' <- (wrapBoxed FontDescription) result
     freeMem str'
     return result'
@@ -9968,6 +10048,7 @@
     m T.Text
 getLibSubdirectory  = liftIO $ do
     result <- pango_get_lib_subdirectory
+    checkUnexpectedReturnNULL "pango_get_lib_subdirectory" result
     result' <- cstringToText result
     return result'
 
@@ -10053,6 +10134,7 @@
     m T.Text
 getSysconfSubdirectory  = liftIO $ do
     result <- pango_get_sysconf_subdirectory
+    checkUnexpectedReturnNULL "pango_get_sysconf_subdirectory" result
     result' <- cstringToText result
     return result'
 
@@ -10224,6 +10306,7 @@
             let jCached_iter' = unsafeManagedPtrGetPtr jCached_iter
             return jCached_iter'
     result <- pango_itemize context' text' start_index length_ attrs' maybeCached_iter
+    checkUnexpectedReturnNULL "pango_itemize" result
     result' <- unpackGList result
     result'' <- mapM (wrapBoxed Item) result'
     g_list_free result
@@ -10273,6 +10356,7 @@
             let jCached_iter' = unsafeManagedPtrGetPtr jCached_iter
             return jCached_iter'
     result <- pango_itemize_with_base_dir context' base_dir' text' start_index length_ attrs' maybeCached_iter
+    checkUnexpectedReturnNULL "pango_itemize_with_base_dir" result
     result' <- unpackGList result
     result'' <- mapM (wrapBoxed Item) result'
     g_list_free result
@@ -10306,6 +10390,7 @@
             jLanguage' <- textToCString jLanguage
             return jLanguage'
     result <- pango_language_from_string maybeLanguage
+    checkUnexpectedReturnNULL "pango_language_from_string" result
     result' <- (newBoxed Language) result
     freeMem maybeLanguage
     return result'
@@ -10327,6 +10412,7 @@
     m Language
 languageGetDefault  = liftIO $ do
     result <- pango_language_get_default
+    checkUnexpectedReturnNULL "pango_language_get_default" result
     result' <- (newBoxed Language) result
     return result'
 
@@ -10458,6 +10544,7 @@
 markupParserNew accel_marker = liftIO $ do
     let accel_marker' = (fromIntegral . ord) accel_marker
     result <- pango_markup_parser_new accel_marker'
+    checkUnexpectedReturnNULL "pango_markup_parser_new" result
     result' <- (newBoxed GLib.MarkupParseContext) result
     return result'
 
@@ -10784,6 +10871,7 @@
     let logical_items' = map unsafeManagedPtrGetPtr logical_items
     logical_items'' <- packGList logical_items'
     result <- pango_reorder_items logical_items''
+    checkUnexpectedReturnNULL "pango_reorder_items" result
     result' <- unpackGList result
     result'' <- mapM (wrapBoxed Item) result'
     g_list_free result
@@ -10931,6 +11019,7 @@
 scriptGetSampleLanguage script = liftIO $ do
     let script' = (fromIntegral . fromEnum) script
     result <- pango_script_get_sample_language script'
+    checkUnexpectedReturnNULL "pango_script_get_sample_language" result
     result' <- (wrapBoxed Language) result
     return result'
 
@@ -11059,6 +11148,7 @@
 splitFileList str = liftIO $ do
     str' <- textToCString str
     result <- pango_split_file_list str'
+    checkUnexpectedReturnNULL "pango_split_file_list" result
     result' <- unpackZeroTerminatedUTF8CArray result
     mapZeroTerminatedCArray freeMem result
     freeMem result
@@ -11085,6 +11175,7 @@
 trimString str = liftIO $ do
     str' <- textToCString str
     result <- pango_trim_string str'
+    checkUnexpectedReturnNULL "pango_trim_string" result
     result' <- cstringToText result
     freeMem result
     freeMem str'
@@ -11199,6 +11290,7 @@
     m T.Text
 versionCheck required_major required_minor required_micro = liftIO $ do
     result <- pango_version_check required_major required_minor required_micro
+    checkUnexpectedReturnNULL "pango_version_check" result
     result' <- cstringToText result
     return result'
 
@@ -11219,6 +11311,7 @@
     m T.Text
 versionString  = liftIO $ do
     result <- pango_version_string
+    checkUnexpectedReturnNULL "pango_version_string" result
     result' <- cstringToText result
     return result'
 
diff --git a/LICENSE b/LICENSE
--- a/LICENSE
+++ b/LICENSE
@@ -454,49 +454,3 @@
 FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
 SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
 DAMAGES.
-
-                     END OF TERMS AND CONDITIONS
-
-           How to Apply These Terms to Your New Libraries
-
-  If you develop a new library, and you want it to be of the greatest
-possible use to the public, we recommend making it free software that
-everyone can redistribute and change.  You can do so by permitting
-redistribution under these terms (or, alternatively, under the terms of the
-ordinary General Public License).
-
-  To apply these terms, attach the following notices to the library.  It is
-safest to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least the
-"copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the library's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Lesser General Public
-    License as published by the Free Software Foundation; either
-    version 2.1 of the License, or (at your option) any later version.
-
-    This library is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-
-Also add information on how to contact you by electronic and paper mail.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the library, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the
-  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
-
-  <signature of Ty Coon>, 1 April 1990
-  Ty Coon, President of Vice
-
-That's all there is to it!
diff --git a/gi-pango.cabal b/gi-pango.cabal
--- a/gi-pango.cabal
+++ b/gi-pango.cabal
@@ -1,6 +1,6 @@
 -- Autogenerated, do not edit.
 name:               gi-pango
-version:            0.1.36.9
+version:            0.1.36.10
 synopsis:           Pango bindings
 description:        Bindings for Pango, autogenerated by haskell-gi.
 homepage:           https://github.com/haskell-gi/haskell-gi
@@ -17,9 +17,9 @@
     exposed-modules:    GI.Pango, GI.PangoAttributes, GI.PangoSignals
     pkgconfig-depends:  pango >= 1.36
     build-depends: base >= 4.7 && <5,
-        haskell-gi-base >= 0.9 && < 1,
-        gi-glib >= 0.2.44.9 && < 0.3,
-        gi-gobject >= 0.2.44.9 && < 0.3,
+        haskell-gi-base >= 0.10 && < 1,
+        gi-glib >= 0.2.44.10 && < 0.3,
+        gi-gobject >= 0.2.44.10 && < 0.3,
         bytestring >= 0.10,
         containers >= 0.5,
         text >= 1.0,
