The GType system has a means of adding a private structure to a type so
that both are allocated and freed by the type system. This allows both
public and private instance data to be allocated at the same time.
While this is mostly useful for types using n_preallocs (allocated with
g_mem_chunk), using a single memory allocation for both should benefit
all users.

On the subject of n_preallocs, would it be possible to specify its
value in the gob file without creating a custom get_type function? I
believe it is the only value that most gob users would want to change.
I know I have two classes that will be using it.