CString package:haskell-gi-base

A C string is a reference to an array of C characters terminated by NUL.
Information on a property of type Text to be registered. A property name consists of segments consisting of ASCII letters and digits, separated by either the '-' or '_' character. The first character of a property name must be a letter. Names which violate these rules lead to undefined behaviour. When creating and looking up a property, either separator can be used, but they cannot be mixed. Using '-' is considerably more efficient and in fact required when using property names as detail strings for signals. Beyond the name, properties have two more descriptive strings associated with them, the nick, which should be suitable for use as a label for the property in a property editor, and the blurb, which should be a somewhat longer description, suitable for e.g. a tooltip. The nick and blurb should ideally be localized.
Pack a CString into a Ptr than can go into a GHashTable.
Extract a CString wrapped into a Ptr coming from a GHashTable.
Convert Text into a CString, using the GLib allocator.
Add a CString-valued property to the given object class.
Create a GParamSpec for a string param.