   valueGetUInt64,
   valueSetInt64,
   valueGetInt64,
---  valueSetUChar,
---  valueGetUChar,
---  valueSetChar,
---  valueGetChar,
+  valueSetUChar,
+  valueGetUChar,
+  valueSetChar,
+  valueGetChar,
   valueSetBool,
   valueGetBool,
   valueSetPointer,

  liftM fromIntegral $
  {# call unsafe value_get_int64 #} gvalue

{-
valueSetUChar :: GValue -> Word8 -> IO ()
valueSetUChar gvalue value =
  {# call unsafe value_set_uchar #} gvalue value

valueGetUChar :: GValue -> IO Word8
valueGetUChar gvalue =
  {# call unsafe value_get_uchar #} gvalue

valueSetChar :: GValue -> {#type gchar#} -> IO ()
valueSetChar gvalue value =
  {# call unsafe value_set_char #} gvalue value

valueGetChar :: GValue -> IO {#type gchar#}
valueGetChar gvalue =
  {# call unsafe value_get_char #} gvalue
-}

valueSetBool :: GValue -> Bool -> IO ()
valueSetBool gvalue value =

  maybeNull (makeNewGObject mkGObject) $
  liftM castPtr $
  {# call unsafe value_get_object #} gvalue

