loci: convert internal users away from inheritance union

This mostly affects list accessors.
diff --git a/c_gen/c_show_gen.py b/c_gen/c_show_gen.py
index 9a13b43..a25e366 100644
--- a/c_gen/c_show_gen.py
+++ b/c_gen/c_show_gen.py
@@ -166,7 +166,7 @@
             if type_maps.class_is_inheritance_root(cls):
                 continue
             out.write("""\
-int %(cls)s_%(ver_name)s_show(loci_writer_f writer, void* cookie, %(cls)s_t *obj);
+int %(cls)s_%(ver_name)s_show(loci_writer_f writer, void* cookie, of_object_t *obj);
 """ % dict(cls=cls, ver_name=loxi_utils.version_to_name(version)))
 
     out.write("""
@@ -206,7 +206,7 @@
                 continue
             out.write("""
 int
-%(cls)s_%(ver_name)s_show(loci_writer_f writer, void* cookie, %(cls)s_t *obj)
+%(cls)s_%(ver_name)s_show(loci_writer_f writer, void* cookie, of_object_t *obj)
 {
     int out = 0;
 """ % dict(cls=cls, ver_name=ver_name))
@@ -222,8 +222,7 @@
     %(m_type)s %(v_name)s;
 """  % dict(m_type=m_type, v_name=var_name_map(m_type)))
                     if loxi_utils.class_is_list(m_type):
-                        base_type = loxi_utils.list_to_entry_type(m_type)
-                        out.write("    %s elt;\n    int rv;\n" % base_type)
+                        out.write("    of_object_t elt;\n    int rv;\n")
             for member in members:
                 m_type = member["m_type"]
                 m_name = member["name"]