+insertSymbol :: String -> String -> Ptr a -> IO ()
+insertSymbol obj_name key symbol
+ = let str = prefixUnderscore key
+ in withCString obj_name $ \c_obj_name ->
+ withCString str $ \c_str ->
+ c_insertSymbol c_obj_name c_str symbol
+
+insertStableSymbol :: String -> String -> a -> IO ()
+insertStableSymbol obj_name key symbol
+ = let str = prefixUnderscore key
+ in withCString obj_name $ \c_obj_name ->
+ withCString str $ \c_str ->
+ c_insertStableSymbol c_obj_name c_str (Ptr (unsafeCoerce# symbol))
+