[gobject-introspection] doctool: update reference tests



commit e70abadf0dd7d5312311926ec5b5130e1933d83b
Author: Giovanni Campagna <gcampagna src gnome org>
Date:   Wed Feb 19 17:15:34 2014 +0100

    doctool: update reference tests
    
    https://bugzilla.gnome.org/show_bug.cgi?id=724735

 .../Regress.ANNOTATION_CALCULATED_DEFINE.page}     |   21 ++-----
 .../Regress.ANNOTATION_CALCULATED_LARGE.page}      |   21 ++-----
 .../Regress.ANNOTATION_CALCULATED_LARGE_DIV.page}  |   21 ++-----
 .../Regress-1.0-C-expected/Regress.ATestError.page |   17 +----
 .../Regress.AliasedTestBoxed.page                  |   17 +----
 .../Regress.AnAnonymousUnion-None.page}            |   23 ++-----
 .../Regress.AnAnonymousUnion-x.page}               |   23 ++-----
 .../Regress.AnAnonymousUnion.None-a.page}          |   23 ++-----
 .../Regress.AnAnonymousUnion.None-padding.page}    |   23 ++-----
 .../Regress.AnAnonymousUnion.None.page             |   42 ++++++++-----
 .../Regress.AnAnonymousUnion.page                  |   42 ++++++++-----
 .../Regress.AnnotationBitfield.page                |   17 +----
 .../Regress.AnnotationCallback.page                |   35 ++++++-----
 .../Regress.AnnotationFields-arr.page}             |   23 ++-----
 .../Regress.AnnotationFields-field1.page}          |   23 ++-----
 .../Regress.AnnotationFields-len.page}             |   23 ++-----
 .../Regress.AnnotationFields.page                  |   42 ++++++++-----
 .../Regress.AnnotationForeachFunc.page             |   45 +++++++++-----
 .../Regress.AnnotationListCallback.page            |   35 ++++++-----
 .../Regress.AnnotationNotifyFunc.page              |   35 ++++++-----
 .../Regress.AnnotationObject-attribute-signal.page |   22 ++-----
 ...ess.AnnotationObject-doc-empty-arg-parsing.page |   16 +----
 ...Regress.AnnotationObject-function-property.page |   15 +----
 .../Regress.AnnotationObject-list-signal.page      |   20 ++-----
 .../Regress.AnnotationObject-parent_instance.page} |   23 ++-----
 .../Regress.AnnotationObject-string-property.page  |   16 +----
 .../Regress.AnnotationObject-string-signal.page    |   21 ++-----
 .../Regress.AnnotationObject-tab-property.page     |   16 +----
 .../Regress.AnnotationObject.allow_none.page       |   20 ++-----
 .../Regress.AnnotationObject.calleeowns.page       |   22 ++-----
 .../Regress.AnnotationObject.calleesowns.page      |   24 ++-----
 .../Regress.AnnotationObject.compute_sum.page      |   20 ++-----
 .../Regress.AnnotationObject.compute_sum_n.page    |   22 ++-----
 .../Regress.AnnotationObject.compute_sum_nz.page   |   22 ++-----
 .../Regress.AnnotationObject.create_object.page    |   20 ++-----
 .../Regress.AnnotationObject.do_not_use.page       |   20 ++-----
 .../Regress.AnnotationObject.extra_annos.page      |   16 +----
 .../Regress.AnnotationObject.foreach.page          |   22 ++-----
 .../Regress.AnnotationObject.get_hash.page         |   22 ++-----
 .../Regress.AnnotationObject.get_objects.page      |   22 ++-----
 .../Regress.AnnotationObject.get_strings.page      |   22 ++-----
 .../Regress.AnnotationObject.hidden_self.page      |   18 +----
 .../Regress.AnnotationObject.in.page               |   22 ++-----
 .../Regress.AnnotationObject.inout.page            |   22 ++-----
 .../Regress.AnnotationObject.inout2.page           |   22 ++-----
 .../Regress.AnnotationObject.inout3.page           |   22 ++-----
 .../Regress.AnnotationObject.method.page           |   20 ++-----
 .../Regress.AnnotationObject.notrans.page          |   20 ++-----
 .../Regress.AnnotationObject.out.page              |   22 ++-----
 .../Regress.AnnotationObject.page                  |   27 ++++-----
 .../Regress.AnnotationObject.parse_args.page       |   22 ++-----
 .../Regress.AnnotationObject.set_data.page         |   22 ++-----
 .../Regress.AnnotationObject.set_data2.page        |   22 ++-----
 .../Regress.AnnotationObject.set_data3.page        |   24 ++-----
 .../Regress.AnnotationObject.string_out.page       |   22 ++-----
 .../Regress.AnnotationObject.use_buffer.page       |   18 +----
 .../Regress.AnnotationObject.watch.page            |   24 ++-----
 .../Regress.AnnotationObject.watch_full.page       |   24 ++-----
 .../Regress.AnnotationObject.with_voidp.page       |   18 +----
 ...egress.AnnotationObjectClass-parent_class.page} |   23 ++-----
 .../Regress.AnnotationObjectClass.page             |   42 ++++++++-----
 .../Regress.AnnotationStruct-objects.page}         |   23 ++-----
 .../Regress.AnnotationStruct.page                  |   42 ++++++++-----
 .../Regress.BOOL_CONSTANT.page}                    |   21 ++-----
 .../Regress.DOUBLE_CONSTANT.page}                  |   21 ++-----
 .../Regress.FOO_DEFINE_SHOULD_BE_EXPOSED.page}     |   21 ++-----
 .../Regress.FOO_PIE_IS_TASTY.page}                 |   21 ++-----
 .../Regress.FOO_SUCCESS_INT.page}                  |   21 ++-----
 .../Regress-1.0-C-expected/Regress.FooASingle.page |   17 +----
 .../Regress.FooAddressType.page                    |   17 +----
 .../Regress.FooBRect-x.page}                       |   23 ++-----
 .../Regress.FooBRect-y.page}                       |   23 ++-----
 .../Regress.FooBRect.add.page                      |   16 +----
 .../Regress.FooBRect.new.page                      |   16 +----
 .../Regress-1.0-C-expected/Regress.FooBRect.page   |   42 ++++++++-----
 .../Regress.FooBUnion-rect.page}                   |   23 ++-----
 .../Regress.FooBUnion-type.page}                   |   23 ++-----
 .../Regress.FooBUnion-v.page}                      |   23 ++-----
 .../Regress.FooBUnion.get_contained_type.page      |   16 +----
 .../Regress.FooBUnion.new.page                     |   16 +----
 .../Regress-1.0-C-expected/Regress.FooBUnion.page  |   42 ++++++++-----
 .../Regress.FooBoxed.method.page                   |   16 +----
 .../Regress.FooBoxed.new.page                      |   16 +----
 .../Regress-1.0-C-expected/Regress.FooBoxed.page   |   42 ++++++++-----
 .../Regress-1.0-C-expected/Regress.FooBuffer.page  |   27 ++++-----
 .../Regress.FooBuffer.some_method.page             |   16 +----
 .../Regress.FooCallback.page                       |   45 +++++++++-----
 .../Regress.FooDBusData.method.page                |   16 +----
 .../Regress.FooDBusData.page                       |   42 ++++++++-----
 .../Regress.FooEnumFullname.page                   |   17 +----
 .../Regress.FooEnumNoType.page                     |   17 +----
 .../Regress.FooEnumType.method.page                |   16 +----
 .../Regress.FooEnumType.page                       |   17 +----
 .../Regress.FooEnumType.returnv.page               |   16 +----
 .../Regress-1.0-C-expected/Regress.FooError.page   |   17 +----
 .../Regress.FooError.quark.page                    |   16 +----
 .../Regress.FooEvent-any.page}                     |   23 ++-----
 .../Regress.FooEvent-expose.page}                  |   23 ++-----
 .../Regress.FooEvent-type.page}                    |   23 ++-----
 .../Regress-1.0-C-expected/Regress.FooEvent.page   |   42 ++++++++-----
 .../Regress.FooEventAny-send_event.page}           |   23 ++-----
 .../Regress.FooEventAny.page                       |   42 ++++++++-----
 .../Regress.FooEventExpose-count.page}             |   23 ++-----
 .../Regress.FooEventExpose-send_event.page}        |   23 ++-----
 .../Regress.FooEventExpose.page                    |   42 ++++++++-----
 .../Regress.FooFlagsNoType.page                    |   17 +----
 .../Regress.FooFlagsType.page                      |   17 +----
 .../Regress.FooForeignStruct-regress_foo.page}     |   23 ++-----
 .../Regress.FooForeignStruct.copy.page             |   16 +----
 .../Regress.FooForeignStruct.new.page              |   16 +----
 .../Regress.FooForeignStruct.page                  |   42 ++++++++-----
 .../Regress.FooInterface-do_regress_foo.page       |   16 +----
 .../Regress.FooInterface.do_regress_foo.page       |   16 +----
 .../Regress.FooInterface.page                      |   41 ++++++-------
 .../Regress.FooInterface.static_method.page        |   16 +----
 .../Regress.FooInterfaceIface-do_regress_foo.page} |   23 ++-----
 .../Regress.FooInterfaceIface-parent_iface.page}   |   23 ++-----
 .../Regress.FooInterfaceIface.do_regress_foo.page  |   40 ++++++++-----
 .../Regress.FooInterfaceIface.page                 |   42 ++++++++-----
 .../Regress.FooObject-hidden.page                  |   15 +----
 .../Regress.FooObject-parent_instance.page}        |   23 ++-----
 .../Regress.FooObject-read_fn.page                 |   22 ++-----
 .../Regress.FooObject-signal.page                  |   16 +----
 .../Regress.FooObject-some_int.page}               |   23 ++-----
 .../Regress.FooObject-string.page                  |   15 +----
 .../Regress.FooObject-virtual_method.page          |   16 +----
 .../Regress.FooObject.a_global_method.page         |   16 +----
 .../Regress.FooObject.append_new_stack_layer.page  |   16 +----
 .../Regress.FooObject.dup_name.page                |   16 +----
 .../Regress.FooObject.external_type.page           |   20 ++-----
 .../Regress.FooObject.get_default.page             |   20 ++-----
 .../Regress.FooObject.get_name.page                |   16 +----
 .../Regress.FooObject.handle_glyph.page            |   16 +----
 .../Regress.FooObject.is_it_time_yet.page          |   16 +----
 .../Regress.FooObject.new.page                     |   16 +----
 .../Regress.FooObject.new_as_super.page            |   16 +----
 .../Regress.FooObject.new_cookie.page              |   16 +----
 .../Regress-1.0-C-expected/Regress.FooObject.page  |   27 ++++-----
 .../Regress.FooObject.read.page                    |   22 ++-----
 .../Regress.FooObject.skipped_method.page          |   18 +----
 .../Regress.FooObject.static_meth.page             |   16 +----
 .../Regress.FooObject.take_all.page                |   16 +----
 .../Regress.FooObject.various.page                 |   16 +----
 .../Regress.FooObject.virtual_method.page          |   16 +----
 .../Regress.FooObjectClass-_reserved.page}         |   23 ++-----
 .../Regress.FooObjectClass-parent_class.page}      |   23 ++-----
 .../Regress.FooObjectClass-read_fn.page}           |   23 ++-----
 .../Regress.FooObjectClass-virtual_method.page}    |   23 ++-----
 .../Regress.FooObjectClass.page                    |   42 ++++++++-----
 .../Regress.FooObjectClass.read_fn.page            |   45 +++++++++-----
 .../Regress.FooObjectClass.virtual_method.page     |   40 ++++++++-----
 .../Regress.FooObjectCookie.page                   |   17 +----
 .../Regress.FooOtherObject.page                    |   27 ++++-----
 .../Regress.FooRectangle-height.page}              |   23 ++-----
 .../Regress.FooRectangle-width.page}               |   23 ++-----
 .../Regress.FooRectangle-x.page}                   |   23 ++-----
 .../Regress.FooRectangle-y.page}                   |   23 ++-----
 .../Regress.FooRectangle.add.page                  |   20 ++-----
 .../Regress.FooRectangle.new.page                  |   18 +----
 .../Regress.FooRectangle.page                      |   42 ++++++++-----
 .../Regress.FooSkippable.page                      |   17 +----
 .../Regress.FooStackLayer.page                     |   17 +----
 .../Regress.FooStruct-member.page}                 |   23 ++-----
 .../Regress.FooStruct-priv.page}                   |   23 ++-----
 .../Regress-1.0-C-expected/Regress.FooStruct.page  |   42 ++++++++-----
 .../Regress.FooSubInterface-destroy-event.page     |   16 +----
 .../Regress.FooSubInterface-destroy_event.page     |   16 +----
 .../Regress.FooSubInterface-do_bar.page            |   16 +----
 .../Regress.FooSubInterface-do_baz.page            |   16 +----
 .../Regress.FooSubInterface.do_bar.page            |   16 +----
 .../Regress.FooSubInterface.do_baz.page            |   16 +----
 .../Regress.FooSubInterface.page                   |   41 ++++++-------
 ...egress.FooSubInterfaceIface-destroy_event.page} |   23 ++-----
 .../Regress.FooSubInterfaceIface-do_bar.page}      |   23 ++-----
 .../Regress.FooSubInterfaceIface-do_baz.page}      |   23 ++-----
 ...Regress.FooSubInterfaceIface-parent_iface.page} |   23 ++-----
 ...Regress.FooSubInterfaceIface.destroy_event.page |   35 ++++++-----
 .../Regress.FooSubInterfaceIface.do_bar.page       |   35 ++++++-----
 .../Regress.FooSubInterfaceIface.do_baz.page       |   45 +++++++++-----
 .../Regress.FooSubInterfaceIface.page              |   42 ++++++++-----
 .../Regress.FooSubobject-parent_instance.page}     |   23 ++-----
 .../Regress.FooSubobject.new.page                  |   16 +----
 .../Regress.FooSubobject.page                      |   27 ++++-----
 .../Regress.FooSubobjectClass-parent_class.page}   |   23 ++-----
 .../Regress.FooSubobjectClass.page                 |   42 ++++++++-----
 .../Regress.FooThingWithArray-data.page}           |   23 ++-----
 .../Regress.FooThingWithArray-lines.page}          |   23 ++-----
 .../Regress.FooThingWithArray-x.page}              |   23 ++-----
 .../Regress.FooThingWithArray-y.page}              |   23 ++-----
 .../Regress.FooThingWithArray.page                 |   42 ++++++++-----
 .../Regress.FooUnion-regress_foo.page}             |   23 ++-----
 .../Regress-1.0-C-expected/Regress.FooUnion.page   |   42 ++++++++-----
 .../Regress.FooUtilityStruct-bar.page}             |   23 ++-----
 .../Regress.FooUtilityStruct.page                  |   42 ++++++++-----
 .../Regress.FooVarargsCallback.page                |   40 ++++++++-----
 .../Regress-1.0-C-expected/Regress.FooXEvent.page  |   17 +----
 .../Regress.GI_SCANNER_ELSE.page}                  |   21 ++-----
 .../Regress.GI_SCANNER_IFDEF.page}                 |   21 ++-----
 .../Regress.GUINT64_CONSTANT.page}                 |   21 ++-----
 .../Regress.GUINT64_CONSTANTA.page}                |   21 ++-----
 .../Regress.G_GINT64_CONSTANT.page}                |   21 ++-----
 .../Regress.INT_CONSTANT.page}                     |   21 ++-----
 .../Regress-1.0-C-expected/Regress.IntSet.page     |   17 +----
 .../Regress.LONG_STRING_CONSTANT.page}             |   21 ++-----
 ....LikeGnomeKeyringPasswordSchema-attributes.page |   16 +++++
 ...gress.LikeGnomeKeyringPasswordSchema-dummy.page |   16 +++++
 ...ress.LikeGnomeKeyringPasswordSchema-dummy2.page |   16 +++++
 .../Regress.LikeGnomeKeyringPasswordSchema.page    |   42 ++++++++-----
 .../Regress.LikeXklConfigItem-name.page}           |   23 ++-----
 .../Regress.LikeXklConfigItem.page                 |   42 ++++++++-----
 .../Regress.LikeXklConfigItem.set_name.page        |   16 +----
 .../Regress.MAXUINT64.page}                        |   21 ++-----
 .../Regress.MININT64.page}                         |   21 ++-----
 .../Regress.Mixed_Case_Constant.page}              |   21 ++-----
 .../Regress.NEGATIVE_INT_CONSTANT.page}            |   21 ++-----
 .../Regress.PtrArrayAlias.page                     |   17 +----
 .../Regress.STRING_CONSTANT.page}                  |   21 ++-----
 .../Regress.SkippedStructure-v.page}               |   23 ++-----
 .../Regress.SkippedStructure-x.page}               |   23 ++-----
 .../Regress.SkippedStructure.page                  |   42 ++++++++-----
 .../Regress.TestABCError.page                      |   17 +----
 .../Regress.TestABCError.quark.page                |   16 +----
 .../Regress.TestBoxed-nested_a.page}               |   23 ++-----
 .../Regress.TestBoxed-priv.page}                   |   23 ++-----
 .../Regress.TestBoxed-some_int8.page}              |   23 ++-----
 .../Regress.TestBoxed.copy.page                    |   16 +----
 .../Regress.TestBoxed.equals.page                  |   16 +----
 .../Regress.TestBoxed.new.page                     |   16 +----
 ...ess.TestBoxed.new_alternative_constructor1.page |   16 +----
 ...ess.TestBoxed.new_alternative_constructor2.page |   16 +----
 ...ess.TestBoxed.new_alternative_constructor3.page |   16 +----
 .../Regress-1.0-C-expected/Regress.TestBoxed.page  |   42 ++++++++-----
 .../Regress.TestBoxedB-some_int8.page}             |   23 ++-----
 .../Regress.TestBoxedB-some_long.page}             |   23 ++-----
 .../Regress.TestBoxedB.copy.page                   |   16 +----
 .../Regress.TestBoxedB.new.page                    |   16 +----
 .../Regress-1.0-C-expected/Regress.TestBoxedB.page |   42 ++++++++-----
 .../Regress.TestBoxedC-another_thing.page}         |   23 ++-----
 .../Regress.TestBoxedC-refcount.page}              |   23 ++-----
 .../Regress.TestBoxedC.new.page                    |   16 +----
 .../Regress-1.0-C-expected/Regress.TestBoxedC.page |   42 ++++++++-----
 .../Regress.TestBoxedD.copy.page                   |   16 +----
 .../Regress.TestBoxedD.free.page                   |   16 +----
 .../Regress.TestBoxedD.get_magic.page              |   16 +----
 .../Regress.TestBoxedD.new.page                    |   16 +----
 .../Regress-1.0-C-expected/Regress.TestBoxedD.page |   42 ++++++++-----
 .../Regress.TestCallback.page                      |   31 +++++-----
 .../Regress.TestCallbackArray.page                 |   50 +++++++++++-----
 .../Regress.TestCallbackFull.page                  |   45 +++++++++-----
 .../Regress.TestCallbackGError.page                |   35 ++++++-----
 .../Regress.TestCallbackHashtable.page             |   35 ++++++-----
 .../Regress.TestCallbackOwnedGError.page           |   35 ++++++-----
 .../Regress.TestCallbackUserData.page              |   35 ++++++-----
 .../Regress.TestDEFError.page                      |   17 +----
 .../Regress-1.0-C-expected/Regress.TestEnum.page   |   17 +----
 .../Regress.TestEnum.param.page                    |   16 +----
 .../Regress.TestEnumNoGEnum.page                   |   17 +----
 .../Regress.TestEnumUnsigned.page                  |   17 +----
 .../Regress-1.0-C-expected/Regress.TestError.page  |   17 +----
 .../Regress.TestError.quark.page                   |   16 +----
 .../Regress-1.0-C-expected/Regress.TestFlags.page  |   17 +----
 .../Regress.TestFloating-parent_instance.page}     |   23 ++-----
 .../Regress.TestFloating.new.page                  |   18 +----
 .../Regress.TestFloating.page                      |   27 ++++-----
 .../Regress.TestFloatingClass-parent_class.page}   |   23 ++-----
 .../Regress.TestFloatingClass.page                 |   42 ++++++++-----
 .../Regress.TestFundamentalObject-flags.page}      |   23 ++-----
 .../Regress.TestFundamentalObject-instance.page}   |   23 ++-----
 .../Regress.TestFundamentalObject-refcount.page}   |   23 ++-----
 .../Regress.TestFundamentalObject.page             |   27 ++++-----
 .../Regress.TestFundamentalObject.ref.page         |   18 +----
 .../Regress.TestFundamentalObject.unref.page       |   16 +----
 .../Regress.TestFundamentalObjectClass-copy.page}  |   23 ++-----
 ...gress.TestFundamentalObjectClass-finalize.page} |   23 ++-----
 ...ess.TestFundamentalObjectClass-type_class.page} |   23 ++-----
 .../Regress.TestFundamentalObjectClass.page        |   42 ++++++++-----
 .../Regress.TestFundamentalObjectCopyFunction.page |   35 ++++++-----
 ...ress.TestFundamentalObjectFinalizeFunction.page |   35 ++++++-----
 .../Regress.TestFundamentalSubObject-data.page}    |   23 ++-----
 ...estFundamentalSubObject-fundamental_object.page |   14 ++++
 .../Regress.TestFundamentalSubObject.new.page      |   16 +----
 .../Regress.TestFundamentalSubObject.page          |   27 ++++-----
 ...talSubObjectClass-fundamental_object_class.page |   14 ++++
 .../Regress.TestFundamentalSubObjectClass.page     |   42 ++++++++-----
 ...gress.TestInheritDrawable-parent_instance.page} |   23 ++-----
 .../Regress.TestInheritDrawable.do_foo.page        |   16 +----
 ...ess.TestInheritDrawable.do_foo_maybe_throw.page |   16 +----
 .../Regress.TestInheritDrawable.get_origin.page    |   16 +----
 .../Regress.TestInheritDrawable.get_size.page      |   16 +----
 .../Regress.TestInheritDrawable.page               |   27 ++++-----
 ...ess.TestInheritDrawableClass-parent_class.page} |   23 ++-----
 .../Regress.TestInheritDrawableClass.page          |   42 ++++++++-----
 ....TestInheritPixmapObjectClass-parent_class.page |   14 ++++
 .../Regress.TestInheritPixmapObjectClass.page      |   42 ++++++++-----
 .../Regress.TestInterface.page                     |   41 ++++++-------
 .../Regress.TestInterfaceIface-base_iface.page}    |   23 ++-----
 .../Regress.TestInterfaceIface.page                |   42 ++++++++-----
 .../Regress.TestObj-all.page                       |   16 +----
 .../Regress.TestObj-allow_none_vfunc.page          |   18 +----
 .../Regress.TestObj-bare.page                      |   15 +----
 .../Regress.TestObj-boxed.page                     |   15 +----
 .../Regress.TestObj-cleanup.page                   |   16 +----
 .../Regress.TestObj-double.page                    |   15 +----
 .../Regress.TestObj-first.page                     |   16 +----
 .../Regress.TestObj-float.page                     |   15 +----
 .../Regress.TestObj-gtype.page                     |   15 +----
 .../Regress.TestObj-hash-table-old.page            |   15 +----
 .../Regress.TestObj-hash-table.page                |   15 +----
 .../Regress.TestObj-hash_table.page}               |   23 ++-----
 .../Regress.TestObj-int.page                       |   15 +----
 .../Regress.TestObj-list-old.page                  |   15 +----
 .../Regress.TestObj-list.page                      |   15 +----
 .../Regress.TestObj-matrix.page                    |   22 ++-----
 .../Regress.TestObj-parent_instance.page}          |   23 ++-----
 .../Regress.TestObj-sig-with-array-len-prop.page   |   20 ++-----
 .../Regress.TestObj-sig-with-array-prop.page       |   20 ++-----
 .../Regress.TestObj-sig-with-foreign-struct.page   |   18 +----
 .../Regress.TestObj-sig-with-hash-prop.page        |   18 +----
 .../Regress.TestObj-sig-with-int64-prop.page       |   20 ++-----
 .../Regress.TestObj-sig-with-intarray-ret.page     |   18 +----
 .../Regress.TestObj-sig-with-obj.page              |   20 ++-----
 .../Regress.TestObj-sig-with-strv.page             |   18 +----
 .../Regress.TestObj-sig-with-uint64-prop.page      |   20 ++-----
 .../Regress.TestObj-some_double.page}              |   23 ++-----
 .../Regress.TestObj-some_float.page}               |   23 ++-----
 .../Regress.TestObj-some_int8.page}                |   23 ++-----
 .../Regress.TestObj-string.page                    |   15 +----
 ...Regress.TestObj-test-with-static-scope-arg.page |   16 +----
 .../Regress.TestObj-test.page                      |   16 +----
 .../Regress.TestObj.constructor.page               |   16 +----
 .../Regress.TestObj.do_matrix.page                 |   22 ++-----
 ...gress.TestObj.emit_sig_with_foreign_struct.page |   16 +----
 .../Regress.TestObj.emit_sig_with_int64.page       |   16 +----
 .../Regress.TestObj.emit_sig_with_obj.page         |   16 +----
 .../Regress.TestObj.emit_sig_with_uint64.page      |   16 +----
 .../Regress.TestObj.forced_method.page             |   18 +----
 .../Regress.TestObj.instance_method.page           |   16 +----
 .../Regress.TestObj.instance_method_callback.page  |   16 +----
 .../Regress.TestObj.new.page                       |   18 +----
 .../Regress.TestObj.new_callback.page              |   16 +----
 .../Regress.TestObj.new_from_file.page             |   16 +----
 .../Regress.TestObj.null_out.page                  |   18 +----
 .../Regress-1.0-C-expected/Regress.TestObj.page    |   27 ++++-----
 .../Regress.TestObj.set_bare.page                  |   16 +----
 .../Regress.TestObj.skip_inout_param.page          |   34 ++++-------
 .../Regress.TestObj.skip_out_param.page            |   34 ++++-------
 .../Regress.TestObj.skip_param.page                |   34 ++++-------
 .../Regress.TestObj.skip_return_val.page           |   34 ++++-------
 .../Regress.TestObj.skip_return_val_no_out.page    |   24 ++-----
 .../Regress.TestObj.static_method.page             |   16 +----
 .../Regress.TestObj.static_method_callback.page    |   16 +----
 .../Regress.TestObj.torture_signature_0.page       |   18 +----
 .../Regress.TestObj.torture_signature_1.page       |   18 +----
 .../Regress.TestObjClass-_regress_reserved1.page}  |   23 ++-----
 .../Regress.TestObjClass-_regress_reserved2.page}  |   23 ++-----
 .../Regress.TestObjClass-allow_none_vfunc.page}    |   23 ++-----
 .../Regress.TestObjClass-matrix.page}              |   23 ++-----
 .../Regress.TestObjClass-parent_class.page}        |   23 ++-----
 .../Regress.TestObjClass-test_signal.page}         |   23 ++-----
 ...ObjClass-test_signal_with_static_scope_arg.page |   14 ++++
 .../Regress.TestObjClass._regress_reserved1.page   |   31 +++++-----
 .../Regress.TestObjClass._regress_reserved2.page   |   31 +++++-----
 .../Regress.TestObjClass.allow_none_vfunc.page     |   40 ++++++++-----
 .../Regress.TestObjClass.matrix.page               |   40 ++++++++-----
 .../Regress.TestObjClass.page                      |   42 ++++++++-----
 .../Regress.TestOtherError.page                    |   17 +----
 .../Regress.TestOtherError.quark.page              |   16 +----
 .../Regress.TestPrivateEnum.page                   |   17 +----
 ...ss.TestPrivateStruct-this_is_public_after.page} |   23 ++-----
 ...s.TestPrivateStruct-this_is_public_before.page} |   23 ++-----
 .../Regress.TestPrivateStruct.page                 |   42 ++++++++-----
 .../Regress.TestReferenceEnum.page                 |   17 +----
 .../Regress.TestSimpleBoxedA-some_double.page}     |   23 ++-----
 .../Regress.TestSimpleBoxedA-some_enum.page}       |   23 ++-----
 .../Regress.TestSimpleBoxedA-some_int.page}        |   23 ++-----
 .../Regress.TestSimpleBoxedA-some_int8.page}       |   23 ++-----
 .../Regress.TestSimpleBoxedA.const_return.page     |   16 +----
 .../Regress.TestSimpleBoxedA.copy.page             |   16 +----
 .../Regress.TestSimpleBoxedA.equals.page           |   16 +----
 .../Regress.TestSimpleBoxedA.page                  |   42 ++++++++-----
 .../Regress.TestSimpleBoxedB-nested_a.page}        |   23 ++-----
 .../Regress.TestSimpleBoxedB-some_int8.page}       |   23 ++-----
 .../Regress.TestSimpleBoxedB.copy.page             |   16 +----
 .../Regress.TestSimpleBoxedB.page                  |   42 ++++++++-----
 .../Regress.TestSimpleCallback.page                |   31 +++++-----
 .../Regress.TestStructA-some_double.page}          |   23 ++-----
 .../Regress.TestStructA-some_enum.page}            |   23 ++-----
 .../Regress.TestStructA-some_int.page}             |   23 ++-----
 .../Regress.TestStructA-some_int8.page}            |   23 ++-----
 .../Regress.TestStructA.clone.page                 |   20 ++-----
 .../Regress.TestStructA.page                       |   42 ++++++++-----
 .../Regress.TestStructA.parse.page                 |   20 ++-----
 .../Regress.TestStructB-nested_a.page}             |   23 ++-----
 .../Regress.TestStructB-some_int8.page}            |   23 ++-----
 .../Regress.TestStructB.clone.page                 |   20 ++-----
 .../Regress.TestStructB.page                       |   42 ++++++++-----
 .../Regress.TestStructC-another_int.page}          |   23 ++-----
 .../Regress.TestStructC-obj.page}                  |   23 ++-----
 .../Regress.TestStructC.page                       |   42 ++++++++-----
 .../Regress.TestStructD-array1.page}               |   23 ++-----
 .../Regress.TestStructD-array2.page}               |   23 ++-----
 .../Regress.TestStructD-field.page}                |   23 ++-----
 .../Regress.TestStructD-garray.page}               |   23 ++-----
 .../Regress.TestStructD-list.page}                 |   23 ++-----
 .../Regress.TestStructD.page                       |   42 ++++++++-----
 .../Regress.TestStructE-some_type.page}            |   23 ++-----
 .../Regress.TestStructE-some_union.page}           |   23 ++-----
 .../Regress.TestStructE.page                       |   42 ++++++++-----
 ...ss.TestStructE__some_union__union-v_double.page |   16 +++++
 ...ess.TestStructE__some_union__union-v_float.page |   16 +++++
 ...gress.TestStructE__some_union__union-v_int.page |   16 +++++
 ...ess.TestStructE__some_union__union-v_int64.page |   16 +++++
 ...ress.TestStructE__some_union__union-v_long.page |   16 +++++
 ...s.TestStructE__some_union__union-v_pointer.page |   16 +++++
 ...ress.TestStructE__some_union__union-v_uint.page |   16 +++++
 ...ss.TestStructE__some_union__union-v_uint64.page |   16 +++++
 ...ess.TestStructE__some_union__union-v_ulong.page |   16 +++++
 .../Regress.TestStructE__some_union__union.page    |   42 ++++++++-----
 .../Regress.TestStructF-data1.page}                |   23 ++-----
 .../Regress.TestStructF-data2.page}                |   23 ++-----
 .../Regress.TestStructF-data3.page}                |   23 ++-----
 .../Regress.TestStructF-data4.page}                |   23 ++-----
 .../Regress.TestStructF-data5.page}                |   23 ++-----
 .../Regress.TestStructF-data6.page}                |   23 ++-----
 .../Regress.TestStructF-ref_count.page}            |   23 ++-----
 .../Regress.TestStructF.page                       |   42 ++++++++-----
 .../Regress.TestStructFixedArray-array.page}       |   23 ++-----
 .../Regress.TestStructFixedArray-just_int.page}    |   23 ++-----
 .../Regress.TestStructFixedArray.frob.page         |   16 +----
 .../Regress.TestStructFixedArray.page              |   42 ++++++++-----
 .../Regress.TestSubObj-parent_instance.page}       |   23 ++-----
 .../Regress.TestSubObj.instance_method.page        |   16 +----
 .../Regress.TestSubObj.new.page                    |   16 +----
 .../Regress-1.0-C-expected/Regress.TestSubObj.page |   27 ++++-----
 .../Regress.TestSubObj.unset_bare.page             |   16 +----
 .../Regress.TestSubObjClass-parent_class.page}     |   23 ++-----
 .../Regress.TestSubObjClass.page                   |   42 ++++++++-----
 .../Regress.TestTypeGUInt64.page                   |   17 +----
 .../Regress.TestWi8021x-parent_instance.page}      |   23 ++-----
 .../Regress.TestWi8021x-testbool.page              |   15 +----
 .../Regress.TestWi8021x.get_testbool.page          |   16 +----
 .../Regress.TestWi8021x.new.page                   |   16 +----
 .../Regress.TestWi8021x.page                       |   27 ++++-----
 .../Regress.TestWi8021x.set_testbool.page          |   16 +----
 .../Regress.TestWi8021x.static_method.page         |   16 +----
 .../Regress.TestWi8021xClass-parent_class.page}    |   23 ++-----
 .../Regress.TestWi8021xClass.page                  |   42 ++++++++-----
 .../Regress.UTF8_CONSTANT.page}                    |   21 ++-----
 .../Regress.VaListAlias.page                       |   17 +----
 .../Regress.aliased_caller_alloc.page              |   16 +----
 .../Regress.annotation_attribute_func.page         |   22 ++-----
 .../Regress.annotation_custom_destroy.page         |   20 ++-----
 .../Regress.annotation_get_source_file.page        |   18 +----
 .../Regress.annotation_init.page                   |   20 ++-----
 ...ress.annotation_invalid_regress_annotation.page |   18 +----
 .../Regress.annotation_ptr_array.page              |   18 +----
 .../Regress.annotation_return_array.page           |   20 ++-----
 .../Regress.annotation_return_filename.page        |   18 +----
 .../Regress.annotation_set_source_file.page        |   18 +----
 ...s.annotation_space_after_comment_bug631690.page |   16 +----
 .../Regress.annotation_string_array_length.page    |   16 +----
 .../Regress.annotation_string_zero_terminated.page |   18 +----
 ...ress.annotation_string_zero_terminated_out.page |   16 +----
 .../Regress.annotation_test_parsing_bug630862.page |   18 +----
 .../Regress.annotation_transfer_floating.page      |   18 +----
 .../Regress.annotation_versioned.page              |   17 +----
 .../Regress.atest_error_quark.page                 |   16 +----
 .../Regress.foo_async_ready_callback.page          |   16 +----
 .../Regress.foo_destroy_notify_callback.page       |   16 +----
 .../Regress-1.0-C-expected/Regress.foo_init.page   |   16 +----
 .../Regress.foo_method_external_references.page    |   16 +----
 .../Regress.foo_not_a_constructor_new.page         |   18 +----
 .../Regress.foo_skip_me.page                       |   20 ++-----
 .../Regress.foo_some_variant.page                  |   16 +----
 .../Regress.foo_some_variant_ptr.page              |   16 +----
 .../Regress.foo_test_array.page                    |   16 +----
 .../Regress.foo_test_const_char_param.page         |   16 +----
 .../Regress.foo_test_const_char_retval.page        |   16 +----
 .../Regress.foo_test_const_struct_param.page       |   16 +----
 .../Regress.foo_test_const_struct_retval.page      |   16 +----
 .../Regress.foo_test_string_array.page             |   16 +----
 .../Regress.foo_test_string_array_with_g.page      |   16 +----
 .../Regress.foo_test_unsigned_qualifier.page       |   16 +----
 .../Regress.foo_test_unsigned_type.page            |   16 +----
 .../Regress.foo_test_varargs_callback.page         |   16 +----
 .../Regress.foo_test_varargs_callback2.page        |   16 +----
 .../Regress.foo_test_varargs_callback3.page        |   16 +----
 .../Regress.func_obj_null_in.page                  |   18 +----
 .../Regress.global_get_flags_out.page              |   18 +----
 .../Regress.has_parameter_named_attrs.page         |   22 ++-----
 .../Regress.introspectable_via_alias.page          |   16 +----
 .../Regress.not_introspectable_via_alias.page      |   16 +----
 ...ess.random_function_with_skipped_structure.page |   16 +----
 .../Regress.set_abort_on_error.page                |   16 +----
 .../Regress.test_array_callback.page               |   16 +----
 .../Regress.test_array_fixed_out_objects.page      |   18 +----
 .../Regress.test_array_fixed_size_int_in.page      |   20 ++-----
 .../Regress.test_array_fixed_size_int_out.page     |   18 +----
 .../Regress.test_array_fixed_size_int_return.page  |   18 +----
 .../Regress.test_array_gint16_in.page              |   18 +----
 .../Regress.test_array_gint32_in.page              |   18 +----
 .../Regress.test_array_gint64_in.page              |   18 +----
 .../Regress.test_array_gint8_in.page               |   18 +----
 .../Regress.test_array_gtype_in.page               |   20 ++-----
 .../Regress.test_array_int_full_out.page           |   20 ++-----
 .../Regress.test_array_int_in.page                 |   18 +----
 .../Regress.test_array_int_inout.page              |   20 ++-----
 .../Regress.test_array_int_none_out.page           |   20 ++-----
 .../Regress.test_array_int_null_in.page            |   18 +----
 .../Regress.test_array_int_null_out.page           |   18 +----
 .../Regress.test_array_int_out.page                |   20 ++-----
 .../Regress.test_async_ready_callback.page         |   16 +----
 .../Regress.test_boolean.page                      |   16 +----
 .../Regress.test_boolean_false.page                |   16 +----
 .../Regress.test_boolean_true.page                 |   16 +----
 .../Regress.test_cairo_context_full_return.page    |   16 +----
 .../Regress.test_cairo_context_none_in.page        |   16 +----
 .../Regress.test_cairo_surface_full_out.page       |   16 +----
 .../Regress.test_cairo_surface_full_return.page    |   16 +----
 .../Regress.test_cairo_surface_none_in.page        |   16 +----
 .../Regress.test_cairo_surface_none_return.page    |   16 +----
 .../Regress.test_callback.page                     |   16 +----
 .../Regress.test_callback_async.page               |   16 +----
 .../Regress.test_callback_destroy_notify.page      |   18 +----
 ....test_callback_destroy_notify_no_user_data.page |   18 +----
 .../Regress.test_callback_thaw_async.page          |   16 +----
 .../Regress.test_callback_thaw_notifications.page  |   20 ++-----
 .../Regress.test_callback_user_data.page           |   18 +----
 .../Regress.test_closure.page                      |   16 +----
 .../Regress.test_closure_one_arg.page              |   16 +----
 .../Regress.test_closure_variant.page              |   22 ++-----
 .../Regress.test_date_in_gvalue.page               |   16 +----
 .../Regress.test_def_error_quark.page              |   16 +----
 .../Regress.test_double.page                       |   16 +----
 .../Regress.test_filename_return.page              |   18 +----
 .../Regress-1.0-C-expected/Regress.test_float.page |   16 +----
 .../Regress.test_garray_container_return.page      |   16 +----
 .../Regress.test_garray_full_return.page           |   16 +----
 .../Regress.test_gerror_callback.page              |   16 +----
 .../Regress.test_ghash_container_return.page       |   16 +----
 .../Regress.test_ghash_everything_return.page      |   16 +----
 .../Regress.test_ghash_gvalue_in.page              |   18 +----
 .../Regress.test_ghash_gvalue_return.page          |   16 +----
 ...egress.test_ghash_nested_everything_return.page |   16 +----
 ...gress.test_ghash_nested_everything_return2.page |   18 +----
 .../Regress.test_ghash_nothing_in.page             |   16 +----
 .../Regress.test_ghash_nothing_in2.page            |   16 +----
 .../Regress.test_ghash_nothing_return.page         |   16 +----
 .../Regress.test_ghash_nothing_return2.page        |   16 +----
 .../Regress.test_ghash_null_in.page                |   16 +----
 .../Regress.test_ghash_null_out.page               |   16 +----
 .../Regress.test_ghash_null_return.page            |   16 +----
 .../Regress.test_glist_container_return.page       |   16 +----
 .../Regress.test_glist_everything_return.page      |   16 +----
 .../Regress.test_glist_nothing_in.page             |   16 +----
 .../Regress.test_glist_nothing_in2.page            |   16 +----
 .../Regress.test_glist_nothing_return.page         |   16 +----
 .../Regress.test_glist_nothing_return2.page        |   16 +----
 .../Regress.test_glist_null_in.page                |   16 +----
 .../Regress.test_glist_null_out.page               |   16 +----
 .../Regress.test_gslist_container_return.page      |   16 +----
 .../Regress.test_gslist_everything_return.page     |   16 +----
 .../Regress.test_gslist_nothing_in.page            |   16 +----
 .../Regress.test_gslist_nothing_in2.page           |   16 +----
 .../Regress.test_gslist_nothing_return.page        |   16 +----
 .../Regress.test_gslist_nothing_return2.page       |   16 +----
 .../Regress.test_gslist_null_in.page               |   16 +----
 .../Regress.test_gslist_null_out.page              |   16 +----
 .../Regress-1.0-C-expected/Regress.test_gtype.page |   16 +----
 .../Regress.test_gvariant_as.page                  |   18 +----
 .../Regress.test_gvariant_asv.page                 |   18 +----
 .../Regress.test_gvariant_i.page                   |   18 +----
 .../Regress.test_gvariant_s.page                   |   18 +----
 .../Regress.test_gvariant_v.page                   |   18 +----
 .../Regress.test_hash_table_callback.page          |   18 +----
 .../Regress-1.0-C-expected/Regress.test_int.page   |   16 +----
 .../Regress-1.0-C-expected/Regress.test_int16.page |   16 +----
 .../Regress-1.0-C-expected/Regress.test_int32.page |   16 +----
 .../Regress-1.0-C-expected/Regress.test_int64.page |   16 +----
 .../Regress-1.0-C-expected/Regress.test_int8.page  |   16 +----
 .../Regress.test_int_out_utf8.page                 |   16 +----
 .../Regress.test_int_value_arg.page                |   16 +----
 .../Regress-1.0-C-expected/Regress.test_long.page  |   16 +----
 .../Regress.test_multi_callback.page               |   16 +----
 .../Regress.test_multi_double_args.page            |   16 +----
 .../Regress.test_multiline_doc_comments.page       |   16 +----
 .../Regress.test_nested_parameter.page             |   22 ++-----
 .../Regress.test_null_gerror_callback.page         |   16 +----
 .../Regress.test_owned_gerror_callback.page        |   16 +----
 .../Regress-1.0-C-expected/Regress.test_short.page |   16 +----
 .../Regress.test_simple_callback.page              |   16 +----
 .../Regress-1.0-C-expected/Regress.test_size.page  |   16 +----
 .../Regress.test_skip_unannotated_callback.page    |   20 ++-----
 .../Regress-1.0-C-expected/Regress.test_ssize.page |   16 +----
 .../Regress.test_strv_in.page                      |   16 +----
 .../Regress.test_strv_in_gvalue.page               |   16 +----
 .../Regress.test_strv_out.page                     |   16 +----
 .../Regress.test_strv_out_c.page                   |   16 +----
 .../Regress.test_strv_out_container.page           |   16 +----
 .../Regress.test_strv_outarg.page                  |   16 +----
 .../Regress-1.0-C-expected/Regress.test_timet.page |   16 +----
 .../Regress.test_torture_signature_0.page          |   16 +----
 .../Regress.test_torture_signature_1.page          |   16 +----
 .../Regress.test_torture_signature_2.page          |   16 +----
 .../Regress-1.0-C-expected/Regress.test_uint.page  |   16 +----
 .../Regress.test_uint16.page                       |   16 +----
 .../Regress.test_uint32.page                       |   16 +----
 .../Regress.test_uint64.page                       |   16 +----
 .../Regress-1.0-C-expected/Regress.test_uint8.page |   16 +----
 .../Regress-1.0-C-expected/Regress.test_ulong.page |   16 +----
 .../Regress.test_unichar.page                      |   16 +----
 .../Regress.test_unsigned_enum_param.page          |   16 +----
 .../Regress.test_ushort.page                       |   16 +----
 .../Regress.test_utf8_const_in.page                |   16 +----
 .../Regress.test_utf8_const_return.page            |   18 +----
 .../Regress.test_utf8_inout.page                   |   16 +----
 .../Regress.test_utf8_nonconst_return.page         |   18 +----
 .../Regress.test_utf8_null_in.page                 |   16 +----
 .../Regress.test_utf8_null_out.page                |   16 +----
 .../Regress.test_utf8_out.page                     |   16 +----
 .../Regress.test_utf8_out_nonconst_return.page     |   20 ++-----
 .../Regress.test_utf8_out_out.page                 |   20 ++-----
 .../Regress.test_value_get_fundamental_object.page |   16 +----
 .../Regress.test_value_return.page                 |   20 ++-----
 .../Regress.test_value_set_fundamental_object.page |   16 +----
 .../Regress.test_versioning.page                   |   17 +----
 tests/scanner/Regress-1.0-C-expected/index.page    |   18 +-----
 ...e => Regress.ANNOTATION_CALCULATED_DEFINE.page} |   21 ++-----
 ...ge => Regress.ANNOTATION_CALCULATED_LARGE.page} |   21 ++-----
 ...> Regress.ANNOTATION_CALCULATED_LARGE_DIV.page} |   21 ++-----
 .../Regress.ATestError.page                        |   16 +----
 .../Regress.AliasedTestBoxed.page                  |   17 +----
 .../Regress.AnAnonymousUnion-x.page                |   18 ++++++
 .../Regress.AnAnonymousUnion.page                  |   47 ++++++++++-----
 .../Regress.AnnotationBitfield.page                |   17 +----
 .../Regress.AnnotationCallback.page                |   34 ++++++-----
 .../Regress.AnnotationFields-arr.page              |   18 ++++++
 .../Regress.AnnotationFields-field1.page           |   18 ++++++
 .../Regress.AnnotationFields-len.page              |   18 ++++++
 .../Regress.AnnotationFields.page                  |   49 +++++++++++-----
 .../Regress.AnnotationForeachFunc.page             |   34 ++++++-----
 .../Regress.AnnotationListCallback.page            |   34 ++++++-----
 .../Regress.AnnotationNotifyFunc.page              |   26 ++++-----
 .../Regress.AnnotationObject-attribute-signal.page |   26 +++------
 ...ess.AnnotationObject-doc-empty-arg-parsing.page |   20 ++-----
 ...Regress.AnnotationObject-function-property.page |   21 ++-----
 .../Regress.AnnotationObject-list-signal.page      |   24 ++-----
 .../Regress.AnnotationObject-string-property.page  |   24 ++------
 .../Regress.AnnotationObject-string-signal.page    |   25 ++------
 .../Regress.AnnotationObject-tab-property.page     |   24 ++------
 .../Regress.AnnotationObject.allow_none.page       |   20 ++-----
 .../Regress.AnnotationObject.calleeowns.page       |   28 ++++-----
 .../Regress.AnnotationObject.calleesowns.page      |   32 +++++-----
 .../Regress.AnnotationObject.compute_sum.page      |   22 ++-----
 .../Regress.AnnotationObject.compute_sum_n.page    |   22 ++-----
 .../Regress.AnnotationObject.compute_sum_nz.page   |   22 ++-----
 .../Regress.AnnotationObject.create_object.page    |   20 ++-----
 .../Regress.AnnotationObject.do_not_use.page       |   20 ++-----
 .../Regress.AnnotationObject.extra_annos.page      |   20 +-----
 .../Regress.AnnotationObject.foreach.page          |   20 ++-----
 .../Regress.AnnotationObject.get_hash.page         |   22 ++-----
 .../Regress.AnnotationObject.get_objects.page      |   24 ++-----
 .../Regress.AnnotationObject.get_strings.page      |   24 ++-----
 .../Regress.AnnotationObject.hidden_self.page      |   20 +-----
 .../Regress.AnnotationObject.in.page               |   26 +++------
 .../Regress.AnnotationObject.inout.page            |   32 ++++------
 .../Regress.AnnotationObject.inout2.page           |   32 ++++------
 .../Regress.AnnotationObject.inout3.page           |   32 ++++------
 .../Regress.AnnotationObject.method.page           |   22 ++-----
 .../Regress.AnnotationObject.notrans.page          |   20 ++-----
 .../Regress.AnnotationObject.out.page              |   28 ++++-----
 .../Regress.AnnotationObject.page                  |   27 ++++-----
 .../Regress.AnnotationObject.parse_args.page       |   26 +++-----
 .../Regress.AnnotationObject.set_data.page         |   22 ++-----
 .../Regress.AnnotationObject.set_data2.page        |   22 ++-----
 .../Regress.AnnotationObject.set_data3.page        |   24 ++-----
 .../Regress.AnnotationObject.string_out.page       |   26 +++-----
 .../Regress.AnnotationObject.use_buffer.page       |   20 ++-----
 .../Regress.AnnotationObject.watch_full.page       |   20 ++-----
 .../Regress.AnnotationObject.with_voidp.page       |   22 ++-----
 .../Regress.AnnotationStruct-objects.page          |   18 ++++++
 .../Regress.AnnotationStruct.page                  |   47 ++++++++++-----
 ...sUnion.None.page => Regress.BOOL_CONSTANT.page} |   21 ++-----
 ...nion.None.page => Regress.DOUBLE_CONSTANT.page} |   21 ++-----
 ...e => Regress.FOO_DEFINE_SHOULD_BE_EXPOSED.page} |   21 ++-----
 ...ion.None.page => Regress.FOO_PIE_IS_TASTY.page} |   21 ++-----
 ...nion.None.page => Regress.FOO_SUCCESS_INT.page} |   21 ++-----
 .../Regress.FooASingle.page                        |   16 +----
 .../Regress.FooAddressType.page                    |   16 +----
 .../Regress.FooBRect-x.page                        |   18 ++++++
 .../Regress.FooBRect-y.page                        |   18 ++++++
 .../Regress.FooBRect.add.page                      |   18 +----
 .../Regress.FooBRect.new.page                      |   58 ------------------
 .../Regress-1.0-Gjs-expected/Regress.FooBRect.page |   48 ++++++++++-----
 .../Regress.FooBUnion-rect.page                    |   18 ++++++
 .../Regress.FooBUnion-type.page                    |   18 ++++++
 .../Regress.FooBUnion-v.page                       |   18 ++++++
 .../Regress.FooBUnion.get_contained_type.page      |   20 ++-----
 .../Regress.FooBUnion.new.page                     |   42 -------------
 .../Regress.FooBUnion.page                         |   50 +++++++++++-----
 .../Regress.FooBoxed.method.page                   |   20 +-----
 .../Regress.FooBoxed.new.page                      |   42 -------------
 .../Regress-1.0-Gjs-expected/Regress.FooBoxed.page |   45 +++++++++-----
 .../Regress.FooBuffer.page                         |   27 ++++-----
 .../Regress.FooBuffer.some_method.page             |   20 +-----
 .../Regress.FooCallback.page                       |   42 ++++++++-----
 .../Regress.FooDBusData.method.page                |   20 +-----
 .../Regress.FooDBusData.page                       |   45 +++++++++-----
 .../Regress.FooEnumFullname.page                   |   16 +----
 .../Regress.FooEnumNoType.page                     |   16 +----
 .../Regress.FooEnumType.method.page                |   22 ++-----
 .../Regress.FooEnumType.page                       |   16 +----
 .../Regress.FooEnumType.returnv.page               |   22 ++-----
 .../Regress-1.0-Gjs-expected/Regress.FooError.page |   16 +----
 .../Regress.FooError.quark.page                    |   20 ++-----
 .../Regress.FooEvent-any.page                      |   18 ++++++
 .../Regress.FooEvent-expose.page                   |   18 ++++++
 .../Regress.FooEvent-type.page                     |   18 ++++++
 .../Regress-1.0-Gjs-expected/Regress.FooEvent.page |   51 +++++++++++-----
 .../Regress.FooEventAny-send_event.page            |   18 ++++++
 .../Regress.FooEventAny.page                       |   47 ++++++++++-----
 .../Regress.FooEventExpose-count.page              |   18 ++++++
 .../Regress.FooEventExpose-send_event.page         |   18 ++++++
 .../Regress.FooEventExpose.page                    |   48 ++++++++++-----
 .../Regress.FooFlagsNoType.page                    |   17 +----
 .../Regress.FooFlagsType.page                      |   17 +----
 .../Regress.FooForeignStruct-regress_foo.page      |   18 ++++++
 .../Regress.FooForeignStruct.copy.page             |   18 +----
 .../Regress.FooForeignStruct.new.page              |   42 -------------
 .../Regress.FooForeignStruct.page                  |   47 ++++++++++-----
 .../Regress.FooInterface-do_regress_foo.page       |   20 ++-----
 .../Regress.FooInterface.do_regress_foo.page       |   20 ++-----
 .../Regress.FooInterface.page                      |   39 ++++++-------
 .../Regress.FooInterface.static_method.page        |   22 ++-----
 .../Regress.FooObject-read_fn.page                 |   24 ++-----
 .../Regress.FooObject-signal.page                  |   20 ++-----
 .../Regress.FooObject-string.page                  |   21 ++-----
 .../Regress.FooObject-virtual_method.page          |   20 ++-----
 .../Regress.FooObject.a_global_method.page         |   20 ++-----
 .../Regress.FooObject.append_new_stack_layer.page  |   20 ++-----
 .../Regress.FooObject.dup_name.page                |   18 +----
 .../Regress.FooObject.external_type.page           |   20 ++-----
 .../Regress.FooObject.get_default.page             |   24 ++-----
 .../Regress.FooObject.get_name.page                |   18 +----
 .../Regress.FooObject.handle_glyph.page            |   18 +----
 .../Regress.FooObject.is_it_time_yet.page          |   20 ++-----
 .../Regress.FooObject.new.page                     |   42 -------------
 .../Regress.FooObject.new_as_super.page            |   42 -------------
 .../Regress.FooObject.page                         |   27 ++++-----
 .../Regress.FooObject.read.page                    |   26 +++------
 .../Regress.FooObject.static_meth.page             |   22 ++-----
 .../Regress.FooObject.various.page                 |   22 ++-----
 .../Regress.FooObject.virtual_method.page          |   22 ++-----
 .../Regress.FooObjectCookie.page                   |   17 +----
 .../Regress.FooOtherObject.page                    |   27 ++++-----
 .../Regress.FooRectangle-height.page               |   18 ++++++
 .../Regress.FooRectangle-width.page                |   18 ++++++
 .../Regress.FooRectangle-x.page                    |   18 ++++++
 .../Regress.FooRectangle-y.page                    |   18 ++++++
 .../Regress.FooRectangle.add.page                  |   20 ++-----
 .../Regress.FooRectangle.page                      |   50 +++++++++++-----
 .../Regress.FooStackLayer.page                     |   16 +----
 .../Regress.FooStruct-member.page                  |   18 ++++++
 .../Regress.FooStruct-priv.page                    |   18 ++++++
 .../Regress.FooStruct.page                         |   47 ++++++++++-----
 .../Regress.FooSubInterface-destroy-event.page     |   20 ++-----
 .../Regress.FooSubInterface-destroy_event.page     |   20 ++-----
 .../Regress.FooSubInterface-do_bar.page            |   20 ++-----
 .../Regress.FooSubInterface-do_baz.page            |   20 ++-----
 .../Regress.FooSubInterface.do_bar.page            |   20 +-----
 .../Regress.FooSubInterface.do_baz.page            |   18 +----
 .../Regress.FooSubInterface.page                   |   39 ++++++-------
 .../Regress.FooSubobject.new.page                  |   42 -------------
 .../Regress.FooSubobject.page                      |   27 ++++-----
 .../Regress.FooThingWithArray-data.page            |   18 ++++++
 .../Regress.FooThingWithArray-lines.page           |   18 ++++++
 .../Regress.FooThingWithArray-x.page               |   18 ++++++
 .../Regress.FooThingWithArray-y.page               |   18 ++++++
 .../Regress.FooThingWithArray.page                 |   50 +++++++++++-----
 .../Regress.FooUnion-regress_foo.page              |   18 ++++++
 .../Regress-1.0-Gjs-expected/Regress.FooUnion.page |   49 ++++++++++-----
 .../Regress.FooUtilityStruct-bar.page              |   18 ++++++
 .../Regress.FooUtilityStruct.page                  |   47 ++++++++++-----
 .../Regress.FooXEvent.page                         |   17 +----
 ...nion.None.page => Regress.GI_SCANNER_ELSE.page} |   21 ++-----
 ...ion.None.page => Regress.GI_SCANNER_IFDEF.page} |   21 ++-----
 ...ion.None.page => Regress.GUINT64_CONSTANT.page} |   21 ++-----
 ...on.None.page => Regress.GUINT64_CONSTANTA.page} |   21 ++-----
 ...on.None.page => Regress.G_GINT64_CONSTANT.page} |   21 ++-----
 ...usUnion.None.page => Regress.INT_CONSTANT.page} |   21 ++-----
 ...None.page => Regress.LONG_STRING_CONSTANT.page} |   21 ++-----
 ....LikeGnomeKeyringPasswordSchema-attributes.page |   20 ++++++
 ...gress.LikeGnomeKeyringPasswordSchema-dummy.page |   20 ++++++
 ...ress.LikeGnomeKeyringPasswordSchema-dummy2.page |   20 ++++++
 .../Regress.LikeGnomeKeyringPasswordSchema.page    |   49 +++++++++++-----
 .../Regress.LikeXklConfigItem-name.page            |   18 ++++++
 .../Regress.LikeXklConfigItem.page                 |   47 ++++++++++-----
 .../Regress.LikeXklConfigItem.set_name.page        |   18 +----
 ...ymousUnion.None.page => Regress.MAXUINT64.page} |   21 ++-----
 ...nymousUnion.None.page => Regress.MININT64.page} |   21 ++-----
 ....None.page => Regress.Mixed_Case_Constant.page} |   21 ++-----
 ...one.page => Regress.NEGATIVE_INT_CONSTANT.page} |   21 ++-----
 .../Regress.PtrArrayAlias.page                     |   17 +----
 ...nion.None.page => Regress.STRING_CONSTANT.page} |   21 ++-----
 .../Regress.TestABCError.page                      |   16 +----
 .../Regress.TestABCError.quark.page                |   20 ++-----
 .../Regress.TestBoxed-nested_a.page                |   18 ++++++
 .../Regress.TestBoxed-priv.page                    |   18 ++++++
 .../Regress.TestBoxed-some_int8.page               |   18 ++++++
 .../Regress.TestBoxed.copy.page                    |   18 +----
 .../Regress.TestBoxed.equals.page                  |   20 ++-----
 .../Regress.TestBoxed.new.page                     |   42 -------------
 ...ess.TestBoxed.new_alternative_constructor1.page |   20 ++-----
 ...ess.TestBoxed.new_alternative_constructor2.page |   22 ++-----
 ...ess.TestBoxed.new_alternative_constructor3.page |   18 +----
 .../Regress.TestBoxed.page                         |   48 ++++++++++-----
 .../Regress.TestBoxedB-some_int8.page              |   18 ++++++
 .../Regress.TestBoxedB-some_long.page              |   18 ++++++
 .../Regress.TestBoxedB.copy.page                   |   18 +----
 .../Regress.TestBoxedB.new.page                    |   58 ------------------
 .../Regress.TestBoxedB.page                        |   48 ++++++++++-----
 .../Regress.TestBoxedC-another_thing.page          |   18 ++++++
 .../Regress.TestBoxedC-refcount.page               |   18 ++++++
 .../Regress.TestBoxedC.new.page                    |   42 -------------
 .../Regress.TestBoxedC.page                        |   48 ++++++++++-----
 .../Regress.TestBoxedD.copy.page                   |   18 +----
 .../Regress.TestBoxedD.free.page                   |   20 +-----
 .../Regress.TestBoxedD.get_magic.page              |   20 ++-----
 .../Regress.TestBoxedD.new.page                    |   58 ------------------
 .../Regress.TestBoxedD.page                        |   45 +++++++++-----
 .../Regress.TestCallback.page                      |   30 +++++-----
 .../Regress.TestCallbackArray.page                 |   38 +++++++-----
 .../Regress.TestCallbackFull.page                  |   42 ++++++++-----
 .../Regress.TestCallbackGError.page                |   30 +++++-----
 .../Regress.TestCallbackHashtable.page             |   30 +++++-----
 .../Regress.TestCallbackOwnedGError.page           |   30 +++++-----
 .../Regress.TestCallbackUserData.page              |   30 +++++-----
 .../Regress.TestDEFError.page                      |   16 +----
 .../Regress-1.0-Gjs-expected/Regress.TestEnum.page |   20 ++-----
 .../Regress.TestEnum.param.page                    |   20 ++-----
 .../Regress.TestEnumNoGEnum.page                   |   16 +----
 .../Regress.TestEnumUnsigned.page                  |   16 +----
 .../Regress.TestError.page                         |   16 +----
 .../Regress.TestError.quark.page                   |   20 ++-----
 .../Regress.TestFlags.page                         |   17 +----
 .../Regress.TestFloating.new.page                  |   42 -------------
 .../Regress.TestFloating.page                      |   27 ++++-----
 .../Regress.TestFundamentalObject.page             |   60 -------------------
 .../Regress.TestFundamentalObject.ref.page         |   42 -------------
 .../Regress.TestFundamentalObject.unref.page       |   38 ------------
 .../Regress.TestFundamentalObjectCopyFunction.page |   34 ++++++-----
 ...ress.TestFundamentalObjectFinalizeFunction.page |   30 +++++-----
 .../Regress.TestFundamentalSubObject.new.page      |   52 ----------------
 .../Regress.TestFundamentalSubObject.page          |   63 --------------------
 .../Regress.TestInheritDrawable.do_foo.page        |   20 ++-----
 ...ess.TestInheritDrawable.do_foo_maybe_throw.page |   20 ++-----
 .../Regress.TestInheritDrawable.get_origin.page    |   26 ++++----
 .../Regress.TestInheritDrawable.get_size.page      |   26 ++++----
 .../Regress.TestInheritDrawable.page               |   27 ++++-----
 ....TestInheritPixmapObjectClass-parent_class.page |   18 ++++++
 .../Regress.TestInheritPixmapObjectClass.page      |   45 +++++++++-----
 .../Regress.TestInterface.page                     |   39 ++++++-------
 .../Regress.TestObj-all.page                       |   20 ++-----
 .../Regress.TestObj-allow_none_vfunc.page          |   22 ++-----
 .../Regress.TestObj-bare.page                      |   21 ++-----
 .../Regress.TestObj-boxed.page                     |   21 ++-----
 .../Regress.TestObj-cleanup.page                   |   20 ++-----
 .../Regress.TestObj-double.page                    |   21 ++-----
 .../Regress.TestObj-first.page                     |   20 ++-----
 .../Regress.TestObj-float.page                     |   21 ++-----
 .../Regress.TestObj-gtype.page                     |   21 ++-----
 .../Regress.TestObj-hash-table-old.page            |   21 ++-----
 .../Regress.TestObj-hash-table.page                |   21 ++-----
 .../Regress.TestObj-int.page                       |   21 ++-----
 .../Regress.TestObj-list-old.page                  |   21 ++-----
 .../Regress.TestObj-list.page                      |   21 ++-----
 .../Regress.TestObj-matrix.page                    |   24 ++-----
 .../Regress.TestObj-sig-with-array-len-prop.page   |   22 ++-----
 .../Regress.TestObj-sig-with-array-prop.page       |   24 ++-----
 .../Regress.TestObj-sig-with-foreign-struct.page   |   22 ++-----
 .../Regress.TestObj-sig-with-hash-prop.page        |   22 ++-----
 .../Regress.TestObj-sig-with-int64-prop.page       |   24 ++-----
 .../Regress.TestObj-sig-with-intarray-ret.page     |   22 ++-----
 .../Regress.TestObj-sig-with-obj.page              |   24 ++-----
 .../Regress.TestObj-sig-with-strv.page             |   22 ++-----
 .../Regress.TestObj-sig-with-uint64-prop.page      |   24 ++-----
 .../Regress.TestObj-string.page                    |   21 ++-----
 ...Regress.TestObj-test-with-static-scope-arg.page |   20 ++-----
 .../Regress.TestObj-test.page                      |   20 ++-----
 .../Regress.TestObj.constructor.page               |   42 -------------
 .../Regress.TestObj.do_matrix.page                 |   24 ++-----
 ...gress.TestObj.emit_sig_with_foreign_struct.page |   20 +-----
 .../Regress.TestObj.emit_sig_with_int64.page       |   20 +-----
 .../Regress.TestObj.emit_sig_with_obj.page         |   20 +-----
 .../Regress.TestObj.emit_sig_with_uint64.page      |   20 +-----
 .../Regress.TestObj.forced_method.page             |   20 +-----
 .../Regress.TestObj.instance_method.page           |   20 ++-----
 .../Regress.TestObj.instance_method_callback.page  |   18 +----
 .../Regress.TestObj.new.page                       |   50 ----------------
 .../Regress.TestObj.new_callback.page              |   50 ----------------
 .../Regress.TestObj.new_from_file.page             |   50 ----------------
 .../Regress.TestObj.null_out.page                  |   24 +++-----
 .../Regress-1.0-Gjs-expected/Regress.TestObj.page  |   38 ++++--------
 .../Regress.TestObj.set_bare.page                  |   18 +----
 .../Regress.TestObj.skip_inout_param.page          |   54 +++++++++--------
 .../Regress.TestObj.skip_out_param.page            |   54 +++++++++--------
 .../Regress.TestObj.skip_param.page                |   54 +++++++++--------
 .../Regress.TestObj.skip_return_val.page           |   54 +++++++++--------
 .../Regress.TestObj.skip_return_val_no_out.page    |   28 +++------
 .../Regress.TestObj.static_method.page             |   24 ++-----
 .../Regress.TestObj.static_method_callback.page    |   20 ++-----
 .../Regress.TestObj.torture_signature_0.page       |   36 ++++++-----
 .../Regress.TestObj.torture_signature_1.page       |   36 ++++++-----
 .../Regress.TestOtherError.page                    |   16 +----
 .../Regress.TestOtherError.quark.page              |   20 ++-----
 .../Regress.TestPrivateEnum.page                   |   17 +----
 ...ess.TestPrivateStruct-this_is_public_after.page |   18 ++++++
 ...ss.TestPrivateStruct-this_is_public_before.page |   18 ++++++
 .../Regress.TestPrivateStruct.page                 |   48 ++++++++++-----
 .../Regress.TestReferenceEnum.page                 |   16 +----
 .../Regress.TestSimpleBoxedA-some_double.page      |   18 ++++++
 .../Regress.TestSimpleBoxedA-some_enum.page        |   18 ++++++
 .../Regress.TestSimpleBoxedA-some_int.page         |   18 ++++++
 .../Regress.TestSimpleBoxedA-some_int8.page        |   18 ++++++
 .../Regress.TestSimpleBoxedA.const_return.page     |   20 ++-----
 .../Regress.TestSimpleBoxedA.copy.page             |   18 +----
 .../Regress.TestSimpleBoxedA.equals.page           |   20 ++-----
 .../Regress.TestSimpleBoxedA.page                  |   50 +++++++++++-----
 .../Regress.TestSimpleBoxedB-nested_a.page         |   18 ++++++
 .../Regress.TestSimpleBoxedB-some_int8.page        |   18 ++++++
 .../Regress.TestSimpleBoxedB.copy.page             |   18 +----
 .../Regress.TestSimpleBoxedB.page                  |   48 ++++++++++-----
 .../Regress.TestSimpleCallback.page                |   24 +++-----
 .../Regress.TestStructA-some_double.page           |   18 ++++++
 .../Regress.TestStructA-some_enum.page             |   18 ++++++
 .../Regress.TestStructA-some_int.page              |   18 ++++++
 .../Regress.TestStructA-some_int8.page             |   18 ++++++
 .../Regress.TestStructA.clone.page                 |   22 +++----
 .../Regress.TestStructA.page                       |   50 +++++++++++-----
 .../Regress.TestStructA.parse.page                 |   26 +++-----
 .../Regress.TestStructB-nested_a.page              |   18 ++++++
 .../Regress.TestStructB-some_int8.page             |   18 ++++++
 .../Regress.TestStructB.clone.page                 |   22 +++----
 .../Regress.TestStructB.page                       |   48 ++++++++++-----
 .../Regress.TestStructC-another_int.page           |   18 ++++++
 .../Regress.TestStructC-obj.page                   |   18 ++++++
 .../Regress.TestStructC.page                       |   47 ++++++++++-----
 .../Regress.TestStructD-array1.page                |   18 ++++++
 .../Regress.TestStructD-array2.page                |   18 ++++++
 .../Regress.TestStructD-field.page                 |   18 ++++++
 .../Regress.TestStructD-garray.page                |   18 ++++++
 .../Regress.TestStructD-list.page                  |   18 ++++++
 .../Regress.TestStructD.page                       |   50 +++++++++++-----
 .../Regress.TestStructE-some_type.page             |   18 ++++++
 .../Regress.TestStructE-some_union.page            |   18 ++++++
 .../Regress.TestStructE.page                       |   48 ++++++++++-----
 ...ss.TestStructE__some_union__union-v_double.page |   20 ++++++
 ...ess.TestStructE__some_union__union-v_float.page |   20 ++++++
 ...gress.TestStructE__some_union__union-v_int.page |   20 ++++++
 ...ess.TestStructE__some_union__union-v_int64.page |   20 ++++++
 ...ress.TestStructE__some_union__union-v_long.page |   20 ++++++
 ...s.TestStructE__some_union__union-v_pointer.page |   20 ++++++
 ...ress.TestStructE__some_union__union-v_uint.page |   20 ++++++
 ...ss.TestStructE__some_union__union-v_uint64.page |   20 ++++++
 ...ess.TestStructE__some_union__union-v_ulong.page |   20 ++++++
 .../Regress.TestStructE__some_union__union.page    |   56 ++++++++++++-----
 .../Regress.TestStructF-data1.page                 |   18 ++++++
 .../Regress.TestStructF-data2.page                 |   18 ++++++
 .../Regress.TestStructF-data3.page                 |   18 ++++++
 .../Regress.TestStructF-data4.page                 |   18 ++++++
 .../Regress.TestStructF-data5.page                 |   18 ++++++
 .../Regress.TestStructF-data6.page                 |   18 ++++++
 .../Regress.TestStructF-ref_count.page             |   18 ++++++
 .../Regress.TestStructF.page                       |   53 ++++++++++++-----
 .../Regress.TestStructFixedArray-array.page        |   18 ++++++
 .../Regress.TestStructFixedArray-just_int.page     |   18 ++++++
 .../Regress.TestStructFixedArray.frob.page         |   20 +-----
 .../Regress.TestStructFixedArray.page              |   48 ++++++++++-----
 .../Regress.TestSubObj.instance_method.page        |   20 ++-----
 .../Regress.TestSubObj.new.page                    |   42 -------------
 .../Regress.TestSubObj.page                        |   27 ++++-----
 .../Regress.TestSubObj.unset_bare.page             |   20 +-----
 .../Regress.TestTypeGUInt64.page                   |   17 +----
 .../Regress.TestWi8021x-testbool.page              |   21 ++-----
 .../Regress.TestWi8021x.get_testbool.page          |   20 ++-----
 .../Regress.TestWi8021x.new.page                   |   42 -------------
 .../Regress.TestWi8021x.page                       |   28 ++++-----
 .../Regress.TestWi8021x.set_testbool.page          |   18 +----
 .../Regress.TestWi8021x.static_method.page         |   24 ++-----
 ...sUnion.None.page => Regress.UTF8_CONSTANT.page} |   21 ++-----
 .../Regress.aliased_caller_alloc.page              |   24 +++-----
 .../Regress.annotation_attribute_func.page         |   28 +++------
 .../Regress.annotation_custom_destroy.page         |   24 ++-----
 .../Regress.annotation_get_source_file.page        |   24 ++-----
 .../Regress.annotation_init.page                   |   28 ++++-----
 ...ress.annotation_invalid_regress_annotation.page |   24 ++-----
 .../Regress.annotation_ptr_array.page              |   24 ++-----
 .../Regress.annotation_return_array.page           |   30 ++++------
 .../Regress.annotation_return_filename.page        |   24 ++-----
 .../Regress.annotation_set_source_file.page        |   24 ++-----
 ...s.annotation_space_after_comment_bug631690.page |   22 ++-----
 .../Regress.annotation_string_array_length.page    |   22 ++-----
 .../Regress.annotation_string_zero_terminated.page |   24 ++-----
 ...ress.annotation_string_zero_terminated_out.page |   26 +++-----
 .../Regress.annotation_test_parsing_bug630862.page |   22 ++-----
 .../Regress.annotation_transfer_floating.page      |   22 ++-----
 .../Regress.annotation_versioned.page              |   23 ++------
 .../Regress.atest_error_quark.page                 |   20 ++-----
 .../Regress.foo_async_ready_callback.page          |   20 ++-----
 .../Regress.foo_destroy_notify_callback.page       |   20 ++-----
 .../Regress-1.0-Gjs-expected/Regress.foo_init.page |   22 ++-----
 .../Regress.foo_method_external_references.page    |   20 ++-----
 .../Regress.foo_not_a_constructor_new.page         |   22 ++-----
 .../Regress.foo_test_array.page                    |   22 ++-----
 .../Regress.foo_test_const_char_param.page         |   20 ++-----
 .../Regress.foo_test_const_char_retval.page        |   20 ++-----
 .../Regress.foo_test_const_struct_param.page       |   20 ++-----
 .../Regress.foo_test_const_struct_retval.page      |   20 ++-----
 .../Regress.foo_test_string_array.page             |   22 ++-----
 .../Regress.foo_test_string_array_with_g.page      |   22 ++-----
 .../Regress.foo_test_unsigned_qualifier.page       |   22 ++-----
 .../Regress.foo_test_unsigned_type.page            |   22 ++-----
 .../Regress.func_obj_null_in.page                  |   22 ++-----
 .../Regress.global_get_flags_out.page              |   24 +++-----
 .../Regress.has_parameter_named_attrs.page         |   30 +++------
 .../Regress.introspectable_via_alias.page          |   20 ++-----
 .../Regress.set_abort_on_error.page                |   20 ++-----
 .../Regress.test_array_callback.page               |   22 ++-----
 .../Regress.test_array_fixed_out_objects.page      |   24 +++-----
 .../Regress.test_array_fixed_size_int_in.page      |   28 +++------
 .../Regress.test_array_fixed_size_int_out.page     |   24 +++-----
 .../Regress.test_array_fixed_size_int_return.page  |   24 ++-----
 .../Regress.test_array_gint16_in.page              |   26 +++------
 .../Regress.test_array_gint32_in.page              |   26 +++------
 .../Regress.test_array_gint64_in.page              |   26 +++------
 .../Regress.test_array_gint8_in.page               |   26 +++------
 .../Regress.test_array_gtype_in.page               |   26 +++------
 .../Regress.test_array_int_full_out.page           |   30 ++++------
 .../Regress.test_array_int_in.page                 |   26 +++------
 .../Regress.test_array_int_inout.page              |   28 ++++-----
 .../Regress.test_array_int_none_out.page           |   30 ++++------
 .../Regress.test_array_int_null_in.page            |   22 ++-----
 .../Regress.test_array_int_null_out.page           |   24 +++-----
 .../Regress.test_array_int_out.page                |   24 +++-----
 .../Regress.test_async_ready_callback.page         |   20 ++-----
 .../Regress.test_boolean.page                      |   22 ++-----
 .../Regress.test_boolean_false.page                |   22 ++-----
 .../Regress.test_boolean_true.page                 |   22 ++-----
 .../Regress.test_cairo_context_full_return.page    |   20 ++-----
 .../Regress.test_cairo_context_none_in.page        |   20 ++-----
 .../Regress.test_cairo_surface_full_out.page       |   24 +++-----
 .../Regress.test_cairo_surface_full_return.page    |   20 ++-----
 .../Regress.test_cairo_surface_none_in.page        |   20 ++-----
 .../Regress.test_cairo_surface_none_return.page    |   20 ++-----
 .../Regress.test_callback.page                     |   22 ++-----
 .../Regress.test_callback_async.page               |   20 ++-----
 .../Regress.test_callback_destroy_notify.page      |   24 ++-----
 ....test_callback_destroy_notify_no_user_data.page |   24 ++-----
 .../Regress.test_callback_thaw_async.page          |   22 ++-----
 .../Regress.test_callback_thaw_notifications.page  |   26 +++------
 .../Regress.test_callback_user_data.page           |   24 ++-----
 .../Regress.test_closure.page                      |   22 ++-----
 .../Regress.test_closure_one_arg.page              |   24 ++-----
 .../Regress.test_closure_variant.page              |   26 +++------
 .../Regress.test_date_in_gvalue.page               |   20 ++-----
 .../Regress.test_def_error_quark.page              |   20 ++-----
 .../Regress.test_double.page                       |   24 ++-----
 .../Regress.test_filename_return.page              |   24 ++-----
 .../Regress.test_float.page                        |   24 ++-----
 .../Regress.test_garray_container_return.page      |   22 ++-----
 .../Regress.test_garray_full_return.page           |   22 ++-----
 .../Regress.test_gerror_callback.page              |   20 ++-----
 .../Regress.test_ghash_container_return.page       |   20 ++-----
 .../Regress.test_ghash_everything_return.page      |   20 ++-----
 .../Regress.test_ghash_gvalue_in.page              |   22 ++-----
 .../Regress.test_ghash_gvalue_return.page          |   20 ++-----
 ...egress.test_ghash_nested_everything_return.page |   20 ++-----
 ...gress.test_ghash_nested_everything_return2.page |   22 ++-----
 .../Regress.test_ghash_nothing_in.page             |   20 ++-----
 .../Regress.test_ghash_nothing_in2.page            |   20 ++-----
 .../Regress.test_ghash_nothing_return.page         |   20 ++-----
 .../Regress.test_ghash_nothing_return2.page        |   20 ++-----
 .../Regress.test_ghash_null_in.page                |   20 ++-----
 .../Regress.test_ghash_null_out.page               |   24 +++-----
 .../Regress.test_ghash_null_return.page            |   20 ++-----
 .../Regress.test_glist_container_return.page       |   22 ++-----
 .../Regress.test_glist_everything_return.page      |   22 ++-----
 .../Regress.test_glist_nothing_in.page             |   22 ++-----
 .../Regress.test_glist_nothing_in2.page            |   22 ++-----
 .../Regress.test_glist_nothing_return.page         |   22 ++-----
 .../Regress.test_glist_nothing_return2.page        |   22 ++-----
 .../Regress.test_glist_null_in.page                |   22 ++-----
 .../Regress.test_glist_null_out.page               |   24 +++-----
 .../Regress.test_gslist_container_return.page      |   22 ++-----
 .../Regress.test_gslist_everything_return.page     |   22 ++-----
 .../Regress.test_gslist_nothing_in.page            |   22 ++-----
 .../Regress.test_gslist_nothing_in2.page           |   22 ++-----
 .../Regress.test_gslist_nothing_return.page        |   22 ++-----
 .../Regress.test_gslist_nothing_return2.page       |   22 ++-----
 .../Regress.test_gslist_null_in.page               |   22 ++-----
 .../Regress.test_gslist_null_out.page              |   24 +++-----
 .../Regress.test_gtype.page                        |   24 ++-----
 .../Regress.test_gvariant_as.page                  |   22 ++-----
 .../Regress.test_gvariant_asv.page                 |   22 ++-----
 .../Regress.test_gvariant_i.page                   |   22 ++-----
 .../Regress.test_gvariant_s.page                   |   22 ++-----
 .../Regress.test_gvariant_v.page                   |   22 ++-----
 .../Regress.test_hash_table_callback.page          |   24 ++-----
 .../Regress-1.0-Gjs-expected/Regress.test_int.page |   24 ++-----
 .../Regress.test_int16.page                        |   24 ++-----
 .../Regress.test_int32.page                        |   24 ++-----
 .../Regress.test_int64.page                        |   24 ++-----
 .../Regress.test_int8.page                         |   24 ++-----
 .../Regress.test_int_out_utf8.page                 |   24 +++-----
 .../Regress.test_int_value_arg.page                |   22 ++-----
 .../Regress.test_long.page                         |   24 ++-----
 .../Regress.test_multi_callback.page               |   22 ++-----
 .../Regress.test_multi_double_args.page            |   30 ++++-----
 .../Regress.test_multiline_doc_comments.page       |   22 ++-----
 .../Regress.test_nested_parameter.page             |   28 +++------
 .../Regress.test_null_gerror_callback.page         |   20 ++-----
 .../Regress.test_owned_gerror_callback.page        |   20 ++-----
 .../Regress.test_short.page                        |   24 ++-----
 .../Regress.test_simple_callback.page              |   20 ++-----
 .../Regress.test_size.page                         |   24 ++-----
 .../Regress.test_ssize.page                        |   24 ++-----
 .../Regress.test_strv_in.page                      |   24 ++-----
 .../Regress.test_strv_in_gvalue.page               |   20 ++-----
 .../Regress.test_strv_out.page                     |   22 ++-----
 .../Regress.test_strv_out_c.page                   |   22 ++-----
 .../Regress.test_strv_out_container.page           |   22 ++-----
 .../Regress.test_strv_outarg.page                  |   24 +++-----
 .../Regress.test_timet.page                        |   24 ++-----
 .../Regress.test_torture_signature_0.page          |   38 ++++++------
 .../Regress.test_torture_signature_1.page          |   38 ++++++------
 .../Regress.test_torture_signature_2.page          |   36 ++++++-----
 .../Regress.test_uint.page                         |   24 ++-----
 .../Regress.test_uint16.page                       |   24 ++-----
 .../Regress.test_uint32.page                       |   24 ++-----
 .../Regress.test_uint64.page                       |   24 ++-----
 .../Regress.test_uint8.page                        |   24 ++-----
 .../Regress.test_ulong.page                        |   24 ++-----
 .../Regress.test_unichar.page                      |   20 ++-----
 .../Regress.test_unsigned_enum_param.page          |   20 ++-----
 .../Regress.test_ushort.page                       |   20 ++-----
 .../Regress.test_utf8_const_in.page                |   20 ++-----
 .../Regress.test_utf8_const_return.page            |   22 ++-----
 .../Regress.test_utf8_inout.page                   |   24 +++-----
 .../Regress.test_utf8_nonconst_return.page         |   22 ++-----
 .../Regress.test_utf8_null_in.page                 |   20 ++-----
 .../Regress.test_utf8_null_out.page                |   24 +++-----
 .../Regress.test_utf8_out.page                     |   24 +++-----
 .../Regress.test_utf8_out_nonconst_return.page     |   28 ++++-----
 .../Regress.test_utf8_out_out.page                 |   28 ++++-----
 .../Regress.test_value_return.page                 |   26 +++------
 .../Regress.test_versioning.page                   |   23 ++------
 tests/scanner/Regress-1.0-Gjs-expected/index.page  |   18 +-----
 .../Regress.ANNOTATION_CALCULATED_DEFINE.page}     |   21 ++-----
 .../Regress.ANNOTATION_CALCULATED_LARGE.page}      |   21 ++-----
 .../Regress.ANNOTATION_CALCULATED_LARGE_DIV.page}  |   21 ++-----
 .../Regress.ATestError.page                        |   16 +----
 .../Regress.AliasedTestBoxed.page                  |   17 +----
 .../Regress.AnAnonymousUnion-None.page}            |   23 ++-----
 .../Regress.AnAnonymousUnion-x.page}               |   23 ++-----
 .../Regress.AnAnonymousUnion.None-a.page}          |   23 ++-----
 .../Regress.AnAnonymousUnion.None-padding.page}    |   23 ++-----
 .../Regress.AnAnonymousUnion.None.page             |   47 ++++++++++-----
 .../Regress.AnAnonymousUnion.page                  |   45 +++++++++-----
 .../Regress.AnnotationBitfield.page                |   17 +----
 .../Regress.AnnotationCallback.page                |   35 ++++++-----
 .../Regress.AnnotationFields-arr.page}             |   23 ++-----
 .../Regress.AnnotationFields-field1.page}          |   23 ++-----
 .../Regress.AnnotationFields-len.page}             |   23 ++-----
 .../Regress.AnnotationFields.page                  |   45 +++++++++-----
 .../Regress.AnnotationForeachFunc.page             |   39 ++++++++-----
 .../Regress.AnnotationListCallback.page            |   35 ++++++-----
 .../Regress.AnnotationNotifyFunc.page              |   31 +++++-----
 .../Regress.AnnotationObject-attribute-signal.page |   22 ++-----
 ...ess.AnnotationObject-doc-empty-arg-parsing.page |   16 +----
 ...Regress.AnnotationObject-function-property.page |   17 +----
 .../Regress.AnnotationObject-list-signal.page      |   20 ++-----
 .../Regress.AnnotationObject-parent_instance.page} |   23 ++-----
 .../Regress.AnnotationObject-string-property.page  |   20 +-----
 .../Regress.AnnotationObject-string-signal.page    |   21 ++-----
 .../Regress.AnnotationObject-tab-property.page     |   20 +-----
 .../Regress.AnnotationObject.allow_none.page       |   18 +----
 .../Regress.AnnotationObject.calleeowns.page       |   20 ++-----
 .../Regress.AnnotationObject.calleesowns.page      |   22 ++-----
 .../Regress.AnnotationObject.compute_sum.page      |   20 ++-----
 .../Regress.AnnotationObject.compute_sum_n.page    |   22 ++-----
 .../Regress.AnnotationObject.compute_sum_nz.page   |   22 ++-----
 .../Regress.AnnotationObject.create_object.page    |   18 +----
 .../Regress.AnnotationObject.do_not_use.page       |   18 +----
 .../Regress.AnnotationObject.extra_annos.page      |   16 +----
 .../Regress.AnnotationObject.foreach.page          |   22 ++-----
 .../Regress.AnnotationObject.get_hash.page         |   20 ++-----
 .../Regress.AnnotationObject.get_objects.page      |   20 ++-----
 .../Regress.AnnotationObject.get_strings.page      |   20 ++-----
 .../Regress.AnnotationObject.hidden_self.page      |   18 +----
 .../Regress.AnnotationObject.in.page               |   20 ++-----
 .../Regress.AnnotationObject.inout.page            |   20 ++-----
 .../Regress.AnnotationObject.inout2.page           |   20 ++-----
 .../Regress.AnnotationObject.inout3.page           |   20 ++-----
 .../Regress.AnnotationObject.method.page           |   18 +----
 .../Regress.AnnotationObject.notrans.page          |   18 +----
 .../Regress.AnnotationObject.out.page              |   20 ++-----
 .../Regress.AnnotationObject.page                  |   28 ++++-----
 .../Regress.AnnotationObject.parse_args.page       |   22 ++-----
 .../Regress.AnnotationObject.set_data.page         |   22 ++-----
 .../Regress.AnnotationObject.set_data2.page        |   22 ++-----
 .../Regress.AnnotationObject.set_data3.page        |   24 ++-----
 .../Regress.AnnotationObject.string_out.page       |   20 ++-----
 .../Regress.AnnotationObject.use_buffer.page       |   18 +----
 .../Regress.AnnotationObject.watch_full.page       |   24 ++-----
 .../Regress.AnnotationObject.with_voidp.page       |   18 +----
 .../Regress.AnnotationStruct-objects.page}         |   23 ++-----
 .../Regress.AnnotationStruct.page                  |   45 +++++++++-----
 .../Regress.BOOL_CONSTANT.page}                    |   21 ++-----
 .../Regress.DOUBLE_CONSTANT.page}                  |   21 ++-----
 .../Regress.FOO_DEFINE_SHOULD_BE_EXPOSED.page}     |   21 ++-----
 .../Regress.FOO_PIE_IS_TASTY.page}                 |   21 ++-----
 .../Regress.FOO_SUCCESS_INT.page}                  |   21 ++-----
 .../Regress.FooASingle.page                        |   16 +----
 .../Regress.FooAddressType.page                    |   16 +----
 .../Regress.FooBRect-x.page}                       |   23 ++-----
 .../Regress.FooBRect-y.page}                       |   23 ++-----
 .../Regress.FooBRect.add.page                      |   16 +----
 .../Regress.FooBRect.page                          |   45 +++++++++-----
 .../Regress.FooBUnion-rect.page}                   |   23 ++-----
 .../Regress.FooBUnion-type.page}                   |   23 ++-----
 .../Regress.FooBUnion-v.page}                      |   23 ++-----
 .../Regress.FooBUnion.get_contained_type.page      |   16 +----
 .../Regress.FooBUnion.page                         |   47 ++++++++++-----
 .../Regress.FooBoxed.method.page                   |   16 +----
 .../Regress.FooBoxed.page                          |   45 +++++++++-----
 .../Regress.FooBuffer.page                         |   28 ++++-----
 .../Regress.FooBuffer.some_method.page             |   16 +----
 .../Regress.FooCallback.page                       |   43 +++++++++-----
 .../Regress.FooDBusData.method.page                |   16 +----
 .../Regress.FooDBusData.page                       |   45 +++++++++-----
 .../Regress.FooEnumFullname.page                   |   16 +----
 .../Regress.FooEnumNoType.page                     |   16 +----
 .../Regress.FooEnumType.method.page                |   18 +----
 .../Regress.FooEnumType.page                       |   16 +----
 .../Regress.FooEnumType.returnv.page               |   18 +----
 .../Regress.FooError.page                          |   16 +----
 .../Regress.FooError.quark.page                    |   18 +----
 .../Regress.FooEvent-any.page}                     |   23 ++-----
 .../Regress.FooEvent-expose.page}                  |   23 ++-----
 .../Regress.FooEvent-type.page}                    |   23 ++-----
 .../Regress.FooEvent.page                          |   47 ++++++++++-----
 .../Regress.FooEventAny-send_event.page}           |   23 ++-----
 .../Regress.FooEventAny.page                       |   45 +++++++++-----
 .../Regress.FooEventExpose-count.page}             |   23 ++-----
 .../Regress.FooEventExpose-send_event.page}        |   23 ++-----
 .../Regress.FooEventExpose.page                    |   45 +++++++++-----
 .../Regress.FooFlagsNoType.page                    |   17 +----
 .../Regress.FooFlagsType.page                      |   17 +----
 .../Regress.FooForeignStruct-regress_foo.page}     |   23 ++-----
 .../Regress.FooForeignStruct.copy.page             |   16 +----
 .../Regress.FooForeignStruct.page                  |   45 +++++++++-----
 .../Regress.FooInterface-do_regress_foo.page       |   18 +----
 .../Regress.FooInterface.do_regress_foo.page       |   16 +----
 .../Regress.FooInterface.page                      |   39 ++++++-------
 .../Regress.FooInterface.static_method.page        |   16 +----
 .../Regress.FooObject-parent_instance.page}        |   23 ++-----
 .../Regress.FooObject-read_fn.page                 |   24 ++-----
 .../Regress.FooObject-signal.page                  |   16 +----
 .../Regress.FooObject-some_int.page}               |   23 ++-----
 .../Regress.FooObject-string.page                  |   17 +----
 .../Regress.FooObject-virtual_method.page          |   18 +----
 .../Regress.FooObject.a_global_method.page         |   16 +----
 .../Regress.FooObject.append_new_stack_layer.page  |   16 +----
 .../Regress.FooObject.dup_name.page                |   16 +----
 .../Regress.FooObject.external_type.page           |   18 +----
 .../Regress.FooObject.get_default.page             |   18 +----
 .../Regress.FooObject.get_name.page                |   16 +----
 .../Regress.FooObject.handle_glyph.page            |   16 +----
 .../Regress.FooObject.is_it_time_yet.page          |   16 +----
 .../Regress.FooObject.page                         |   28 ++++-----
 .../Regress.FooObject.read.page                    |   22 ++-----
 .../Regress.FooObject.static_meth.page             |   16 +----
 .../Regress.FooObject.various.page                 |   16 +----
 .../Regress.FooObject.virtual_method.page          |   16 +----
 .../Regress.FooObjectCookie.page                   |   17 +----
 .../Regress.FooOtherObject.page                    |   28 ++++-----
 .../Regress.FooRectangle-height.page}              |   23 ++-----
 .../Regress.FooRectangle-width.page}               |   23 ++-----
 .../Regress.FooRectangle-x.page}                   |   23 ++-----
 .../Regress.FooRectangle-y.page}                   |   23 ++-----
 .../Regress.FooRectangle.add.page                  |   20 ++-----
 .../Regress.FooRectangle.page                      |   45 +++++++++-----
 .../Regress.FooStackLayer.page                     |   16 +----
 .../Regress.FooStruct-member.page}                 |   23 ++-----
 .../Regress.FooStruct-priv.page}                   |   23 ++-----
 .../Regress.FooStruct.page                         |   45 +++++++++-----
 .../Regress.FooSubInterface-destroy-event.page     |   16 +----
 .../Regress.FooSubInterface-destroy_event.page     |   18 +----
 .../Regress.FooSubInterface-do_bar.page            |   18 +----
 .../Regress.FooSubInterface-do_baz.page            |   18 +----
 .../Regress.FooSubInterface.do_bar.page            |   16 +----
 .../Regress.FooSubInterface.do_baz.page            |   16 +----
 .../Regress.FooSubInterface.page                   |   39 ++++++-------
 .../Regress.FooSubobject-parent_instance.page}     |   23 ++-----
 .../Regress.FooSubobject.page                      |   28 ++++-----
 .../Regress.FooThingWithArray-data.page}           |   23 ++-----
 .../Regress.FooThingWithArray-lines.page}          |   23 ++-----
 .../Regress.FooThingWithArray-x.page}              |   23 ++-----
 .../Regress.FooThingWithArray-y.page}              |   23 ++-----
 .../Regress.FooThingWithArray.page                 |   45 +++++++++-----
 .../Regress.FooUnion-regress_foo.page}             |   23 ++-----
 .../Regress.FooUnion.page                          |   47 ++++++++++-----
 .../Regress.FooUtilityStruct-bar.page}             |   23 ++-----
 .../Regress.FooUtilityStruct.page                  |   45 +++++++++-----
 .../Regress.FooXEvent.page                         |   17 +----
 .../Regress.GI_SCANNER_ELSE.page}                  |   21 ++-----
 .../Regress.GI_SCANNER_IFDEF.page}                 |   21 ++-----
 .../Regress.GUINT64_CONSTANT.page}                 |   21 ++-----
 .../Regress.GUINT64_CONSTANTA.page}                |   21 ++-----
 .../Regress.G_GINT64_CONSTANT.page}                |   21 ++-----
 .../Regress.INT_CONSTANT.page}                     |   21 ++-----
 .../Regress.LONG_STRING_CONSTANT.page}             |   21 ++-----
 ....LikeGnomeKeyringPasswordSchema-attributes.page |   16 +++++
 ...gress.LikeGnomeKeyringPasswordSchema-dummy.page |   16 +++++
 ...ress.LikeGnomeKeyringPasswordSchema-dummy2.page |   16 +++++
 .../Regress.LikeGnomeKeyringPasswordSchema.page    |   45 +++++++++-----
 .../Regress.LikeXklConfigItem-name.page}           |   23 ++-----
 .../Regress.LikeXklConfigItem.page                 |   45 +++++++++-----
 .../Regress.LikeXklConfigItem.set_name.page        |   16 +----
 .../Regress.MAXUINT64.page}                        |   21 ++-----
 .../Regress.MININT64.page}                         |   21 ++-----
 .../Regress.Mixed_Case_Constant.page}              |   21 ++-----
 .../Regress.NEGATIVE_INT_CONSTANT.page}            |   21 ++-----
 .../Regress.PtrArrayAlias.page                     |   17 +----
 .../Regress.STRING_CONSTANT.page}                  |   21 ++-----
 .../Regress.TestABCError.page                      |   16 +----
 .../Regress.TestABCError.quark.page                |   18 +----
 .../Regress.TestBoxed-nested_a.page}               |   23 ++-----
 .../Regress.TestBoxed-priv.page}                   |   23 ++-----
 .../Regress.TestBoxed-some_int8.page}              |   23 ++-----
 .../Regress.TestBoxed.copy.page                    |   16 +----
 .../Regress.TestBoxed.equals.page                  |   16 +----
 .../Regress.TestBoxed.page                         |   45 +++++++++-----
 .../Regress.TestBoxedB-some_int8.page}             |   23 ++-----
 .../Regress.TestBoxedB-some_long.page}             |   23 ++-----
 .../Regress.TestBoxedB.copy.page                   |   16 +----
 .../Regress.TestBoxedB.page                        |   45 +++++++++-----
 .../Regress.TestBoxedC-another_thing.page}         |   23 ++-----
 .../Regress.TestBoxedC-refcount.page}              |   23 ++-----
 .../Regress.TestBoxedC.page                        |   45 +++++++++-----
 .../Regress.TestBoxedD.copy.page                   |   16 +----
 .../Regress.TestBoxedD.free.page                   |   16 +----
 .../Regress.TestBoxedD.get_magic.page              |   16 +----
 .../Regress.TestBoxedD.page                        |   45 +++++++++-----
 .../Regress.TestCallback.page                      |   30 +++++-----
 .../Regress.TestCallbackArray.page                 |   47 ++++++++++-----
 .../Regress.TestCallbackFull.page                  |   43 +++++++++-----
 .../Regress.TestCallbackGError.page                |   31 +++++-----
 .../Regress.TestCallbackHashtable.page             |   31 +++++-----
 .../Regress.TestCallbackOwnedGError.page           |   31 +++++-----
 .../Regress.TestCallbackUserData.page              |   35 ++++++-----
 .../Regress.TestDEFError.page                      |   16 +----
 .../Regress.TestEnum.page                          |   20 ++-----
 .../Regress.TestEnum.param.page                    |   18 +----
 .../Regress.TestEnumNoGEnum.page                   |   16 +----
 .../Regress.TestEnumUnsigned.page                  |   16 +----
 .../Regress.TestError.page                         |   16 +----
 .../Regress.TestError.quark.page                   |   18 +----
 .../Regress.TestFlags.page                         |   17 +----
 .../Regress.TestFloating-parent_instance.page}     |   23 ++-----
 .../Regress.TestFloating.page                      |   28 ++++-----
 .../Regress.TestFundamentalObject-flags.page}      |   23 ++-----
 .../Regress.TestFundamentalObject-instance.page}   |   23 ++-----
 .../Regress.TestFundamentalObject-refcount.page}   |   23 ++-----
 .../Regress.TestFundamentalObject.page             |   28 ++++-----
 .../Regress.TestFundamentalObject.ref.page         |   16 +----
 .../Regress.TestFundamentalObject.unref.page       |   16 +----
 .../Regress.TestFundamentalObjectCopyFunction.page |   35 ++++++-----
 ...ress.TestFundamentalObjectFinalizeFunction.page |   31 +++++-----
 .../Regress.TestFundamentalSubObject-data.page}    |   23 ++-----
 ...estFundamentalSubObject-fundamental_object.page |   14 ++++
 .../Regress.TestFundamentalSubObject.page          |   28 ++++-----
 ...gress.TestInheritDrawable-parent_instance.page} |   23 ++-----
 .../Regress.TestInheritDrawable.do_foo.page        |   16 +----
 ...ess.TestInheritDrawable.do_foo_maybe_throw.page |   16 +----
 .../Regress.TestInheritDrawable.get_origin.page    |   16 +----
 .../Regress.TestInheritDrawable.get_size.page      |   16 +----
 .../Regress.TestInheritDrawable.page               |   28 ++++-----
 ....TestInheritPixmapObjectClass-parent_class.page |   14 ++++
 .../Regress.TestInheritPixmapObjectClass.page      |   45 +++++++++-----
 .../Regress.TestInterface.page                     |   39 ++++++-------
 .../Regress.TestObj-all.page                       |   16 +----
 .../Regress.TestObj-allow_none_vfunc.page          |   20 ++-----
 .../Regress.TestObj-bare.page                      |   17 +----
 .../Regress.TestObj-boxed.page                     |   17 +----
 .../Regress.TestObj-cleanup.page                   |   16 +----
 .../Regress.TestObj-double.page                    |   17 +----
 .../Regress.TestObj-first.page                     |   16 +----
 .../Regress.TestObj-float.page                     |   17 +----
 .../Regress.TestObj-gtype.page                     |   17 +----
 .../Regress.TestObj-hash-table-old.page            |   17 +----
 .../Regress.TestObj-hash-table.page                |   17 +----
 .../Regress.TestObj-hash_table.page}               |   23 ++-----
 .../Regress.TestObj-int.page                       |   17 +----
 .../Regress.TestObj-list-old.page                  |   17 +----
 .../Regress.TestObj-list.page                      |   17 +----
 .../Regress.TestObj-matrix.page                    |   24 ++-----
 .../Regress.TestObj-parent_instance.page}          |   23 ++-----
 .../Regress.TestObj-sig-with-array-len-prop.page   |   20 ++-----
 .../Regress.TestObj-sig-with-array-prop.page       |   20 ++-----
 .../Regress.TestObj-sig-with-foreign-struct.page   |   18 +----
 .../Regress.TestObj-sig-with-hash-prop.page        |   18 +----
 .../Regress.TestObj-sig-with-int64-prop.page       |   20 ++-----
 .../Regress.TestObj-sig-with-intarray-ret.page     |   18 +----
 .../Regress.TestObj-sig-with-obj.page              |   20 ++-----
 .../Regress.TestObj-sig-with-strv.page             |   18 +----
 .../Regress.TestObj-sig-with-uint64-prop.page      |   20 ++-----
 .../Regress.TestObj-some_double.page}              |   23 ++-----
 .../Regress.TestObj-some_float.page}               |   23 ++-----
 .../Regress.TestObj-some_int8.page}                |   23 ++-----
 .../Regress.TestObj-string.page                    |   17 +----
 ...Regress.TestObj-test-with-static-scope-arg.page |   16 +----
 .../Regress.TestObj-test.page                      |   16 +----
 .../Regress.TestObj.do_matrix.page                 |   22 ++-----
 ...gress.TestObj.emit_sig_with_foreign_struct.page |   16 +----
 .../Regress.TestObj.emit_sig_with_int64.page       |   16 +----
 .../Regress.TestObj.emit_sig_with_obj.page         |   16 +----
 .../Regress.TestObj.emit_sig_with_uint64.page      |   16 +----
 .../Regress.TestObj.forced_method.page             |   18 +----
 .../Regress.TestObj.instance_method.page           |   16 +----
 .../Regress.TestObj.instance_method_callback.page  |   16 +----
 .../Regress.TestObj.null_out.page                  |   18 +----
 .../Regress.TestObj.page                           |   28 ++++-----
 .../Regress.TestObj.set_bare.page                  |   16 +----
 .../Regress.TestObj.skip_inout_param.page          |   32 ++++-------
 .../Regress.TestObj.skip_out_param.page            |   32 ++++-------
 .../Regress.TestObj.skip_param.page                |   32 ++++-------
 .../Regress.TestObj.skip_return_val.page           |   32 ++++-------
 .../Regress.TestObj.skip_return_val_no_out.page    |   22 ++-----
 .../Regress.TestObj.static_method.page             |   16 +----
 .../Regress.TestObj.static_method_callback.page    |   16 +----
 .../Regress.TestObj.torture_signature_0.page       |   18 +----
 .../Regress.TestObj.torture_signature_1.page       |   18 +----
 .../Regress.TestOtherError.page                    |   16 +----
 .../Regress.TestOtherError.quark.page              |   18 +----
 .../Regress.TestPrivateEnum.page                   |   17 +----
 ...ss.TestPrivateStruct-this_is_public_after.page} |   23 ++-----
 ...s.TestPrivateStruct-this_is_public_before.page} |   23 ++-----
 .../Regress.TestPrivateStruct.page                 |   45 +++++++++-----
 .../Regress.TestReferenceEnum.page                 |   16 +----
 .../Regress.TestSimpleBoxedA-some_double.page}     |   23 ++-----
 .../Regress.TestSimpleBoxedA-some_enum.page}       |   23 ++-----
 .../Regress.TestSimpleBoxedA-some_int.page}        |   23 ++-----
 .../Regress.TestSimpleBoxedA-some_int8.page}       |   23 ++-----
 .../Regress.TestSimpleBoxedA.const_return.page     |   16 +----
 .../Regress.TestSimpleBoxedA.copy.page             |   16 +----
 .../Regress.TestSimpleBoxedA.equals.page           |   16 +----
 .../Regress.TestSimpleBoxedA.page                  |   45 +++++++++-----
 .../Regress.TestSimpleBoxedB-nested_a.page}        |   23 ++-----
 .../Regress.TestSimpleBoxedB-some_int8.page}       |   23 ++-----
 .../Regress.TestSimpleBoxedB.copy.page             |   16 +----
 .../Regress.TestSimpleBoxedB.page                  |   45 +++++++++-----
 .../Regress.TestSimpleCallback.page                |   26 ++++-----
 .../Regress.TestStructA-some_double.page}          |   23 ++-----
 .../Regress.TestStructA-some_enum.page}            |   23 ++-----
 .../Regress.TestStructA-some_int.page}             |   23 ++-----
 .../Regress.TestStructA-some_int8.page}            |   23 ++-----
 .../Regress.TestStructA.clone.page                 |   20 ++-----
 .../Regress.TestStructA.page                       |   45 +++++++++-----
 .../Regress.TestStructA.parse.page                 |   20 ++-----
 .../Regress.TestStructB-nested_a.page}             |   23 ++-----
 .../Regress.TestStructB-some_int8.page}            |   23 ++-----
 .../Regress.TestStructB.clone.page                 |   20 ++-----
 .../Regress.TestStructB.page                       |   45 +++++++++-----
 .../Regress.TestStructC-another_int.page}          |   23 ++-----
 .../Regress.TestStructC-obj.page}                  |   23 ++-----
 .../Regress.TestStructC.page                       |   45 +++++++++-----
 .../Regress.TestStructD-array1.page}               |   23 ++-----
 .../Regress.TestStructD-array2.page}               |   23 ++-----
 .../Regress.TestStructD-field.page}                |   23 ++-----
 .../Regress.TestStructD-garray.page}               |   23 ++-----
 .../Regress.TestStructD-list.page}                 |   23 ++-----
 .../Regress.TestStructD.page                       |   45 +++++++++-----
 .../Regress.TestStructE-some_type.page}            |   23 ++-----
 .../Regress.TestStructE-some_union.page}           |   23 ++-----
 .../Regress.TestStructE.page                       |   45 +++++++++-----
 ...ss.TestStructE__some_union__union-v_double.page |   16 +++++
 ...ess.TestStructE__some_union__union-v_float.page |   16 +++++
 ...gress.TestStructE__some_union__union-v_int.page |   16 +++++
 ...ess.TestStructE__some_union__union-v_int64.page |   16 +++++
 ...ress.TestStructE__some_union__union-v_long.page |   16 +++++
 ...s.TestStructE__some_union__union-v_pointer.page |   16 +++++
 ...ress.TestStructE__some_union__union-v_uint.page |   16 +++++
 ...ss.TestStructE__some_union__union-v_uint64.page |   16 +++++
 ...ess.TestStructE__some_union__union-v_ulong.page |   16 +++++
 .../Regress.TestStructE__some_union__union.page    |   47 ++++++++++-----
 .../Regress.TestStructF-data1.page}                |   23 ++-----
 .../Regress.TestStructF-data2.page}                |   23 ++-----
 .../Regress.TestStructF-data3.page}                |   23 ++-----
 .../Regress.TestStructF-data4.page}                |   23 ++-----
 .../Regress.TestStructF-data5.page}                |   23 ++-----
 .../Regress.TestStructF-data6.page}                |   23 ++-----
 .../Regress.TestStructF-ref_count.page}            |   23 ++-----
 .../Regress.TestStructF.page                       |   45 +++++++++-----
 .../Regress.TestStructFixedArray-array.page}       |   23 ++-----
 .../Regress.TestStructFixedArray-just_int.page}    |   23 ++-----
 .../Regress.TestStructFixedArray.frob.page         |   16 +----
 .../Regress.TestStructFixedArray.page              |   45 +++++++++-----
 .../Regress.TestSubObj-parent_instance.page}       |   23 ++-----
 .../Regress.TestSubObj.instance_method.page        |   16 +----
 .../Regress.TestSubObj.page                        |   28 ++++-----
 .../Regress.TestSubObj.unset_bare.page             |   16 +----
 .../Regress.TestTypeGUInt64.page                   |   17 +----
 .../Regress.TestWi8021x-parent_instance.page}      |   23 ++-----
 .../Regress.TestWi8021x-testbool.page              |   17 +----
 .../Regress.TestWi8021x.get_testbool.page          |   16 +----
 .../Regress.TestWi8021x.page                       |   28 ++++-----
 .../Regress.TestWi8021x.set_testbool.page          |   16 +----
 .../Regress.TestWi8021x.static_method.page         |   16 +----
 .../Regress.UTF8_CONSTANT.page}                    |   21 ++-----
 .../Regress.aliased_caller_alloc.page              |   18 +----
 .../Regress.annotation_attribute_func.page         |   22 ++-----
 .../Regress.annotation_custom_destroy.page         |   22 ++-----
 .../Regress.annotation_get_source_file.page        |   18 +----
 .../Regress.annotation_init.page                   |   22 ++-----
 ...ress.annotation_invalid_regress_annotation.page |   20 ++-----
 .../Regress.annotation_ptr_array.page              |   20 ++-----
 .../Regress.annotation_return_array.page           |   20 ++-----
 .../Regress.annotation_return_filename.page        |   18 +----
 .../Regress.annotation_set_source_file.page        |   20 ++-----
 ...s.annotation_space_after_comment_bug631690.page |   18 +----
 .../Regress.annotation_string_array_length.page    |   18 +----
 .../Regress.annotation_string_zero_terminated.page |   18 +----
 ...ress.annotation_string_zero_terminated_out.page |   18 +----
 .../Regress.annotation_test_parsing_bug630862.page |   18 +----
 .../Regress.annotation_transfer_floating.page      |   18 +----
 .../Regress.annotation_versioned.page              |   19 +-----
 .../Regress.atest_error_quark.page                 |   18 +----
 .../Regress.foo_async_ready_callback.page          |   18 +----
 .../Regress.foo_destroy_notify_callback.page       |   18 +----
 .../Regress.foo_init.page                          |   18 +----
 .../Regress.foo_method_external_references.page    |   18 +----
 .../Regress.foo_not_a_constructor_new.page         |   20 ++-----
 .../Regress.foo_test_array.page                    |   18 +----
 .../Regress.foo_test_const_char_param.page         |   18 +----
 .../Regress.foo_test_const_char_retval.page        |   18 +----
 .../Regress.foo_test_const_struct_param.page       |   18 +----
 .../Regress.foo_test_const_struct_retval.page      |   18 +----
 .../Regress.foo_test_string_array.page             |   18 +----
 .../Regress.foo_test_string_array_with_g.page      |   18 +----
 .../Regress.foo_test_unsigned_qualifier.page       |   18 +----
 .../Regress.foo_test_unsigned_type.page            |   18 +----
 .../Regress.func_obj_null_in.page                  |   20 ++-----
 .../Regress.global_get_flags_out.page              |   20 ++-----
 .../Regress.has_parameter_named_attrs.page         |   24 ++-----
 .../Regress.introspectable_via_alias.page          |   18 +----
 .../Regress.set_abort_on_error.page                |   18 +----
 .../Regress.test_array_callback.page               |   18 +----
 .../Regress.test_array_fixed_out_objects.page      |   20 ++-----
 .../Regress.test_array_fixed_size_int_in.page      |   20 ++-----
 .../Regress.test_array_fixed_size_int_out.page     |   20 ++-----
 .../Regress.test_array_fixed_size_int_return.page  |   18 +----
 .../Regress.test_array_gint16_in.page              |   20 ++-----
 .../Regress.test_array_gint32_in.page              |   20 ++-----
 .../Regress.test_array_gint64_in.page              |   20 ++-----
 .../Regress.test_array_gint8_in.page               |   20 ++-----
 .../Regress.test_array_gtype_in.page               |   20 ++-----
 .../Regress.test_array_int_full_out.page           |   20 ++-----
 .../Regress.test_array_int_in.page                 |   20 ++-----
 .../Regress.test_array_int_inout.page              |   22 ++-----
 .../Regress.test_array_int_none_out.page           |   20 ++-----
 .../Regress.test_array_int_null_in.page            |   20 ++-----
 .../Regress.test_array_int_null_out.page           |   20 ++-----
 .../Regress.test_array_int_out.page                |   22 ++-----
 .../Regress.test_async_ready_callback.page         |   18 +----
 .../Regress.test_boolean.page                      |   18 +----
 .../Regress.test_boolean_false.page                |   18 +----
 .../Regress.test_boolean_true.page                 |   18 +----
 .../Regress.test_cairo_context_full_return.page    |   18 +----
 .../Regress.test_cairo_context_none_in.page        |   18 +----
 .../Regress.test_cairo_surface_full_out.page       |   18 +----
 .../Regress.test_cairo_surface_full_return.page    |   18 +----
 .../Regress.test_cairo_surface_none_in.page        |   18 +----
 .../Regress.test_cairo_surface_none_return.page    |   18 +----
 .../Regress.test_callback.page                     |   18 +----
 .../Regress.test_callback_async.page               |   18 +----
 .../Regress.test_callback_destroy_notify.page      |   20 ++-----
 ....test_callback_destroy_notify_no_user_data.page |   20 ++-----
 .../Regress.test_callback_thaw_async.page          |   18 +----
 .../Regress.test_callback_thaw_notifications.page  |   20 ++-----
 .../Regress.test_callback_user_data.page           |   20 ++-----
 .../Regress.test_closure.page                      |   18 +----
 .../Regress.test_closure_one_arg.page              |   18 +----
 .../Regress.test_closure_variant.page              |   22 ++-----
 .../Regress.test_date_in_gvalue.page               |   18 +----
 .../Regress.test_def_error_quark.page              |   18 +----
 .../Regress.test_double.page                       |   18 +----
 .../Regress.test_filename_return.page              |   18 +----
 .../Regress.test_float.page                        |   18 +----
 .../Regress.test_garray_container_return.page      |   18 +----
 .../Regress.test_garray_full_return.page           |   18 +----
 .../Regress.test_gerror_callback.page              |   18 +----
 .../Regress.test_ghash_container_return.page       |   18 +----
 .../Regress.test_ghash_everything_return.page      |   18 +----
 .../Regress.test_ghash_gvalue_in.page              |   20 ++-----
 .../Regress.test_ghash_gvalue_return.page          |   18 +----
 ...egress.test_ghash_nested_everything_return.page |   18 +----
 ...gress.test_ghash_nested_everything_return2.page |   20 ++-----
 .../Regress.test_ghash_nothing_in.page             |   18 +----
 .../Regress.test_ghash_nothing_in2.page            |   18 +----
 .../Regress.test_ghash_nothing_return.page         |   18 +----
 .../Regress.test_ghash_nothing_return2.page        |   18 +----
 .../Regress.test_ghash_null_in.page                |   18 +----
 .../Regress.test_ghash_null_out.page               |   18 +----
 .../Regress.test_ghash_null_return.page            |   18 +----
 .../Regress.test_glist_container_return.page       |   18 +----
 .../Regress.test_glist_everything_return.page      |   18 +----
 .../Regress.test_glist_nothing_in.page             |   18 +----
 .../Regress.test_glist_nothing_in2.page            |   18 +----
 .../Regress.test_glist_nothing_return.page         |   18 +----
 .../Regress.test_glist_nothing_return2.page        |   18 +----
 .../Regress.test_glist_null_in.page                |   18 +----
 .../Regress.test_glist_null_out.page               |   18 +----
 .../Regress.test_gslist_container_return.page      |   18 +----
 .../Regress.test_gslist_everything_return.page     |   18 +----
 .../Regress.test_gslist_nothing_in.page            |   18 +----
 .../Regress.test_gslist_nothing_in2.page           |   18 +----
 .../Regress.test_gslist_nothing_return.page        |   18 +----
 .../Regress.test_gslist_nothing_return2.page       |   18 +----
 .../Regress.test_gslist_null_in.page               |   18 +----
 .../Regress.test_gslist_null_out.page              |   18 +----
 .../Regress.test_gtype.page                        |   18 +----
 .../Regress.test_gvariant_as.page                  |   18 +----
 .../Regress.test_gvariant_asv.page                 |   18 +----
 .../Regress.test_gvariant_i.page                   |   18 +----
 .../Regress.test_gvariant_s.page                   |   18 +----
 .../Regress.test_gvariant_v.page                   |   18 +----
 .../Regress.test_hash_table_callback.page          |   20 ++-----
 .../Regress.test_int.page                          |   18 +----
 .../Regress.test_int16.page                        |   18 +----
 .../Regress.test_int32.page                        |   18 +----
 .../Regress.test_int64.page                        |   18 +----
 .../Regress.test_int8.page                         |   18 +----
 .../Regress.test_int_out_utf8.page                 |   18 +----
 .../Regress.test_int_value_arg.page                |   18 +----
 .../Regress.test_long.page                         |   18 +----
 .../Regress.test_multi_callback.page               |   18 +----
 .../Regress.test_multi_double_args.page            |   18 +----
 .../Regress.test_multiline_doc_comments.page       |   18 +----
 .../Regress.test_nested_parameter.page             |   24 ++-----
 .../Regress.test_null_gerror_callback.page         |   18 +----
 .../Regress.test_owned_gerror_callback.page        |   18 +----
 .../Regress.test_short.page                        |   18 +----
 .../Regress.test_simple_callback.page              |   18 +----
 .../Regress.test_size.page                         |   18 +----
 .../Regress.test_ssize.page                        |   18 +----
 .../Regress.test_strv_in.page                      |   18 +----
 .../Regress.test_strv_in_gvalue.page               |   18 +----
 .../Regress.test_strv_out.page                     |   18 +----
 .../Regress.test_strv_out_c.page                   |   18 +----
 .../Regress.test_strv_out_container.page           |   18 +----
 .../Regress.test_strv_outarg.page                  |   18 +----
 .../Regress.test_timet.page                        |   18 +----
 .../Regress.test_torture_signature_0.page          |   18 +----
 .../Regress.test_torture_signature_1.page          |   18 +----
 .../Regress.test_torture_signature_2.page          |   18 +----
 .../Regress.test_uint.page                         |   18 +----
 .../Regress.test_uint16.page                       |   18 +----
 .../Regress.test_uint32.page                       |   18 +----
 .../Regress.test_uint64.page                       |   18 +----
 .../Regress.test_uint8.page                        |   18 +----
 .../Regress.test_ulong.page                        |   18 +----
 .../Regress.test_unichar.page                      |   18 +----
 .../Regress.test_unsigned_enum_param.page          |   18 +----
 .../Regress.test_ushort.page                       |   18 +----
 .../Regress.test_utf8_const_in.page                |   18 +----
 .../Regress.test_utf8_const_return.page            |   18 +----
 .../Regress.test_utf8_inout.page                   |   18 +----
 .../Regress.test_utf8_nonconst_return.page         |   18 +----
 .../Regress.test_utf8_null_in.page                 |   18 +----
 .../Regress.test_utf8_null_out.page                |   18 +----
 .../Regress.test_utf8_out.page                     |   18 +----
 .../Regress.test_utf8_out_nonconst_return.page     |   20 ++-----
 .../Regress.test_utf8_out_out.page                 |   22 ++-----
 .../Regress.test_value_return.page                 |   20 ++-----
 .../Regress.test_versioning.page                   |   19 +-----
 .../scanner/Regress-1.0-Python-expected/index.page |   18 +-----
 1687 files changed, 13698 insertions(+), 24543 deletions(-)
---
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.ANNOTATION_CALCULATED_DEFINE.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.ANNOTATION_CALCULATED_DEFINE.page
index 6dc17b3..55a4b6d 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.ANNOTATION_CALCULATED_DEFINE.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.ANNOTATION_CALCULATED_DEFINE"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.ANNOTATION_CALCULATED_DEFINE</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.ANNOTATION_CALCULATED_LARGE.page
similarity index 52%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.ANNOTATION_CALCULATED_LARGE.page
index 6dc17b3..c8887ff 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.ANNOTATION_CALCULATED_LARGE.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.ANNOTATION_CALCULATED_LARGE"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.ANNOTATION_CALCULATED_LARGE</title>
+  <p>Constant to define a calculated large value</p>
+  <p>Since 1.4</p>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.ANNOTATION_CALCULATED_LARGE_DIV.page
similarity index 53%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.ANNOTATION_CALCULATED_LARGE_DIV.page
index 6dc17b3..08eda31 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.ANNOTATION_CALCULATED_LARGE_DIV.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.ANNOTATION_CALCULATED_LARGE_DIV"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.ANNOTATION_CALCULATED_LARGE_DIV</title>
+  <p>Constant to define a calculated large value</p>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.ATestError.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.ATestError.page
index e131f6f..f9a50a1 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.ATestError.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.ATestError.page
@@ -6,20 +6,9 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="enum" type="guide"/>
-    
+    <link xref="index" group="enum" type="guide"/>
   </info>
   <title>Regress.ATestError</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AliasedTestBoxed.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AliasedTestBoxed.page
index 9490e4a..097c37b 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.AliasedTestBoxed.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AliasedTestBoxed.page
@@ -6,20 +6,9 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
   <title>Regress.AliasedTestBoxed</title>
-  
-  
-  
-    <p>Typedef TestBoxed to test caller-allocates correctness</p>
-  
-  
-  
-  
-  
-  
-  
+  <p>Typedef TestBoxed to test caller-allocates correctness</p>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnAnonymousUnion-None.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.AnAnonymousUnion-None.page
index 6dc17b3..bc24e5d 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnAnonymousUnion-None.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.AnAnonymousUnion-None"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.AnAnonymousUnion" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.AnAnonymousUnion->None</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnAnonymousUnion-x.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.AnAnonymousUnion-x.page
index 6dc17b3..458ce06 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnAnonymousUnion-x.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.AnAnonymousUnion-x"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.AnAnonymousUnion" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.AnAnonymousUnion->x</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnAnonymousUnion.None-a.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.AnAnonymousUnion.None-a.page
index 6dc17b3..11f20db 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnAnonymousUnion.None-a.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.AnAnonymousUnion.None-a"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.AnAnonymousUnion.None" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.AnAnonymousUnion.None->a</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnAnonymousUnion.None-padding.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.AnAnonymousUnion.None-padding.page
index 6dc17b3..631770e 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnAnonymousUnion.None-padding.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.AnAnonymousUnion.None-padding"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.AnAnonymousUnion.None" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.AnAnonymousUnion.None->padding</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnAnonymousUnion.None.page
index 6dc17b3..c9db2dd 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnAnonymousUnion.None.page
@@ -1,25 +1,35 @@
 <?xml version="1.0"?>
 <page id="Regress.AnAnonymousUnion.None"
-      type="topic"
-      style="default"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnAnonymousUnion.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnAnonymousUnion.page
index f9323c6..aa4ed24 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.AnAnonymousUnion.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnAnonymousUnion.page
@@ -1,25 +1,35 @@
 <?xml version="1.0"?>
 <page id="Regress.AnAnonymousUnion"
-      type="topic"
-      style="record"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.AnAnonymousUnion</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationBitfield.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationBitfield.page
index 4e19ef9..e0e5b00 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationBitfield.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationBitfield.page
@@ -6,20 +6,9 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
   <title>Regress.AnnotationBitfield</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationCallback.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationCallback.page
index 9a652d8..d1f7d10 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationCallback.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationCallback.page
@@ -1,25 +1,28 @@
 <?xml version="1.0"?>
 <page id="Regress.AnnotationCallback"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
-  </info>
+    <link xref="index" group="callback" type="guide"/>
+    </info>
   <title>Regress.AnnotationCallback</title>
-  
-  
-  
-    <p>This is a callback.</p>
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-csrc">
+const gint* AnnotationCallback (const gint* in);
+  </code></synopsis>
+  <p>This is a callback.</p>
+
+<terms>
+<item>
+<title><code>in</code></title>
+  <p>array of ints</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+  <p>array of ints</p>
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationFields-arr.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.AnnotationFields-arr.page
index 6dc17b3..71a9afb 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationFields-arr.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.AnnotationFields-arr"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.AnnotationFields" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.AnnotationFields->arr</title>
+  <p>an array of length @len</p>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationFields-field1.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.AnnotationFields-field1.page
index 6dc17b3..36204ad 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationFields-field1.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.AnnotationFields-field1"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.AnnotationFields" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.AnnotationFields->field1</title>
+  <p>Some documentation</p>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationFields-len.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.AnnotationFields-len.page
index 6dc17b3..e56ec4f 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationFields-len.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.AnnotationFields-len"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.AnnotationFields" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.AnnotationFields->len</title>
+  <p>the length of array</p>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationFields.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationFields.page
index 74c6eab..50f9bc6 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationFields.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationFields.page
@@ -1,25 +1,35 @@
 <?xml version="1.0"?>
 <page id="Regress.AnnotationFields"
-      type="topic"
-      style="record"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.AnnotationFields</title>
-  
-  
-  
-    <p>This is a struct for testing field documentation and annotations</p>
-  
-  
-  
-  
-  
-  
-  
+  <p>This is a struct for testing field documentation and annotations</p>
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationForeachFunc.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationForeachFunc.page
index db77a11..3feafad 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationForeachFunc.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationForeachFunc.page
@@ -1,25 +1,38 @@
 <?xml version="1.0"?>
 <page id="Regress.AnnotationForeachFunc"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
-  </info>
+    <link xref="index" group="callback" type="guide"/>
+    </info>
   <title>Regress.AnnotationForeachFunc</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-csrc">
+void AnnotationForeachFunc (RegressAnnotationObject* object,
+                            const char* item,
+                            gpointer user_data);
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+
+</item>
+<item>
+<title><code>item</code></title>
+
+</item>
+<item>
+<title><code>user_data</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationListCallback.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationListCallback.page
index 79844c6..275feff 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationListCallback.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationListCallback.page
@@ -1,25 +1,28 @@
 <?xml version="1.0"?>
 <page id="Regress.AnnotationListCallback"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
-  </info>
+    <link xref="index" group="callback" type="guide"/>
+    </info>
   <title>Regress.AnnotationListCallback</title>
-  
-  
-  
-    <p>This is a callback taking a list.</p>
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-csrc">
+GList* AnnotationListCallback (GList* in);
+  </code></synopsis>
+  <p>This is a callback taking a list.</p>
+
+<terms>
+<item>
+<title><code>in</code></title>
+  <p>list of strings</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+  <p>list of strings</p>
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationNotifyFunc.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationNotifyFunc.page
index 17c8029..e2e5880 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationNotifyFunc.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationNotifyFunc.page
@@ -1,26 +1,29 @@
 <?xml version="1.0"?>
 <page id="Regress.AnnotationNotifyFunc"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
-  </info>
+    <link xref="index" group="callback" type="guide"/>
+    </info>
   <title>Regress.AnnotationNotifyFunc</title>
-  
-  
-  
-    <p>This is a callback with a 'closure' argument that is not named
+  <synopsis><code mime="text/x-csrc">
+void AnnotationNotifyFunc (gpointer data);
+  </code></synopsis>
+  <p>This is a callback with a 'closure' argument that is not named
 'user_data' and hence has to be annotated.</p>
-  
-  
-  
-  
-  
-  
-  
+
+<terms>
+<item>
+<title><code>data</code></title>
+  <p>The user data</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-attribute-signal.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-attribute-signal.page
index 64e30a6..8f63763 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-attribute-signal.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-attribute-signal.page
@@ -6,39 +6,29 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="signal" type="guide"/>
     <title type="link" role="topic">attribute-signal</title>
-
   </info>
   <title>Regress.AnnotationObject::attribute-signal</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 gchar* attribute-signal (gchar* arg1,
                          gchar* arg2);
-</code></synopsis>
+  </code></synopsis>
+  <p>This signal tests a signal with attributes.</p>
 
-  
-    <p>This signal tests a signal with attributes.</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>arg1</code></title>
-<p>a value</p>
+  <p>a value</p>
 </item>
 <item>
 <title><code>arg2</code></title>
-<p>another value</p>
+  <p>another value</p>
 </item>
 <item>
 <title><code>Returns</code></title>
-<p>the return value</p>
+  <p>the return value</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-doc-empty-arg-parsing.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-doc-empty-arg-parsing.page
index 48acac5..f42b7d3 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-doc-empty-arg-parsing.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-doc-empty-arg-parsing.page
@@ -6,23 +6,15 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="signal" type="guide"/>
     <title type="link" role="topic">doc-empty-arg-parsing</title>
-
   </info>
   <title>Regress.AnnotationObject::doc-empty-arg-parsing</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void doc-empty-arg-parsing (gpointer arg1);
-</code></synopsis>
+  </code></synopsis>
+  <p>This signal tests an empty document argument (<code>arg1</code>)</p>
 
-  
-    <p>This signal tests an empty document argument (<code>arg1</code>)</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>arg1</code></title>
@@ -34,6 +26,4 @@ void doc-empty-arg-parsing (gpointer arg1);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-function-property.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-function-property.page
index bd640b5..075d072 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-function-property.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-function-property.page
@@ -6,21 +6,10 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="property" type="guide"/>
     <title type="link" role="topic">function-property</title>
-
   </info>
   <title>Regress.AnnotationObject:function-property</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-list-signal.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-list-signal.page
index 29ad584..2893385 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-list-signal.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-list-signal.page
@@ -6,28 +6,20 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="signal" type="guide"/>
     <title type="link" role="topic">list-signal</title>
-
   </info>
   <title>Regress.AnnotationObject::list-signal</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void list-signal (gpointer list);
-</code></synopsis>
-
-  
-    <p>This is a signal which takes a list of strings, but it's not
+  </code></synopsis>
+  <p>This is a signal which takes a list of strings, but it's not
 known by GObject as it's only marked as G_TYPE_POINTER</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>list</code></title>
-<p>a list of strings</p>
+  <p>a list of strings</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ known by GObject as it's only marked as G_TYPE_POINTER</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-parent_instance.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-parent_instance.page
index 6dc17b3..97f17cd 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-parent_instance.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.AnnotationObject-parent_instance"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.AnnotationObject" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.AnnotationObject->parent_instance</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-string-property.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-string-property.page
index 70b80ae..23ae488 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-string-property.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-string-property.page
@@ -6,22 +6,10 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="property" type="guide"/>
     <title type="link" role="topic">string-property</title>
-
   </info>
   <title>Regress.AnnotationObject:string-property</title>
-  
-  
-  
-    <p>This is a property which is a string</p>
-  
-  
-    <p>Since 1.0</p>
-  
-  
-  
-  
-  
+  <p>This is a property which is a string</p>
+  <p>Since 1.0</p>
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-string-signal.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-string-signal.page
index e25d2bb..88317ee 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-string-signal.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-string-signal.page
@@ -6,29 +6,20 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="signal" type="guide"/>
     <title type="link" role="topic">string-signal</title>
-
   </info>
   <title>Regress.AnnotationObject::string-signal</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void string-signal (gpointer string);
-</code></synopsis>
-
-  
-    <p>This is a signal which has a broken signal handler,
+  </code></synopsis>
+  <p>This is a signal which has a broken signal handler,
 it says it's pointer but it's actually a string.</p>
-  
-  
-    <p>Since 1.0</p>
-  
-  
+  <p>Since 1.0</p>
 <terms>
 <item>
 <title><code>string</code></title>
-<p>a string</p>
+  <p>a string</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -36,6 +27,4 @@ it says it's pointer but it's actually a string.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-tab-property.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-tab-property.page
index 446729b..d4914db 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-tab-property.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-tab-property.page
@@ -6,23 +6,11 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="property" type="guide"/>
     <title type="link" role="topic">tab-property</title>
-
   </info>
   <title>Regress.AnnotationObject:tab-property</title>
-  
-  
-  
-    <p>This is a property annotation intentionally indented with a mix
+  <p>This is a property annotation intentionally indented with a mix
 of tabs and strings to test the tab handling capabilities of the scanner.</p>
-  
-  
-    <p>Since 1.2</p>
-  
-  
-  
-  
-  
+  <p>Since 1.2</p>
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.allow_none.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.allow_none.page
index 1d553fd..eb2f134 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.allow_none.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.allow_none.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,25 +21,18 @@
         <api:name>somearg</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_annotation_object_allow_none</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 GObject* regress_annotation_object_allow_none (RegressAnnotationObject* object,
                                                const gchar* somearg);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>object</code></title>
-<p>a <link xref="GObject.Object"/></p>
+  <p>a <link xref="GObject.Object"/></p>
 </item>
 <item>
 <title><code>somearg</code></title>
@@ -48,10 +40,8 @@ GObject* regress_annotation_object_allow_none (RegressAnnotationObject* object,
 </item>
 <item>
 <title><code>Returns</code></title>
-<p><code>NULL</code> always</p>
+  <p><code>NULL</code> always</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.calleeowns.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.calleeowns.page
index fc1758b..7cafa4d 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.calleeowns.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.calleeowns.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,36 +21,27 @@
         <api:name>toown</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_annotation_object_calleeowns</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 gint regress_annotation_object_calleeowns (RegressAnnotationObject* object,
                                            GObject** toown);
-</code></synopsis>
+  </code></synopsis>
+  <p>This is a test for out arguments; GObject defaults to transfer</p>
 
-  
-    <p>This is a test for out arguments; GObject defaults to transfer</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>object</code></title>
-<p>a <link xref="GObject.Object"/></p>
+  <p>a <link xref="GObject.Object"/></p>
 </item>
 <item>
 <title><code>toown</code></title>
-<p>a <link xref="GObject.Object"/></p>
+  <p>a <link xref="GObject.Object"/></p>
 </item>
 <item>
 <title><code>Returns</code></title>
-<p>an int</p>
+  <p>an int</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.calleesowns.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.calleesowns.page
index f168030..6e5fdcc 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.calleesowns.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.calleesowns.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -26,41 +25,32 @@
         <api:name>toown2</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_annotation_object_calleesowns</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 gint regress_annotation_object_calleesowns (RegressAnnotationObject* object,
                                             GObject** toown1,
                                             GObject** toown2);
-</code></synopsis>
+  </code></synopsis>
+  <p>This is a test for out arguments, one transferred, other not</p>
 
-  
-    <p>This is a test for out arguments, one transferred, other not</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>object</code></title>
-<p>a <link xref="GObject.Object"/></p>
+  <p>a <link xref="GObject.Object"/></p>
 </item>
 <item>
 <title><code>toown1</code></title>
-<p>a <link xref="GObject.Object"/></p>
+  <p>a <link xref="GObject.Object"/></p>
 </item>
 <item>
 <title><code>toown2</code></title>
-<p>a <link xref="GObject.Object"/></p>
+  <p>a <link xref="GObject.Object"/></p>
 </item>
 <item>
 <title><code>Returns</code></title>
-<p>an int</p>
+  <p>an int</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.compute_sum.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.compute_sum.page
index eaf0040..106fdb9 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.compute_sum.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.compute_sum.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,29 +21,22 @@
         <api:name>nums</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_annotation_object_compute_sum</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_annotation_object_compute_sum (RegressAnnotationObject* object,
                                             int* nums);
-</code></synopsis>
+  </code></synopsis>
+  <p>Test taking a zero-terminated array</p>
 
-  
-    <p>Test taking a zero-terminated array</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>object</code></title>
-<p>a <link xref="GObject.Object"/></p>
+  <p>a <link xref="GObject.Object"/></p>
 </item>
 <item>
 <title><code>nums</code></title>
-<p>Sequence of numbers</p>
+  <p>Sequence of numbers</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -52,6 +44,4 @@ void regress_annotation_object_compute_sum (RegressAnnotationObject* object,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.compute_sum_n.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.compute_sum_n.page
index 91ebe4b..cde8be6 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.compute_sum_n.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.compute_sum_n.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -26,35 +25,28 @@
         <api:name>n_nums</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_annotation_object_compute_sum_n</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_annotation_object_compute_sum_n (RegressAnnotationObject* object,
                                               int* nums,
                                               int n_nums);
-</code></synopsis>
+  </code></synopsis>
+  <p>Test taking an array with length parameter</p>
 
-  
-    <p>Test taking an array with length parameter</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>object</code></title>
-<p>a <link xref="GObject.Object"/></p>
+  <p>a <link xref="GObject.Object"/></p>
 </item>
 <item>
 <title><code>nums</code></title>
-<p>Sequence of
+  <p>Sequence of
   numbers that are zero-terminated</p>
 </item>
 <item>
 <title><code>n_nums</code></title>
-<p>Length of number array</p>
+  <p>Length of number array</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -62,6 +54,4 @@ void regress_annotation_object_compute_sum_n (RegressAnnotationObject* object,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.compute_sum_nz.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.compute_sum_nz.page
index 7f5b0cf..09be2a0 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.compute_sum_nz.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.compute_sum_nz.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -26,35 +25,28 @@
         <api:name>n_nums</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_annotation_object_compute_sum_nz</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_annotation_object_compute_sum_nz (RegressAnnotationObject* object,
                                                int* nums,
                                                int n_nums);
-</code></synopsis>
+  </code></synopsis>
+  <p>Test taking a zero-terminated array with length parameter</p>
 
-  
-    <p>Test taking a zero-terminated array with length parameter</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>object</code></title>
-<p>a <link xref="Regress.AnnotationObject"/></p>
+  <p>a <link xref="Regress.AnnotationObject"/></p>
 </item>
 <item>
 <title><code>nums</code></title>
-<p>Sequence of numbers that
+  <p>Sequence of numbers that
 are zero-terminated</p>
 </item>
 <item>
 <title><code>n_nums</code></title>
-<p>Length of number array</p>
+  <p>Length of number array</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -62,6 +54,4 @@ are zero-terminated</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.create_object.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.create_object.page
index 6ad744b..d7e9b9e 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.create_object.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.create_object.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,31 +17,22 @@
         <api:name>object</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_annotation_object_create_object</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 GObject* regress_annotation_object_create_object (RegressAnnotationObject* object);
-</code></synopsis>
+  </code></synopsis>
+  <p>Test returning a caller-owned object</p>
 
-  
-    <p>Test returning a caller-owned object</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>object</code></title>
-<p>a <link xref="GObject.Object"/></p>
+  <p>a <link xref="GObject.Object"/></p>
 </item>
 <item>
 <title><code>Returns</code></title>
-<p>The object</p>
+  <p>The object</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.do_not_use.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.do_not_use.page
index 4d651ca..ca15903 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.do_not_use.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.do_not_use.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,31 +17,22 @@
         <api:name>object</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_annotation_object_do_not_use</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 GObject* regress_annotation_object_do_not_use (RegressAnnotationObject* object);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>object</code></title>
-<p>a <link xref="GObject.Object"/></p>
+  <p>a <link xref="GObject.Object"/></p>
 </item>
 <item>
 <title><code>Returns</code></title>
-<p><code>NULL</code> always</p>
+  <p><code>NULL</code> always</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.extra_annos.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.extra_annos.page
index 809ebd2..a21e323 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.extra_annos.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.extra_annos.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>object</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_annotation_object_extra_annos</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_annotation_object_extra_annos (RegressAnnotationObject* object);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>object</code></title>
@@ -43,6 +35,4 @@ void regress_annotation_object_extra_annos (RegressAnnotationObject* object);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.foreach.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.foreach.page
index f74ca97..4dd7967 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.foreach.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.foreach.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -26,34 +25,27 @@
         <api:name>user_data</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_annotation_object_foreach</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_annotation_object_foreach (RegressAnnotationObject* object,
                                         RegressAnnotationForeachFunc func,
                                         gpointer user_data);
-</code></synopsis>
+  </code></synopsis>
+  <p>Test taking a call-scoped callback</p>
 
-  
-    <p>Test taking a call-scoped callback</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>object</code></title>
-<p>a <link xref="Regress.AnnotationObject"/></p>
+  <p>a <link xref="Regress.AnnotationObject"/></p>
 </item>
 <item>
 <title><code>func</code></title>
-<p>Callback to invoke</p>
+  <p>Callback to invoke</p>
 </item>
 <item>
 <title><code>user_data</code></title>
-<p>Callback user data</p>
+  <p>Callback user data</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -61,6 +53,4 @@ void regress_annotation_object_foreach (RegressAnnotationObject* object,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.get_hash.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.get_hash.page
index 6cc123b..fa9f22d 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.get_hash.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.get_hash.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,32 +17,23 @@
         <api:name>object</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_annotation_object_get_hash</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 GHashTable* regress_annotation_object_get_hash (RegressAnnotationObject* object);
-</code></synopsis>
-
-  
-    <p>This is a test for returning a hash table mapping strings to
+  </code></synopsis>
+  <p>This is a test for returning a hash table mapping strings to
 objects.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>object</code></title>
-<p>a <link xref="GObject.Object"/></p>
+  <p>a <link xref="GObject.Object"/></p>
 </item>
 <item>
 <title><code>Returns</code></title>
-<p>hash table</p>
+  <p>hash table</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.get_objects.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.get_objects.page
index 3021ce5..628c814 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.get_objects.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.get_objects.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,33 +17,24 @@
         <api:name>object</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_annotation_object_get_objects</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 GSList* regress_annotation_object_get_objects (RegressAnnotationObject* object);
-</code></synopsis>
-
-  
-    <p>This is a test for returning a list of objects.
+  </code></synopsis>
+  <p>This is a test for returning a list of objects.
 The list itself should be freed, but not the internal objects,
 intentionally similar example to gtk_container_get_children</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>object</code></title>
-<p>a <link xref="GObject.Object"/></p>
+  <p>a <link xref="GObject.Object"/></p>
 </item>
 <item>
 <title><code>Returns</code></title>
-<p>list of objects</p>
+  <p>list of objects</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.get_strings.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.get_strings.page
index 62087b0..c1911c9 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.get_strings.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.get_strings.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,32 +17,23 @@
         <api:name>object</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_annotation_object_get_strings</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 GList* regress_annotation_object_get_strings (RegressAnnotationObject* object);
-</code></synopsis>
-
-  
-    <p>This is a test for returning a list of strings, where
+  </code></synopsis>
+  <p>This is a test for returning a list of strings, where
 each string needs to be freed.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>object</code></title>
-<p>a <link xref="GObject.Object"/></p>
+  <p>a <link xref="GObject.Object"/></p>
 </item>
 <item>
 <title><code>Returns</code></title>
-<p>list of strings</p>
+  <p>list of strings</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.hidden_self.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.hidden_self.page
index f1696c0..dae414e 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.hidden_self.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.hidden_self.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,24 +17,17 @@
         <api:name>object</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_annotation_object_hidden_self</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_annotation_object_hidden_self (gpointer object);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>object</code></title>
-<p>A <link xref="Regress.AnnotationObject"/></p>
+  <p>A <link xref="Regress.AnnotationObject"/></p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -43,6 +35,4 @@ void regress_annotation_object_hidden_self (gpointer object);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.in.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.in.page
index ef1f430..e871ff5 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.in.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,36 +21,27 @@
         <api:name>inarg</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_annotation_object_in</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 gint regress_annotation_object_in (RegressAnnotationObject* object,
                                    int* inarg);
-</code></synopsis>
+  </code></synopsis>
+  <p>This is a test for in arguments</p>
 
-  
-    <p>This is a test for in arguments</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>object</code></title>
-<p>a <link xref="GObject.Object"/></p>
+  <p>a <link xref="GObject.Object"/></p>
 </item>
 <item>
 <title><code>inarg</code></title>
-<p>This is an argument test</p>
+  <p>This is an argument test</p>
 </item>
 <item>
 <title><code>Returns</code></title>
-<p>an int</p>
+  <p>an int</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.inout.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.inout.page
index 0e95829..160acea 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.inout.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.inout.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,36 +21,27 @@
         <api:name>inoutarg</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_annotation_object_inout</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 gint regress_annotation_object_inout (RegressAnnotationObject* object,
                                       int* inoutarg);
-</code></synopsis>
+  </code></synopsis>
+  <p>This is a test for out arguments</p>
 
-  
-    <p>This is a test for out arguments</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>object</code></title>
-<p>a <link xref="GObject.Object"/></p>
+  <p>a <link xref="GObject.Object"/></p>
 </item>
 <item>
 <title><code>inoutarg</code></title>
-<p>This is an argument test</p>
+  <p>This is an argument test</p>
 </item>
 <item>
 <title><code>Returns</code></title>
-<p>an int</p>
+  <p>an int</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.inout2.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.inout2.page
index cae38e5..3c48561 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.inout2.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.inout2.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,36 +21,27 @@
         <api:name>inoutarg</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_annotation_object_inout2</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 gint regress_annotation_object_inout2 (RegressAnnotationObject* object,
                                        int* inoutarg);
-</code></synopsis>
+  </code></synopsis>
+  <p>This is a second test for out arguments</p>
 
-  
-    <p>This is a second test for out arguments</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>object</code></title>
-<p>a <link xref="GObject.Object"/></p>
+  <p>a <link xref="GObject.Object"/></p>
 </item>
 <item>
 <title><code>inoutarg</code></title>
-<p>This is an argument test</p>
+  <p>This is an argument test</p>
 </item>
 <item>
 <title><code>Returns</code></title>
-<p>an int</p>
+  <p>an int</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.inout3.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.inout3.page
index 8ca35f3..c0870f2 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.inout3.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.inout3.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,36 +21,27 @@
         <api:name>inoutarg</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_annotation_object_inout3</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 gint regress_annotation_object_inout3 (RegressAnnotationObject* object,
                                        int* inoutarg);
-</code></synopsis>
+  </code></synopsis>
+  <p>This is a 3th test for out arguments</p>
 
-  
-    <p>This is a 3th test for out arguments</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>object</code></title>
-<p>a <link xref="GObject.Object"/></p>
+  <p>a <link xref="GObject.Object"/></p>
 </item>
 <item>
 <title><code>inoutarg</code></title>
-<p>This is an argument test</p>
+  <p>This is an argument test</p>
 </item>
 <item>
 <title><code>Returns</code></title>
-<p>an int</p>
+  <p>an int</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.method.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.method.page
index 8f0e187..c137afd 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.method.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.method.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,31 +17,22 @@
         <api:name>object</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_annotation_object_method</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 gint regress_annotation_object_method (RegressAnnotationObject* object);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>object</code></title>
-<p>a <link xref="GObject.Object"/></p>
+  <p>a <link xref="GObject.Object"/></p>
 </item>
 <item>
 <title><code>Returns</code></title>
-<p>an int</p>
+  <p>an int</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.notrans.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.notrans.page
index de87deb..a76fe81 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.notrans.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.notrans.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,31 +17,22 @@
         <api:name>object</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_annotation_object_notrans</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 GObject* regress_annotation_object_notrans (RegressAnnotationObject* object);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>object</code></title>
-<p>a <link xref="GObject.Object"/></p>
+  <p>a <link xref="GObject.Object"/></p>
 </item>
 <item>
 <title><code>Returns</code></title>
-<p>An object, not referenced</p>
+  <p>An object, not referenced</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.out.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.out.page
index d244433..169e040 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.out.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,36 +21,27 @@
         <api:name>outarg</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_annotation_object_out</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 gint regress_annotation_object_out (RegressAnnotationObject* object,
                                     int* outarg);
-</code></synopsis>
+  </code></synopsis>
+  <p>This is a test for out arguments</p>
 
-  
-    <p>This is a test for out arguments</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>object</code></title>
-<p>a <link xref="GObject.Object"/></p>
+  <p>a <link xref="GObject.Object"/></p>
 </item>
 <item>
 <title><code>outarg</code></title>
-<p>This is an argument test</p>
+  <p>This is an argument test</p>
 </item>
 <item>
 <title><code>Returns</code></title>
-<p>an int</p>
+  <p>an int</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.page
index 80d4339..2851d7e 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.page
@@ -6,19 +6,11 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="class" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.AnnotationObject</title>
-  
-  
-  
-    <p>This is an object used to test annotations.</p>
-  
-  
-  
-  
+  <p>This is an object used to test annotations.</p>
+
   <synopsis>
     <title>Hierarchy</title>
     <tree>
@@ -30,8 +22,11 @@
       </item>
     </tree>
   </synopsis>
-
-  
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-csrc"
          groups="method" style="linklist">
@@ -40,7 +35,7 @@
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-csrc"
          groups="function" style="linklist">
-    <title>Functions</title>
+    <title>Static Functions</title>
   </links>
   <links type="topic" ui:expanded="true" groups="property" style="linklist">
     <title>Properties</title>
@@ -51,8 +46,10 @@
   <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
     <title>Virtual functions</title>
   </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
   <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
     <title>Other</title>
   </links>
-
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.parse_args.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.parse_args.page
index 2fa9f09..928e980 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.parse_args.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.parse_args.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -26,34 +25,27 @@
         <api:name>argv</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_annotation_object_parse_args</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_annotation_object_parse_args (RegressAnnotationObject* object,
                                            int* argc,
                                            char*** argv);
-</code></synopsis>
+  </code></synopsis>
+  <p>Test taking a zero-terminated array with length parameter</p>
 
-  
-    <p>Test taking a zero-terminated array with length parameter</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>object</code></title>
-<p>a <link xref="Regress.AnnotationObject"/></p>
+  <p>a <link xref="Regress.AnnotationObject"/></p>
 </item>
 <item>
 <title><code>argc</code></title>
-<p>Length of the argument vector</p>
+  <p>Length of the argument vector</p>
 </item>
 <item>
 <title><code>argv</code></title>
-<p>Argument vector</p>
+  <p>Argument vector</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -61,6 +53,4 @@ void regress_annotation_object_parse_args (RegressAnnotationObject* object,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.set_data.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.set_data.page
index a52c0ff..dd49cf0 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.set_data.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.set_data.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -26,34 +25,27 @@
         <api:name>length</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_annotation_object_set_data</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_annotation_object_set_data (RegressAnnotationObject* object,
                                          guchar* data,
                                          gsize length);
-</code></synopsis>
+  </code></synopsis>
+  <p>Test taking a guchar * with a length.</p>
 
-  
-    <p>Test taking a guchar * with a length.</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>object</code></title>
-<p>a <link xref="Regress.AnnotationObject"/></p>
+  <p>a <link xref="Regress.AnnotationObject"/></p>
 </item>
 <item>
 <title><code>data</code></title>
-<p>The data</p>
+  <p>The data</p>
 </item>
 <item>
 <title><code>length</code></title>
-<p>Length of the data</p>
+  <p>Length of the data</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -61,6 +53,4 @@ void regress_annotation_object_set_data (RegressAnnotationObject* object,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.set_data2.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.set_data2.page
index dd72420..345be7f 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.set_data2.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.set_data2.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -26,34 +25,27 @@
         <api:name>length</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_annotation_object_set_data2</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_annotation_object_set_data2 (RegressAnnotationObject* object,
                                           gint8* data,
                                           gsize length);
-</code></synopsis>
+  </code></synopsis>
+  <p>Test taking a gchar * with a length.</p>
 
-  
-    <p>Test taking a gchar * with a length.</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>object</code></title>
-<p>a <link xref="Regress.AnnotationObject"/></p>
+  <p>a <link xref="Regress.AnnotationObject"/></p>
 </item>
 <item>
 <title><code>data</code></title>
-<p>The data</p>
+  <p>The data</p>
 </item>
 <item>
 <title><code>length</code></title>
-<p>Length of the data</p>
+  <p>Length of the data</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -61,6 +53,4 @@ void regress_annotation_object_set_data2 (RegressAnnotationObject* object,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.set_data3.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.set_data3.page
index 86666ef..ce904c6 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.set_data3.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.set_data3.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -26,35 +25,28 @@
         <api:name>length</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_annotation_object_set_data3</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_annotation_object_set_data3 (RegressAnnotationObject* object,
                                           guint8* data,
                                           gsize length);
-</code></synopsis>
-
-  
-    <p>Test taking a gchar * with a length, overriding the array element
+  </code></synopsis>
+  <p>Test taking a gchar * with a length, overriding the array element
 type.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>object</code></title>
-<p>a <link xref="Regress.AnnotationObject"/></p>
+  <p>a <link xref="Regress.AnnotationObject"/></p>
 </item>
 <item>
 <title><code>data</code></title>
-<p>The data</p>
+  <p>The data</p>
 </item>
 <item>
 <title><code>length</code></title>
-<p>Length of the data</p>
+  <p>Length of the data</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -62,6 +54,4 @@ type.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.string_out.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.string_out.page
index a70d477..6fec0d7 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.string_out.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.string_out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,36 +21,27 @@
         <api:name>str_out</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_annotation_object_string_out</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 gboolean regress_annotation_object_string_out (RegressAnnotationObject* object,
                                                char** str_out);
-</code></synopsis>
+  </code></synopsis>
+  <p>Test returning a string as an out parameter</p>
 
-  
-    <p>Test returning a string as an out parameter</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>object</code></title>
-<p>a <link xref="Regress.AnnotationObject"/></p>
+  <p>a <link xref="Regress.AnnotationObject"/></p>
 </item>
 <item>
 <title><code>str_out</code></title>
-<p>string return value</p>
+  <p>string return value</p>
 </item>
 <item>
 <title><code>Returns</code></title>
-<p>some boolean</p>
+  <p>some boolean</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.use_buffer.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.use_buffer.page
index 3228007..a5385dc 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.use_buffer.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.use_buffer.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,25 +21,18 @@
         <api:name>bytes</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_annotation_object_use_buffer</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_annotation_object_use_buffer (RegressAnnotationObject* object,
                                            guchar* bytes);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>object</code></title>
-<p>a <link xref="GObject.Object"/></p>
+  <p>a <link xref="GObject.Object"/></p>
 </item>
 <item>
 <title><code>bytes</code></title>
@@ -52,6 +44,4 @@ void regress_annotation_object_use_buffer (RegressAnnotationObject* object,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.watch.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.watch.page
index 76402aa..219a773 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.watch.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.watch.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -26,35 +25,28 @@
         <api:name>user_data</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_annotation_object_watch</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_annotation_object_watch (RegressAnnotationObject* object,
                                       RegressAnnotationForeachFunc func,
                                       gpointer user_data);
-</code></synopsis>
-
-  
-    <p>This is here just for the sake of being overriden by its
+  </code></synopsis>
+  <p>This is here just for the sake of being overriden by its
 <link xref="Regress.watch_full"/>.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>object</code></title>
-<p>A <link xref="Regress.AnnotationObject"/></p>
+  <p>A <link xref="Regress.AnnotationObject"/></p>
 </item>
 <item>
 <title><code>func</code></title>
-<p>The callback</p>
+  <p>The callback</p>
 </item>
 <item>
 <title><code>user_data</code></title>
-<p>The callback data</p>
+  <p>The callback data</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -62,6 +54,4 @@ void regress_annotation_object_watch (RegressAnnotationObject* object,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.watch_full.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.watch_full.page
index 1fe2080..5c2acdb 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.watch_full.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.watch_full.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -30,39 +29,32 @@
         <api:name>destroy</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_annotation_object_watch_full</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_annotation_object_watch_full (RegressAnnotationObject* object,
                                            RegressAnnotationForeachFunc func,
                                            gpointer user_data,
                                            GDestroyNotify destroy);
-</code></synopsis>
+  </code></synopsis>
+  <p>Test overriding via the "Rename To" annotation.</p>
 
-  
-    <p>Test overriding via the "Rename To" annotation.</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>object</code></title>
-<p>A <link xref="Regress.AnnotationObject"/></p>
+  <p>A <link xref="Regress.AnnotationObject"/></p>
 </item>
 <item>
 <title><code>func</code></title>
-<p>The callback</p>
+  <p>The callback</p>
 </item>
 <item>
 <title><code>user_data</code></title>
-<p>The callback data</p>
+  <p>The callback data</p>
 </item>
 <item>
 <title><code>destroy</code></title>
-<p>Destroy notification</p>
+  <p>Destroy notification</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -70,6 +62,4 @@ void regress_annotation_object_watch_full (RegressAnnotationObject* object,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.with_voidp.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.with_voidp.page
index ef9436e..5b21ead 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.with_voidp.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.with_voidp.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,21 +21,14 @@
         <api:name>data</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_annotation_object_with_voidp</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_annotation_object_with_voidp (RegressAnnotationObject* object,
                                            void* data);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>object</code></title>
@@ -44,7 +36,7 @@ void regress_annotation_object_with_voidp (RegressAnnotationObject* object,
 </item>
 <item>
 <title><code>data</code></title>
-<p>Opaque pointer handle</p>
+  <p>Opaque pointer handle</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -52,6 +44,4 @@ void regress_annotation_object_with_voidp (RegressAnnotationObject* object,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObjectClass-parent_class.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObjectClass-parent_class.page
index 6dc17b3..2b52122 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObjectClass-parent_class.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.AnnotationObjectClass-parent_class"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.AnnotationObjectClass" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.AnnotationObjectClass->parent_class</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObjectClass.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObjectClass.page
index 28b8a71..faa43dc 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObjectClass.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObjectClass.page
@@ -1,25 +1,35 @@
 <?xml version="1.0"?>
 <page id="Regress.AnnotationObjectClass"
-      type="topic"
-      style="record"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.AnnotationObjectClass</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationStruct-objects.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.AnnotationStruct-objects.page
index 6dc17b3..f1498fc 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationStruct-objects.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.AnnotationStruct-objects"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.AnnotationStruct" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.AnnotationStruct->objects</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationStruct.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationStruct.page
index 341362a..d3af464 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationStruct.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationStruct.page
@@ -1,25 +1,35 @@
 <?xml version="1.0"?>
 <page id="Regress.AnnotationStruct"
-      type="topic"
-      style="record"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.AnnotationStruct</title>
-  
-  
-  
-    <p>This is a test of an array of object in an field of a struct.</p>
-  
-  
-  
-  
-  
-  
-  
+  <p>This is a test of an array of object in an field of a struct.</p>
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.BOOL_CONSTANT.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.BOOL_CONSTANT.page
index 6dc17b3..e65594f 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.BOOL_CONSTANT.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.BOOL_CONSTANT"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.BOOL_CONSTANT</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.DOUBLE_CONSTANT.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.DOUBLE_CONSTANT.page
index 6dc17b3..bbc2a03 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.DOUBLE_CONSTANT.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.DOUBLE_CONSTANT"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.DOUBLE_CONSTANT</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FOO_DEFINE_SHOULD_BE_EXPOSED.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.FOO_DEFINE_SHOULD_BE_EXPOSED.page
index 6dc17b3..09b1561 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FOO_DEFINE_SHOULD_BE_EXPOSED.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FOO_DEFINE_SHOULD_BE_EXPOSED"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FOO_DEFINE_SHOULD_BE_EXPOSED</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FOO_PIE_IS_TASTY.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.FOO_PIE_IS_TASTY.page
index 6dc17b3..132f508 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FOO_PIE_IS_TASTY.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FOO_PIE_IS_TASTY"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FOO_PIE_IS_TASTY</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FOO_SUCCESS_INT.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.FOO_SUCCESS_INT.page
index 6dc17b3..58650ec 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FOO_SUCCESS_INT.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FOO_SUCCESS_INT"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FOO_SUCCESS_INT</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooASingle.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooASingle.page
index 39ebf9c..adc4f20 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooASingle.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooASingle.page
@@ -6,20 +6,9 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="enum" type="guide"/>
-    
+    <link xref="index" group="enum" type="guide"/>
   </info>
   <title>Regress.FooASingle</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooAddressType.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooAddressType.page
index 717b501..98056a5 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooAddressType.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooAddressType.page
@@ -6,20 +6,9 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="enum" type="guide"/>
-    
+    <link xref="index" group="enum" type="guide"/>
   </info>
   <title>Regress.FooAddressType</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooBRect-x.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.FooBRect-x.page
index 6dc17b3..b444125 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooBRect-x.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooBRect-x"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooBRect" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooBRect->x</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooBRect-y.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.FooBRect-y.page
index 6dc17b3..8d7b0f1 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooBRect-y.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooBRect-y"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooBRect" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooBRect->y</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooBRect.add.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooBRect.add.page
index 38eae39..854ef78 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooBRect.add.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooBRect.add.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooBRect" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,21 +21,14 @@
         <api:name>b2</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_foo_brect_add</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_foo_brect_add (RegressFooBRect* b1,
                             RegressFooBRect* b2);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>b1</code></title>
@@ -52,6 +44,4 @@ void regress_foo_brect_add (RegressFooBRect* b1,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooBRect.new.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooBRect.new.page
index 3ca2281..0a7caf0 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooBRect.new.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooBRect.new.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooBRect" group="constructor" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,21 +21,14 @@
         <api:name>y</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_foo_brect_new</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 RegressFooBRect* regress_foo_brect_new (double x,
                                         double y);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>x</code></title>
@@ -52,6 +44,4 @@ RegressFooBRect* regress_foo_brect_new (double x,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooBRect.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooBRect.page
index abd6b03..2f6a48d 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooBRect.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooBRect.page
@@ -1,25 +1,35 @@
 <?xml version="1.0"?>
 <page id="Regress.FooBRect"
-      type="topic"
-      style="record"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooBRect</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooBUnion-rect.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.FooBUnion-rect.page
index 6dc17b3..1c7cead 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooBUnion-rect.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooBUnion-rect"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooBUnion" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooBUnion->rect</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooBUnion-type.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.FooBUnion-type.page
index 6dc17b3..6fdd489 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooBUnion-type.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooBUnion-type"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooBUnion" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooBUnion->type</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooBUnion-v.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.FooBUnion-v.page
index 6dc17b3..0a39062 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooBUnion-v.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooBUnion-v"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooBUnion" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooBUnion->v</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooBUnion.get_contained_type.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooBUnion.get_contained_type.page
index 1ee353f..3ff48f7 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooBUnion.get_contained_type.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooBUnion.get_contained_type.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooBUnion" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>bunion</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_foo_bunion_get_contained_type</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 int regress_foo_bunion_get_contained_type (RegressFooBUnion* bunion);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>bunion</code></title>
@@ -43,6 +35,4 @@ int regress_foo_bunion_get_contained_type (RegressFooBUnion* bunion);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooBUnion.new.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooBUnion.new.page
index b760f20..ca979f7 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooBUnion.new.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooBUnion.new.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooBUnion" group="constructor" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,20 +13,13 @@
       </api:returns>
       <api:name>regress_foo_bunion_new</api:name>
     </api:function>
-
   </info>
   <title>regress_foo_bunion_new</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 RegressFooBUnion* regress_foo_bunion_new (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ RegressFooBUnion* regress_foo_bunion_new (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooBUnion.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooBUnion.page
index 8644d96..2398703 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooBUnion.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooBUnion.page
@@ -1,25 +1,35 @@
 <?xml version="1.0"?>
 <page id="Regress.FooBUnion"
-      type="topic"
-      style="default"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooBUnion</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooBoxed.method.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooBoxed.method.page
index 7483641..b999962 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooBoxed.method.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooBoxed.method.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooBoxed" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>boxed</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_foo_boxed_method</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_foo_boxed_method (RegressFooBoxed* boxed);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>boxed</code></title>
@@ -43,6 +35,4 @@ void regress_foo_boxed_method (RegressFooBoxed* boxed);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooBoxed.new.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooBoxed.new.page
index 3e3e4f9..7a92963 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooBoxed.new.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooBoxed.new.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooBoxed" group="constructor" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,20 +13,13 @@
       </api:returns>
       <api:name>regress_foo_boxed_new</api:name>
     </api:function>
-
   </info>
   <title>regress_foo_boxed_new</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 RegressFooBoxed* regress_foo_boxed_new (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ RegressFooBoxed* regress_foo_boxed_new (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooBoxed.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooBoxed.page
index e711c3e..82b56c8 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooBoxed.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooBoxed.page
@@ -1,25 +1,35 @@
 <?xml version="1.0"?>
 <page id="Regress.FooBoxed"
-      type="topic"
-      style="record"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooBoxed</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooBuffer.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooBuffer.page
index 267ddcb..4eb0b4d 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooBuffer.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooBuffer.page
@@ -6,19 +6,11 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="class" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooBuffer</title>
-  
-  
-  
-    
-  
-  
-  
-  
+
+
   <synopsis>
     <title>Hierarchy</title>
     <tree>
@@ -33,8 +25,11 @@
       </item>
     </tree>
   </synopsis>
-
-  
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-csrc"
          groups="method" style="linklist">
@@ -43,7 +38,7 @@
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-csrc"
          groups="function" style="linklist">
-    <title>Functions</title>
+    <title>Static Functions</title>
   </links>
   <links type="topic" ui:expanded="true" groups="property" style="linklist">
     <title>Properties</title>
@@ -54,8 +49,10 @@
   <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
     <title>Virtual functions</title>
   </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
   <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
     <title>Other</title>
   </links>
-
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooBuffer.some_method.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooBuffer.some_method.page
index 6f6469d..594c564 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooBuffer.some_method.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooBuffer.some_method.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooBuffer" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>buffer</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_foo_buffer_some_method</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_foo_buffer_some_method (RegressFooBuffer* buffer);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>buffer</code></title>
@@ -43,6 +35,4 @@ void regress_foo_buffer_some_method (RegressFooBuffer* buffer);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooCallback.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooCallback.page
index 52feda2..67ea939 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooCallback.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooCallback.page
@@ -1,25 +1,38 @@
 <?xml version="1.0"?>
 <page id="Regress.FooCallback"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
-  </info>
+    <link xref="index" group="callback" type="guide"/>
+    </info>
   <title>Regress.FooCallback</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-csrc">
+gboolean FooCallback (RegressFooObject* regress_foo,
+                      gboolean b,
+                      gpointer data);
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>regress_foo</code></title>
+
+</item>
+<item>
+<title><code>b</code></title>
+
+</item>
+<item>
+<title><code>data</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooDBusData.method.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooDBusData.method.page
index 8694337..3335ed5 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooDBusData.method.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooDBusData.method.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooDBusData" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>dbusdata</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_foo_dbus_data_method</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_foo_dbus_data_method (RegressFooDBusData* dbusdata);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>dbusdata</code></title>
@@ -43,6 +35,4 @@ void regress_foo_dbus_data_method (RegressFooDBusData* dbusdata);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooDBusData.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooDBusData.page
index 09050e7..8c8016a 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooDBusData.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooDBusData.page
@@ -1,25 +1,35 @@
 <?xml version="1.0"?>
 <page id="Regress.FooDBusData"
-      type="topic"
-      style="record"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooDBusData</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooEnumFullname.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooEnumFullname.page
index 80f6c3b..0427ba6 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooEnumFullname.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooEnumFullname.page
@@ -6,20 +6,9 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="enum" type="guide"/>
-    
+    <link xref="index" group="enum" type="guide"/>
   </info>
   <title>Regress.FooEnumFullname</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooEnumNoType.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooEnumNoType.page
index b3c71a6..803a5e7 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooEnumNoType.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooEnumNoType.page
@@ -6,20 +6,9 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="enum" type="guide"/>
-    
+    <link xref="index" group="enum" type="guide"/>
   </info>
   <title>Regress.FooEnumNoType</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooEnumType.method.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooEnumType.method.page
index 6ecf2dd..bcf81f2 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooEnumType.method.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooEnumType.method.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>regress_foo_enum</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_foo_enum_type_method</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 int regress_foo_enum_type_method (RegressFooEnumType regress_foo_enum);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>regress_foo_enum</code></title>
@@ -43,6 +35,4 @@ int regress_foo_enum_type_method (RegressFooEnumType regress_foo_enum);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooEnumType.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooEnumType.page
index 6dd3491..52aaf30 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooEnumType.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooEnumType.page
@@ -6,20 +6,9 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="enum" type="guide"/>
-    
+    <link xref="index" group="enum" type="guide"/>
   </info>
   <title>Regress.FooEnumType</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooEnumType.returnv.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooEnumType.returnv.page
index aa0c6c1..85335da 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooEnumType.returnv.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooEnumType.returnv.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>x</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_foo_enum_type_returnv</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 RegressFooEnumType regress_foo_enum_type_returnv (int x);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>x</code></title>
@@ -43,6 +35,4 @@ RegressFooEnumType regress_foo_enum_type_returnv (int x);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooError.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooError.page
index 79bb9d2..6848fb2 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooError.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooError.page
@@ -6,20 +6,9 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="enum" type="guide"/>
-    
+    <link xref="index" group="enum" type="guide"/>
   </info>
   <title>Regress.FooError</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooError.quark.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooError.quark.page
index dde46fb..aa71535 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooError.quark.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooError.quark.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,20 +13,13 @@
       </api:returns>
       <api:name>regress_foo_error_quark</api:name>
     </api:function>
-
   </info>
   <title>regress_foo_error_quark</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 GQuark regress_foo_error_quark (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ GQuark regress_foo_error_quark (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooEvent-any.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.FooEvent-any.page
index 6dc17b3..aab09bd 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooEvent-any.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooEvent-any"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooEvent" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooEvent->any</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooEvent-expose.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.FooEvent-expose.page
index 6dc17b3..58dc674 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooEvent-expose.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooEvent-expose"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooEvent" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooEvent->expose</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooEvent-type.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.FooEvent-type.page
index 6dc17b3..d9ea332 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooEvent-type.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooEvent-type"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooEvent" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooEvent->type</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooEvent.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooEvent.page
index ce36830..98f2344 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooEvent.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooEvent.page
@@ -1,25 +1,35 @@
 <?xml version="1.0"?>
 <page id="Regress.FooEvent"
-      type="topic"
-      style="default"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooEvent</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooEventAny-send_event.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.FooEventAny-send_event.page
index 6dc17b3..045be53 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooEventAny-send_event.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooEventAny-send_event"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooEventAny" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooEventAny->send_event</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooEventAny.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooEventAny.page
index 0e3a555..d98a36d 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooEventAny.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooEventAny.page
@@ -1,25 +1,35 @@
 <?xml version="1.0"?>
 <page id="Regress.FooEventAny"
-      type="topic"
-      style="record"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooEventAny</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooEventExpose-count.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.FooEventExpose-count.page
index 6dc17b3..f9e410c 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooEventExpose-count.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooEventExpose-count"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooEventExpose" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooEventExpose->count</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooEventExpose-send_event.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.FooEventExpose-send_event.page
index 6dc17b3..d06c23a 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooEventExpose-send_event.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooEventExpose-send_event"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooEventExpose" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooEventExpose->send_event</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooEventExpose.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooEventExpose.page
index 27c4c4a..e538b2b 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooEventExpose.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooEventExpose.page
@@ -1,25 +1,35 @@
 <?xml version="1.0"?>
 <page id="Regress.FooEventExpose"
-      type="topic"
-      style="record"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooEventExpose</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooFlagsNoType.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooFlagsNoType.page
index 53539d4..930b6d0 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooFlagsNoType.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooFlagsNoType.page
@@ -6,20 +6,9 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
   <title>Regress.FooFlagsNoType</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooFlagsType.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooFlagsType.page
index 2b4afeb..96e9759 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooFlagsType.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooFlagsType.page
@@ -6,20 +6,9 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
   <title>Regress.FooFlagsType</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooForeignStruct-regress_foo.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.FooForeignStruct-regress_foo.page
index 6dc17b3..07c098c 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooForeignStruct-regress_foo.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooForeignStruct-regress_foo"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooForeignStruct" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooForeignStruct->regress_foo</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooForeignStruct.copy.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooForeignStruct.copy.page
index 217a983..582e019 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooForeignStruct.copy.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooForeignStruct.copy.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooForeignStruct" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>original</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_foo_foreign_struct_copy</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 RegressFooForeignStruct* regress_foo_foreign_struct_copy (RegressFooForeignStruct* original);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>original</code></title>
@@ -43,6 +35,4 @@ RegressFooForeignStruct* regress_foo_foreign_struct_copy (RegressFooForeignStruc
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooForeignStruct.new.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooForeignStruct.new.page
index 7314c1d..5bb3d93 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooForeignStruct.new.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooForeignStruct.new.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooForeignStruct" group="constructor" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,20 +13,13 @@
       </api:returns>
       <api:name>regress_foo_foreign_struct_new</api:name>
     </api:function>
-
   </info>
   <title>regress_foo_foreign_struct_new</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 RegressFooForeignStruct* regress_foo_foreign_struct_new (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ RegressFooForeignStruct* regress_foo_foreign_struct_new (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooForeignStruct.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooForeignStruct.page
index ee3e5e7..357ca22 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooForeignStruct.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooForeignStruct.page
@@ -1,25 +1,35 @@
 <?xml version="1.0"?>
 <page id="Regress.FooForeignStruct"
-      type="topic"
-      style="record"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooForeignStruct</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooInterface-do_regress_foo.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooInterface-do_regress_foo.page
index b3faca6..61f1681 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooInterface-do_regress_foo.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooInterface-do_regress_foo.page
@@ -6,23 +6,15 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooInterface" group="vfunc" type="guide"/>
-
   </info>
   <title>Regress.FooInterface::do_regress_foo</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void do_regress_foo (RegressFooInterface* self,
                      int x);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -38,6 +30,4 @@ void do_regress_foo (RegressFooInterface* self,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooInterface.do_regress_foo.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooInterface.do_regress_foo.page
index 7c44fd4..ef3ca53 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooInterface.do_regress_foo.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooInterface.do_regress_foo.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooInterface" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,21 +21,14 @@
         <api:name>x</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_foo_interface_do_regress_foo</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_foo_interface_do_regress_foo (RegressFooInterface* iface,
                                            int x);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>iface</code></title>
@@ -52,6 +44,4 @@ void regress_foo_interface_do_regress_foo (RegressFooInterface* iface,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooInterface.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooInterface.page
index 7ec29fe..266aac9 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooInterface.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooInterface.page
@@ -1,34 +1,29 @@
 <?xml version="1.0"?>
 <page id="Regress.FooInterface"
       type="guide"
-      style="class"
+      style="interface"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="class" type="guide"/>
-    
+    <link xref="index" group="interface" type="guide"/>
   </info>
   <title>Regress.FooInterface</title>
-  
-  
-  
-    
-  
-  
-  
-  
+
+
   <synopsis>
-    <title>Hierarchy</title>
-    <tree>
-      <item>
-        <code>Regress.FooInterface</code>
-      </item>
-    </tree>
+    <title>Prerequisites</title>
+    <p>FooInterface requires GObject.Object</p>
+  </synopsis>
+  <synopsis>
+    <title>Known Implementations</title>
+    <p>FooInterface is implemented by FooBuffer, FooObject and FooSubobject</p>
   </synopsis>
-
-  
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-csrc"
          groups="method" style="linklist">
@@ -37,7 +32,7 @@
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-csrc"
          groups="function" style="linklist">
-    <title>Functions</title>
+    <title>Static Functions</title>
   </links>
   <links type="topic" ui:expanded="true" groups="property" style="linklist">
     <title>Properties</title>
@@ -48,8 +43,10 @@
   <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
     <title>Virtual functions</title>
   </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
   <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
     <title>Other</title>
   </links>
-
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooInterface.static_method.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooInterface.static_method.page
index a3ad69a..b6fc598 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooInterface.static_method.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooInterface.static_method.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooInterface" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>x</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_foo_interface_static_method</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_foo_interface_static_method (int x);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>x</code></title>
@@ -43,6 +35,4 @@ void regress_foo_interface_static_method (int x);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooInterfaceIface-do_regress_foo.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.FooInterfaceIface-do_regress_foo.page
index 6dc17b3..e105b4e 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooInterfaceIface-do_regress_foo.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooInterfaceIface-do_regress_foo"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooInterfaceIface" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooInterfaceIface->do_regress_foo</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooInterfaceIface-parent_iface.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.FooInterfaceIface-parent_iface.page
index 6dc17b3..e7a7e3e 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooInterfaceIface-parent_iface.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooInterfaceIface-parent_iface"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooInterfaceIface" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooInterfaceIface->parent_iface</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooInterfaceIface.do_regress_foo.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooInterfaceIface.do_regress_foo.page
index 0b90042..3c8b881 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooInterfaceIface.do_regress_foo.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooInterfaceIface.do_regress_foo.page
@@ -1,25 +1,33 @@
 <?xml version="1.0"?>
 <page id="Regress.FooInterfaceIface.do_regress_foo"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
-  </info>
+    <link xref="index" group="callback" type="guide"/>
+    </info>
   <title>Regress.FooInterfaceIface.do_regress_foo</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-csrc">
+void do_regress_foo (RegressFooInterface* self,
+                     int x);
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+<item>
+<title><code>x</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooInterfaceIface.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooInterfaceIface.page
index 53b09b4..26a98b5 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooInterfaceIface.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooInterfaceIface.page
@@ -1,25 +1,35 @@
 <?xml version="1.0"?>
 <page id="Regress.FooInterfaceIface"
-      type="topic"
-      style="record"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooInterfaceIface</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject-hidden.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject-hidden.page
index ccfbcfa..f34361e 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject-hidden.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject-hidden.page
@@ -6,21 +6,10 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooObject" group="property" type="guide"/>
     <title type="link" role="topic">hidden</title>
-
   </info>
   <title>Regress.FooObject:hidden</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject-parent_instance.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.FooObject-parent_instance.page
index 6dc17b3..d9cf9b8 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject-parent_instance.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooObject-parent_instance"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooObject" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooObject->parent_instance</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject-read_fn.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject-read_fn.page
index f99f3c0..e390f39 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject-read_fn.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject-read_fn.page
@@ -6,36 +6,28 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooObject" group="vfunc" type="guide"/>
-
   </info>
   <title>Regress.FooObject::read_fn</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void read_fn (RegressFooObject* object,
               int offset,
               int length);
-</code></synopsis>
+  </code></synopsis>
+  <p>Read some stuff.</p>
 
-  
-    <p>Read some stuff.</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>object</code></title>
-<p>obj</p>
+  <p>obj</p>
 </item>
 <item>
 <title><code>offset</code></title>
-<p>offset</p>
+  <p>offset</p>
 </item>
 <item>
 <title><code>length</code></title>
-<p>length</p>
+  <p>length</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -43,6 +35,4 @@ void read_fn (RegressFooObject* object,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject-signal.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject-signal.page
index 3a8c131..d718206 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject-signal.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject-signal.page
@@ -6,24 +6,16 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooObject" group="signal" type="guide"/>
     <title type="link" role="topic">signal</title>
-
   </info>
   <title>Regress.FooObject::signal</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 gchar* signal (GObject object,
                gpointer p0);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>object</code></title>
@@ -39,6 +31,4 @@ gchar* signal (GObject object,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject-some_int.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.FooObject-some_int.page
index 6dc17b3..b45dca8 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject-some_int.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooObject-some_int"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooObject" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooObject->some_int</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject-string.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject-string.page
index b0ed3c7..49bf07c 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject-string.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject-string.page
@@ -6,21 +6,10 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooObject" group="property" type="guide"/>
     <title type="link" role="topic">string</title>
-
   </info>
   <title>Regress.FooObject:string</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject-virtual_method.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject-virtual_method.page
index 3e3f04e..133178d 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject-virtual_method.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject-virtual_method.page
@@ -6,23 +6,15 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooObject" group="vfunc" type="guide"/>
-
   </info>
   <title>Regress.FooObject::virtual_method</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 gboolean virtual_method (RegressFooObject* object,
                          int first_param);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>object</code></title>
@@ -38,6 +30,4 @@ gboolean virtual_method (RegressFooObject* object,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.a_global_method.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.a_global_method.page
index 801f59a..b9f46af 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.a_global_method.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.a_global_method.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooObject" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>obj</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_foo_object_a_global_method</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_foo_object_a_global_method (UtilityObject* obj);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>obj</code></title>
@@ -43,6 +35,4 @@ void regress_foo_object_a_global_method (UtilityObject* obj);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.append_new_stack_layer.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.append_new_stack_layer.page
index 82bbc26..99efa0f 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.append_new_stack_layer.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.append_new_stack_layer.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,21 +21,14 @@
         <api:name>x</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_foo_object_append_new_stack_layer</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 RegressFooOtherObject* regress_foo_object_append_new_stack_layer (RegressFooObject* obj,
                                                                   int x);
-</code></synopsis>
+  </code></synopsis>
+  <p>This shouldn't be scanned as a constructor.</p>
 
-  
-    <p>This shouldn't be scanned as a constructor.</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>obj</code></title>
@@ -52,6 +44,4 @@ RegressFooOtherObject* regress_foo_object_append_new_stack_layer (RegressFooObje
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.dup_name.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.dup_name.page
index 6419ed7..e279ca8 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.dup_name.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.dup_name.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>object</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_foo_object_dup_name</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 char* regress_foo_object_dup_name (RegressFooObject* object);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>object</code></title>
@@ -43,6 +35,4 @@ char* regress_foo_object_dup_name (RegressFooObject* object);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.external_type.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.external_type.page
index 77c8dc8..b3f3a8e 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.external_type.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.external_type.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,31 +17,22 @@
         <api:name>object</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_foo_object_external_type</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 UtilityObject* regress_foo_object_external_type (RegressFooObject* object);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>object</code></title>
-<p>a <link xref="Regress.FooObject"/></p>
+  <p>a <link xref="Regress.FooObject"/></p>
 </item>
 <item>
 <title><code>Returns</code></title>
-<p><code>NULL</code> always</p>
+  <p><code>NULL</code> always</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.get_default.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.get_default.page
index 04c38a2..7e7a809 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.get_default.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.get_default.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooObject" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,28 +13,19 @@
       </api:returns>
       <api:name>regress_foo_object_get_default</api:name>
     </api:function>
-
   </info>
   <title>regress_foo_object_get_default</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 RegressFooObject* regress_foo_object_get_default (void);
-</code></synopsis>
-
-  
-    <p>This function is intended to match clutter_stage_get_default which
+  </code></synopsis>
+  <p>This function is intended to match clutter_stage_get_default which
 uses a C sugar return type.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>Returns</code></title>
-<p>The global <link xref="Regress.FooSubobject"/></p>
+  <p>The global <link xref="Regress.FooSubobject"/></p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.get_name.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.get_name.page
index 68b305b..e5b9827 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.get_name.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.get_name.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>object</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_foo_object_get_name</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 const char* regress_foo_object_get_name (RegressFooObject* object);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>object</code></title>
@@ -43,6 +35,4 @@ const char* regress_foo_object_get_name (RegressFooObject* object);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.handle_glyph.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.handle_glyph.page
index 0cb58ae..0bfa338 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.handle_glyph.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.handle_glyph.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,21 +21,14 @@
         <api:name>glyph</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_foo_object_handle_glyph</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_foo_object_handle_glyph (RegressFooObject* object,
                                       UtilityGlyph glyph);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>object</code></title>
@@ -52,6 +44,4 @@ void regress_foo_object_handle_glyph (RegressFooObject* object,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.is_it_time_yet.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.is_it_time_yet.page
index f643665..fa62ffd 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.is_it_time_yet.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.is_it_time_yet.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,21 +21,14 @@
         <api:name>time</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_foo_object_is_it_time_yet</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_foo_object_is_it_time_yet (RegressFooObject* object,
                                         time_t time);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>object</code></title>
@@ -52,6 +44,4 @@ void regress_foo_object_is_it_time_yet (RegressFooObject* object,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.new.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.new.page
index 75b0e07..e5b6329 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.new.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.new.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooObject" group="constructor" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,20 +13,13 @@
       </api:returns>
       <api:name>regress_foo_object_new</api:name>
     </api:function>
-
   </info>
   <title>regress_foo_object_new</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 RegressFooObject* regress_foo_object_new (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ RegressFooObject* regress_foo_object_new (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.new_as_super.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.new_as_super.page
index 069a421..e733fb8 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.new_as_super.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.new_as_super.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooObject" group="constructor" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,20 +13,13 @@
       </api:returns>
       <api:name>regress_foo_object_new_as_super</api:name>
     </api:function>
-
   </info>
   <title>regress_foo_object_new_as_super</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 GObject* regress_foo_object_new_as_super (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ GObject* regress_foo_object_new_as_super (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.new_cookie.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.new_cookie.page
index 312e93c..364ad35 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.new_cookie.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.new_cookie.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,21 +21,14 @@
         <api:name>target</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_foo_object_new_cookie</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 RegressFooObjectCookie regress_foo_object_new_cookie (RegressFooObject* object,
                                                       const char* target);
-</code></synopsis>
+  </code></synopsis>
+  <p>Not sure why this test is here...</p>
 
-  
-    <p>Not sure why this test is here...</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>object</code></title>
@@ -52,6 +44,4 @@ RegressFooObjectCookie regress_foo_object_new_cookie (RegressFooObject* object,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.page
index fff026c..0fae891 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.page
@@ -6,19 +6,11 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="class" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooObject</title>
-  
-  
-  
-    
-  
-  
-  
-  
+
+
   <synopsis>
     <title>Hierarchy</title>
     <tree>
@@ -30,8 +22,11 @@
       </item>
     </tree>
   </synopsis>
-
-  
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-csrc"
          groups="method" style="linklist">
@@ -40,7 +35,7 @@
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-csrc"
          groups="function" style="linklist">
-    <title>Functions</title>
+    <title>Static Functions</title>
   </links>
   <links type="topic" ui:expanded="true" groups="property" style="linklist">
     <title>Properties</title>
@@ -51,8 +46,10 @@
   <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
     <title>Virtual functions</title>
   </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
   <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
     <title>Other</title>
   </links>
-
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.read.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.read.page
index d641502..6336041 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.read.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.read.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -26,34 +25,27 @@
         <api:name>length</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_foo_object_read</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_foo_object_read (RegressFooObject* object,
                               int offset,
                               int length);
-</code></synopsis>
+  </code></synopsis>
+  <p>Read some stuff.</p>
 
-  
-    <p>Read some stuff.</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>object</code></title>
-<p>obj</p>
+  <p>obj</p>
 </item>
 <item>
 <title><code>offset</code></title>
-<p>offset</p>
+  <p>offset</p>
 </item>
 <item>
 <title><code>length</code></title>
-<p>length</p>
+  <p>length</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -61,6 +53,4 @@ void regress_foo_object_read (RegressFooObject* object,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.skipped_method.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.skipped_method.page
index aea1afd..413631f 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.skipped_method.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.skipped_method.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,24 +17,17 @@
         <api:name>object</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_foo_object_skipped_method</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_foo_object_skipped_method (RegressFooObject* object);
-</code></synopsis>
+  </code></synopsis>
+  <p>This is only useful from C.</p>
 
-  
-    <p>This is only useful from C.</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>object</code></title>
-<p>obj</p>
+  <p>obj</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -43,6 +35,4 @@ void regress_foo_object_skipped_method (RegressFooObject* object);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.static_meth.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.static_meth.page
index 9b157bb..bdd23ba 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.static_meth.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.static_meth.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooObject" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,20 +13,13 @@
       </api:returns>
       <api:name>regress_foo_object_static_meth</api:name>
     </api:function>
-
   </info>
   <title>regress_foo_object_static_meth</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 int regress_foo_object_static_meth (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ int regress_foo_object_static_meth (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.take_all.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.take_all.page
index 92d7543..b8f88f8 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.take_all.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.take_all.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -23,22 +22,15 @@
       </api:arg>
       <api:varargs/>
     </api:function>
-
   </info>
   <title>regress_foo_object_take_all</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_foo_object_take_all (RegressFooObject* object,
                                   int x,
                                   ...);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>object</code></title>
@@ -58,6 +50,4 @@ void regress_foo_object_take_all (RegressFooObject* object,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.various.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.various.page
index eea3c15..dc00f08 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.various.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.various.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -26,22 +25,15 @@
         <api:name>some_type</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_foo_object_various</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_foo_object_various (RegressFooObject* object,
                                  void* data,
                                  GType some_type);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>object</code></title>
@@ -61,6 +53,4 @@ void regress_foo_object_various (RegressFooObject* object,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.virtual_method.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.virtual_method.page
index 3f04cb4..2d4e41c 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.virtual_method.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.virtual_method.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,21 +21,14 @@
         <api:name>first_param</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_foo_object_virtual_method</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 gboolean regress_foo_object_virtual_method (RegressFooObject* object,
                                             int first_param);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>object</code></title>
@@ -52,6 +44,4 @@ gboolean regress_foo_object_virtual_method (RegressFooObject* object,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooObjectClass-_reserved.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.FooObjectClass-_reserved.page
index 6dc17b3..34d688e 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObjectClass-_reserved.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooObjectClass-_reserved"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooObjectClass" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooObjectClass->_reserved</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooObjectClass-parent_class.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.FooObjectClass-parent_class.page
index 6dc17b3..0338849 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObjectClass-parent_class.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooObjectClass-parent_class"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooObjectClass" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooObjectClass->parent_class</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooObjectClass-read_fn.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.FooObjectClass-read_fn.page
index 6dc17b3..52ff58a 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObjectClass-read_fn.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooObjectClass-read_fn"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooObjectClass" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooObjectClass->read_fn</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooObjectClass-virtual_method.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.FooObjectClass-virtual_method.page
index 6dc17b3..6edab47 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObjectClass-virtual_method.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooObjectClass-virtual_method"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooObjectClass" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooObjectClass->virtual_method</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObjectClass.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooObjectClass.page
index 9d52838..ea57e84 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooObjectClass.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObjectClass.page
@@ -1,25 +1,35 @@
 <?xml version="1.0"?>
 <page id="Regress.FooObjectClass"
-      type="topic"
-      style="record"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooObjectClass</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObjectClass.read_fn.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooObjectClass.read_fn.page
index 39078bf..05f3ffc 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooObjectClass.read_fn.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObjectClass.read_fn.page
@@ -1,25 +1,38 @@
 <?xml version="1.0"?>
 <page id="Regress.FooObjectClass.read_fn"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
-  </info>
+    <link xref="index" group="callback" type="guide"/>
+    </info>
   <title>Regress.FooObjectClass.read_fn</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-csrc">
+void read_fn (RegressFooObject* object,
+              int offset,
+              int length);
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+  <p>obj</p>
+</item>
+<item>
+<title><code>offset</code></title>
+  <p>offset</p>
+</item>
+<item>
+<title><code>length</code></title>
+  <p>length</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObjectClass.virtual_method.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooObjectClass.virtual_method.page
index 2882c6d..9c05faa 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooObjectClass.virtual_method.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObjectClass.virtual_method.page
@@ -1,25 +1,33 @@
 <?xml version="1.0"?>
 <page id="Regress.FooObjectClass.virtual_method"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
-  </info>
+    <link xref="index" group="callback" type="guide"/>
+    </info>
   <title>Regress.FooObjectClass.virtual_method</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-csrc">
+gboolean virtual_method (RegressFooObject* object,
+                         int first_param);
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+
+</item>
+<item>
+<title><code>first_param</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObjectCookie.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooObjectCookie.page
index 44a63ab..fecc554 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooObjectCookie.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObjectCookie.page
@@ -6,20 +6,9 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
   <title>Regress.FooObjectCookie</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooOtherObject.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooOtherObject.page
index 491d023..b61c3fe 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooOtherObject.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooOtherObject.page
@@ -6,19 +6,11 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="class" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooOtherObject</title>
-  
-  
-  
-    
-  
-  
-  
-  
+
+
   <synopsis>
     <title>Hierarchy</title>
     <tree>
@@ -30,8 +22,11 @@
       </item>
     </tree>
   </synopsis>
-
-  
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-csrc"
          groups="method" style="linklist">
@@ -40,7 +35,7 @@
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-csrc"
          groups="function" style="linklist">
-    <title>Functions</title>
+    <title>Static Functions</title>
   </links>
   <links type="topic" ui:expanded="true" groups="property" style="linklist">
     <title>Properties</title>
@@ -51,8 +46,10 @@
   <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
     <title>Virtual functions</title>
   </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
   <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
     <title>Other</title>
   </links>
-
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooRectangle-height.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.FooRectangle-height.page
index 6dc17b3..f1da68f 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooRectangle-height.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooRectangle-height"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooRectangle" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooRectangle->height</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooRectangle-width.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.FooRectangle-width.page
index 6dc17b3..dd55384 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooRectangle-width.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooRectangle-width"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooRectangle" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooRectangle->width</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooRectangle-x.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.FooRectangle-x.page
index 6dc17b3..2c4377b 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooRectangle-x.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooRectangle-x"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooRectangle" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooRectangle->x</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooRectangle-y.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.FooRectangle-y.page
index 6dc17b3..8b4a9a3 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooRectangle-y.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooRectangle-y"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooRectangle" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooRectangle->y</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooRectangle.add.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooRectangle.add.page
index 84a46bb..df8fee5 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooRectangle.add.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooRectangle.add.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooRectangle" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,29 +21,22 @@
         <api:name>r2</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_foo_rectangle_add</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_foo_rectangle_add (RegressFooRectangle* r1,
                                 const RegressFooRectangle* r2);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>r1</code></title>
-<p>add to this rect</p>
+  <p>add to this rect</p>
 </item>
 <item>
 <title><code>r2</code></title>
-<p>source rectangle</p>
+  <p>source rectangle</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -52,6 +44,4 @@ void regress_foo_rectangle_add (RegressFooRectangle* r1,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooRectangle.new.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooRectangle.new.page
index b9f16ea..b296c40 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooRectangle.new.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooRectangle.new.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooRectangle" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -30,24 +29,17 @@
         <api:name>height</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_foo_rectangle_new</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 RegressFooRectangle* regress_foo_rectangle_new (int x,
                                                 int y,
                                                 int width,
                                                 int height);
-</code></synopsis>
-
-  
-    <p>This is a C convenience constructor; we have to (skip)
+  </code></synopsis>
+  <p>This is a C convenience constructor; we have to (skip)
 it because it's not a boxed type.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>x</code></title>
@@ -71,6 +63,4 @@ it because it's not a boxed type.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooRectangle.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooRectangle.page
index d485de0..7562ec6 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooRectangle.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooRectangle.page
@@ -1,25 +1,35 @@
 <?xml version="1.0"?>
 <page id="Regress.FooRectangle"
-      type="topic"
-      style="record"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooRectangle</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooSkippable.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooSkippable.page
index 0d50e70..bc86268 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooSkippable.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooSkippable.page
@@ -6,21 +6,10 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="enum" type="guide"/>
-    
+    <link xref="index" group="enum" type="guide"/>
   </info>
   <title>Regress.FooSkippable</title>
-  
-  
-  
-    <p>Some type that is only interesting from C and should not be
+  <p>Some type that is only interesting from C and should not be
 exposed to language bindings.</p>
-  
-  
-  
-  
-  
-  
-  
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooStackLayer.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooStackLayer.page
index 961d19c..83cae47 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooStackLayer.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooStackLayer.page
@@ -6,20 +6,9 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="enum" type="guide"/>
-    
+    <link xref="index" group="enum" type="guide"/>
   </info>
   <title>Regress.FooStackLayer</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooStruct-member.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.FooStruct-member.page
index 6dc17b3..655d65d 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooStruct-member.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooStruct-member"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooStruct" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooStruct->member</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooStruct-priv.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.FooStruct-priv.page
index 6dc17b3..a0d9891 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooStruct-priv.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooStruct-priv"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooStruct" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooStruct->priv</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooStruct.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooStruct.page
index 65b4f26..a0e9b54 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooStruct.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooStruct.page
@@ -1,25 +1,35 @@
 <?xml version="1.0"?>
 <page id="Regress.FooStruct"
-      type="topic"
-      style="record"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooStruct</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface-destroy-event.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface-destroy-event.page
index 6af09fd..b5a6e78 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface-destroy-event.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface-destroy-event.page
@@ -6,23 +6,15 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooSubInterface" group="signal" type="guide"/>
     <title type="link" role="topic">destroy-event</title>
-
   </info>
   <title>Regress.FooSubInterface::destroy-event</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void destroy-event (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -30,6 +22,4 @@ void destroy-event (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface-destroy_event.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface-destroy_event.page
index eb08ec7..04b51de 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface-destroy_event.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface-destroy_event.page
@@ -6,22 +6,14 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooSubInterface" group="vfunc" type="guide"/>
-
   </info>
   <title>Regress.FooSubInterface::destroy_event</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void destroy_event (RegressFooSubInterface* self);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -33,6 +25,4 @@ void destroy_event (RegressFooSubInterface* self);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface-do_bar.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface-do_bar.page
index 56bdfed..c268c83 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface-do_bar.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface-do_bar.page
@@ -6,22 +6,14 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooSubInterface" group="vfunc" type="guide"/>
-
   </info>
   <title>Regress.FooSubInterface::do_bar</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void do_bar (RegressFooSubInterface* self);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -33,6 +25,4 @@ void do_bar (RegressFooSubInterface* self);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface-do_baz.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface-do_baz.page
index ac59643..7324fde 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface-do_baz.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface-do_baz.page
@@ -6,24 +6,16 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooSubInterface" group="vfunc" type="guide"/>
-
   </info>
   <title>Regress.FooSubInterface::do_baz</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void do_baz (RegressFooSubInterface* self,
              GCallback callback,
              gpointer user_data);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -43,6 +35,4 @@ void do_baz (RegressFooSubInterface* self,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface.do_bar.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface.do_bar.page
index 6d7d970..bb7ec6e 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface.do_bar.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface.do_bar.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooSubInterface" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>self</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_foo_sub_interface_do_bar</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_foo_sub_interface_do_bar (RegressFooSubInterface* self);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -43,6 +35,4 @@ void regress_foo_sub_interface_do_bar (RegressFooSubInterface* self);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface.do_baz.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface.do_baz.page
index bab0d68..f4c4d21 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface.do_baz.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface.do_baz.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooSubInterface" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -26,22 +25,15 @@
         <api:name>user_data</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_foo_sub_interface_do_baz</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_foo_sub_interface_do_baz (RegressFooSubInterface* self,
                                        GCallback callback,
                                        gpointer user_data);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -61,6 +53,4 @@ void regress_foo_sub_interface_do_baz (RegressFooSubInterface* self,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface.page
index 9b25845..e91decb 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface.page
@@ -1,34 +1,29 @@
 <?xml version="1.0"?>
 <page id="Regress.FooSubInterface"
       type="guide"
-      style="class"
+      style="interface"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="class" type="guide"/>
-    
+    <link xref="index" group="interface" type="guide"/>
   </info>
   <title>Regress.FooSubInterface</title>
-  
-  
-  
-    
-  
-  
-  
-  
+
+
   <synopsis>
-    <title>Hierarchy</title>
-    <tree>
-      <item>
-        <code>Regress.FooSubInterface</code>
-      </item>
-    </tree>
+    <title>Prerequisites</title>
+    <p>FooSubInterface requires Regress.FooInterface</p>
+  </synopsis>
+  <synopsis>
+    <title>Known Implementations</title>
+    <p>None</p>
   </synopsis>
-
-  
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-csrc"
          groups="method" style="linklist">
@@ -37,7 +32,7 @@
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-csrc"
          groups="function" style="linklist">
-    <title>Functions</title>
+    <title>Static Functions</title>
   </links>
   <links type="topic" ui:expanded="true" groups="property" style="linklist">
     <title>Properties</title>
@@ -48,8 +43,10 @@
   <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
     <title>Virtual functions</title>
   </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
   <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
     <title>Other</title>
   </links>
-
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterfaceIface-destroy_event.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterfaceIface-destroy_event.page
index 6dc17b3..37a09ba 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterfaceIface-destroy_event.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooSubInterfaceIface-destroy_event"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooSubInterfaceIface" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooSubInterfaceIface->destroy_event</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterfaceIface-do_bar.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterfaceIface-do_bar.page
index 6dc17b3..2e00c95 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterfaceIface-do_bar.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooSubInterfaceIface-do_bar"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooSubInterfaceIface" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooSubInterfaceIface->do_bar</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterfaceIface-do_baz.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterfaceIface-do_baz.page
index 6dc17b3..98644fb 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterfaceIface-do_baz.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooSubInterfaceIface-do_baz"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooSubInterfaceIface" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooSubInterfaceIface->do_baz</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterfaceIface-parent_iface.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterfaceIface-parent_iface.page
index 6dc17b3..d7626b6 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterfaceIface-parent_iface.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooSubInterfaceIface-parent_iface"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooSubInterfaceIface" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooSubInterfaceIface->parent_iface</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterfaceIface.destroy_event.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterfaceIface.destroy_event.page
index 9513683..416cacf 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterfaceIface.destroy_event.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterfaceIface.destroy_event.page
@@ -1,25 +1,28 @@
 <?xml version="1.0"?>
 <page id="Regress.FooSubInterfaceIface.destroy_event"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
-  </info>
+    <link xref="index" group="callback" type="guide"/>
+    </info>
   <title>Regress.FooSubInterfaceIface.destroy_event</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-csrc">
+void destroy_event (RegressFooSubInterface* self);
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterfaceIface.do_bar.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterfaceIface.do_bar.page
index ec46cdd..5dd05da 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterfaceIface.do_bar.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterfaceIface.do_bar.page
@@ -1,25 +1,28 @@
 <?xml version="1.0"?>
 <page id="Regress.FooSubInterfaceIface.do_bar"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
-  </info>
+    <link xref="index" group="callback" type="guide"/>
+    </info>
   <title>Regress.FooSubInterfaceIface.do_bar</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-csrc">
+void do_bar (RegressFooSubInterface* self);
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterfaceIface.do_baz.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterfaceIface.do_baz.page
index d0f5804..5ad8c56 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterfaceIface.do_baz.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterfaceIface.do_baz.page
@@ -1,25 +1,38 @@
 <?xml version="1.0"?>
 <page id="Regress.FooSubInterfaceIface.do_baz"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
-  </info>
+    <link xref="index" group="callback" type="guide"/>
+    </info>
   <title>Regress.FooSubInterfaceIface.do_baz</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-csrc">
+void do_baz (RegressFooSubInterface* self,
+             GCallback callback,
+             gpointer user_data);
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+<item>
+<title><code>callback</code></title>
+
+</item>
+<item>
+<title><code>user_data</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterfaceIface.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterfaceIface.page
index f8643cf..50b4d12 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterfaceIface.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterfaceIface.page
@@ -1,25 +1,35 @@
 <?xml version="1.0"?>
 <page id="Regress.FooSubInterfaceIface"
-      type="topic"
-      style="record"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooSubInterfaceIface</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubobject-parent_instance.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.FooSubobject-parent_instance.page
index 6dc17b3..33994c7 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubobject-parent_instance.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooSubobject-parent_instance"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooSubobject" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooSubobject->parent_instance</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooSubobject.new.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubobject.new.page
index c4adff6..6d13005 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooSubobject.new.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubobject.new.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooSubobject" group="constructor" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,20 +13,13 @@
       </api:returns>
       <api:name>regress_foo_subobject_new</api:name>
     </api:function>
-
   </info>
   <title>regress_foo_subobject_new</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 RegressFooSubobject* regress_foo_subobject_new (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ RegressFooSubobject* regress_foo_subobject_new (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooSubobject.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubobject.page
index 6a70ef7..951f11c 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooSubobject.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubobject.page
@@ -6,19 +6,11 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="class" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooSubobject</title>
-  
-  
-  
-    
-  
-  
-  
-  
+
+
   <synopsis>
     <title>Hierarchy</title>
     <tree>
@@ -33,8 +25,11 @@
       </item>
     </tree>
   </synopsis>
-
-  
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-csrc"
          groups="method" style="linklist">
@@ -43,7 +38,7 @@
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-csrc"
          groups="function" style="linklist">
-    <title>Functions</title>
+    <title>Static Functions</title>
   </links>
   <links type="topic" ui:expanded="true" groups="property" style="linklist">
     <title>Properties</title>
@@ -54,8 +49,10 @@
   <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
     <title>Virtual functions</title>
   </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
   <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
     <title>Other</title>
   </links>
-
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubobjectClass-parent_class.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.FooSubobjectClass-parent_class.page
index 6dc17b3..cf86502 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubobjectClass-parent_class.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooSubobjectClass-parent_class"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooSubobjectClass" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooSubobjectClass->parent_class</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooSubobjectClass.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubobjectClass.page
index 499599c..426fe2f 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooSubobjectClass.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubobjectClass.page
@@ -1,25 +1,35 @@
 <?xml version="1.0"?>
 <page id="Regress.FooSubobjectClass"
-      type="topic"
-      style="record"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooSubobjectClass</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooThingWithArray-data.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.FooThingWithArray-data.page
index 6dc17b3..cc40f8f 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooThingWithArray-data.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooThingWithArray-data"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooThingWithArray" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooThingWithArray->data</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooThingWithArray-lines.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.FooThingWithArray-lines.page
index 6dc17b3..6db4319 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooThingWithArray-lines.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooThingWithArray-lines"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooThingWithArray" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooThingWithArray->lines</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooThingWithArray-x.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.FooThingWithArray-x.page
index 6dc17b3..c13779f 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooThingWithArray-x.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooThingWithArray-x"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooThingWithArray" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooThingWithArray->x</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooThingWithArray-y.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.FooThingWithArray-y.page
index 6dc17b3..df8f251 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooThingWithArray-y.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooThingWithArray-y"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooThingWithArray" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooThingWithArray->y</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooThingWithArray.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooThingWithArray.page
index 6033817..22f3d64 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooThingWithArray.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooThingWithArray.page
@@ -1,25 +1,35 @@
 <?xml version="1.0"?>
 <page id="Regress.FooThingWithArray"
-      type="topic"
-      style="record"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooThingWithArray</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooUnion-regress_foo.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.FooUnion-regress_foo.page
index 6dc17b3..6c180dd 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooUnion-regress_foo.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooUnion-regress_foo"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooUnion" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooUnion->regress_foo</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooUnion.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooUnion.page
index 9746f17..ebb0b1c 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooUnion.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooUnion.page
@@ -1,25 +1,35 @@
 <?xml version="1.0"?>
 <page id="Regress.FooUnion"
-      type="topic"
-      style="default"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooUnion</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooUtilityStruct-bar.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.FooUtilityStruct-bar.page
index 6dc17b3..26d131c 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooUtilityStruct-bar.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooUtilityStruct-bar"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooUtilityStruct" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooUtilityStruct->bar</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooUtilityStruct.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooUtilityStruct.page
index d281ffb..d956c4d 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooUtilityStruct.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooUtilityStruct.page
@@ -1,25 +1,35 @@
 <?xml version="1.0"?>
 <page id="Regress.FooUtilityStruct"
-      type="topic"
-      style="record"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooUtilityStruct</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooVarargsCallback.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooVarargsCallback.page
index a57ea4d..083a99f 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooVarargsCallback.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooVarargsCallback.page
@@ -1,25 +1,33 @@
 <?xml version="1.0"?>
 <page id="Regress.FooVarargsCallback"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
-  </info>
+    <link xref="index" group="callback" type="guide"/>
+    </info>
   <title>Regress.FooVarargsCallback</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-csrc">
+void FooVarargsCallback (const char* param,
+                         ...);
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>param</code></title>
+
+</item>
+<item>
+<title><code>...</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooXEvent.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.FooXEvent.page
index c389ef0..19bee42 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.FooXEvent.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooXEvent.page
@@ -6,20 +6,9 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
   <title>Regress.FooXEvent</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.GI_SCANNER_ELSE.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.GI_SCANNER_ELSE.page
index 6dc17b3..e9876e0 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.GI_SCANNER_ELSE.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.GI_SCANNER_ELSE"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.GI_SCANNER_ELSE</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.GI_SCANNER_IFDEF.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.GI_SCANNER_IFDEF.page
index 6dc17b3..bfef183 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.GI_SCANNER_IFDEF.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.GI_SCANNER_IFDEF"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.GI_SCANNER_IFDEF</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.GUINT64_CONSTANT.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.GUINT64_CONSTANT.page
index 6dc17b3..8c16dd2 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.GUINT64_CONSTANT.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.GUINT64_CONSTANT"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.GUINT64_CONSTANT</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.GUINT64_CONSTANTA.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.GUINT64_CONSTANTA.page
index 6dc17b3..3b0d6f1 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.GUINT64_CONSTANTA.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.GUINT64_CONSTANTA"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.GUINT64_CONSTANTA</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.G_GINT64_CONSTANT.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.G_GINT64_CONSTANT.page
index 6dc17b3..cdce607 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.G_GINT64_CONSTANT.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.G_GINT64_CONSTANT"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.G_GINT64_CONSTANT</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.INT_CONSTANT.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.INT_CONSTANT.page
index 6dc17b3..e0512ab 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.INT_CONSTANT.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.INT_CONSTANT"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.INT_CONSTANT</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.IntSet.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.IntSet.page
index b8710cf..b8324f8 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.IntSet.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.IntSet.page
@@ -6,20 +6,9 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
   <title>Regress.IntSet</title>
-  
-  
-  
-    <p>Compatibility typedef, like telepathy-glib's TpIntSet</p>
-  
-  
-  
-  
-  
-  
-  
+  <p>Compatibility typedef, like telepathy-glib's TpIntSet</p>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.LONG_STRING_CONSTANT.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.LONG_STRING_CONSTANT.page
index 6dc17b3..85fe96e 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.LONG_STRING_CONSTANT.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.LONG_STRING_CONSTANT"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.LONG_STRING_CONSTANT</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.LikeGnomeKeyringPasswordSchema-attributes.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.LikeGnomeKeyringPasswordSchema-attributes.page
new file mode 100644
index 0000000..db51500
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.LikeGnomeKeyringPasswordSchema-attributes.page
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<page id="Regress.LikeGnomeKeyringPasswordSchema-attributes"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.LikeGnomeKeyringPasswordSchema"
+      group="field"
+      type="guide"/>
+  </info>
+  <title>Regress.LikeGnomeKeyringPasswordSchema->attributes</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.LikeGnomeKeyringPasswordSchema-dummy.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.LikeGnomeKeyringPasswordSchema-dummy.page
new file mode 100644
index 0000000..3bfbac1
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.LikeGnomeKeyringPasswordSchema-dummy.page
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<page id="Regress.LikeGnomeKeyringPasswordSchema-dummy"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.LikeGnomeKeyringPasswordSchema"
+      group="field"
+      type="guide"/>
+  </info>
+  <title>Regress.LikeGnomeKeyringPasswordSchema->dummy</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.LikeGnomeKeyringPasswordSchema-dummy2.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.LikeGnomeKeyringPasswordSchema-dummy2.page
new file mode 100644
index 0000000..408ab29
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.LikeGnomeKeyringPasswordSchema-dummy2.page
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<page id="Regress.LikeGnomeKeyringPasswordSchema-dummy2"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.LikeGnomeKeyringPasswordSchema"
+      group="field"
+      type="guide"/>
+  </info>
+  <title>Regress.LikeGnomeKeyringPasswordSchema->dummy2</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.LikeGnomeKeyringPasswordSchema.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.LikeGnomeKeyringPasswordSchema.page
index 242fad0..33b117c 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.LikeGnomeKeyringPasswordSchema.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.LikeGnomeKeyringPasswordSchema.page
@@ -1,25 +1,35 @@
 <?xml version="1.0"?>
 <page id="Regress.LikeGnomeKeyringPasswordSchema"
-      type="topic"
-      style="record"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.LikeGnomeKeyringPasswordSchema</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.LikeXklConfigItem-name.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.LikeXklConfigItem-name.page
index 6dc17b3..dbc8998 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.LikeXklConfigItem-name.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.LikeXklConfigItem-name"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.LikeXklConfigItem" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.LikeXklConfigItem->name</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.LikeXklConfigItem.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.LikeXklConfigItem.page
index 3b14aae..e073de0 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.LikeXklConfigItem.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.LikeXklConfigItem.page
@@ -1,25 +1,35 @@
 <?xml version="1.0"?>
 <page id="Regress.LikeXklConfigItem"
-      type="topic"
-      style="record"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.LikeXklConfigItem</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.LikeXklConfigItem.set_name.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.LikeXklConfigItem.set_name.page
index 0a4aecb..e5137c4 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.LikeXklConfigItem.set_name.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.LikeXklConfigItem.set_name.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.LikeXklConfigItem" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,21 +21,14 @@
         <api:name>name</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_like_xkl_config_item_set_name</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_like_xkl_config_item_set_name (RegressLikeXklConfigItem* self,
                                             const char* name);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -52,6 +44,4 @@ void regress_like_xkl_config_item_set_name (RegressLikeXklConfigItem* self,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.MAXUINT64.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.MAXUINT64.page
index 6dc17b3..91d7ce5 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.MAXUINT64.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.MAXUINT64"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.MAXUINT64</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.MININT64.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.MININT64.page
index 6dc17b3..1531540 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.MININT64.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.MININT64"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.MININT64</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.Mixed_Case_Constant.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.Mixed_Case_Constant.page
index 6dc17b3..29e7314 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.Mixed_Case_Constant.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.Mixed_Case_Constant"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.Mixed_Case_Constant</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.NEGATIVE_INT_CONSTANT.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.NEGATIVE_INT_CONSTANT.page
index 6dc17b3..a0aad76 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.NEGATIVE_INT_CONSTANT.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.NEGATIVE_INT_CONSTANT"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.NEGATIVE_INT_CONSTANT</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.PtrArrayAlias.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.PtrArrayAlias.page
index f66aee4..1acd4d2 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.PtrArrayAlias.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.PtrArrayAlias.page
@@ -6,20 +6,9 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
   <title>Regress.PtrArrayAlias</title>
-  
-  
-  
-    <p>Typedef'd GPtrArray for some reason</p>
-  
-  
-  
-  
-  
-  
-  
+  <p>Typedef'd GPtrArray for some reason</p>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.STRING_CONSTANT.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.STRING_CONSTANT.page
index 6dc17b3..be1d6e1 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.STRING_CONSTANT.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.STRING_CONSTANT"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.STRING_CONSTANT</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.SkippedStructure-v.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.SkippedStructure-v.page
index 6dc17b3..3b55d6c 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.SkippedStructure-v.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.SkippedStructure-v"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.SkippedStructure" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.SkippedStructure->v</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.SkippedStructure-x.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.SkippedStructure-x.page
index 6dc17b3..a7b5ac9 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.SkippedStructure-x.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.SkippedStructure-x"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.SkippedStructure" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.SkippedStructure->x</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.SkippedStructure.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.SkippedStructure.page
index ad13eea..1ff59e1 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.SkippedStructure.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.SkippedStructure.page
@@ -1,26 +1,36 @@
 <?xml version="1.0"?>
 <page id="Regress.SkippedStructure"
-      type="topic"
-      style="record"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.SkippedStructure</title>
-  
-  
-  
-    <p>This should be skipped, and moreover, all function which
+  <p>This should be skipped, and moreover, all function which
 use it should be.</p>
-  
-  
-  
-  
-  
-  
-  
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestABCError.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestABCError.page
index 384ffb8..a504645 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestABCError.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestABCError.page
@@ -6,20 +6,9 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="enum" type="guide"/>
-    
+    <link xref="index" group="enum" type="guide"/>
   </info>
   <title>Regress.TestABCError</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestABCError.quark.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestABCError.quark.page
index 7ed5152..fd90ef3 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestABCError.quark.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestABCError.quark.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,20 +13,13 @@
       </api:returns>
       <api:name>regress_test_abc_error_quark</api:name>
     </api:function>
-
   </info>
   <title>regress_test_abc_error_quark</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 GQuark regress_test_abc_error_quark (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ GQuark regress_test_abc_error_quark (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed-nested_a.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed-nested_a.page
index 6dc17b3..d394f4d 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed-nested_a.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestBoxed-nested_a"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestBoxed" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestBoxed->nested_a</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed-priv.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed-priv.page
index 6dc17b3..3084c21 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed-priv.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestBoxed-priv"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestBoxed" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestBoxed->priv</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed-some_int8.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed-some_int8.page
index 6dc17b3..36f6632 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed-some_int8.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestBoxed-some_int8"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestBoxed" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestBoxed->some_int8</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.copy.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.copy.page
index 4027391..53d2074 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.copy.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.copy.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestBoxed" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>boxed</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_boxed_copy</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 RegressTestBoxed* regress_test_boxed_copy (RegressTestBoxed* boxed);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>boxed</code></title>
@@ -43,6 +35,4 @@ RegressTestBoxed* regress_test_boxed_copy (RegressTestBoxed* boxed);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.equals.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.equals.page
index 26206b6..0af199b 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.equals.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.equals.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestBoxed" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,21 +21,14 @@
         <api:name>other</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_boxed_equals</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 gboolean regress_test_boxed_equals (RegressTestBoxed* boxed,
                                     RegressTestBoxed* other);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>boxed</code></title>
@@ -52,6 +44,4 @@ gboolean regress_test_boxed_equals (RegressTestBoxed* boxed,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.new.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.new.page
index 5e05794..f9f57ea 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.new.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.new.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestBoxed" group="constructor" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,20 +13,13 @@
       </api:returns>
       <api:name>regress_test_boxed_new</api:name>
     </api:function>
-
   </info>
   <title>regress_test_boxed_new</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 RegressTestBoxed* regress_test_boxed_new (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ RegressTestBoxed* regress_test_boxed_new (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.new_alternative_constructor1.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.new_alternative_constructor1.page
index 2bc8192..9341856 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.new_alternative_constructor1.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.new_alternative_constructor1.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestBoxed" group="constructor" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>i</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_boxed_new_alternative_constructor1</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 RegressTestBoxed* regress_test_boxed_new_alternative_constructor1 (int i);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>i</code></title>
@@ -43,6 +35,4 @@ RegressTestBoxed* regress_test_boxed_new_alternative_constructor1 (int i);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.new_alternative_constructor2.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.new_alternative_constructor2.page
index e43127e..39ea62b 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.new_alternative_constructor2.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.new_alternative_constructor2.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestBoxed" group="constructor" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,21 +21,14 @@
         <api:name>j</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_boxed_new_alternative_constructor2</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 RegressTestBoxed* regress_test_boxed_new_alternative_constructor2 (int i,
                                                                    int j);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>i</code></title>
@@ -52,6 +44,4 @@ RegressTestBoxed* regress_test_boxed_new_alternative_constructor2 (int i,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.new_alternative_constructor3.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.new_alternative_constructor3.page
index ac75d2c..6cd8084 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.new_alternative_constructor3.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.new_alternative_constructor3.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestBoxed" group="constructor" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>s</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_boxed_new_alternative_constructor3</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 RegressTestBoxed* regress_test_boxed_new_alternative_constructor3 (char* s);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>s</code></title>
@@ -43,6 +35,4 @@ RegressTestBoxed* regress_test_boxed_new_alternative_constructor3 (char* s);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.page
index d667532..1805f5a 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.page
@@ -1,25 +1,35 @@
 <?xml version="1.0"?>
 <page id="Regress.TestBoxed"
-      type="topic"
-      style="record"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestBoxed</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedB-some_int8.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedB-some_int8.page
index 6dc17b3..c7666c7 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedB-some_int8.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestBoxedB-some_int8"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestBoxedB" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestBoxedB->some_int8</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedB-some_long.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedB-some_long.page
index 6dc17b3..a5f4a34 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedB-some_long.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestBoxedB-some_long"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestBoxedB" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestBoxedB->some_long</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedB.copy.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedB.copy.page
index df0da11..bc33c57 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedB.copy.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedB.copy.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestBoxedB" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>boxed</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_boxed_b_copy</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 RegressTestBoxedB* regress_test_boxed_b_copy (RegressTestBoxedB* boxed);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>boxed</code></title>
@@ -43,6 +35,4 @@ RegressTestBoxedB* regress_test_boxed_b_copy (RegressTestBoxedB* boxed);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedB.new.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedB.new.page
index 7a0bc2b..f5d2210 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedB.new.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedB.new.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestBoxedB" group="constructor" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,21 +21,14 @@
         <api:name>some_long</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_boxed_b_new</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 RegressTestBoxedB* regress_test_boxed_b_new (gint8 some_int8,
                                              glong some_long);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>some_int8</code></title>
@@ -52,6 +44,4 @@ RegressTestBoxedB* regress_test_boxed_b_new (gint8 some_int8,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedB.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedB.page
index 856d7da..fe1a6d6 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedB.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedB.page
@@ -1,25 +1,35 @@
 <?xml version="1.0"?>
 <page id="Regress.TestBoxedB"
-      type="topic"
-      style="record"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestBoxedB</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedC-another_thing.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedC-another_thing.page
index 6dc17b3..a5d7c2b 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedC-another_thing.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestBoxedC-another_thing"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestBoxedC" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestBoxedC->another_thing</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedC-refcount.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedC-refcount.page
index 6dc17b3..0f755dd 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedC-refcount.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestBoxedC-refcount"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestBoxedC" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestBoxedC->refcount</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedC.new.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedC.new.page
index 4657b52..4b8e300 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedC.new.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedC.new.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestBoxedC" group="constructor" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,20 +13,13 @@
       </api:returns>
       <api:name>regress_test_boxed_c_new</api:name>
     </api:function>
-
   </info>
   <title>regress_test_boxed_c_new</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 RegressTestBoxedC* regress_test_boxed_c_new (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ RegressTestBoxedC* regress_test_boxed_c_new (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedC.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedC.page
index c890545..aabd9b2 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedC.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedC.page
@@ -1,25 +1,35 @@
 <?xml version="1.0"?>
 <page id="Regress.TestBoxedC"
-      type="topic"
-      style="record"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestBoxedC</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedD.copy.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedD.copy.page
index ed99996..ac9e71b 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedD.copy.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedD.copy.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestBoxedD" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>boxed</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_boxed_d_copy</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 RegressTestBoxedD* regress_test_boxed_d_copy (RegressTestBoxedD* boxed);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>boxed</code></title>
@@ -43,6 +35,4 @@ RegressTestBoxedD* regress_test_boxed_d_copy (RegressTestBoxedD* boxed);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedD.free.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedD.free.page
index 4622fcd..4aa4e44 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedD.free.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedD.free.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestBoxedD" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>boxed</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_boxed_d_free</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_boxed_d_free (RegressTestBoxedD* boxed);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>boxed</code></title>
@@ -43,6 +35,4 @@ void regress_test_boxed_d_free (RegressTestBoxedD* boxed);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedD.get_magic.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedD.get_magic.page
index bbd78ab..dc98da2 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedD.get_magic.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedD.get_magic.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestBoxedD" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>boxed</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_boxed_d_get_magic</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 int regress_test_boxed_d_get_magic (RegressTestBoxedD* boxed);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>boxed</code></title>
@@ -43,6 +35,4 @@ int regress_test_boxed_d_get_magic (RegressTestBoxedD* boxed);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedD.new.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedD.new.page
index 5034562..2a5bd4b 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedD.new.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedD.new.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestBoxedD" group="constructor" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,21 +21,14 @@
         <api:name>a_int</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_boxed_d_new</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 RegressTestBoxedD* regress_test_boxed_d_new (const char* a_string,
                                              int a_int);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>a_string</code></title>
@@ -52,6 +44,4 @@ RegressTestBoxedD* regress_test_boxed_d_new (const char* a_string,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedD.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedD.page
index b5110c2..c194f35 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedD.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedD.page
@@ -1,25 +1,35 @@
 <?xml version="1.0"?>
 <page id="Regress.TestBoxedD"
-      type="topic"
-      style="record"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestBoxedD</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestCallback.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestCallback.page
index bed84d5..d75adc9 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestCallback.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestCallback.page
@@ -1,25 +1,24 @@
 <?xml version="1.0"?>
 <page id="Regress.TestCallback"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
-  </info>
+    <link xref="index" group="callback" type="guide"/>
+    </info>
   <title>Regress.TestCallback</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-csrc">
+int TestCallback (void);
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestCallbackArray.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestCallbackArray.page
index 7d3f7b8..ef49dd2 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestCallbackArray.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestCallbackArray.page
@@ -1,25 +1,43 @@
 <?xml version="1.0"?>
 <page id="Regress.TestCallbackArray"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
-  </info>
+    <link xref="index" group="callback" type="guide"/>
+    </info>
   <title>Regress.TestCallbackArray</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-csrc">
+int TestCallbackArray (int* one,
+                       gsize one_length,
+                       utf8* two,
+                       int two_length);
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>one</code></title>
+
+</item>
+<item>
+<title><code>one_length</code></title>
+
+</item>
+<item>
+<title><code>two</code></title>
+
+</item>
+<item>
+<title><code>two_length</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestCallbackFull.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestCallbackFull.page
index 0b8fca1..013755e 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestCallbackFull.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestCallbackFull.page
@@ -1,25 +1,38 @@
 <?xml version="1.0"?>
 <page id="Regress.TestCallbackFull"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
-  </info>
+    <link xref="index" group="callback" type="guide"/>
+    </info>
   <title>Regress.TestCallbackFull</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-csrc">
+int TestCallbackFull (int foo,
+                      double bar,
+                      char* path);
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>foo</code></title>
+  <p>the investment rate</p>
+</item>
+<item>
+<title><code>bar</code></title>
+  <p>how much money</p>
+</item>
+<item>
+<title><code>path</code></title>
+  <p>Path to file</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestCallbackGError.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestCallbackGError.page
index 804382f..e05c876 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestCallbackGError.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestCallbackGError.page
@@ -1,25 +1,28 @@
 <?xml version="1.0"?>
 <page id="Regress.TestCallbackGError"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
-  </info>
+    <link xref="index" group="callback" type="guide"/>
+    </info>
   <title>Regress.TestCallbackGError</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-csrc">
+void TestCallbackGError (const GError* error);
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>error</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestCallbackHashtable.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestCallbackHashtable.page
index 06ebb70..b0140ac 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestCallbackHashtable.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestCallbackHashtable.page
@@ -1,25 +1,28 @@
 <?xml version="1.0"?>
 <page id="Regress.TestCallbackHashtable"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
-  </info>
+    <link xref="index" group="callback" type="guide"/>
+    </info>
   <title>Regress.TestCallbackHashtable</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-csrc">
+void TestCallbackHashtable (GHashTable* data);
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>data</code></title>
+  <p>a hash table; will be modified</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestCallbackOwnedGError.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestCallbackOwnedGError.page
index 28b21ea..2599a8a 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestCallbackOwnedGError.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestCallbackOwnedGError.page
@@ -1,25 +1,28 @@
 <?xml version="1.0"?>
 <page id="Regress.TestCallbackOwnedGError"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
-  </info>
+    <link xref="index" group="callback" type="guide"/>
+    </info>
   <title>Regress.TestCallbackOwnedGError</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-csrc">
+void TestCallbackOwnedGError (GError* error);
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>error</code></title>
+  <p>GError instance; must be freed by the callback</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestCallbackUserData.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestCallbackUserData.page
index 286c830..c646ae8 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestCallbackUserData.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestCallbackUserData.page
@@ -1,25 +1,28 @@
 <?xml version="1.0"?>
 <page id="Regress.TestCallbackUserData"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
-  </info>
+    <link xref="index" group="callback" type="guide"/>
+    </info>
   <title>Regress.TestCallbackUserData</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-csrc">
+int TestCallbackUserData (gpointer user_data);
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>user_data</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestDEFError.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestDEFError.page
index b485450..734dc79 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestDEFError.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestDEFError.page
@@ -6,20 +6,9 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="enum" type="guide"/>
-    
+    <link xref="index" group="enum" type="guide"/>
   </info>
   <title>Regress.TestDEFError</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestEnum.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestEnum.page
index a672d7e..38be2b3 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestEnum.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestEnum.page
@@ -6,20 +6,9 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="enum" type="guide"/>
-    
+    <link xref="index" group="enum" type="guide"/>
   </info>
   <title>Regress.TestEnum</title>
-  
-  
-  
-    <p>By purpose, not all members have documentation</p>
-  
-  
-  
-  
-  
-  
-  
+  <p>By purpose, not all members have documentation</p>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestEnum.param.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestEnum.param.page
index 542ba60..815a156 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestEnum.param.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestEnum.param.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>e</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_enum_param</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 const gchar* regress_test_enum_param (RegressTestEnum e);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>e</code></title>
@@ -43,6 +35,4 @@ const gchar* regress_test_enum_param (RegressTestEnum e);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestEnumNoGEnum.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestEnumNoGEnum.page
index cffae73..1294242 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestEnumNoGEnum.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestEnumNoGEnum.page
@@ -6,20 +6,9 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="enum" type="guide"/>
-    
+    <link xref="index" group="enum" type="guide"/>
   </info>
   <title>Regress.TestEnumNoGEnum</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestEnumUnsigned.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestEnumUnsigned.page
index 81a9aa9..c5e7ccf 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestEnumUnsigned.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestEnumUnsigned.page
@@ -6,20 +6,9 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="enum" type="guide"/>
-    
+    <link xref="index" group="enum" type="guide"/>
   </info>
   <title>Regress.TestEnumUnsigned</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestError.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestError.page
index 97f829b..0b51365 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestError.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestError.page
@@ -6,20 +6,9 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="enum" type="guide"/>
-    
+    <link xref="index" group="enum" type="guide"/>
   </info>
   <title>Regress.TestError</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestError.quark.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestError.quark.page
index 9140ac5..bab90da 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestError.quark.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestError.quark.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,20 +13,13 @@
       </api:returns>
       <api:name>regress_test_error_quark</api:name>
     </api:function>
-
   </info>
   <title>regress_test_error_quark</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 GQuark regress_test_error_quark (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ GQuark regress_test_error_quark (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestFlags.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestFlags.page
index d5bfeeb..efab1a0 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestFlags.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestFlags.page
@@ -6,20 +6,9 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
   <title>Regress.TestFlags</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestFloating-parent_instance.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestFloating-parent_instance.page
index 6dc17b3..c546875 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestFloating-parent_instance.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestFloating-parent_instance"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestFloating" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestFloating->parent_instance</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestFloating.new.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestFloating.new.page
index 5f4a3a5..400e34a 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestFloating.new.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestFloating.new.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestFloating" group="constructor" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,27 +13,18 @@
       </api:returns>
       <api:name>regress_test_floating_new</api:name>
     </api:function>
-
   </info>
   <title>regress_test_floating_new</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 RegressTestFloating* regress_test_floating_new (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
-<p>A new floating <link xref="Regress.TestFloating"/></p>
+  <p>A new floating <link xref="Regress.TestFloating"/></p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestFloating.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestFloating.page
index 1189912..3f8b267 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestFloating.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestFloating.page
@@ -6,19 +6,11 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="class" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestFloating</title>
-  
-  
-  
-    
-  
-  
-  
-  
+
+
   <synopsis>
     <title>Hierarchy</title>
     <tree>
@@ -33,8 +25,11 @@
       </item>
     </tree>
   </synopsis>
-
-  
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-csrc"
          groups="method" style="linklist">
@@ -43,7 +38,7 @@
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-csrc"
          groups="function" style="linklist">
-    <title>Functions</title>
+    <title>Static Functions</title>
   </links>
   <links type="topic" ui:expanded="true" groups="property" style="linklist">
     <title>Properties</title>
@@ -54,8 +49,10 @@
   <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
     <title>Virtual functions</title>
   </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
   <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
     <title>Other</title>
   </links>
-
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestFloatingClass-parent_class.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestFloatingClass-parent_class.page
index 6dc17b3..9196604 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestFloatingClass-parent_class.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestFloatingClass-parent_class"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestFloatingClass" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestFloatingClass->parent_class</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestFloatingClass.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestFloatingClass.page
index e7d5236..234bf1f 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestFloatingClass.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestFloatingClass.page
@@ -1,25 +1,35 @@
 <?xml version="1.0"?>
 <page id="Regress.TestFloatingClass"
-      type="topic"
-      style="record"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestFloatingClass</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObject-flags.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObject-flags.page
index 6dc17b3..875ba30 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObject-flags.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestFundamentalObject-flags"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestFundamentalObject" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestFundamentalObject->flags</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObject-instance.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObject-instance.page
index 6dc17b3..693df03 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObject-instance.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestFundamentalObject-instance"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestFundamentalObject" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestFundamentalObject->instance</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObject-refcount.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObject-refcount.page
index 6dc17b3..3413765 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObject-refcount.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestFundamentalObject-refcount"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestFundamentalObject" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestFundamentalObject->refcount</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObject.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObject.page
index 473f1af..4289f4f 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObject.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObject.page
@@ -6,19 +6,11 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="class" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestFundamentalObject</title>
-  
-  
-  
-    
-  
-  
-  
-  
+
+
   <synopsis>
     <title>Hierarchy</title>
     <tree>
@@ -27,8 +19,11 @@
       </item>
     </tree>
   </synopsis>
-
-  
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-csrc"
          groups="method" style="linklist">
@@ -37,7 +32,7 @@
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-csrc"
          groups="function" style="linklist">
-    <title>Functions</title>
+    <title>Static Functions</title>
   </links>
   <links type="topic" ui:expanded="true" groups="property" style="linklist">
     <title>Properties</title>
@@ -48,8 +43,10 @@
   <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
     <title>Virtual functions</title>
   </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
   <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
     <title>Other</title>
   </links>
-
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObject.ref.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObject.ref.page
index 3e63b1e..fada738 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObject.ref.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObject.ref.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestFundamentalObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>fundamental_object</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_fundamental_object_ref</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 RegressTestFundamentalObject* regress_test_fundamental_object_ref (RegressTestFundamentalObject* 
fundamental_object);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>fundamental_object</code></title>
@@ -39,10 +31,8 @@ RegressTestFundamentalObject* regress_test_fundamental_object_ref (RegressTestFu
 </item>
 <item>
 <title><code>Returns</code></title>
-<p>A new <link xref="Regress.TestFundamentalObject"/></p>
+  <p>A new <link xref="Regress.TestFundamentalObject"/></p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObject.unref.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObject.unref.page
index 6f5c16b..726b1d5 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObject.unref.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObject.unref.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestFundamentalObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>fundamental_object</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_fundamental_object_unref</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_fundamental_object_unref (RegressTestFundamentalObject* fundamental_object);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>fundamental_object</code></title>
@@ -43,6 +35,4 @@ void regress_test_fundamental_object_unref (RegressTestFundamentalObject* fundam
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectClass-copy.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectClass-copy.page
index 6dc17b3..6b5178a 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectClass-copy.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestFundamentalObjectClass-copy"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestFundamentalObjectClass" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestFundamentalObjectClass->copy</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectClass-finalize.page
similarity index 50%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectClass-finalize.page
index 6dc17b3..a7fdff4 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectClass-finalize.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestFundamentalObjectClass-finalize"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestFundamentalObjectClass" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestFundamentalObjectClass->finalize</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectClass-type_class.page
similarity index 50%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectClass-type_class.page
index 6dc17b3..57e088c 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectClass-type_class.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestFundamentalObjectClass-type_class"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestFundamentalObjectClass" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestFundamentalObjectClass->type_class</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectClass.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectClass.page
index 443ce70..38aea87 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectClass.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectClass.page
@@ -1,25 +1,35 @@
 <?xml version="1.0"?>
 <page id="Regress.TestFundamentalObjectClass"
-      type="topic"
-      style="record"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestFundamentalObjectClass</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectCopyFunction.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectCopyFunction.page
index 73a3328..c6acc8f 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectCopyFunction.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectCopyFunction.page
@@ -1,25 +1,28 @@
 <?xml version="1.0"?>
 <page id="Regress.TestFundamentalObjectCopyFunction"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
-  </info>
+    <link xref="index" group="callback" type="guide"/>
+    </info>
   <title>Regress.TestFundamentalObjectCopyFunction</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-csrc">
+RegressTestFundamentalObject* TestFundamentalObjectCopyFunction (const RegressTestFundamentalObject* obj);
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>obj</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectFinalizeFunction.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectFinalizeFunction.page
index df0e8fb..ee150df 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectFinalizeFunction.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectFinalizeFunction.page
@@ -1,25 +1,28 @@
 <?xml version="1.0"?>
 <page id="Regress.TestFundamentalObjectFinalizeFunction"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
-  </info>
+    <link xref="index" group="callback" type="guide"/>
+    </info>
   <title>Regress.TestFundamentalObjectFinalizeFunction</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-csrc">
+void TestFundamentalObjectFinalizeFunction (RegressTestFundamentalObject* obj);
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>obj</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalSubObject-data.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalSubObject-data.page
index 6dc17b3..02269eb 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalSubObject-data.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestFundamentalSubObject-data"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestFundamentalSubObject" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestFundamentalSubObject->data</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalSubObject-fundamental_object.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalSubObject-fundamental_object.page
new file mode 100644
index 0000000..27c5cf4
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalSubObject-fundamental_object.page
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFundamentalSubObject-fundamental_object"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestFundamentalSubObject" group="field" type="guide"/>
+  </info>
+  <title>Regress.TestFundamentalSubObject->fundamental_object</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalSubObject.new.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalSubObject.new.page
index a449540..13a4127 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalSubObject.new.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalSubObject.new.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestFundamentalSubObject"
       group="constructor"
       type="guide"/>
@@ -20,20 +19,13 @@
         <api:name>data</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_fundamental_sub_object_new</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 RegressTestFundamentalSubObject* regress_test_fundamental_sub_object_new (const char* data);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>data</code></title>
@@ -45,6 +37,4 @@ RegressTestFundamentalSubObject* regress_test_fundamental_sub_object_new (const
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalSubObject.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalSubObject.page
index 6ed3608..d0a09c2 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalSubObject.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalSubObject.page
@@ -6,19 +6,11 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="class" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestFundamentalSubObject</title>
-  
-  
-  
-    
-  
-  
-  
-  
+
+
   <synopsis>
     <title>Hierarchy</title>
     <tree>
@@ -30,8 +22,11 @@
       </item>
     </tree>
   </synopsis>
-
-  
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-csrc"
          groups="method" style="linklist">
@@ -40,7 +35,7 @@
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-csrc"
          groups="function" style="linklist">
-    <title>Functions</title>
+    <title>Static Functions</title>
   </links>
   <links type="topic" ui:expanded="true" groups="property" style="linklist">
     <title>Properties</title>
@@ -51,8 +46,10 @@
   <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
     <title>Virtual functions</title>
   </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
   <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
     <title>Other</title>
   </links>
-
 </page>
diff --git 
a/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalSubObjectClass-fundamental_object_class.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalSubObjectClass-fundamental_object_class.page
new file mode 100644
index 0000000..a9faf9a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalSubObjectClass-fundamental_object_class.page
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFundamentalSubObjectClass-fundamental_object_class"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestFundamentalSubObjectClass" group="field" type="guide"/>
+  </info>
+  <title>Regress.TestFundamentalSubObjectClass->fundamental_object_class</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalSubObjectClass.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalSubObjectClass.page
index 79e14d5..1947fa4 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalSubObjectClass.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalSubObjectClass.page
@@ -1,25 +1,35 @@
 <?xml version="1.0"?>
 <page id="Regress.TestFundamentalSubObjectClass"
-      type="topic"
-      style="record"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestFundamentalSubObjectClass</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawable-parent_instance.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawable-parent_instance.page
index 6dc17b3..2295feb 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawable-parent_instance.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestInheritDrawable-parent_instance"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestInheritDrawable" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestInheritDrawable->parent_instance</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawable.do_foo.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawable.do_foo.page
index 24bd9c4..7d6bcde 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawable.do_foo.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawable.do_foo.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestInheritDrawable" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,21 +21,14 @@
         <api:name>x</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_inherit_drawable_do_foo</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_inherit_drawable_do_foo (RegressTestInheritDrawable* drawable,
                                            int x);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>drawable</code></title>
@@ -52,6 +44,4 @@ void regress_test_inherit_drawable_do_foo (RegressTestInheritDrawable* drawable,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawable.do_foo_maybe_throw.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawable.do_foo_maybe_throw.page
index e90dcd1..1a62b79 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawable.do_foo_maybe_throw.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawable.do_foo_maybe_throw.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestInheritDrawable" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,21 +21,14 @@
         <api:name>x</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_inherit_drawable_do_foo_maybe_throw</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_inherit_drawable_do_foo_maybe_throw (RegressTestInheritDrawable* drawable,
                                                        int x);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>drawable</code></title>
@@ -52,6 +44,4 @@ void regress_test_inherit_drawable_do_foo_maybe_throw (RegressTestInheritDrawabl
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawable.get_origin.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawable.get_origin.page
index 9ab00c6..7a33019 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawable.get_origin.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawable.get_origin.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestInheritDrawable" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -26,22 +25,15 @@
         <api:name>y</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_inherit_drawable_get_origin</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_inherit_drawable_get_origin (RegressTestInheritDrawable* drawable,
                                                int* x,
                                                int* y);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>drawable</code></title>
@@ -61,6 +53,4 @@ void regress_test_inherit_drawable_get_origin (RegressTestInheritDrawable* drawa
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawable.get_size.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawable.get_size.page
index c9c778e..2e74a29 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawable.get_size.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawable.get_size.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestInheritDrawable" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -26,22 +25,15 @@
         <api:name>height</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_inherit_drawable_get_size</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_inherit_drawable_get_size (RegressTestInheritDrawable* drawable,
                                              guint* width,
                                              guint* height);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>drawable</code></title>
@@ -61,6 +53,4 @@ void regress_test_inherit_drawable_get_size (RegressTestInheritDrawable* drawabl
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawable.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawable.page
index 20ef3ff..fae7264 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawable.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawable.page
@@ -6,19 +6,11 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="class" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestInheritDrawable</title>
-  
-  
-  
-    
-  
-  
-  
-  
+
+
   <synopsis>
     <title>Hierarchy</title>
     <tree>
@@ -30,8 +22,11 @@
       </item>
     </tree>
   </synopsis>
-
-  
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-csrc"
          groups="method" style="linklist">
@@ -40,7 +35,7 @@
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-csrc"
          groups="function" style="linklist">
-    <title>Functions</title>
+    <title>Static Functions</title>
   </links>
   <links type="topic" ui:expanded="true" groups="property" style="linklist">
     <title>Properties</title>
@@ -51,8 +46,10 @@
   <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
     <title>Virtual functions</title>
   </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
   <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
     <title>Other</title>
   </links>
-
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawableClass-parent_class.page
similarity index 50%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawableClass-parent_class.page
index 6dc17b3..b14538c 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawableClass-parent_class.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestInheritDrawableClass-parent_class"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestInheritDrawableClass" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestInheritDrawableClass->parent_class</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawableClass.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawableClass.page
index 2579f56..58369c4 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawableClass.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawableClass.page
@@ -1,25 +1,35 @@
 <?xml version="1.0"?>
 <page id="Regress.TestInheritDrawableClass"
-      type="topic"
-      style="record"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestInheritDrawableClass</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritPixmapObjectClass-parent_class.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritPixmapObjectClass-parent_class.page
new file mode 100644
index 0000000..bf056d8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritPixmapObjectClass-parent_class.page
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<page id="Regress.TestInheritPixmapObjectClass-parent_class"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestInheritPixmapObjectClass" group="field" type="guide"/>
+  </info>
+  <title>Regress.TestInheritPixmapObjectClass->parent_class</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritPixmapObjectClass.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritPixmapObjectClass.page
index 3cf69e8..b5e07b4 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritPixmapObjectClass.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritPixmapObjectClass.page
@@ -1,25 +1,35 @@
 <?xml version="1.0"?>
 <page id="Regress.TestInheritPixmapObjectClass"
-      type="topic"
-      style="record"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestInheritPixmapObjectClass</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestInterface.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestInterface.page
index 1c53fd4..19e4521 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestInterface.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestInterface.page
@@ -1,34 +1,29 @@
 <?xml version="1.0"?>
 <page id="Regress.TestInterface"
       type="guide"
-      style="class"
+      style="interface"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="class" type="guide"/>
-    
+    <link xref="index" group="interface" type="guide"/>
   </info>
   <title>Regress.TestInterface</title>
-  
-  
-  
-    
-  
-  
-  
-  
+
+
   <synopsis>
-    <title>Hierarchy</title>
-    <tree>
-      <item>
-        <code>Regress.TestInterface</code>
-      </item>
-    </tree>
+    <title>Prerequisites</title>
+    <p>TestInterface requires GObject.Object</p>
+  </synopsis>
+  <synopsis>
+    <title>Known Implementations</title>
+    <p>None</p>
   </synopsis>
-
-  
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-csrc"
          groups="method" style="linklist">
@@ -37,7 +32,7 @@
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-csrc"
          groups="function" style="linklist">
-    <title>Functions</title>
+    <title>Static Functions</title>
   </links>
   <links type="topic" ui:expanded="true" groups="property" style="linklist">
     <title>Properties</title>
@@ -48,8 +43,10 @@
   <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
     <title>Virtual functions</title>
   </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
   <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
     <title>Other</title>
   </links>
-
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestInterfaceIface-base_iface.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestInterfaceIface-base_iface.page
index 6dc17b3..f9454e1 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestInterfaceIface-base_iface.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestInterfaceIface-base_iface"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestInterfaceIface" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestInterfaceIface->base_iface</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestInterfaceIface.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestInterfaceIface.page
index a643e5d..ced653c 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestInterfaceIface.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestInterfaceIface.page
@@ -1,25 +1,35 @@
 <?xml version="1.0"?>
 <page id="Regress.TestInterfaceIface"
-      type="topic"
-      style="record"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestInterfaceIface</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-all.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-all.page
index 37b5dd3..936be81 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-all.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-all.page
@@ -6,23 +6,15 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="signal" type="guide"/>
     <title type="link" role="topic">all</title>
-
   </info>
   <title>Regress.TestObj::all</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void all (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -30,6 +22,4 @@ void all (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-allow_none_vfunc.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-allow_none_vfunc.page
index f3447b5..fa78f22 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-allow_none_vfunc.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-allow_none_vfunc.page
@@ -6,23 +6,15 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="vfunc" type="guide"/>
-
   </info>
   <title>Regress.TestObj::allow_none_vfunc</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void allow_none_vfunc (RegressTestObj* obj,
                        RegressTestObj* two);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>obj</code></title>
@@ -30,7 +22,7 @@ void allow_none_vfunc (RegressTestObj* obj,
 </item>
 <item>
 <title><code>two</code></title>
-<p>Another object</p>
+  <p>Another object</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -38,6 +30,4 @@ void allow_none_vfunc (RegressTestObj* obj,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-bare.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-bare.page
index 4873a1c..c4ea79a 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-bare.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-bare.page
@@ -6,21 +6,10 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="property" type="guide"/>
     <title type="link" role="topic">bare</title>
-
   </info>
   <title>Regress.TestObj:bare</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-boxed.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-boxed.page
index 460104b..61597b9 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-boxed.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-boxed.page
@@ -6,21 +6,10 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="property" type="guide"/>
     <title type="link" role="topic">boxed</title>
-
   </info>
   <title>Regress.TestObj:boxed</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-cleanup.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-cleanup.page
index bef9537..bf23ce2 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-cleanup.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-cleanup.page
@@ -6,23 +6,15 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="signal" type="guide"/>
     <title type="link" role="topic">cleanup</title>
-
   </info>
   <title>Regress.TestObj::cleanup</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void cleanup (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -30,6 +22,4 @@ void cleanup (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-double.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-double.page
index bb907ab..0115614 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-double.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-double.page
@@ -6,21 +6,10 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="property" type="guide"/>
     <title type="link" role="topic">double</title>
-
   </info>
   <title>Regress.TestObj:double</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-first.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-first.page
index 5600be6..e9e31d3 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-first.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-first.page
@@ -6,23 +6,15 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="signal" type="guide"/>
     <title type="link" role="topic">first</title>
-
   </info>
   <title>Regress.TestObj::first</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void first (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -30,6 +22,4 @@ void first (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-float.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-float.page
index a981cf8..64ad436 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-float.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-float.page
@@ -6,21 +6,10 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="property" type="guide"/>
     <title type="link" role="topic">float</title>
-
   </info>
   <title>Regress.TestObj:float</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-gtype.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-gtype.page
index 2fbf9d9..2b8adb7 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-gtype.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-gtype.page
@@ -6,21 +6,10 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="property" type="guide"/>
     <title type="link" role="topic">gtype</title>
-
   </info>
   <title>Regress.TestObj:gtype</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-hash-table-old.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-hash-table-old.page
index 003425b..46c5046 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-hash-table-old.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-hash-table-old.page
@@ -6,21 +6,10 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="property" type="guide"/>
     <title type="link" role="topic">hash-table-old</title>
-
   </info>
   <title>Regress.TestObj:hash-table-old</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-hash-table.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-hash-table.page
index f11e465..c90c44d 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-hash-table.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-hash-table.page
@@ -6,21 +6,10 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="property" type="guide"/>
     <title type="link" role="topic">hash-table</title>
-
   </info>
   <title>Regress.TestObj:hash-table</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-hash_table.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestObj-hash_table.page
index 6dc17b3..40653a9 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-hash_table.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestObj-hash_table"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestObj" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestObj->hash_table</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-int.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-int.page
index 95a4902..3ba1d11 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-int.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-int.page
@@ -6,21 +6,10 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="property" type="guide"/>
     <title type="link" role="topic">int</title>
-
   </info>
   <title>Regress.TestObj:int</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-list-old.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-list-old.page
index 680636d..29708fe 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-list-old.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-list-old.page
@@ -6,21 +6,10 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="property" type="guide"/>
     <title type="link" role="topic">list-old</title>
-
   </info>
   <title>Regress.TestObj:list-old</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-list.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-list.page
index 7ea5130..4e1abc8 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-list.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-list.page
@@ -6,21 +6,10 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="property" type="guide"/>
     <title type="link" role="topic">list</title>
-
   </info>
   <title>Regress.TestObj:list</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-matrix.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-matrix.page
index 4320365..7fb7eca 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-matrix.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-matrix.page
@@ -6,33 +6,25 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="vfunc" type="guide"/>
-
   </info>
   <title>Regress.TestObj::matrix</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 int matrix (RegressTestObj* obj,
             const char* somestr);
-</code></synopsis>
-
-  
-    <p>This method is virtual.  Notably its name differs from the virtual
+  </code></synopsis>
+  <p>This method is virtual.  Notably its name differs from the virtual
 slot name, which makes it useful for testing bindings handle this
 case.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>obj</code></title>
-<p>A <link xref="Regress.TestObj"/></p>
+  <p>A <link xref="Regress.TestObj"/></p>
 </item>
 <item>
 <title><code>somestr</code></title>
-<p>Meaningless string</p>
+  <p>Meaningless string</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -40,6 +32,4 @@ case.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-parent_instance.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestObj-parent_instance.page
index 6dc17b3..52b356b 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-parent_instance.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestObj-parent_instance"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestObj" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestObj->parent_instance</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-array-len-prop.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-array-len-prop.page
index 9ec983b..dcb254b 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-array-len-prop.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-array-len-prop.page
@@ -6,32 +6,24 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="signal" type="guide"/>
     <title type="link" role="topic">sig-with-array-len-prop</title>
-
   </info>
   <title>Regress.TestObj::sig-with-array-len-prop</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void sig-with-array-len-prop (guint* arr,
                               gint len);
-</code></synopsis>
+  </code></synopsis>
+  <p>This test signal similar to GSettings::change-event</p>
 
-  
-    <p>This test signal similar to GSettings::change-event</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>arr</code></title>
-<p>numbers, or <code>NULL</code></p>
+  <p>numbers, or <code>NULL</code></p>
 </item>
 <item>
 <title><code>len</code></title>
-<p>length of <code>arr</code>, or 0</p>
+  <p>length of <code>arr</code>, or 0</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -39,6 +31,4 @@ void sig-with-array-len-prop (guint* arr,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-array-prop.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-array-prop.page
index 05b911c..190a191 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-array-prop.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-array-prop.page
@@ -6,28 +6,20 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="signal" type="guide"/>
     <title type="link" role="topic">sig-with-array-prop</title>
-
   </info>
   <title>Regress.TestObj::sig-with-array-prop</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void sig-with-array-prop (guint* arr);
-</code></synopsis>
-
-  
-    <p>This test signal is like TelepathyGlib's
+  </code></synopsis>
+  <p>This test signal is like TelepathyGlib's
  TpChannel:: group-members-changed-detailed:</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>arr</code></title>
-<p>numbers</p>
+  <p>numbers</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ void sig-with-array-prop (guint* arr);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-foreign-struct.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-foreign-struct.page
index c2cb882..cf6147f 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-foreign-struct.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-foreign-struct.page
@@ -6,27 +6,19 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="signal" type="guide"/>
     <title type="link" role="topic">sig-with-foreign-struct</title>
-
   </info>
   <title>Regress.TestObj::sig-with-foreign-struct</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void sig-with-foreign-struct (cairo_t cr);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>cr</code></title>
-<p>A cairo context.</p>
+  <p>A cairo context.</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -34,6 +26,4 @@ void sig-with-foreign-struct (cairo_t cr);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-hash-prop.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-hash-prop.page
index 9ddd536..c3cce66 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-hash-prop.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-hash-prop.page
@@ -6,24 +6,16 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="signal" type="guide"/>
     <title type="link" role="topic">sig-with-hash-prop</title>
-
   </info>
   <title>Regress.TestObj::sig-with-hash-prop</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void sig-with-hash-prop (&lt;map&gt; hash);
-</code></synopsis>
-
-  
-    <p>This test signal is like TelepathyGlib's
+  </code></synopsis>
+  <p>This test signal is like TelepathyGlib's
  TpAccount::status-changed</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>hash</code></title>
@@ -35,6 +27,4 @@ void sig-with-hash-prop (&lt;map&gt; hash);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-int64-prop.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-int64-prop.page
index d8a9037..900d7ea 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-int64-prop.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-int64-prop.page
@@ -6,28 +6,20 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="signal" type="guide"/>
     <title type="link" role="topic">sig-with-int64-prop</title>
-
   </info>
   <title>Regress.TestObj::sig-with-int64-prop</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 gint64 sig-with-int64-prop (gint64 i);
-</code></synopsis>
-
-  
-    <p>You can use this with regress_test_obj_emit_sig_with_int64, or raise from
+  </code></synopsis>
+  <p>You can use this with regress_test_obj_emit_sig_with_int64, or raise from
 the introspection client langage.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>i</code></title>
-<p>an integer</p>
+  <p>an integer</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ the introspection client langage.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-intarray-ret.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-intarray-ret.page
index 7f041e2..b9be7d5 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-intarray-ret.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-intarray-ret.page
@@ -6,27 +6,19 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="signal" type="guide"/>
     <title type="link" role="topic">sig-with-intarray-ret</title>
-
   </info>
   <title>Regress.TestObj::sig-with-intarray-ret</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 None sig-with-intarray-ret (gint i);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>i</code></title>
-<p>an integer</p>
+  <p>an integer</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -34,6 +26,4 @@ None sig-with-intarray-ret (gint i);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-obj.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-obj.page
index 9d69a6f..d8e9d5f 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-obj.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-obj.page
@@ -6,28 +6,20 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="signal" type="guide"/>
     <title type="link" role="topic">sig-with-obj</title>
-
   </info>
   <title>Regress.TestObj::sig-with-obj</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void sig-with-obj (GObject obj);
-</code></synopsis>
-
-  
-    <p>Test transfer none GObject as a param (tests refcounting).
+  </code></synopsis>
+  <p>Test transfer none GObject as a param (tests refcounting).
 Use with regress_test_obj_emit_sig_with_obj</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>obj</code></title>
-<p>A newly created RegressTestObj</p>
+  <p>A newly created RegressTestObj</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ Use with regress_test_obj_emit_sig_with_obj</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-strv.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-strv.page
index 919d38f..f2b2911 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-strv.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-strv.page
@@ -6,27 +6,19 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="signal" type="guide"/>
     <title type="link" role="topic">sig-with-strv</title>
-
   </info>
   <title>Regress.TestObj::sig-with-strv</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void sig-with-strv (utf8* strs);
-</code></synopsis>
+  </code></synopsis>
+  <p>Test GStrv as a param.</p>
 
-  
-    <p>Test GStrv as a param.</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>strs</code></title>
-<p>strings</p>
+  <p>strings</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -34,6 +26,4 @@ void sig-with-strv (utf8* strs);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-uint64-prop.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-uint64-prop.page
index 6ee6bda..3bb5b5e 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-uint64-prop.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-uint64-prop.page
@@ -6,28 +6,20 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="signal" type="guide"/>
     <title type="link" role="topic">sig-with-uint64-prop</title>
-
   </info>
   <title>Regress.TestObj::sig-with-uint64-prop</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 guint64 sig-with-uint64-prop (guint64 i);
-</code></synopsis>
-
-  
-    <p>You can use this with regress_test_obj_emit_sig_with_uint64, or raise from
+  </code></synopsis>
+  <p>You can use this with regress_test_obj_emit_sig_with_uint64, or raise from
 the introspection client langage.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>i</code></title>
-<p>an integer</p>
+  <p>an integer</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ the introspection client langage.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-some_double.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestObj-some_double.page
index 6dc17b3..ffd77f1 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-some_double.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestObj-some_double"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestObj" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestObj->some_double</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-some_float.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestObj-some_float.page
index 6dc17b3..0c22a20 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-some_float.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestObj-some_float"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestObj" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestObj->some_float</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-some_int8.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestObj-some_int8.page
index 6dc17b3..8836889 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-some_int8.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestObj-some_int8"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestObj" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestObj->some_int8</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-string.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-string.page
index 1ae4803..d548cb9 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-string.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-string.page
@@ -6,21 +6,10 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="property" type="guide"/>
     <title type="link" role="topic">string</title>
-
   </info>
   <title>Regress.TestObj:string</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-test-with-static-scope-arg.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-test-with-static-scope-arg.page
index 1ffe66e..f4bf0ab 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-test-with-static-scope-arg.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-test-with-static-scope-arg.page
@@ -6,23 +6,15 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="signal" type="guide"/>
     <title type="link" role="topic">test-with-static-scope-arg</title>
-
   </info>
   <title>Regress.TestObj::test-with-static-scope-arg</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void test-with-static-scope-arg (RegressTestSimpleBoxedA object);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>object</code></title>
@@ -34,6 +26,4 @@ void test-with-static-scope-arg (RegressTestSimpleBoxedA object);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-test.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-test.page
index 15599c6..5ac080e 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-test.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-test.page
@@ -6,23 +6,15 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="signal" type="guide"/>
     <title type="link" role="topic">test</title>
-
   </info>
   <title>Regress.TestObj::test</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void test (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -30,6 +22,4 @@ void test (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.constructor.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.constructor.page
index 8efd161..bf3b58a 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.constructor.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.constructor.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="constructor" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,20 +13,13 @@
       </api:returns>
       <api:name>regress_constructor</api:name>
     </api:function>
-
   </info>
   <title>regress_constructor</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 RegressTestObj* regress_constructor (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ RegressTestObj* regress_constructor (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.do_matrix.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.do_matrix.page
index bc4e762..da367ee 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.do_matrix.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.do_matrix.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,31 +21,24 @@
         <api:name>somestr</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_obj_do_matrix</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 int regress_test_obj_do_matrix (RegressTestObj* obj,
                                 const char* somestr);
-</code></synopsis>
-
-  
-    <p>This method is virtual.  Notably its name differs from the virtual
+  </code></synopsis>
+  <p>This method is virtual.  Notably its name differs from the virtual
 slot name, which makes it useful for testing bindings handle this
 case.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>obj</code></title>
-<p>A <link xref="Regress.TestObj"/></p>
+  <p>A <link xref="Regress.TestObj"/></p>
 </item>
 <item>
 <title><code>somestr</code></title>
-<p>Meaningless string</p>
+  <p>Meaningless string</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -54,6 +46,4 @@ case.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.emit_sig_with_foreign_struct.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.emit_sig_with_foreign_struct.page
index 1ba8436..38fa185 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.emit_sig_with_foreign_struct.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.emit_sig_with_foreign_struct.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>obj</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_obj_emit_sig_with_foreign_struct</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_obj_emit_sig_with_foreign_struct (RegressTestObj* obj);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>obj</code></title>
@@ -43,6 +35,4 @@ void regress_test_obj_emit_sig_with_foreign_struct (RegressTestObj* obj);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.emit_sig_with_int64.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.emit_sig_with_int64.page
index 24f5826..97e1c9f 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.emit_sig_with_int64.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.emit_sig_with_int64.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>obj</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_obj_emit_sig_with_int64</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_obj_emit_sig_with_int64 (RegressTestObj* obj);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>obj</code></title>
@@ -43,6 +35,4 @@ void regress_test_obj_emit_sig_with_int64 (RegressTestObj* obj);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.emit_sig_with_obj.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.emit_sig_with_obj.page
index e0d123e..195f4a0 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.emit_sig_with_obj.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.emit_sig_with_obj.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>obj</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_obj_emit_sig_with_obj</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_obj_emit_sig_with_obj (RegressTestObj* obj);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>obj</code></title>
@@ -43,6 +35,4 @@ void regress_test_obj_emit_sig_with_obj (RegressTestObj* obj);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.emit_sig_with_uint64.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.emit_sig_with_uint64.page
index 0c2c68c..b5ed20d 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.emit_sig_with_uint64.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.emit_sig_with_uint64.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>obj</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_obj_emit_sig_with_uint64</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_obj_emit_sig_with_uint64 (RegressTestObj* obj);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>obj</code></title>
@@ -43,6 +35,4 @@ void regress_test_obj_emit_sig_with_uint64 (RegressTestObj* obj);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.forced_method.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.forced_method.page
index 92bfa2d..3c59d28 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.forced_method.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.forced_method.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,24 +17,17 @@
         <api:name>obj</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_forced_method</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_forced_method (RegressTestObj* obj);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>obj</code></title>
-<p>A <link xref="Regress.TestObj"/></p>
+  <p>A <link xref="Regress.TestObj"/></p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -43,6 +35,4 @@ void regress_forced_method (RegressTestObj* obj);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.instance_method.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.instance_method.page
index 7469238..673e7e0 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.instance_method.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.instance_method.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>obj</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_obj_instance_method</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 int regress_test_obj_instance_method (RegressTestObj* obj);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>obj</code></title>
@@ -43,6 +35,4 @@ int regress_test_obj_instance_method (RegressTestObj* obj);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.instance_method_callback.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.instance_method_callback.page
index 668096a..ecf8e54 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.instance_method_callback.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.instance_method_callback.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,21 +21,14 @@
         <api:name>callback</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_obj_instance_method_callback</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_obj_instance_method_callback (RegressTestObj* obj,
                                                 RegressTestCallback callback);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>obj</code></title>
@@ -52,6 +44,4 @@ void regress_test_obj_instance_method_callback (RegressTestObj* obj,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.new.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.new.page
index e931f7d..1144f60 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.new.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.new.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="constructor" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,24 +17,17 @@
         <api:name>obj</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_obj_new</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 RegressTestObj* regress_test_obj_new (RegressTestObj* obj);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>obj</code></title>
-<p>A <link xref="Regress.TestObj"/></p>
+  <p>A <link xref="Regress.TestObj"/></p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -43,6 +35,4 @@ RegressTestObj* regress_test_obj_new (RegressTestObj* obj);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.new_callback.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.new_callback.page
index d2ec5f6..0fdb54c 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.new_callback.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.new_callback.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="constructor" type="guide"/>
     <api:function>
       <api:returns>
@@ -26,22 +25,15 @@
         <api:name>notify</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_obj_new_callback</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 RegressTestObj* regress_test_obj_new_callback (RegressTestCallbackUserData callback,
                                                gpointer user_data,
                                                GDestroyNotify notify);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>callback</code></title>
@@ -61,6 +53,4 @@ RegressTestObj* regress_test_obj_new_callback (RegressTestCallbackUserData callb
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.new_from_file.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.new_from_file.page
index a77e915..21dc2b4 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.new_from_file.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.new_from_file.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="constructor" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>x</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_obj_new_from_file</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 RegressTestObj* regress_test_obj_new_from_file (const char* x);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>x</code></title>
@@ -43,6 +35,4 @@ RegressTestObj* regress_test_obj_new_from_file (const char* x);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.null_out.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.null_out.page
index c86b4b2..c79e304 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.null_out.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.null_out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,24 +17,17 @@
         <api:name>obj</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_obj_null_out</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_obj_null_out (RegressTestObj** obj);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>obj</code></title>
-<p>A <link xref="Regress.TestObj"/></p>
+  <p>A <link xref="Regress.TestObj"/></p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -43,6 +35,4 @@ void regress_test_obj_null_out (RegressTestObj** obj);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.page
index 42f26db..8950858 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.page
@@ -6,19 +6,11 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="class" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestObj</title>
-  
-  
-  
-    
-  
-  
-  
-  
+
+
   <synopsis>
     <title>Hierarchy</title>
     <tree>
@@ -30,8 +22,11 @@
       </item>
     </tree>
   </synopsis>
-
-  
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-csrc"
          groups="method" style="linklist">
@@ -40,7 +35,7 @@
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-csrc"
          groups="function" style="linklist">
-    <title>Functions</title>
+    <title>Static Functions</title>
   </links>
   <links type="topic" ui:expanded="true" groups="property" style="linklist">
     <title>Properties</title>
@@ -51,8 +46,10 @@
   <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
     <title>Virtual functions</title>
   </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
   <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
     <title>Other</title>
   </links>
-
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.set_bare.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.set_bare.page
index 160b8d2..cfcdd65 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.set_bare.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.set_bare.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,21 +21,14 @@
         <api:name>bare</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_obj_set_bare</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_obj_set_bare (RegressTestObj* obj,
                                 GObject* bare);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>obj</code></title>
@@ -52,6 +44,4 @@ void regress_test_obj_set_bare (RegressTestObj* obj,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.skip_inout_param.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.skip_inout_param.page
index 333d170..b8d64c7 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.skip_inout_param.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.skip_inout_param.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -46,11 +45,9 @@
         <api:name>num2</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_obj_skip_inout_param</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 gboolean regress_test_obj_skip_inout_param (RegressTestObj* obj,
                                             gint a,
                                             gint* out_b,
@@ -59,53 +56,46 @@ gboolean regress_test_obj_skip_inout_param (RegressTestObj* obj,
                                             gint* out_sum,
                                             gint num1,
                                             gint num2);
-</code></synopsis>
+  </code></synopsis>
+  <p>Check that the out value is skipped</p>
 
-  
-    <p>Check that the out value is skipped</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>obj</code></title>
-<p>A <link xref="Regress.TestObj"/>.</p>
+  <p>A <link xref="Regress.TestObj"/>.</p>
 </item>
 <item>
 <title><code>a</code></title>
-<p>Parameter.</p>
+  <p>Parameter.</p>
 </item>
 <item>
 <title><code>out_b</code></title>
-<p>Return value.</p>
+  <p>Return value.</p>
 </item>
 <item>
 <title><code>c</code></title>
-<p>Other parameter.</p>
+  <p>Other parameter.</p>
 </item>
 <item>
 <title><code>inout_d</code></title>
-<p>Will be incremented.</p>
+  <p>Will be incremented.</p>
 </item>
 <item>
 <title><code>out_sum</code></title>
-<p>Return value.</p>
+  <p>Return value.</p>
 </item>
 <item>
 <title><code>num1</code></title>
-<p>Number.</p>
+  <p>Number.</p>
 </item>
 <item>
 <title><code>num2</code></title>
-<p>Number.</p>
+  <p>Number.</p>
 </item>
 <item>
 <title><code>Returns</code></title>
-<p><code>TRUE</code> if the call succeeds, <code>FALSE</code> if @error is set.</p>
+  <p><code>TRUE</code> if the call succeeds, <code>FALSE</code> if @error is set.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.skip_out_param.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.skip_out_param.page
index 1df6c18..fc4cdd5 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.skip_out_param.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.skip_out_param.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -46,11 +45,9 @@
         <api:name>num2</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_obj_skip_out_param</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 gboolean regress_test_obj_skip_out_param (RegressTestObj* obj,
                                           gint a,
                                           gint* out_b,
@@ -59,53 +56,46 @@ gboolean regress_test_obj_skip_out_param (RegressTestObj* obj,
                                           gint* out_sum,
                                           gint num1,
                                           gint num2);
-</code></synopsis>
+  </code></synopsis>
+  <p>Check that the out value is skipped</p>
 
-  
-    <p>Check that the out value is skipped</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>obj</code></title>
-<p>A <link xref="Regress.TestObj"/>.</p>
+  <p>A <link xref="Regress.TestObj"/>.</p>
 </item>
 <item>
 <title><code>a</code></title>
-<p>Parameter.</p>
+  <p>Parameter.</p>
 </item>
 <item>
 <title><code>out_b</code></title>
-<p>Return value.</p>
+  <p>Return value.</p>
 </item>
 <item>
 <title><code>c</code></title>
-<p>Other parameter.</p>
+  <p>Other parameter.</p>
 </item>
 <item>
 <title><code>inout_d</code></title>
-<p>Will be incremented.</p>
+  <p>Will be incremented.</p>
 </item>
 <item>
 <title><code>out_sum</code></title>
-<p>Return value.</p>
+  <p>Return value.</p>
 </item>
 <item>
 <title><code>num1</code></title>
-<p>Number.</p>
+  <p>Number.</p>
 </item>
 <item>
 <title><code>num2</code></title>
-<p>Number.</p>
+  <p>Number.</p>
 </item>
 <item>
 <title><code>Returns</code></title>
-<p><code>TRUE</code> if the call succeeds, <code>FALSE</code> if @error is set.</p>
+  <p><code>TRUE</code> if the call succeeds, <code>FALSE</code> if @error is set.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.skip_param.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.skip_param.page
index deca81b..a9a3448 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.skip_param.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.skip_param.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -46,11 +45,9 @@
         <api:name>num2</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_obj_skip_param</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 gboolean regress_test_obj_skip_param (RegressTestObj* obj,
                                       gint a,
                                       gint* out_b,
@@ -59,53 +56,46 @@ gboolean regress_test_obj_skip_param (RegressTestObj* obj,
                                       gint* out_sum,
                                       gint num1,
                                       gint num2);
-</code></synopsis>
+  </code></synopsis>
+  <p>Check that a parameter is skipped</p>
 
-  
-    <p>Check that a parameter is skipped</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>obj</code></title>
-<p>A <link xref="Regress.TestObj"/>.</p>
+  <p>A <link xref="Regress.TestObj"/>.</p>
 </item>
 <item>
 <title><code>a</code></title>
-<p>Parameter.</p>
+  <p>Parameter.</p>
 </item>
 <item>
 <title><code>out_b</code></title>
-<p>Return value.</p>
+  <p>Return value.</p>
 </item>
 <item>
 <title><code>c</code></title>
-<p>Other parameter.</p>
+  <p>Other parameter.</p>
 </item>
 <item>
 <title><code>inout_d</code></title>
-<p>Will be incremented.</p>
+  <p>Will be incremented.</p>
 </item>
 <item>
 <title><code>out_sum</code></title>
-<p>Return value.</p>
+  <p>Return value.</p>
 </item>
 <item>
 <title><code>num1</code></title>
-<p>Number.</p>
+  <p>Number.</p>
 </item>
 <item>
 <title><code>num2</code></title>
-<p>Number.</p>
+  <p>Number.</p>
 </item>
 <item>
 <title><code>Returns</code></title>
-<p><code>TRUE</code> if the call succeeds, <code>FALSE</code> if @error is set.</p>
+  <p><code>TRUE</code> if the call succeeds, <code>FALSE</code> if @error is set.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.skip_return_val.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.skip_return_val.page
index 47402c9..6f69b9b 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.skip_return_val.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.skip_return_val.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -46,11 +45,9 @@
         <api:name>num2</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_obj_skip_return_val</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 gboolean regress_test_obj_skip_return_val (RegressTestObj* obj,
                                            gint a,
                                            gint* out_b,
@@ -59,53 +56,46 @@ gboolean regress_test_obj_skip_return_val (RegressTestObj* obj,
                                            gint* out_sum,
                                            gint num1,
                                            gint num2);
-</code></synopsis>
+  </code></synopsis>
+  <p>Check that the return value is skipped</p>
 
-  
-    <p>Check that the return value is skipped</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>obj</code></title>
-<p>a <link xref="Regress.TestObj"/></p>
+  <p>a <link xref="Regress.TestObj"/></p>
 </item>
 <item>
 <title><code>a</code></title>
-<p>Parameter.</p>
+  <p>Parameter.</p>
 </item>
 <item>
 <title><code>out_b</code></title>
-<p>A return value.</p>
+  <p>A return value.</p>
 </item>
 <item>
 <title><code>c</code></title>
-<p>Other parameter.</p>
+  <p>Other parameter.</p>
 </item>
 <item>
 <title><code>inout_d</code></title>
-<p>Will be incremented.</p>
+  <p>Will be incremented.</p>
 </item>
 <item>
 <title><code>out_sum</code></title>
-<p>Return value.</p>
+  <p>Return value.</p>
 </item>
 <item>
 <title><code>num1</code></title>
-<p>Number.</p>
+  <p>Number.</p>
 </item>
 <item>
 <title><code>num2</code></title>
-<p>Number.</p>
+  <p>Number.</p>
 </item>
 <item>
 <title><code>Returns</code></title>
-<p><code>TRUE</code> if the call succeeds, <code>FALSE</code> if @error is set.</p>
+  <p><code>TRUE</code> if the call succeeds, <code>FALSE</code> if @error is set.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.skip_return_val_no_out.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.skip_return_val_no_out.page
index b590de2..2961ec8 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.skip_return_val_no_out.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.skip_return_val_no_out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,37 +21,28 @@
         <api:name>a</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_obj_skip_return_val_no_out</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 gboolean regress_test_obj_skip_return_val_no_out (RegressTestObj* obj,
                                                   gint a);
-</code></synopsis>
-
-  
-    <p>Check that the return value is skipped. Succeed if a is nonzero, otherwise
+  </code></synopsis>
+  <p>Check that the return value is skipped. Succeed if a is nonzero, otherwise
 raise an error.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>obj</code></title>
-<p>a <link xref="Regress.TestObj"/></p>
+  <p>a <link xref="Regress.TestObj"/></p>
 </item>
 <item>
 <title><code>a</code></title>
-<p>Parameter.</p>
+  <p>Parameter.</p>
 </item>
 <item>
 <title><code>Returns</code></title>
-<p><code>TRUE</code> if the call succeeds, <code>FALSE</code> if @error is set.</p>
+  <p><code>TRUE</code> if the call succeeds, <code>FALSE</code> if @error is set.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.static_method.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.static_method.page
index 8e5c9b1..0f7a2bf 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.static_method.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.static_method.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>x</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_obj_static_method</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 double regress_test_obj_static_method (int x);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>x</code></title>
@@ -43,6 +35,4 @@ double regress_test_obj_static_method (int x);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.static_method_callback.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.static_method_callback.page
index 8058ac0..d9a2bea 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.static_method_callback.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.static_method_callback.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>callback</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_obj_static_method_callback</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_obj_static_method_callback (RegressTestCallback callback);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>callback</code></title>
@@ -43,6 +35,4 @@ void regress_test_obj_static_method_callback (RegressTestCallback callback);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.torture_signature_0.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.torture_signature_0.page
index 3e2fb61..61ae71c 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.torture_signature_0.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.torture_signature_0.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -42,11 +41,9 @@
         <api:name>m</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_obj_torture_signature_0</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_obj_torture_signature_0 (RegressTestObj* obj,
                                            int x,
                                            double* y,
@@ -54,18 +51,13 @@ void regress_test_obj_torture_signature_0 (RegressTestObj* obj,
                                            const char* foo,
                                            int* q,
                                            guint m);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>obj</code></title>
-<p>A <link xref="Regress.TestObj"/></p>
+  <p>A <link xref="Regress.TestObj"/></p>
 </item>
 <item>
 <title><code>x</code></title>
@@ -97,6 +89,4 @@ void regress_test_obj_torture_signature_0 (RegressTestObj* obj,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.torture_signature_1.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.torture_signature_1.page
index 37e1ad2..c3d85fa 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.torture_signature_1.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.torture_signature_1.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -42,11 +41,9 @@
         <api:name>m</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_obj_torture_signature_1</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 gboolean regress_test_obj_torture_signature_1 (RegressTestObj* obj,
                                                int x,
                                                double* y,
@@ -54,18 +51,13 @@ gboolean regress_test_obj_torture_signature_1 (RegressTestObj* obj,
                                                const char* foo,
                                                int* q,
                                                guint m);
-</code></synopsis>
+  </code></synopsis>
+  <p>This function throws an error if m is odd.</p>
 
-  
-    <p>This function throws an error if m is odd.</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>obj</code></title>
-<p>A <link xref="Regress.TestObj"/></p>
+  <p>A <link xref="Regress.TestObj"/></p>
 </item>
 <item>
 <title><code>x</code></title>
@@ -97,6 +89,4 @@ gboolean regress_test_obj_torture_signature_1 (RegressTestObj* obj,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass-_regress_reserved1.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass-_regress_reserved1.page
index 6dc17b3..724610e 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass-_regress_reserved1.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestObjClass-_regress_reserved1"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestObjClass" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestObjClass->_regress_reserved1</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass-_regress_reserved2.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass-_regress_reserved2.page
index 6dc17b3..b865102 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass-_regress_reserved2.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestObjClass-_regress_reserved2"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestObjClass" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestObjClass->_regress_reserved2</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass-allow_none_vfunc.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass-allow_none_vfunc.page
index 6dc17b3..5f5d375 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass-allow_none_vfunc.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestObjClass-allow_none_vfunc"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestObjClass" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestObjClass->allow_none_vfunc</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass-matrix.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass-matrix.page
index 6dc17b3..d50f3d7 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass-matrix.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestObjClass-matrix"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestObjClass" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestObjClass->matrix</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass-parent_class.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass-parent_class.page
index 6dc17b3..905a767 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass-parent_class.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestObjClass-parent_class"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestObjClass" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestObjClass->parent_class</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass-test_signal.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass-test_signal.page
index 6dc17b3..c8da9dc 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass-test_signal.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestObjClass-test_signal"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestObjClass" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestObjClass->test_signal</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass-test_signal_with_static_scope_arg.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass-test_signal_with_static_scope_arg.page
new file mode 100644
index 0000000..fdbc6a2
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass-test_signal_with_static_scope_arg.page
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObjClass-test_signal_with_static_scope_arg"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestObjClass" group="field" type="guide"/>
+  </info>
+  <title>Regress.TestObjClass->test_signal_with_static_scope_arg</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass._regress_reserved1.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass._regress_reserved1.page
index 3aec143..466f846 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass._regress_reserved1.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass._regress_reserved1.page
@@ -1,25 +1,24 @@
 <?xml version="1.0"?>
 <page id="Regress.TestObjClass._regress_reserved1"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
-  </info>
+    <link xref="index" group="callback" type="guide"/>
+    </info>
   <title>Regress.TestObjClass._regress_reserved1</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-csrc">
+void _regress_reserved1 (void);
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass._regress_reserved2.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass._regress_reserved2.page
index 8bfc4d1..9b6aa75 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass._regress_reserved2.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass._regress_reserved2.page
@@ -1,25 +1,24 @@
 <?xml version="1.0"?>
 <page id="Regress.TestObjClass._regress_reserved2"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
-  </info>
+    <link xref="index" group="callback" type="guide"/>
+    </info>
   <title>Regress.TestObjClass._regress_reserved2</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-csrc">
+void _regress_reserved2 (void);
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass.allow_none_vfunc.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass.allow_none_vfunc.page
index b45f05d..e93242a 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass.allow_none_vfunc.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass.allow_none_vfunc.page
@@ -1,25 +1,33 @@
 <?xml version="1.0"?>
 <page id="Regress.TestObjClass.allow_none_vfunc"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
-  </info>
+    <link xref="index" group="callback" type="guide"/>
+    </info>
   <title>Regress.TestObjClass.allow_none_vfunc</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-csrc">
+void allow_none_vfunc (RegressTestObj* obj,
+                       RegressTestObj* two);
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>obj</code></title>
+
+</item>
+<item>
+<title><code>two</code></title>
+  <p>Another object</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass.matrix.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass.matrix.page
index 312b198..4f4b0a8 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass.matrix.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass.matrix.page
@@ -1,25 +1,33 @@
 <?xml version="1.0"?>
 <page id="Regress.TestObjClass.matrix"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
-  </info>
+    <link xref="index" group="callback" type="guide"/>
+    </info>
   <title>Regress.TestObjClass.matrix</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-csrc">
+int matrix (RegressTestObj* obj,
+            const char* somestr);
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>obj</code></title>
+  <p>A <link xref="Regress.TestObj"/></p>
+</item>
+<item>
+<title><code>somestr</code></title>
+  <p>Meaningless string</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass.page
index 86db748..5a6da18 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass.page
@@ -1,25 +1,35 @@
 <?xml version="1.0"?>
 <page id="Regress.TestObjClass"
-      type="topic"
-      style="record"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestObjClass</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestOtherError.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestOtherError.page
index 7d2d53b..98eba50 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestOtherError.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestOtherError.page
@@ -6,20 +6,9 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="enum" type="guide"/>
-    
+    <link xref="index" group="enum" type="guide"/>
   </info>
   <title>Regress.TestOtherError</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestOtherError.quark.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestOtherError.quark.page
index 4ed8d53..5a07ab5 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestOtherError.quark.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestOtherError.quark.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,20 +13,13 @@
       </api:returns>
       <api:name>regress_test_unconventional_error_quark</api:name>
     </api:function>
-
   </info>
   <title>regress_test_unconventional_error_quark</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 GQuark regress_test_unconventional_error_quark (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ GQuark regress_test_unconventional_error_quark (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestPrivateEnum.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestPrivateEnum.page
index 66b477d..0cf17c1 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestPrivateEnum.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestPrivateEnum.page
@@ -6,20 +6,9 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
   <title>Regress.TestPrivateEnum</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestPrivateStruct-this_is_public_after.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestPrivateStruct-this_is_public_after.page
index 6dc17b3..843ed30 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestPrivateStruct-this_is_public_after.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestPrivateStruct-this_is_public_after"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestPrivateStruct" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestPrivateStruct->this_is_public_after</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestPrivateStruct-this_is_public_before.page
similarity index 50%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestPrivateStruct-this_is_public_before.page
index 6dc17b3..84a6eca 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestPrivateStruct-this_is_public_before.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestPrivateStruct-this_is_public_before"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestPrivateStruct" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestPrivateStruct->this_is_public_before</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestPrivateStruct.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestPrivateStruct.page
index 5d55c80..c8eea18 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestPrivateStruct.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestPrivateStruct.page
@@ -1,25 +1,35 @@
 <?xml version="1.0"?>
 <page id="Regress.TestPrivateStruct"
-      type="topic"
-      style="record"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestPrivateStruct</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestReferenceEnum.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestReferenceEnum.page
index 44c3cad..85923d3 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestReferenceEnum.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestReferenceEnum.page
@@ -6,20 +6,9 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="enum" type="guide"/>
-    
+    <link xref="index" group="enum" type="guide"/>
   </info>
   <title>Regress.TestReferenceEnum</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedA-some_double.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedA-some_double.page
index 6dc17b3..61e4303 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedA-some_double.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestSimpleBoxedA-some_double"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestSimpleBoxedA" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestSimpleBoxedA->some_double</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedA-some_enum.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedA-some_enum.page
index 6dc17b3..c31c20d 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedA-some_enum.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestSimpleBoxedA-some_enum"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestSimpleBoxedA" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestSimpleBoxedA->some_enum</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedA-some_int.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedA-some_int.page
index 6dc17b3..aad211d 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedA-some_int.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestSimpleBoxedA-some_int"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestSimpleBoxedA" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestSimpleBoxedA->some_int</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedA-some_int8.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedA-some_int8.page
index 6dc17b3..349c0af 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedA-some_int8.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestSimpleBoxedA-some_int8"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestSimpleBoxedA" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestSimpleBoxedA->some_int8</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedA.const_return.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedA.const_return.page
index 628186a..4910e4d 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedA.const_return.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedA.const_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestSimpleBoxedA" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,20 +13,13 @@
       </api:returns>
       <api:name>regress_test_simple_boxed_a_const_return</api:name>
     </api:function>
-
   </info>
   <title>regress_test_simple_boxed_a_const_return</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 const RegressTestSimpleBoxedA* regress_test_simple_boxed_a_const_return (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ const RegressTestSimpleBoxedA* regress_test_simple_boxed_a_const_return (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedA.copy.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedA.copy.page
index 4e7cf0e..e711958 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedA.copy.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedA.copy.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestSimpleBoxedA" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>a</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_simple_boxed_a_copy</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 RegressTestSimpleBoxedA* regress_test_simple_boxed_a_copy (RegressTestSimpleBoxedA* a);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>a</code></title>
@@ -43,6 +35,4 @@ RegressTestSimpleBoxedA* regress_test_simple_boxed_a_copy (RegressTestSimpleBoxe
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedA.equals.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedA.equals.page
index 5e5dcbd..43f8cba 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedA.equals.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedA.equals.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestSimpleBoxedA" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,21 +21,14 @@
         <api:name>other_a</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_simple_boxed_a_equals</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 gboolean regress_test_simple_boxed_a_equals (RegressTestSimpleBoxedA* a,
                                              RegressTestSimpleBoxedA* other_a);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>a</code></title>
@@ -52,6 +44,4 @@ gboolean regress_test_simple_boxed_a_equals (RegressTestSimpleBoxedA* a,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedA.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedA.page
index 08f968f..54570ae 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedA.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedA.page
@@ -1,25 +1,35 @@
 <?xml version="1.0"?>
 <page id="Regress.TestSimpleBoxedA"
-      type="topic"
-      style="record"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestSimpleBoxedA</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedB-nested_a.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedB-nested_a.page
index 6dc17b3..6014279 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedB-nested_a.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestSimpleBoxedB-nested_a"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestSimpleBoxedB" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestSimpleBoxedB->nested_a</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedB-some_int8.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedB-some_int8.page
index 6dc17b3..8c8b86d 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedB-some_int8.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestSimpleBoxedB-some_int8"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestSimpleBoxedB" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestSimpleBoxedB->some_int8</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedB.copy.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedB.copy.page
index fd59315..3664cda 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedB.copy.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedB.copy.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestSimpleBoxedB" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>b</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_simple_boxed_b_copy</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 RegressTestSimpleBoxedB* regress_test_simple_boxed_b_copy (RegressTestSimpleBoxedB* b);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>b</code></title>
@@ -43,6 +35,4 @@ RegressTestSimpleBoxedB* regress_test_simple_boxed_b_copy (RegressTestSimpleBoxe
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedB.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedB.page
index 2ed2304..170c176 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedB.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedB.page
@@ -1,25 +1,35 @@
 <?xml version="1.0"?>
 <page id="Regress.TestSimpleBoxedB"
-      type="topic"
-      style="record"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestSimpleBoxedB</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleCallback.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleCallback.page
index f815782..322d497 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleCallback.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleCallback.page
@@ -1,25 +1,24 @@
 <?xml version="1.0"?>
 <page id="Regress.TestSimpleCallback"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
-  </info>
+    <link xref="index" group="callback" type="guide"/>
+    </info>
   <title>Regress.TestSimpleCallback</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-csrc">
+void TestSimpleCallback (void);
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructA-some_double.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestStructA-some_double.page
index 6dc17b3..6cc6110 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructA-some_double.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestStructA-some_double"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestStructA" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestStructA->some_double</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructA-some_enum.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestStructA-some_enum.page
index 6dc17b3..1fc8f31 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructA-some_enum.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestStructA-some_enum"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestStructA" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestStructA->some_enum</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructA-some_int.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestStructA-some_int.page
index 6dc17b3..b3e1d84 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructA-some_int.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestStructA-some_int"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestStructA" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestStructA->some_int</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructA-some_int8.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestStructA-some_int8.page
index 6dc17b3..cdfd2a9 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructA-some_int8.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestStructA-some_int8"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestStructA" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestStructA->some_int8</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestStructA.clone.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructA.clone.page
index 9b4d353..e928083 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestStructA.clone.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructA.clone.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestStructA" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,29 +21,22 @@
         <api:name>a_out</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_struct_a_clone</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_struct_a_clone (RegressTestStructA* a,
                                   RegressTestStructA* a_out);
-</code></synopsis>
+  </code></synopsis>
+  <p>Make a copy of a RegressTestStructA</p>
 
-  
-    <p>Make a copy of a RegressTestStructA</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>a</code></title>
-<p>the structure</p>
+  <p>the structure</p>
 </item>
 <item>
 <title><code>a_out</code></title>
-<p>the cloned structure</p>
+  <p>the cloned structure</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -52,6 +44,4 @@ void regress_test_struct_a_clone (RegressTestStructA* a,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestStructA.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructA.page
index 22a1e90..b7f81f3 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestStructA.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructA.page
@@ -1,25 +1,35 @@
 <?xml version="1.0"?>
 <page id="Regress.TestStructA"
-      type="topic"
-      style="record"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestStructA</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestStructA.parse.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructA.parse.page
index befbd7c..4ac3686 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestStructA.parse.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructA.parse.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestStructA" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,29 +21,22 @@
         <api:name>string</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_struct_a_parse</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_struct_a_parse (RegressTestStructA* a_out,
                                   const gchar* string);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>a_out</code></title>
-<p>the structure that is to be filled</p>
+  <p>the structure that is to be filled</p>
 </item>
 <item>
 <title><code>string</code></title>
-<p>ignored</p>
+  <p>ignored</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -52,6 +44,4 @@ void regress_test_struct_a_parse (RegressTestStructA* a_out,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructB-nested_a.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestStructB-nested_a.page
index 6dc17b3..5864588 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructB-nested_a.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestStructB-nested_a"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestStructB" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestStructB->nested_a</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructB-some_int8.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestStructB-some_int8.page
index 6dc17b3..d7e90d7 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructB-some_int8.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestStructB-some_int8"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestStructB" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestStructB->some_int8</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestStructB.clone.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructB.clone.page
index b3a9f99..c87287e 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestStructB.clone.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructB.clone.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestStructB" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,29 +21,22 @@
         <api:name>b_out</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_struct_b_clone</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_struct_b_clone (RegressTestStructB* b,
                                   RegressTestStructB* b_out);
-</code></synopsis>
+  </code></synopsis>
+  <p>Make a copy of a RegressTestStructB</p>
 
-  
-    <p>Make a copy of a RegressTestStructB</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>b</code></title>
-<p>the structure</p>
+  <p>the structure</p>
 </item>
 <item>
 <title><code>b_out</code></title>
-<p>the cloned structure</p>
+  <p>the cloned structure</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -52,6 +44,4 @@ void regress_test_struct_b_clone (RegressTestStructB* b,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestStructB.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructB.page
index 4ed2b54..36e2629 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestStructB.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructB.page
@@ -1,25 +1,35 @@
 <?xml version="1.0"?>
 <page id="Regress.TestStructB"
-      type="topic"
-      style="record"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestStructB</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructC-another_int.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestStructC-another_int.page
index 6dc17b3..9d3e222 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructC-another_int.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestStructC-another_int"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestStructC" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestStructC->another_int</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructC-obj.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestStructC-obj.page
index 6dc17b3..ecf3c25 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructC-obj.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestStructC-obj"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestStructC" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestStructC->obj</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestStructC.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructC.page
index f208fcd..c14639e 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestStructC.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructC.page
@@ -1,25 +1,35 @@
 <?xml version="1.0"?>
 <page id="Regress.TestStructC"
-      type="topic"
-      style="record"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestStructC</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructD-array1.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestStructD-array1.page
index 6dc17b3..6e8cf23 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructD-array1.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestStructD-array1"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestStructD" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestStructD->array1</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructD-array2.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestStructD-array2.page
index 6dc17b3..93995fe 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructD-array2.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestStructD-array2"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestStructD" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestStructD->array2</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructD-field.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestStructD-field.page
index 6dc17b3..e46d5da 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructD-field.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestStructD-field"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestStructD" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestStructD->field</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructD-garray.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestStructD-garray.page
index 6dc17b3..39adf11 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructD-garray.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestStructD-garray"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestStructD" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestStructD->garray</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructD-list.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestStructD-list.page
index 6dc17b3..2601051 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructD-list.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestStructD-list"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestStructD" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestStructD->list</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestStructD.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructD.page
index f791d70..0195113 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestStructD.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructD.page
@@ -1,25 +1,35 @@
 <?xml version="1.0"?>
 <page id="Regress.TestStructD"
-      type="topic"
-      style="record"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestStructD</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructE-some_type.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestStructE-some_type.page
index 6dc17b3..ea61037 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructE-some_type.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestStructE-some_type"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestStructE" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestStructE->some_type</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructE-some_union.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestStructE-some_union.page
index 6dc17b3..fda8d2a 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructE-some_union.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestStructE-some_union"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestStructE" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestStructE->some_union</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestStructE.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructE.page
index ccc8bbd..0520f3c 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestStructE.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructE.page
@@ -1,25 +1,35 @@
 <?xml version="1.0"?>
 <page id="Regress.TestStructE"
-      type="topic"
-      style="record"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestStructE</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestStructE__some_union__union-v_double.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructE__some_union__union-v_double.page
new file mode 100644
index 0000000..d80e779
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructE__some_union__union-v_double.page
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructE__some_union__union-v_double"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestStructE__some_union__union"
+      group="field"
+      type="guide"/>
+  </info>
+  <title>Regress.TestStructE__some_union__union->v_double</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestStructE__some_union__union-v_float.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructE__some_union__union-v_float.page
new file mode 100644
index 0000000..30d6126
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructE__some_union__union-v_float.page
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructE__some_union__union-v_float"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestStructE__some_union__union"
+      group="field"
+      type="guide"/>
+  </info>
+  <title>Regress.TestStructE__some_union__union->v_float</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestStructE__some_union__union-v_int.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructE__some_union__union-v_int.page
new file mode 100644
index 0000000..487a6c5
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructE__some_union__union-v_int.page
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructE__some_union__union-v_int"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestStructE__some_union__union"
+      group="field"
+      type="guide"/>
+  </info>
+  <title>Regress.TestStructE__some_union__union->v_int</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestStructE__some_union__union-v_int64.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructE__some_union__union-v_int64.page
new file mode 100644
index 0000000..fbe75bf
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructE__some_union__union-v_int64.page
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructE__some_union__union-v_int64"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestStructE__some_union__union"
+      group="field"
+      type="guide"/>
+  </info>
+  <title>Regress.TestStructE__some_union__union->v_int64</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestStructE__some_union__union-v_long.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructE__some_union__union-v_long.page
new file mode 100644
index 0000000..a909fa8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructE__some_union__union-v_long.page
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructE__some_union__union-v_long"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestStructE__some_union__union"
+      group="field"
+      type="guide"/>
+  </info>
+  <title>Regress.TestStructE__some_union__union->v_long</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestStructE__some_union__union-v_pointer.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructE__some_union__union-v_pointer.page
new file mode 100644
index 0000000..8dca96c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructE__some_union__union-v_pointer.page
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructE__some_union__union-v_pointer"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestStructE__some_union__union"
+      group="field"
+      type="guide"/>
+  </info>
+  <title>Regress.TestStructE__some_union__union->v_pointer</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestStructE__some_union__union-v_uint.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructE__some_union__union-v_uint.page
new file mode 100644
index 0000000..61d30a2
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructE__some_union__union-v_uint.page
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructE__some_union__union-v_uint"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestStructE__some_union__union"
+      group="field"
+      type="guide"/>
+  </info>
+  <title>Regress.TestStructE__some_union__union->v_uint</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestStructE__some_union__union-v_uint64.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructE__some_union__union-v_uint64.page
new file mode 100644
index 0000000..360e1e9
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructE__some_union__union-v_uint64.page
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructE__some_union__union-v_uint64"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestStructE__some_union__union"
+      group="field"
+      type="guide"/>
+  </info>
+  <title>Regress.TestStructE__some_union__union->v_uint64</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestStructE__some_union__union-v_ulong.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructE__some_union__union-v_ulong.page
new file mode 100644
index 0000000..117b95f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructE__some_union__union-v_ulong.page
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructE__some_union__union-v_ulong"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestStructE__some_union__union"
+      group="field"
+      type="guide"/>
+  </info>
+  <title>Regress.TestStructE__some_union__union->v_ulong</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestStructE__some_union__union.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructE__some_union__union.page
index 3b81e62..e9b94f4 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestStructE__some_union__union.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructE__some_union__union.page
@@ -1,25 +1,35 @@
 <?xml version="1.0"?>
 <page id="Regress.TestStructE__some_union__union"
-      type="topic"
-      style="default"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestStructE__some_union__union</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructF-data1.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestStructF-data1.page
index 6dc17b3..5d424ad 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructF-data1.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestStructF-data1"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestStructF" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestStructF->data1</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructF-data2.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestStructF-data2.page
index 6dc17b3..b03800e 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructF-data2.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestStructF-data2"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestStructF" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestStructF->data2</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructF-data3.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestStructF-data3.page
index 6dc17b3..e25e712 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructF-data3.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestStructF-data3"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestStructF" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestStructF->data3</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructF-data4.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestStructF-data4.page
index 6dc17b3..ceedf9d 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructF-data4.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestStructF-data4"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestStructF" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestStructF->data4</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructF-data5.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestStructF-data5.page
index 6dc17b3..d239488 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructF-data5.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestStructF-data5"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestStructF" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestStructF->data5</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructF-data6.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestStructF-data6.page
index 6dc17b3..09d7215 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructF-data6.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestStructF-data6"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestStructF" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestStructF->data6</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructF-ref_count.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestStructF-ref_count.page
index 6dc17b3..98fad0b 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructF-ref_count.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestStructF-ref_count"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestStructF" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestStructF->ref_count</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestStructF.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructF.page
index 74e8483..860d608 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestStructF.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructF.page
@@ -1,25 +1,35 @@
 <?xml version="1.0"?>
 <page id="Regress.TestStructF"
-      type="topic"
-      style="record"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestStructF</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructFixedArray-array.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestStructFixedArray-array.page
index 6dc17b3..fb214ce 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructFixedArray-array.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestStructFixedArray-array"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestStructFixedArray" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestStructFixedArray->array</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructFixedArray-just_int.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestStructFixedArray-just_int.page
index 6dc17b3..0c8a594 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructFixedArray-just_int.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestStructFixedArray-just_int"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestStructFixedArray" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestStructFixedArray->just_int</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestStructFixedArray.frob.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructFixedArray.frob.page
index 7d5ed65..ad52571 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestStructFixedArray.frob.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructFixedArray.frob.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestStructFixedArray" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>str</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_struct_fixed_array_frob</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_struct_fixed_array_frob (RegressTestStructFixedArray* str);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>str</code></title>
@@ -43,6 +35,4 @@ void regress_test_struct_fixed_array_frob (RegressTestStructFixedArray* str);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestStructFixedArray.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructFixedArray.page
index f33eed9..6b6ea3a 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestStructFixedArray.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructFixedArray.page
@@ -1,25 +1,35 @@
 <?xml version="1.0"?>
 <page id="Regress.TestStructFixedArray"
-      type="topic"
-      style="record"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestStructFixedArray</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestSubObj-parent_instance.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestSubObj-parent_instance.page
index 6dc17b3..15b87da 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestSubObj-parent_instance.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestSubObj-parent_instance"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestSubObj" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestSubObj->parent_instance</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestSubObj.instance_method.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestSubObj.instance_method.page
index fa401f5..3a16280 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestSubObj.instance_method.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestSubObj.instance_method.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestSubObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>obj</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_sub_obj_instance_method</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 int regress_test_sub_obj_instance_method (RegressTestSubObj* obj);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>obj</code></title>
@@ -43,6 +35,4 @@ int regress_test_sub_obj_instance_method (RegressTestSubObj* obj);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestSubObj.new.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestSubObj.new.page
index fbff9d9..ffada79 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestSubObj.new.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestSubObj.new.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestSubObj" group="constructor" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,20 +13,13 @@
       </api:returns>
       <api:name>regress_test_sub_obj_new</api:name>
     </api:function>
-
   </info>
   <title>regress_test_sub_obj_new</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 RegressTestObj* regress_test_sub_obj_new (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ RegressTestObj* regress_test_sub_obj_new (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestSubObj.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestSubObj.page
index 7c6cb98..240e155 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestSubObj.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestSubObj.page
@@ -6,19 +6,11 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="class" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestSubObj</title>
-  
-  
-  
-    
-  
-  
-  
-  
+
+
   <synopsis>
     <title>Hierarchy</title>
     <tree>
@@ -33,8 +25,11 @@
       </item>
     </tree>
   </synopsis>
-
-  
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-csrc"
          groups="method" style="linklist">
@@ -43,7 +38,7 @@
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-csrc"
          groups="function" style="linklist">
-    <title>Functions</title>
+    <title>Static Functions</title>
   </links>
   <links type="topic" ui:expanded="true" groups="property" style="linklist">
     <title>Properties</title>
@@ -54,8 +49,10 @@
   <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
     <title>Virtual functions</title>
   </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
   <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
     <title>Other</title>
   </links>
-
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestSubObj.unset_bare.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestSubObj.unset_bare.page
index 5497c25..c33ed67 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestSubObj.unset_bare.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestSubObj.unset_bare.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestSubObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>obj</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_sub_obj_unset_bare</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_sub_obj_unset_bare (RegressTestSubObj* obj);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>obj</code></title>
@@ -43,6 +35,4 @@ void regress_test_sub_obj_unset_bare (RegressTestSubObj* obj);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestSubObjClass-parent_class.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestSubObjClass-parent_class.page
index 6dc17b3..618b8f3 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestSubObjClass-parent_class.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestSubObjClass-parent_class"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestSubObjClass" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestSubObjClass->parent_class</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestSubObjClass.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestSubObjClass.page
index 8954334..ab00f64 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestSubObjClass.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestSubObjClass.page
@@ -1,25 +1,35 @@
 <?xml version="1.0"?>
 <page id="Regress.TestSubObjClass"
-      type="topic"
-      style="record"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestSubObjClass</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestTypeGUInt64.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestTypeGUInt64.page
index e0a7bc0..fcb2f3b 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestTypeGUInt64.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestTypeGUInt64.page
@@ -6,20 +6,9 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
   <title>Regress.TestTypeGUInt64</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x-parent_instance.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x-parent_instance.page
index 6dc17b3..7bdb8c1 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x-parent_instance.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestWi8021x-parent_instance"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestWi8021x" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestWi8021x->parent_instance</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x-testbool.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x-testbool.page
index 47ad7be..ab6862c 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x-testbool.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x-testbool.page
@@ -6,21 +6,10 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestWi8021x" group="property" type="guide"/>
     <title type="link" role="topic">testbool</title>
-
   </info>
   <title>Regress.TestWi8021x:testbool</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x.get_testbool.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x.get_testbool.page
index 9153172..208e214 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x.get_testbool.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x.get_testbool.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestWi8021x" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>obj</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_wi_802_1x_get_testbool</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 gboolean regress_test_wi_802_1x_get_testbool (RegressTestWi8021x* obj);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>obj</code></title>
@@ -43,6 +35,4 @@ gboolean regress_test_wi_802_1x_get_testbool (RegressTestWi8021x* obj);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x.new.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x.new.page
index 7afe8b1..e136adc 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x.new.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x.new.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestWi8021x" group="constructor" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,20 +13,13 @@
       </api:returns>
       <api:name>regress_test_wi_802_1x_new</api:name>
     </api:function>
-
   </info>
   <title>regress_test_wi_802_1x_new</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 RegressTestWi8021x* regress_test_wi_802_1x_new (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ RegressTestWi8021x* regress_test_wi_802_1x_new (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x.page
index 2965873..8346e89 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x.page
@@ -6,19 +6,11 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="class" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestWi8021x</title>
-  
-  
-  
-    
-  
-  
-  
-  
+
+
   <synopsis>
     <title>Hierarchy</title>
     <tree>
@@ -30,8 +22,11 @@
       </item>
     </tree>
   </synopsis>
-
-  
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-csrc"
          groups="method" style="linklist">
@@ -40,7 +35,7 @@
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-csrc"
          groups="function" style="linklist">
-    <title>Functions</title>
+    <title>Static Functions</title>
   </links>
   <links type="topic" ui:expanded="true" groups="property" style="linklist">
     <title>Properties</title>
@@ -51,8 +46,10 @@
   <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
     <title>Virtual functions</title>
   </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
   <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
     <title>Other</title>
   </links>
-
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x.set_testbool.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x.set_testbool.page
index bad3b1d..170fd5c 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x.set_testbool.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x.set_testbool.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestWi8021x" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,21 +21,14 @@
         <api:name>v</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_wi_802_1x_set_testbool</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_wi_802_1x_set_testbool (RegressTestWi8021x* obj,
                                           gboolean v);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>obj</code></title>
@@ -52,6 +44,4 @@ void regress_test_wi_802_1x_set_testbool (RegressTestWi8021x* obj,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x.static_method.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x.static_method.page
index c0e98df..ef11560 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x.static_method.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x.static_method.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestWi8021x" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>x</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_wi_802_1x_static_method</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 int regress_test_wi_802_1x_static_method (int x);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>x</code></title>
@@ -43,6 +35,4 @@ int regress_test_wi_802_1x_static_method (int x);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021xClass-parent_class.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021xClass-parent_class.page
index 6dc17b3..f3dba05 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021xClass-parent_class.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestWi8021xClass-parent_class"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestWi8021xClass" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestWi8021xClass->parent_class</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021xClass.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021xClass.page
index 5959303..5fe3d2c 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021xClass.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021xClass.page
@@ -1,25 +1,35 @@
 <?xml version="1.0"?>
 <page id="Regress.TestWi8021xClass"
-      type="topic"
-      style="record"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestWi8021xClass</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.UTF8_CONSTANT.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-C-expected/Regress.UTF8_CONSTANT.page
index 6dc17b3..343ad00 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.UTF8_CONSTANT.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.UTF8_CONSTANT"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.UTF8_CONSTANT</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.VaListAlias.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.VaListAlias.page
index 6b7d031..7df012a 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.VaListAlias.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.VaListAlias.page
@@ -6,20 +6,9 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
   <title>Regress.VaListAlias</title>
-  
-  
-  
-    <p>Typedef'd va_list for additional reasons</p>
-  
-  
-  
-  
-  
-  
-  
+  <p>Typedef'd va_list for additional reasons</p>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.aliased_caller_alloc.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.aliased_caller_alloc.page
index 769da09..6e4065a 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.aliased_caller_alloc.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.aliased_caller_alloc.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>boxed</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_aliased_caller_alloc</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_aliased_caller_alloc (RegressAliasedTestBoxed* boxed);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>boxed</code></title>
@@ -43,6 +35,4 @@ void regress_aliased_caller_alloc (RegressAliasedTestBoxed* boxed);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.annotation_attribute_func.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_attribute_func.page
index dbf8b82..f57817b 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.annotation_attribute_func.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_attribute_func.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,36 +21,27 @@
         <api:name>data</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_annotation_attribute_func</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 gint regress_annotation_attribute_func (RegressAnnotationObject* object,
                                         const gchar* data);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>object</code></title>
-<p>A <link xref="Regress.AnnotationObject"/>.</p>
+  <p>A <link xref="Regress.AnnotationObject"/>.</p>
 </item>
 <item>
 <title><code>data</code></title>
-<p>Some data.</p>
+  <p>Some data.</p>
 </item>
 <item>
 <title><code>Returns</code></title>
-<p>The return value.</p>
+  <p>The return value.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.annotation_custom_destroy.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_custom_destroy.page
index 2a474a5..72f910a 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.annotation_custom_destroy.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_custom_destroy.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -26,27 +25,20 @@
         <api:name>data</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_annotation_custom_destroy</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_annotation_custom_destroy (RegressAnnotationCallback callback,
                                         RegressAnnotationNotifyFunc destroy,
                                         gpointer data);
-</code></synopsis>
-
-  
-    <p>Test messing up the heuristic of closure/destroy-notification
+  </code></synopsis>
+  <p>Test messing up the heuristic of closure/destroy-notification
 detection, and fixing it via annotations.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>callback</code></title>
-<p>Destroy notification</p>
+  <p>Destroy notification</p>
 </item>
 <item>
 <title><code>destroy</code></title>
@@ -62,6 +54,4 @@ detection, and fixing it via annotations.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.annotation_get_source_file.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_get_source_file.page
index a76bade..c05e678 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.annotation_get_source_file.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_get_source_file.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,27 +13,18 @@
       </api:returns>
       <api:name>regress_annotation_get_source_file</api:name>
     </api:function>
-
   </info>
   <title>regress_annotation_get_source_file</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 char* regress_annotation_get_source_file (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
-<p>Source file</p>
+  <p>Source file</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.annotation_init.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_init.page
index d2f479a..7e14343 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.annotation_init.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_init.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,29 +21,22 @@
         <api:name>argv</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_annotation_init</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_annotation_init (int* argc,
                               char*** argv);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>argc</code></title>
-<p>The number of args.</p>
+  <p>The number of args.</p>
 </item>
 <item>
 <title><code>argv</code></title>
-<p>The arguments.</p>
+  <p>The arguments.</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -52,6 +44,4 @@ void regress_annotation_init (int* argc,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.annotation_invalid_regress_annotation.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_invalid_regress_annotation.page
index e0399cd..acec228 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.annotation_invalid_regress_annotation.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_invalid_regress_annotation.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,24 +17,17 @@
         <api:name>foo</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_annotation_invalid_regress_annotation</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_annotation_invalid_regress_annotation (int foo);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>foo</code></title>
-<p>some text (e.g. example) or else</p>
+  <p>some text (e.g. example) or else</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -43,6 +35,4 @@ void regress_annotation_invalid_regress_annotation (int foo);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.annotation_ptr_array.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_ptr_array.page
index 3b83de9..e88f535 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.annotation_ptr_array.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_ptr_array.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,24 +17,17 @@
         <api:name>array</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_annotation_ptr_array</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_annotation_ptr_array (GValue* array);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>array</code></title>
-<p>the array</p>
+  <p>the array</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -43,6 +35,4 @@ void regress_annotation_ptr_array (GValue* array);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.annotation_return_array.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_return_array.page
index d13fee5..1048c61 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.annotation_return_array.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_return_array.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,31 +17,22 @@
         <api:name>length</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_annotation_return_array</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 char** regress_annotation_return_array (int* length);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>length</code></title>
-<p>Number of return values</p>
+  <p>Number of return values</p>
 </item>
 <item>
 <title><code>Returns</code></title>
-<p>The return value</p>
+  <p>The return value</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.annotation_return_filename.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_return_filename.page
index 2e48458..0afdf09 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.annotation_return_filename.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_return_filename.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,27 +13,18 @@
       </api:returns>
       <api:name>regress_annotation_return_filename</api:name>
     </api:function>
-
   </info>
   <title>regress_annotation_return_filename</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 gchar* regress_annotation_return_filename (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
-<p>An annotated filename</p>
+  <p>An annotated filename</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.annotation_set_source_file.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_set_source_file.page
index 84c616f..2f7fb86 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.annotation_set_source_file.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_set_source_file.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,24 +17,17 @@
         <api:name>fname</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_annotation_set_source_file</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_annotation_set_source_file (char* fname);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>fname</code></title>
-<p>Source file</p>
+  <p>Source file</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -43,6 +35,4 @@ void regress_annotation_set_source_file (char* fname);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.annotation_space_after_comment_bug631690.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_space_after_comment_bug631690.page
index 39cd529..1453f0e 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.annotation_space_after_comment_bug631690.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_space_after_comment_bug631690.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,20 +13,13 @@
       </api:returns>
       <api:name>regress_annotation_space_after_comment_bug631690</api:name>
     </api:function>
-
   </info>
   <title>regress_annotation_space_after_comment_bug631690</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_annotation_space_after_comment_bug631690 (void);
-</code></synopsis>
+  </code></synopsis>
+  <p>Explicitly test having a space after the ** here.</p>
 
-  
-    <p>Explicitly test having a space after the ** here.</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ void regress_annotation_space_after_comment_bug631690 (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.annotation_string_array_length.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_string_array_length.page
index 5d3813d..d37326c 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.annotation_string_array_length.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_string_array_length.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,21 +21,14 @@
         <api:name>properties</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_annotation_string_array_length</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_annotation_string_array_length (guint n_properties,
                                              utf8* properties);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>n_properties</code></title>
@@ -52,6 +44,4 @@ void regress_annotation_string_array_length (guint n_properties,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.annotation_string_zero_terminated.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_string_zero_terminated.page
index 8c68554..48c812e 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.annotation_string_zero_terminated.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_string_zero_terminated.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,27 +13,18 @@
       </api:returns>
       <api:name>regress_annotation_string_zero_terminated</api:name>
     </api:function>
-
   </info>
   <title>regress_annotation_string_zero_terminated</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 char** regress_annotation_string_zero_terminated (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
-<p>The return value</p>
+  <p>The return value</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.annotation_string_zero_terminated_out.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_string_zero_terminated_out.page
index 13eb1ca..ac9964d 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.annotation_string_zero_terminated_out.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_string_zero_terminated_out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>out</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_annotation_string_zero_terminated_out</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_annotation_string_zero_terminated_out (char*** out);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>out</code></title>
@@ -43,6 +35,4 @@ void regress_annotation_string_zero_terminated_out (char*** out);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.annotation_test_parsing_bug630862.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_test_parsing_bug630862.page
index 6fc0ad4..b9dba0a 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.annotation_test_parsing_bug630862.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_test_parsing_bug630862.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,27 +13,18 @@
       </api:returns>
       <api:name>regress_annotation_test_parsing_bug630862</api:name>
     </api:function>
-
   </info>
   <title>regress_annotation_test_parsing_bug630862</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 GObject* regress_annotation_test_parsing_bug630862 (void);
-</code></synopsis>
+  </code></synopsis>
+  <p>See https://bugzilla.gnome.org/show_bug.cgi?id=630862</p>
 
-  
-    <p>See https://bugzilla.gnome.org/show_bug.cgi?id=630862</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
-<p>An object, note the colon:in here</p>
+  <p>An object, note the colon:in here</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.annotation_transfer_floating.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_transfer_floating.page
index 4db50ca..78684c8 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.annotation_transfer_floating.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_transfer_floating.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,27 +13,18 @@
       </api:returns>
       <api:name>regress_annotation_transfer_floating</api:name>
     </api:function>
-
   </info>
   <title>regress_annotation_transfer_floating</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 GObject* regress_annotation_transfer_floating (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
-<p>A floating object</p>
+  <p>A floating object</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.annotation_versioned.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_versioned.page
index f12a3cf..2d36790 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.annotation_versioned.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_versioned.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,21 +13,13 @@
       </api:returns>
       <api:name>regress_annotation_versioned</api:name>
     </api:function>
-
   </info>
   <title>regress_annotation_versioned</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_annotation_versioned (void);
-</code></synopsis>
+  </code></synopsis>
 
-  
-    
-  
-  
-    <p>Since 0.6</p>
-  
-  
+  <p>Since 0.6</p>
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -36,6 +27,4 @@ void regress_annotation_versioned (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.atest_error_quark.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.atest_error_quark.page
index 75bc68c..6d9968b 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.atest_error_quark.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.atest_error_quark.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,20 +13,13 @@
       </api:returns>
       <api:name>regress_atest_error_quark</api:name>
     </api:function>
-
   </info>
   <title>regress_atest_error_quark</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 GQuark regress_atest_error_quark (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ GQuark regress_atest_error_quark (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.foo_async_ready_callback.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.foo_async_ready_callback.page
index eadb613..f667df6 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.foo_async_ready_callback.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_async_ready_callback.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -26,22 +25,15 @@
         <api:name>user_data</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_foo_async_ready_callback</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_foo_async_ready_callback (GCancellable* cancellable,
                                        GAsyncReadyCallback callback,
                                        gpointer user_data);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>cancellable</code></title>
@@ -61,6 +53,4 @@ void regress_foo_async_ready_callback (GCancellable* cancellable,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.foo_destroy_notify_callback.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.foo_destroy_notify_callback.page
index b37a287..58a7e41 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.foo_destroy_notify_callback.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_destroy_notify_callback.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -26,22 +25,15 @@
         <api:name>destroy</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_foo_destroy_notify_callback</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_foo_destroy_notify_callback (RegressFooCallback callback,
                                           gpointer data,
                                           GDestroyNotify destroy);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>callback</code></title>
@@ -61,6 +53,4 @@ void regress_foo_destroy_notify_callback (RegressFooCallback callback,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.foo_init.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.foo_init.page
index f035be5..e627759 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.foo_init.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_init.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,20 +13,13 @@
       </api:returns>
       <api:name>regress_foo_init</api:name>
     </api:function>
-
   </info>
   <title>regress_foo_init</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 gint regress_foo_init (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ gint regress_foo_init (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.foo_method_external_references.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.foo_method_external_references.page
index 5eef0df..2a77e2c 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.foo_method_external_references.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_method_external_references.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -30,23 +29,16 @@
         <api:name>s</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_foo_method_external_references</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_foo_method_external_references (UtilityObject* object,
                                              UtilityEnumType e,
                                              UtilityFlagType f,
                                              UtilityStruct s);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>object</code></title>
@@ -70,6 +62,4 @@ void regress_foo_method_external_references (UtilityObject* object,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.foo_not_a_constructor_new.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.foo_not_a_constructor_new.page
index 63d5766..01bbafe 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.foo_not_a_constructor_new.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_not_a_constructor_new.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,21 +13,14 @@
       </api:returns>
       <api:name>regress_foo_not_a_constructor_new</api:name>
     </api:function>
-
   </info>
   <title>regress_foo_not_a_constructor_new</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 RegressFooObject* regress_foo_not_a_constructor_new (void);
-</code></synopsis>
-
-  
-    <p>This should be scanned as a top-level function, and shouldn't cause
+  </code></synopsis>
+  <p>This should be scanned as a top-level function, and shouldn't cause
 a "Can't find matching type for constructor" warning.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -36,6 +28,4 @@ a "Can't find matching type for constructor" warning.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.foo_skip_me.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.foo_skip_me.page
index 96773b3..df4d2e7 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.foo_skip_me.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_skip_me.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,25 +17,18 @@
         <api:name>fs</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_foo_skip_me</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_foo_skip_me (RegressFooSkippable fs);
-</code></synopsis>
-
-  
-    <p>Does something that's only interesting from C and should not be
+  </code></synopsis>
+  <p>Does something that's only interesting from C and should not be
 exposed to language bindings.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>fs</code></title>
-<p>a <link xref="Regress.FooSkippable"/></p>
+  <p>a <link xref="Regress.FooSkippable"/></p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -44,6 +36,4 @@ exposed to language bindings.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.foo_some_variant.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.foo_some_variant.page
index 41e570f..ca7cd1e 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.foo_some_variant.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_some_variant.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,21 +21,14 @@
         <api:name>args</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_foo_some_variant</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_foo_some_variant (guint x,
                                va_list args);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>x</code></title>
@@ -52,6 +44,4 @@ void regress_foo_some_variant (guint x,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.foo_some_variant_ptr.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.foo_some_variant_ptr.page
index 81483f1..a292f00 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.foo_some_variant_ptr.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_some_variant_ptr.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,21 +21,14 @@
         <api:name>args</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_foo_some_variant_ptr</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_foo_some_variant_ptr (guint x,
                                    va_list* args);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>x</code></title>
@@ -52,6 +44,4 @@ void regress_foo_some_variant_ptr (guint x,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_array.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_array.page
index 810eba9..d04ec86 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_array.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_array.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,20 +13,13 @@
       </api:returns>
       <api:name>regress_foo_test_array</api:name>
     </api:function>
-
   </info>
   <title>regress_foo_test_array</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 GArray* regress_foo_test_array (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ GArray* regress_foo_test_array (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_const_char_param.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_const_char_param.page
index 57ca7b3..9368b46 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_const_char_param.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_const_char_param.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>param</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_foo_test_const_char_param</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_foo_test_const_char_param (const char* param);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>param</code></title>
@@ -43,6 +35,4 @@ void regress_foo_test_const_char_param (const char* param);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_const_char_retval.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_const_char_retval.page
index 839bee2..bc5b9b5 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_const_char_retval.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_const_char_retval.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,20 +13,13 @@
       </api:returns>
       <api:name>regress_foo_test_const_char_retval</api:name>
     </api:function>
-
   </info>
   <title>regress_foo_test_const_char_retval</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 const char* regress_foo_test_const_char_retval (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ const char* regress_foo_test_const_char_retval (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_const_struct_param.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_const_struct_param.page
index 00a1e07..414a286 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_const_struct_param.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_const_struct_param.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>param</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_foo_test_const_struct_param</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_foo_test_const_struct_param (const RegressFooStruct* param);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>param</code></title>
@@ -43,6 +35,4 @@ void regress_foo_test_const_struct_param (const RegressFooStruct* param);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_const_struct_retval.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_const_struct_retval.page
index 527b8ea..72c58a0 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_const_struct_retval.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_const_struct_retval.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,20 +13,13 @@
       </api:returns>
       <api:name>regress_foo_test_const_struct_retval</api:name>
     </api:function>
-
   </info>
   <title>regress_foo_test_const_struct_retval</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 const RegressFooStruct* regress_foo_test_const_struct_retval (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ const RegressFooStruct* regress_foo_test_const_struct_retval (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_string_array.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_string_array.page
index 17bf08a..d6bc02b 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_string_array.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_string_array.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>array</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_foo_test_string_array</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_foo_test_string_array (char** array);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>array</code></title>
@@ -43,6 +35,4 @@ void regress_foo_test_string_array (char** array);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_string_array_with_g.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_string_array_with_g.page
index 91d5824..22d2635 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_string_array_with_g.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_string_array_with_g.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>array</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_foo_test_string_array_with_g</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_foo_test_string_array_with_g (gchar** array);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>array</code></title>
@@ -43,6 +35,4 @@ void regress_foo_test_string_array_with_g (gchar** array);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_unsigned_qualifier.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_unsigned_qualifier.page
index 8e02366..7019d51 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_unsigned_qualifier.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_unsigned_qualifier.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>unsigned_param</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_foo_test_unsigned_qualifier</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_foo_test_unsigned_qualifier (unsigned int unsigned_param);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>unsigned_param</code></title>
@@ -43,6 +35,4 @@ void regress_foo_test_unsigned_qualifier (unsigned int unsigned_param);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_unsigned_type.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_unsigned_type.page
index 04eec05..56870b4 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_unsigned_type.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_unsigned_type.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>unsigned_param</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_foo_test_unsigned_type</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_foo_test_unsigned_type (unsigned unsigned_param);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>unsigned_param</code></title>
@@ -43,6 +35,4 @@ void regress_foo_test_unsigned_type (unsigned unsigned_param);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_varargs_callback.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_varargs_callback.page
index 210f53c..edc60f1 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_varargs_callback.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_varargs_callback.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,21 +21,14 @@
         <api:name>callback</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_foo_test_varargs_callback</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_foo_test_varargs_callback (gint i,
                                         RegressFooVarargsCallback callback);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>i</code></title>
@@ -52,6 +44,4 @@ void regress_foo_test_varargs_callback (gint i,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_varargs_callback2.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_varargs_callback2.page
index 1d49d31..ef371fc 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_varargs_callback2.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_varargs_callback2.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>callback</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_foo_test_varargs_callback2</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_foo_test_varargs_callback2 (RegressFooVarargsCallback callback);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>callback</code></title>
@@ -43,6 +35,4 @@ void regress_foo_test_varargs_callback2 (RegressFooVarargsCallback callback);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_varargs_callback3.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_varargs_callback3.page
index 19c1932..0453e64 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_varargs_callback3.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_varargs_callback3.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,21 +21,14 @@
         <api:name>callback2</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_foo_test_varargs_callback3</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_foo_test_varargs_callback3 (RegressFooVarargsCallback callback,
                                          RegressFooVarargsCallback callback2);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>callback</code></title>
@@ -52,6 +44,4 @@ void regress_foo_test_varargs_callback3 (RegressFooVarargsCallback callback,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.func_obj_null_in.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.func_obj_null_in.page
index 40093e2..7507bb7 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.func_obj_null_in.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.func_obj_null_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,24 +17,17 @@
         <api:name>obj</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_func_obj_null_in</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_func_obj_null_in (RegressTestObj* obj);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>obj</code></title>
-<p>A <link xref="Regress.TestObj"/></p>
+  <p>A <link xref="Regress.TestObj"/></p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -43,6 +35,4 @@ void regress_func_obj_null_in (RegressTestObj* obj);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.global_get_flags_out.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.global_get_flags_out.page
index a43baa0..d174ecc 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.global_get_flags_out.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.global_get_flags_out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,24 +17,17 @@
         <api:name>v</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_global_get_flags_out</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_global_get_flags_out (RegressTestFlags* v);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>v</code></title>
-<p>A flags value</p>
+  <p>A flags value</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -43,6 +35,4 @@ void regress_global_get_flags_out (RegressTestFlags* v);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.has_parameter_named_attrs.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.has_parameter_named_attrs.page
index 6fd4e6b..05505a7 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.has_parameter_named_attrs.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.has_parameter_named_attrs.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,30 +21,23 @@
         <api:name>attributes</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_has_parameter_named_attrs</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_has_parameter_named_attrs (int foo,
                                         gpointer* attributes);
-</code></synopsis>
-
-  
-    <p>This test case mirrors GnomeKeyringPasswordSchema from
+  </code></synopsis>
+  <p>This test case mirrors GnomeKeyringPasswordSchema from
 libgnome-keyring.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>foo</code></title>
-<p>some int</p>
+  <p>some int</p>
 </item>
 <item>
 <title><code>attributes</code></title>
-<p>list of attributes</p>
+  <p>list of attributes</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -53,6 +45,4 @@ libgnome-keyring.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.introspectable_via_alias.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.introspectable_via_alias.page
index 4d30ec5..dc6b573 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.introspectable_via_alias.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.introspectable_via_alias.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>data</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_introspectable_via_alias</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_introspectable_via_alias (RegressPtrArrayAlias* data);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>data</code></title>
@@ -43,6 +35,4 @@ void regress_introspectable_via_alias (RegressPtrArrayAlias* data);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.not_introspectable_via_alias.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.not_introspectable_via_alias.page
index 6158db4..a9f494c 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.not_introspectable_via_alias.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.not_introspectable_via_alias.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>ok</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_not_introspectable_via_alias</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_not_introspectable_via_alias (RegressVaListAlias ok);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>ok</code></title>
@@ -43,6 +35,4 @@ void regress_not_introspectable_via_alias (RegressVaListAlias ok);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.random_function_with_skipped_structure.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.random_function_with_skipped_structure.page
index 3304979..e6fb0a6 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.random_function_with_skipped_structure.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.random_function_with_skipped_structure.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -26,22 +25,15 @@
         <api:name>v</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_random_function_with_skipped_structure</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_random_function_with_skipped_structure (int x,
                                                      RegressSkippedStructure* foo,
                                                      double v);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>x</code></title>
@@ -61,6 +53,4 @@ void regress_random_function_with_skipped_structure (int x,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.set_abort_on_error.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.set_abort_on_error.page
index 2853609..0d02fd1 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.set_abort_on_error.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.set_abort_on_error.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>abort_on_error</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_set_abort_on_error</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_set_abort_on_error (gboolean abort_on_error);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>abort_on_error</code></title>
@@ -43,6 +35,4 @@ void regress_set_abort_on_error (gboolean abort_on_error);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_callback.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_callback.page
index ee1afcd..ea616e3 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_callback.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_callback.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>callback</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_array_callback</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 int regress_test_array_callback (RegressTestCallbackArray callback);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>callback</code></title>
@@ -43,6 +35,4 @@ int regress_test_array_callback (RegressTestCallbackArray callback);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_fixed_out_objects.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_fixed_out_objects.page
index 8110915..c759e09 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_fixed_out_objects.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_fixed_out_objects.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,24 +17,17 @@
         <api:name>objs</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_array_fixed_out_objects</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_array_fixed_out_objects (RegressTestObj*** objs);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>objs</code></title>
-<p>An array of <link xref="Regress.TestObj"/></p>
+  <p>An array of <link xref="Regress.TestObj"/></p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -43,6 +35,4 @@ void regress_test_array_fixed_out_objects (RegressTestObj*** objs);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_fixed_size_int_in.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_fixed_size_int_in.page
index 21c6d9f..d5d7d80 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_fixed_size_int_in.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_fixed_size_int_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,31 +17,22 @@
         <api:name>ints</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_array_fixed_size_int_in</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 int regress_test_array_fixed_size_int_in (int* ints);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>ints</code></title>
-<p>a list of 5 integers</p>
+  <p>a list of 5 integers</p>
 </item>
 <item>
 <title><code>Returns</code></title>
-<p>the sum of the items in <code>ints</code></p>
+  <p>the sum of the items in <code>ints</code></p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_fixed_size_int_out.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_fixed_size_int_out.page
index 3fa5c4e..414bb64 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_fixed_size_int_out.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_fixed_size_int_out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,24 +17,17 @@
         <api:name>ints</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_array_fixed_size_int_out</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_array_fixed_size_int_out (int** ints);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>ints</code></title>
-<p>a list of 5 integers ranging from 0 to 4</p>
+  <p>a list of 5 integers ranging from 0 to 4</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -43,6 +35,4 @@ void regress_test_array_fixed_size_int_out (int** ints);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_fixed_size_int_return.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_fixed_size_int_return.page
index 913dc0d..5b70e08 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_fixed_size_int_return.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_fixed_size_int_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,27 +13,18 @@
       </api:returns>
       <api:name>regress_test_array_fixed_size_int_return</api:name>
     </api:function>
-
   </info>
   <title>regress_test_array_fixed_size_int_return</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 int* regress_test_array_fixed_size_int_return (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
-<p>a list of 5 integers ranging from 0 to 4</p>
+  <p>a list of 5 integers ranging from 0 to 4</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_gint16_in.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_gint16_in.page
index 7d05b00..6325a59 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_gint16_in.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_gint16_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,21 +21,14 @@
         <api:name>ints</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_array_gint16_in</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 int regress_test_array_gint16_in (int n_ints,
                                   gint16* ints);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>n_ints</code></title>
@@ -44,7 +36,7 @@ int regress_test_array_gint16_in (int n_ints,
 </item>
 <item>
 <title><code>ints</code></title>
-<p>List of ints</p>
+  <p>List of ints</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -52,6 +44,4 @@ int regress_test_array_gint16_in (int n_ints,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_gint32_in.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_gint32_in.page
index c5eee2d..36f0e64 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_gint32_in.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_gint32_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,21 +21,14 @@
         <api:name>ints</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_array_gint32_in</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 gint32 regress_test_array_gint32_in (int n_ints,
                                      gint32* ints);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>n_ints</code></title>
@@ -44,7 +36,7 @@ gint32 regress_test_array_gint32_in (int n_ints,
 </item>
 <item>
 <title><code>ints</code></title>
-<p>List of ints</p>
+  <p>List of ints</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -52,6 +44,4 @@ gint32 regress_test_array_gint32_in (int n_ints,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_gint64_in.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_gint64_in.page
index 7a7701d..96f37c8 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_gint64_in.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_gint64_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,21 +21,14 @@
         <api:name>ints</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_array_gint64_in</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 gint64 regress_test_array_gint64_in (int n_ints,
                                      gint64* ints);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>n_ints</code></title>
@@ -44,7 +36,7 @@ gint64 regress_test_array_gint64_in (int n_ints,
 </item>
 <item>
 <title><code>ints</code></title>
-<p>List of ints</p>
+  <p>List of ints</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -52,6 +44,4 @@ gint64 regress_test_array_gint64_in (int n_ints,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_gint8_in.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_gint8_in.page
index 8e68579..6b6fd24 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_gint8_in.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_gint8_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,21 +21,14 @@
         <api:name>ints</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_array_gint8_in</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 int regress_test_array_gint8_in (int n_ints,
                                  gint8* ints);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>n_ints</code></title>
@@ -44,7 +36,7 @@ int regress_test_array_gint8_in (int n_ints,
 </item>
 <item>
 <title><code>ints</code></title>
-<p>List of ints</p>
+  <p>List of ints</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -52,6 +44,4 @@ int regress_test_array_gint8_in (int n_ints,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_gtype_in.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_gtype_in.page
index 0eab274..51545e3 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_gtype_in.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_gtype_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,21 +21,14 @@
         <api:name>types</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_array_gtype_in</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 char* regress_test_array_gtype_in (int n_types,
                                    GType* types);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>n_types</code></title>
@@ -44,14 +36,12 @@ char* regress_test_array_gtype_in (int n_types,
 </item>
 <item>
 <title><code>types</code></title>
-<p>List of types</p>
+  <p>List of types</p>
 </item>
 <item>
 <title><code>Returns</code></title>
-<p>string representation of provided types</p>
+  <p>string representation of provided types</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_full_out.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_full_out.page
index 5eb26d6..54fdd14 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_full_out.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_full_out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,31 +17,22 @@
         <api:name>len</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_array_int_full_out</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 int* regress_test_array_int_full_out (int* len);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>len</code></title>
-<p>length of the returned array.</p>
+  <p>length of the returned array.</p>
 </item>
 <item>
 <title><code>Returns</code></title>
-<p>a new array of integers.</p>
+  <p>a new array of integers.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_in.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_in.page
index 0caeee1..97a25eb 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_in.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,21 +21,14 @@
         <api:name>ints</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_array_int_in</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 int regress_test_array_int_in (int n_ints,
                                int* ints);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>n_ints</code></title>
@@ -44,7 +36,7 @@ int regress_test_array_int_in (int n_ints,
 </item>
 <item>
 <title><code>ints</code></title>
-<p>List of ints</p>
+  <p>List of ints</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -52,6 +44,4 @@ int regress_test_array_int_in (int n_ints,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_inout.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_inout.page
index 75d142a..1fc3d1b 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_inout.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_inout.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,29 +21,22 @@
         <api:name>ints</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_array_int_inout</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_array_int_inout (int* n_ints,
                                    int** ints);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>n_ints</code></title>
-<p>the length of <code>ints</code></p>
+  <p>the length of <code>ints</code></p>
 </item>
 <item>
 <title><code>ints</code></title>
-<p>a list of integers whose items will be increased by 1, except the first that will be dropped</p>
+  <p>a list of integers whose items will be increased by 1, except the first that will be dropped</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -52,6 +44,4 @@ void regress_test_array_int_inout (int* n_ints,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_none_out.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_none_out.page
index c4698ce..91bef74 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_none_out.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_none_out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,31 +17,22 @@
         <api:name>len</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_array_int_none_out</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 int* regress_test_array_int_none_out (int* len);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>len</code></title>
-<p>length of the returned array.</p>
+  <p>length of the returned array.</p>
 </item>
 <item>
 <title><code>Returns</code></title>
-<p>a static array of integers.</p>
+  <p>a static array of integers.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_null_in.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_null_in.page
index bab1741..824fc94 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_null_in.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_null_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,21 +21,14 @@
         <api:name>len</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_array_int_null_in</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_array_int_null_in (int* arr,
                                      int len);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>arr</code></title>
@@ -44,7 +36,7 @@ void regress_test_array_int_null_in (int* arr,
 </item>
 <item>
 <title><code>len</code></title>
-<p>length</p>
+  <p>length</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -52,6 +44,4 @@ void regress_test_array_int_null_in (int* arr,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_null_out.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_null_out.page
index cdf6bda..c3645c9 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_null_out.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_null_out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,21 +21,14 @@
         <api:name>len</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_array_int_null_out</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_array_int_null_out (int** arr,
                                       int* len);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>arr</code></title>
@@ -44,7 +36,7 @@ void regress_test_array_int_null_out (int** arr,
 </item>
 <item>
 <title><code>len</code></title>
-<p>length</p>
+  <p>length</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -52,6 +44,4 @@ void regress_test_array_int_null_out (int** arr,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_out.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_out.page
index b88feb2..c7f3407 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_out.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,29 +21,22 @@
         <api:name>ints</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_array_int_out</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_array_int_out (int* n_ints,
                                  int** ints);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>n_ints</code></title>
-<p>the length of <code>ints</code></p>
+  <p>the length of <code>ints</code></p>
 </item>
 <item>
 <title><code>ints</code></title>
-<p>a list of 5 integers, from 0 to 4 in consecutive order</p>
+  <p>a list of 5 integers, from 0 to 4 in consecutive order</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -52,6 +44,4 @@ void regress_test_array_int_out (int* n_ints,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_async_ready_callback.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_async_ready_callback.page
index bd65df0..0d893ad 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_async_ready_callback.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_async_ready_callback.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>callback</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_async_ready_callback</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_async_ready_callback (GAsyncReadyCallback callback);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>callback</code></title>
@@ -43,6 +35,4 @@ void regress_test_async_ready_callback (GAsyncReadyCallback callback);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_boolean.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_boolean.page
index a444eb2..576763e 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_boolean.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_boolean.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_boolean</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 gboolean regress_test_boolean (gboolean in);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -43,6 +35,4 @@ gboolean regress_test_boolean (gboolean in);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_boolean_false.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_boolean_false.page
index c96a2f9..2743a49 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_boolean_false.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_boolean_false.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_boolean_false</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 gboolean regress_test_boolean_false (gboolean in);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -43,6 +35,4 @@ gboolean regress_test_boolean_false (gboolean in);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_boolean_true.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_boolean_true.page
index 1fb64c1..4eb3597 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_boolean_true.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_boolean_true.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_boolean_true</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 gboolean regress_test_boolean_true (gboolean in);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -43,6 +35,4 @@ gboolean regress_test_boolean_true (gboolean in);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_context_full_return.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_context_full_return.page
index 8ada9d2..ac5bb55 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_context_full_return.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_context_full_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,20 +13,13 @@
       </api:returns>
       <api:name>regress_test_cairo_context_full_return</api:name>
     </api:function>
-
   </info>
   <title>regress_test_cairo_context_full_return</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 cairo_t* regress_test_cairo_context_full_return (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ cairo_t* regress_test_cairo_context_full_return (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_context_none_in.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_context_none_in.page
index 059afd5..42abbee 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_context_none_in.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_context_none_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>context</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_cairo_context_none_in</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_cairo_context_none_in (cairo_t* context);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>context</code></title>
@@ -43,6 +35,4 @@ void regress_test_cairo_context_none_in (cairo_t* context);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_surface_full_out.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_surface_full_out.page
index c04a345..3ce5239 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_surface_full_out.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_surface_full_out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>surface</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_cairo_surface_full_out</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_cairo_surface_full_out (cairo_surface_t** surface);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>surface</code></title>
@@ -43,6 +35,4 @@ void regress_test_cairo_surface_full_out (cairo_surface_t** surface);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_surface_full_return.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_surface_full_return.page
index 7d77ae6..d2110e3 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_surface_full_return.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_surface_full_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,20 +13,13 @@
       </api:returns>
       <api:name>regress_test_cairo_surface_full_return</api:name>
     </api:function>
-
   </info>
   <title>regress_test_cairo_surface_full_return</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 cairo_surface_t* regress_test_cairo_surface_full_return (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ cairo_surface_t* regress_test_cairo_surface_full_return (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_surface_none_in.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_surface_none_in.page
index 6730247..ee9d5d7 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_surface_none_in.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_surface_none_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>surface</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_cairo_surface_none_in</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_cairo_surface_none_in (cairo_surface_t* surface);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>surface</code></title>
@@ -43,6 +35,4 @@ void regress_test_cairo_surface_none_in (cairo_surface_t* surface);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_surface_none_return.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_surface_none_return.page
index a5ac661..c5f471c 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_surface_none_return.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_surface_none_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,20 +13,13 @@
       </api:returns>
       <api:name>regress_test_cairo_surface_none_return</api:name>
     </api:function>
-
   </info>
   <title>regress_test_cairo_surface_none_return</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 cairo_surface_t* regress_test_cairo_surface_none_return (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ cairo_surface_t* regress_test_cairo_surface_none_return (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_callback.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_callback.page
index 7d2f2c8..a70aecb 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_callback.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_callback.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>callback</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_callback</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 int regress_test_callback (RegressTestCallback callback);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>callback</code></title>
@@ -43,6 +35,4 @@ int regress_test_callback (RegressTestCallback callback);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_callback_async.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_callback_async.page
index 8c0a62e..69885df 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_callback_async.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_callback_async.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,21 +21,14 @@
         <api:name>user_data</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_callback_async</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_callback_async (RegressTestCallbackUserData callback,
                                   gpointer user_data);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>callback</code></title>
@@ -52,6 +44,4 @@ void regress_test_callback_async (RegressTestCallbackUserData callback,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_callback_destroy_notify.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_callback_destroy_notify.page
index f7a5e56..484bdae 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_callback_destroy_notify.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_callback_destroy_notify.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -26,23 +25,16 @@
         <api:name>notify</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_callback_destroy_notify</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 int regress_test_callback_destroy_notify (RegressTestCallbackUserData callback,
                                           gpointer user_data,
                                           GDestroyNotify notify);
-</code></synopsis>
-
-  
-    <p>Notified - callback persists until a DestroyNotify delegate
+  </code></synopsis>
+  <p>Notified - callback persists until a DestroyNotify delegate
 is invoked.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>callback</code></title>
@@ -62,6 +54,4 @@ is invoked.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_callback_destroy_notify_no_user_data.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_callback_destroy_notify_no_user_data.page
index 3b162e2..44933c6 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_callback_destroy_notify_no_user_data.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_callback_destroy_notify_no_user_data.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,22 +21,15 @@
         <api:name>notify</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_callback_destroy_notify_no_user_data</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 int regress_test_callback_destroy_notify_no_user_data (RegressTestCallbackUserData callback,
                                                        GDestroyNotify notify);
-</code></synopsis>
-
-  
-    <p>Adds a scope notified callback with no user data. This can invoke an error
+  </code></synopsis>
+  <p>Adds a scope notified callback with no user data. This can invoke an error
 condition in bindings which needs to be tested.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>callback</code></title>
@@ -53,6 +45,4 @@ condition in bindings which needs to be tested.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_callback_thaw_async.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_callback_thaw_async.page
index 5cc1557..7babbdf 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_callback_thaw_async.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_callback_thaw_async.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,20 +13,13 @@
       </api:returns>
       <api:name>regress_test_callback_thaw_async</api:name>
     </api:function>
-
   </info>
   <title>regress_test_callback_thaw_async</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 int regress_test_callback_thaw_async (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ int regress_test_callback_thaw_async (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_callback_thaw_notifications.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_callback_thaw_notifications.page
index bb0ed81..3ff8aaa 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_callback_thaw_notifications.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_callback_thaw_notifications.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,29 +13,20 @@
       </api:returns>
       <api:name>regress_test_callback_thaw_notifications</api:name>
     </api:function>
-
   </info>
   <title>regress_test_callback_thaw_notifications</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 int regress_test_callback_thaw_notifications (void);
-</code></synopsis>
-
-  
-    <p>Invokes all callbacks installed by #test_callback_destroy_notify(),
+  </code></synopsis>
+  <p>Invokes all callbacks installed by #test_callback_destroy_notify(),
 adding up their return values, and removes them, invoking the
 corresponding destroy notfications.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>Returns</code></title>
-<p>Sum of the return values of the invoked callbacks.</p>
+  <p>Sum of the return values of the invoked callbacks.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_callback_user_data.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_callback_user_data.page
index 3a98a47..1f120a9 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_callback_user_data.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_callback_user_data.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,22 +21,15 @@
         <api:name>user_data</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_callback_user_data</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 int regress_test_callback_user_data (RegressTestCallbackUserData callback,
                                      gpointer user_data);
-</code></synopsis>
-
-  
-    <p>Call - callback parameter persists for the duration of the method
+  </code></synopsis>
+  <p>Call - callback parameter persists for the duration of the method
 call and can be released on return.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>callback</code></title>
@@ -53,6 +45,4 @@ call and can be released on return.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_closure.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_closure.page
index 0fdad91..5979523 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_closure.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_closure.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>closure</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_closure</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 int regress_test_closure (GClosure* closure);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>closure</code></title>
@@ -43,6 +35,4 @@ int regress_test_closure (GClosure* closure);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_closure_one_arg.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_closure_one_arg.page
index 0708b5c..c772776 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_closure_one_arg.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_closure_one_arg.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,21 +21,14 @@
         <api:name>arg</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_closure_one_arg</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 int regress_test_closure_one_arg (GClosure* closure,
                                   int arg);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>closure</code></title>
@@ -52,6 +44,4 @@ int regress_test_closure_one_arg (GClosure* closure,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_closure_variant.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_closure_variant.page
index 681b37a..ec22a9e 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_closure_variant.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_closure_variant.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,36 +21,27 @@
         <api:name>arg</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_closure_variant</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 GVariant* regress_test_closure_variant (GClosure* closure,
                                         GVariant* arg);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>closure</code></title>
-<p>GClosure which takes one GVariant and returns a GVariant</p>
+  <p>GClosure which takes one GVariant and returns a GVariant</p>
 </item>
 <item>
 <title><code>arg</code></title>
-<p>a GVariant passed as argument to <code>closure</code></p>
+  <p>a GVariant passed as argument to <code>closure</code></p>
 </item>
 <item>
 <title><code>Returns</code></title>
-<p>the return value of <code>closure</code></p>
+  <p>the return value of <code>closure</code></p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_date_in_gvalue.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_date_in_gvalue.page
index adb21f2..caca59c 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_date_in_gvalue.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_date_in_gvalue.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,20 +13,13 @@
       </api:returns>
       <api:name>regress_test_date_in_gvalue</api:name>
     </api:function>
-
   </info>
   <title>regress_test_date_in_gvalue</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 GValue* regress_test_date_in_gvalue (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ GValue* regress_test_date_in_gvalue (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_def_error_quark.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_def_error_quark.page
index 7ad7eb0..1990677 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_def_error_quark.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_def_error_quark.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,20 +13,13 @@
       </api:returns>
       <api:name>regress_test_def_error_quark</api:name>
     </api:function>
-
   </info>
   <title>regress_test_def_error_quark</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 GQuark regress_test_def_error_quark (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ GQuark regress_test_def_error_quark (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_double.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_double.page
index f954fe8..ad2a039 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_double.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_double.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_double</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 gdouble regress_test_double (gdouble in);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -43,6 +35,4 @@ gdouble regress_test_double (gdouble in);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_filename_return.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_filename_return.page
index 857e4da..43e5aab 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_filename_return.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_filename_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,27 +13,18 @@
       </api:returns>
       <api:name>regress_test_filename_return</api:name>
     </api:function>
-
   </info>
   <title>regress_test_filename_return</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 GSList* regress_test_filename_return (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
-<p>list of strings</p>
+  <p>list of strings</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_float.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_float.page
index c395b04..3e70394 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_float.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_float.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_float</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 gfloat regress_test_float (gfloat in);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -43,6 +35,4 @@ gfloat regress_test_float (gfloat in);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_garray_container_return.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_garray_container_return.page
index f17cdd9..ccee90d 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_garray_container_return.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_garray_container_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,20 +13,13 @@
       </api:returns>
       <api:name>regress_test_garray_container_return</api:name>
     </api:function>
-
   </info>
   <title>regress_test_garray_container_return</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 GPtrArray* regress_test_garray_container_return (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ GPtrArray* regress_test_garray_container_return (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_garray_full_return.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_garray_full_return.page
index b127ed7..64b1817 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_garray_full_return.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_garray_full_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,20 +13,13 @@
       </api:returns>
       <api:name>regress_test_garray_full_return</api:name>
     </api:function>
-
   </info>
   <title>regress_test_garray_full_return</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 GPtrArray* regress_test_garray_full_return (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ GPtrArray* regress_test_garray_full_return (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_gerror_callback.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_gerror_callback.page
index 1a5f54c..7a2080c 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_gerror_callback.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_gerror_callback.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>callback</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_gerror_callback</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_gerror_callback (RegressTestCallbackGError callback);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>callback</code></title>
@@ -43,6 +35,4 @@ void regress_test_gerror_callback (RegressTestCallbackGError callback);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_container_return.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_container_return.page
index d465113..539d7eb 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_container_return.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_container_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,20 +13,13 @@
       </api:returns>
       <api:name>regress_test_ghash_container_return</api:name>
     </api:function>
-
   </info>
   <title>regress_test_ghash_container_return</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 GHashTable* regress_test_ghash_container_return (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ GHashTable* regress_test_ghash_container_return (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_everything_return.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_everything_return.page
index 616432a..a4ca1cf 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_everything_return.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_everything_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,20 +13,13 @@
       </api:returns>
       <api:name>regress_test_ghash_everything_return</api:name>
     </api:function>
-
   </info>
   <title>regress_test_ghash_everything_return</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 GHashTable* regress_test_ghash_everything_return (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ GHashTable* regress_test_ghash_everything_return (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_gvalue_in.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_gvalue_in.page
index 7603f2a..e7d8ba8 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_gvalue_in.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_gvalue_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,24 +17,17 @@
         <api:name>hash</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_ghash_gvalue_in</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_ghash_gvalue_in (GHashTable* hash);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>hash</code></title>
-<p>the hash table returned by
+  <p>the hash table returned by
 <link xref="Regress.test_ghash_gvalue_return"/>.</p>
 </item>
 <item>
@@ -44,6 +36,4 @@ void regress_test_ghash_gvalue_in (GHashTable* hash);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_gvalue_return.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_gvalue_return.page
index 2e739c8..726f674 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_gvalue_return.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_gvalue_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,20 +13,13 @@
       </api:returns>
       <api:name>regress_test_ghash_gvalue_return</api:name>
     </api:function>
-
   </info>
   <title>regress_test_ghash_gvalue_return</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 GHashTable* regress_test_ghash_gvalue_return (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ GHashTable* regress_test_ghash_gvalue_return (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nested_everything_return.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nested_everything_return.page
index 6b53197..f721d1b 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nested_everything_return.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nested_everything_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,20 +13,13 @@
       </api:returns>
       <api:name>regress_test_ghash_nested_everything_return</api:name>
     </api:function>
-
   </info>
   <title>regress_test_ghash_nested_everything_return</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 GHashTable* regress_test_ghash_nested_everything_return (void);
-</code></synopsis>
+  </code></synopsis>
+  <p>Specify nested parameterized types directly with the (type ) annotation.</p>
 
-  
-    <p>Specify nested parameterized types directly with the (type ) annotation.</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ GHashTable* regress_test_ghash_nested_everything_return (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nested_everything_return2.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nested_everything_return2.page
index 0c780b5..4b145bd 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nested_everything_return2.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nested_everything_return2.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,21 +13,14 @@
       </api:returns>
       <api:name>regress_test_ghash_nested_everything_return2</api:name>
     </api:function>
-
   </info>
   <title>regress_test_ghash_nested_everything_return2</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 GHashTable* regress_test_ghash_nested_everything_return2 (void);
-</code></synopsis>
-
-  
-    <p>Another way of specifying nested parameterized types: using the
+  </code></synopsis>
+  <p>Another way of specifying nested parameterized types: using the
 element-type annotation.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -36,6 +28,4 @@ element-type annotation.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nothing_in.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nothing_in.page
index 8c457ad..ebda10b 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nothing_in.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nothing_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_ghash_nothing_in</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_ghash_nothing_in (const GHashTable* in);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -43,6 +35,4 @@ void regress_test_ghash_nothing_in (const GHashTable* in);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nothing_in2.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nothing_in2.page
index a56ad65..6a6c95c 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nothing_in2.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nothing_in2.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_ghash_nothing_in2</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_ghash_nothing_in2 (GHashTable* in);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -43,6 +35,4 @@ void regress_test_ghash_nothing_in2 (GHashTable* in);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nothing_return.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nothing_return.page
index c258ee0..d291e15 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nothing_return.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nothing_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,20 +13,13 @@
       </api:returns>
       <api:name>regress_test_ghash_nothing_return</api:name>
     </api:function>
-
   </info>
   <title>regress_test_ghash_nothing_return</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 const GHashTable* regress_test_ghash_nothing_return (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ const GHashTable* regress_test_ghash_nothing_return (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nothing_return2.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nothing_return2.page
index d221744..1c2eced 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nothing_return2.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nothing_return2.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,20 +13,13 @@
       </api:returns>
       <api:name>regress_test_ghash_nothing_return2</api:name>
     </api:function>
-
   </info>
   <title>regress_test_ghash_nothing_return2</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 GHashTable* regress_test_ghash_nothing_return2 (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ GHashTable* regress_test_ghash_nothing_return2 (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_null_in.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_null_in.page
index a538b44..e8a6d68 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_null_in.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_null_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_ghash_null_in</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_ghash_null_in (const GHashTable* in);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -43,6 +35,4 @@ void regress_test_ghash_null_in (const GHashTable* in);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_null_out.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_null_out.page
index 323469c..9acbfa9 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_null_out.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_null_out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>out</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_ghash_null_out</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_ghash_null_out (const GHashTable** out);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>out</code></title>
@@ -43,6 +35,4 @@ void regress_test_ghash_null_out (const GHashTable** out);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_null_return.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_null_return.page
index 03461fd..aa97efb 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_null_return.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_null_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,20 +13,13 @@
       </api:returns>
       <api:name>regress_test_ghash_null_return</api:name>
     </api:function>
-
   </info>
   <title>regress_test_ghash_null_return</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 const GHashTable* regress_test_ghash_null_return (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ const GHashTable* regress_test_ghash_null_return (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_container_return.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_container_return.page
index 32a3c3a..ee98b28 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_container_return.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_container_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,20 +13,13 @@
       </api:returns>
       <api:name>regress_test_glist_container_return</api:name>
     </api:function>
-
   </info>
   <title>regress_test_glist_container_return</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 GList* regress_test_glist_container_return (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ GList* regress_test_glist_container_return (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_everything_return.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_everything_return.page
index 6de1a9c..96f7985 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_everything_return.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_everything_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,20 +13,13 @@
       </api:returns>
       <api:name>regress_test_glist_everything_return</api:name>
     </api:function>
-
   </info>
   <title>regress_test_glist_everything_return</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 GList* regress_test_glist_everything_return (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ GList* regress_test_glist_everything_return (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_nothing_in.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_nothing_in.page
index d88487f..c14e0a1 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_nothing_in.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_nothing_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_glist_nothing_in</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_glist_nothing_in (const GList* in);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -43,6 +35,4 @@ void regress_test_glist_nothing_in (const GList* in);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_nothing_in2.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_nothing_in2.page
index 7cba851..310643b 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_nothing_in2.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_nothing_in2.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_glist_nothing_in2</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_glist_nothing_in2 (GList* in);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -43,6 +35,4 @@ void regress_test_glist_nothing_in2 (GList* in);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_nothing_return.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_nothing_return.page
index af54aea..7e87fca 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_nothing_return.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_nothing_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,20 +13,13 @@
       </api:returns>
       <api:name>regress_test_glist_nothing_return</api:name>
     </api:function>
-
   </info>
   <title>regress_test_glist_nothing_return</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 const GList* regress_test_glist_nothing_return (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ const GList* regress_test_glist_nothing_return (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_nothing_return2.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_nothing_return2.page
index 2901e41..c59cb8d 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_nothing_return2.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_nothing_return2.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,20 +13,13 @@
       </api:returns>
       <api:name>regress_test_glist_nothing_return2</api:name>
     </api:function>
-
   </info>
   <title>regress_test_glist_nothing_return2</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 GList* regress_test_glist_nothing_return2 (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ GList* regress_test_glist_nothing_return2 (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_null_in.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_null_in.page
index b6ca3ab..db71142 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_null_in.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_null_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_glist_null_in</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_glist_null_in (GSList* in);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -43,6 +35,4 @@ void regress_test_glist_null_in (GSList* in);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_null_out.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_null_out.page
index 13e421d..ac03e1a 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_null_out.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_null_out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>out_list</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_glist_null_out</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_glist_null_out (GSList** out_list);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>out_list</code></title>
@@ -43,6 +35,4 @@ void regress_test_glist_null_out (GSList** out_list);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_container_return.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_container_return.page
index 05587fc..4920cfb 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_container_return.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_container_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,20 +13,13 @@
       </api:returns>
       <api:name>regress_test_gslist_container_return</api:name>
     </api:function>
-
   </info>
   <title>regress_test_gslist_container_return</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 GSList* regress_test_gslist_container_return (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ GSList* regress_test_gslist_container_return (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_everything_return.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_everything_return.page
index a03f4d8..4939dd1 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_everything_return.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_everything_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,20 +13,13 @@
       </api:returns>
       <api:name>regress_test_gslist_everything_return</api:name>
     </api:function>
-
   </info>
   <title>regress_test_gslist_everything_return</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 GSList* regress_test_gslist_everything_return (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ GSList* regress_test_gslist_everything_return (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_nothing_in.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_nothing_in.page
index 61a14b1..76ddec5 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_nothing_in.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_nothing_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_gslist_nothing_in</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_gslist_nothing_in (const GSList* in);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -43,6 +35,4 @@ void regress_test_gslist_nothing_in (const GSList* in);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_nothing_in2.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_nothing_in2.page
index 0703ec0..bc93886 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_nothing_in2.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_nothing_in2.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_gslist_nothing_in2</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_gslist_nothing_in2 (GSList* in);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -43,6 +35,4 @@ void regress_test_gslist_nothing_in2 (GSList* in);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_nothing_return.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_nothing_return.page
index 8df79aa..1b18f67 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_nothing_return.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_nothing_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,20 +13,13 @@
       </api:returns>
       <api:name>regress_test_gslist_nothing_return</api:name>
     </api:function>
-
   </info>
   <title>regress_test_gslist_nothing_return</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 const GSList* regress_test_gslist_nothing_return (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ const GSList* regress_test_gslist_nothing_return (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_nothing_return2.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_nothing_return2.page
index aeb9a67..3d8caef 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_nothing_return2.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_nothing_return2.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,20 +13,13 @@
       </api:returns>
       <api:name>regress_test_gslist_nothing_return2</api:name>
     </api:function>
-
   </info>
   <title>regress_test_gslist_nothing_return2</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 GSList* regress_test_gslist_nothing_return2 (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ GSList* regress_test_gslist_nothing_return2 (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_null_in.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_null_in.page
index 21d8d5c..2dd93e8 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_null_in.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_null_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_gslist_null_in</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_gslist_null_in (GSList* in);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -43,6 +35,4 @@ void regress_test_gslist_null_in (GSList* in);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_null_out.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_null_out.page
index d763519..8448b51 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_null_out.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_null_out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>out_list</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_gslist_null_out</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_gslist_null_out (GSList** out_list);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>out_list</code></title>
@@ -43,6 +35,4 @@ void regress_test_gslist_null_out (GSList** out_list);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_gtype.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_gtype.page
index 76e678b..bd800b5 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_gtype.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_gtype.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_gtype</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 GType regress_test_gtype (GType in);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -43,6 +35,4 @@ GType regress_test_gtype (GType in);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_gvariant_as.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_gvariant_as.page
index df9d988..e0e1f80 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_gvariant_as.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_gvariant_as.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,27 +13,18 @@
       </api:returns>
       <api:name>regress_test_gvariant_as</api:name>
     </api:function>
-
   </info>
   <title>regress_test_gvariant_as</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 GVariant* regress_test_gvariant_as (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
-<p>New variant</p>
+  <p>New variant</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_gvariant_asv.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_gvariant_asv.page
index 2d64ab2..c23f3b2 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_gvariant_asv.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_gvariant_asv.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,27 +13,18 @@
       </api:returns>
       <api:name>regress_test_gvariant_asv</api:name>
     </api:function>
-
   </info>
   <title>regress_test_gvariant_asv</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 GVariant* regress_test_gvariant_asv (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
-<p>New variant</p>
+  <p>New variant</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_gvariant_i.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_gvariant_i.page
index 2eec994..1d5ed1f 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_gvariant_i.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_gvariant_i.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,27 +13,18 @@
       </api:returns>
       <api:name>regress_test_gvariant_i</api:name>
     </api:function>
-
   </info>
   <title>regress_test_gvariant_i</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 GVariant* regress_test_gvariant_i (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
-<p>New variant</p>
+  <p>New variant</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_gvariant_s.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_gvariant_s.page
index 9ef9d9f..2ba1a2c 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_gvariant_s.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_gvariant_s.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,27 +13,18 @@
       </api:returns>
       <api:name>regress_test_gvariant_s</api:name>
     </api:function>
-
   </info>
   <title>regress_test_gvariant_s</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 GVariant* regress_test_gvariant_s (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
-<p>New variant</p>
+  <p>New variant</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_gvariant_v.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_gvariant_v.page
index c07b2ac..d47e28c 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_gvariant_v.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_gvariant_v.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,27 +13,18 @@
       </api:returns>
       <api:name>regress_test_gvariant_v</api:name>
     </api:function>
-
   </info>
   <title>regress_test_gvariant_v</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 GVariant* regress_test_gvariant_v (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
-<p>New variant</p>
+  <p>New variant</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_hash_table_callback.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_hash_table_callback.page
index 24862b1..a623454 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_hash_table_callback.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_hash_table_callback.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,25 +21,18 @@
         <api:name>callback</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_hash_table_callback</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_hash_table_callback (GHashTable* data,
                                        RegressTestCallbackHashtable callback);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>data</code></title>
-<p>GHashTable that gets passed to callback</p>
+  <p>GHashTable that gets passed to callback</p>
 </item>
 <item>
 <title><code>callback</code></title>
@@ -52,6 +44,4 @@ void regress_test_hash_table_callback (GHashTable* data,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_int.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_int.page
index 430af30..747b2cd 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_int.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_int.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_int</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 gint regress_test_int (gint in);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -43,6 +35,4 @@ gint regress_test_int (gint in);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_int16.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_int16.page
index d5be61d..ff49f2e 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_int16.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_int16.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_int16</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 gint16 regress_test_int16 (gint16 in);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -43,6 +35,4 @@ gint16 regress_test_int16 (gint16 in);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_int32.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_int32.page
index be90ac6..96962ba 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_int32.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_int32.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_int32</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 gint32 regress_test_int32 (gint32 in);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -43,6 +35,4 @@ gint32 regress_test_int32 (gint32 in);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_int64.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_int64.page
index d864702..f2f73f7 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_int64.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_int64.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_int64</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 gint64 regress_test_int64 (gint64 in);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -43,6 +35,4 @@ gint64 regress_test_int64 (gint64 in);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_int8.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_int8.page
index 1cfb431..67746b3 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_int8.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_int8.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_int8</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 gint8 regress_test_int8 (gint8 in);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -43,6 +35,4 @@ gint8 regress_test_int8 (gint8 in);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_int_out_utf8.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_int_out_utf8.page
index 80276c0..6089228 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_int_out_utf8.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_int_out_utf8.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,21 +21,14 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_int_out_utf8</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_int_out_utf8 (int* length,
                                 const char* in);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>length</code></title>
@@ -52,6 +44,4 @@ void regress_test_int_out_utf8 (int* length,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_int_value_arg.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_int_value_arg.page
index a61c91c..51735d1 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_int_value_arg.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_int_value_arg.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>v</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_int_value_arg</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 int regress_test_int_value_arg (const GValue* v);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>v</code></title>
@@ -43,6 +35,4 @@ int regress_test_int_value_arg (const GValue* v);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_long.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_long.page
index 30bf3af..840b0b8 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_long.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_long.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_long</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 glong regress_test_long (glong in);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -43,6 +35,4 @@ glong regress_test_long (glong in);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_multi_callback.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_multi_callback.page
index 152c916..dfa77f2 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_multi_callback.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_multi_callback.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>callback</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_multi_callback</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 int regress_test_multi_callback (RegressTestCallback callback);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>callback</code></title>
@@ -43,6 +35,4 @@ int regress_test_multi_callback (RegressTestCallback callback);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_multi_double_args.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_multi_double_args.page
index 5135297..693a2c8 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_multi_double_args.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_multi_double_args.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -26,22 +25,15 @@
         <api:name>two</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_multi_double_args</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_multi_double_args (gdouble in,
                                      gdouble* one,
                                      gdouble* two);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -61,6 +53,4 @@ void regress_test_multi_double_args (gdouble in,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_multiline_doc_comments.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_multiline_doc_comments.page
index d660bd8..9c4c685 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_multiline_doc_comments.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_multiline_doc_comments.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,20 +13,13 @@
       </api:returns>
       <api:name>regress_test_multiline_doc_comments</api:name>
     </api:function>
-
   </info>
   <title>regress_test_multiline_doc_comments</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_multiline_doc_comments (void);
-</code></synopsis>
+  </code></synopsis>
+  <p>This is a function.</p>  <p>It has multiple lines in the documentation.</p>  <p>The sky is blue.</p>  
<p>You will give me your credit card number.</p>
 
-  
-    <p>This is a function.</p><p>It has multiple lines in the documentation.</p><p>The sky is 
blue.</p><p>You will give me your credit card number.</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ void regress_test_multiline_doc_comments (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_nested_parameter.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_nested_parameter.page
index c28cc8f..c04055c 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_nested_parameter.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_nested_parameter.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,16 +17,12 @@
         <api:name>a</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_nested_parameter</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_nested_parameter (int a);
-</code></synopsis>
-
-  
-    <p>&lt;informaltable&gt;
+  </code></synopsis>
+  <p>&lt;informaltable&gt;
   &lt;tgroup cols="3"&gt;
     &lt;thead&gt;
       &lt;row&gt;
@@ -52,15 +47,12 @@ rgb(20%, 30%, 0%)&lt;/literallayout&gt;&lt;/entry&gt;
       &lt;/row&gt;
    &lt;/tbody&gt;
  &lt;/tgroup&gt;
-&lt;/informaltable&gt;</p><p>What we're testing here is that the scanner ignores the <code>a</code> nested 
inside XML.</p>
-  
-  
-  
-  
+&lt;/informaltable&gt;</p>  <p>What we're testing here is that the scanner ignores the <code>a</code> nested 
inside XML.</p>
+
 <terms>
 <item>
 <title><code>a</code></title>
-<p>An integer</p>
+  <p>An integer</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -68,6 +60,4 @@ rgb(20%, 30%, 0%)&lt;/literallayout&gt;&lt;/entry&gt;
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_null_gerror_callback.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_null_gerror_callback.page
index bdcc152..c6ed1f9 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_null_gerror_callback.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_null_gerror_callback.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>callback</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_null_gerror_callback</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_null_gerror_callback (RegressTestCallbackGError callback);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>callback</code></title>
@@ -43,6 +35,4 @@ void regress_test_null_gerror_callback (RegressTestCallbackGError callback);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_owned_gerror_callback.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_owned_gerror_callback.page
index 49f1b36..3e12c1d 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_owned_gerror_callback.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_owned_gerror_callback.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>callback</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_owned_gerror_callback</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_owned_gerror_callback (RegressTestCallbackOwnedGError callback);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>callback</code></title>
@@ -43,6 +35,4 @@ void regress_test_owned_gerror_callback (RegressTestCallbackOwnedGError callback
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_short.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_short.page
index 53d3b1b..fd17290 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_short.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_short.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_short</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 gshort regress_test_short (gshort in);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -43,6 +35,4 @@ gshort regress_test_short (gshort in);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_simple_callback.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_simple_callback.page
index 514fbfa..fa5974d 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_simple_callback.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_simple_callback.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>callback</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_simple_callback</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_simple_callback (RegressTestSimpleCallback callback);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>callback</code></title>
@@ -43,6 +35,4 @@ void regress_test_simple_callback (RegressTestSimpleCallback callback);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_size.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_size.page
index 3b67a00..d6fdd17 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_size.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_size.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_size</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 gsize regress_test_size (gsize in);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -43,6 +35,4 @@ gsize regress_test_size (gsize in);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_skip_unannotated_callback.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_skip_unannotated_callback.page
index 321d087..ad415bc 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_skip_unannotated_callback.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_skip_unannotated_callback.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,25 +17,18 @@
         <api:name>callback</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_skip_unannotated_callback</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_skip_unannotated_callback (RegressTestCallback callback);
-</code></synopsis>
-
-  
-    <p>Should not emit a warning:
+  </code></synopsis>
+  <p>Should not emit a warning:
 https://bugzilla.gnome.org/show_bug.cgi?id=685399</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>callback</code></title>
-<p>No annotation here</p>
+  <p>No annotation here</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -44,6 +36,4 @@ https://bugzilla.gnome.org/show_bug.cgi?id=685399</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_ssize.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_ssize.page
index d11446e..6afb6be 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_ssize.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_ssize.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_ssize</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 gssize regress_test_ssize (gssize in);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -43,6 +35,4 @@ gssize regress_test_ssize (gssize in);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_strv_in.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_strv_in.page
index 3f9ca2a..bbaae44 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_strv_in.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_strv_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>arr</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_strv_in</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 gboolean regress_test_strv_in (char** arr);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>arr</code></title>
@@ -43,6 +35,4 @@ gboolean regress_test_strv_in (char** arr);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_strv_in_gvalue.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_strv_in_gvalue.page
index 44b0c6c..3cdc304 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_strv_in_gvalue.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_strv_in_gvalue.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,20 +13,13 @@
       </api:returns>
       <api:name>regress_test_strv_in_gvalue</api:name>
     </api:function>
-
   </info>
   <title>regress_test_strv_in_gvalue</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 GValue* regress_test_strv_in_gvalue (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ GValue* regress_test_strv_in_gvalue (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_strv_out.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_strv_out.page
index 207e69f..f884be5 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_strv_out.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_strv_out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,20 +13,13 @@
       </api:returns>
       <api:name>regress_test_strv_out</api:name>
     </api:function>
-
   </info>
   <title>regress_test_strv_out</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 char** regress_test_strv_out (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ char** regress_test_strv_out (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_strv_out_c.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_strv_out_c.page
index 582ab10..28c1efe 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_strv_out_c.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_strv_out_c.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,20 +13,13 @@
       </api:returns>
       <api:name>regress_test_strv_out_c</api:name>
     </api:function>
-
   </info>
   <title>regress_test_strv_out_c</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 const char* const* regress_test_strv_out_c (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ const char* const* regress_test_strv_out_c (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_strv_out_container.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_strv_out_container.page
index 0515bce..3e27a2e 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_strv_out_container.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_strv_out_container.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,20 +13,13 @@
       </api:returns>
       <api:name>regress_test_strv_out_container</api:name>
     </api:function>
-
   </info>
   <title>regress_test_strv_out_container</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 char** regress_test_strv_out_container (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -35,6 +27,4 @@ char** regress_test_strv_out_container (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_strv_outarg.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_strv_outarg.page
index a105b5b..07c00b1 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_strv_outarg.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_strv_outarg.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>retp</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_strv_outarg</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_strv_outarg (char*** retp);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>retp</code></title>
@@ -43,6 +35,4 @@ void regress_test_strv_outarg (char*** retp);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_timet.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_timet.page
index acada71..fdf552c 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_timet.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_timet.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_timet</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 time_t regress_test_timet (time_t in);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -43,6 +35,4 @@ time_t regress_test_timet (time_t in);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_torture_signature_0.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_torture_signature_0.page
index 3d4c18c..bf164c1 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_torture_signature_0.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_torture_signature_0.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -38,25 +37,18 @@
         <api:name>m</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_torture_signature_0</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_torture_signature_0 (int x,
                                        double* y,
                                        int* z,
                                        const char* foo,
                                        int* q,
                                        guint m);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>x</code></title>
@@ -88,6 +80,4 @@ void regress_test_torture_signature_0 (int x,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_torture_signature_1.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_torture_signature_1.page
index 7568989..6f5a925 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_torture_signature_1.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_torture_signature_1.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -38,25 +37,18 @@
         <api:name>m</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_torture_signature_1</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 gboolean regress_test_torture_signature_1 (int x,
                                            double* y,
                                            int* z,
                                            const char* foo,
                                            int* q,
                                            guint m);
-</code></synopsis>
+  </code></synopsis>
+  <p>This function throws an error if m is odd.</p>
 
-  
-    <p>This function throws an error if m is odd.</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>x</code></title>
@@ -88,6 +80,4 @@ gboolean regress_test_torture_signature_1 (int x,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_torture_signature_2.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_torture_signature_2.page
index eb615c3..3339a62 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_torture_signature_2.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_torture_signature_2.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -50,11 +49,9 @@
         <api:name>m</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_torture_signature_2</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_torture_signature_2 (int x,
                                        RegressTestCallbackUserData callback,
                                        gpointer user_data,
@@ -64,14 +61,9 @@ void regress_test_torture_signature_2 (int x,
                                        const char* foo,
                                        int* q,
                                        guint m);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>x</code></title>
@@ -115,6 +107,4 @@ void regress_test_torture_signature_2 (int x,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_uint.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_uint.page
index 1651512..dc8aea4 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_uint.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_uint.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_uint</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 guint regress_test_uint (guint in);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -43,6 +35,4 @@ guint regress_test_uint (guint in);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_uint16.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_uint16.page
index 2af7ee4..0266295 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_uint16.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_uint16.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_uint16</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 guint16 regress_test_uint16 (guint16 in);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -43,6 +35,4 @@ guint16 regress_test_uint16 (guint16 in);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_uint32.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_uint32.page
index 7ccdde7..50b6a2e 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_uint32.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_uint32.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_uint32</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 guint32 regress_test_uint32 (guint32 in);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -43,6 +35,4 @@ guint32 regress_test_uint32 (guint32 in);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_uint64.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_uint64.page
index 24a9256..84aa11d 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_uint64.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_uint64.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_uint64</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 guint64 regress_test_uint64 (guint64 in);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -43,6 +35,4 @@ guint64 regress_test_uint64 (guint64 in);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_uint8.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_uint8.page
index 7222e74..d6bc24d 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_uint8.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_uint8.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_uint8</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 guint8 regress_test_uint8 (guint8 in);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -43,6 +35,4 @@ guint8 regress_test_uint8 (guint8 in);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_ulong.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_ulong.page
index 8095370..011bfd3 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_ulong.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_ulong.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_ulong</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 gulong regress_test_ulong (gulong in);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -43,6 +35,4 @@ gulong regress_test_ulong (gulong in);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_unichar.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_unichar.page
index 0349472..4ee1c44 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_unichar.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_unichar.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_unichar</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 gunichar regress_test_unichar (gunichar in);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -43,6 +35,4 @@ gunichar regress_test_unichar (gunichar in);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_unsigned_enum_param.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_unsigned_enum_param.page
index 642e75a..81c8e16 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_unsigned_enum_param.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_unsigned_enum_param.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>e</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_unsigned_enum_param</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 const gchar* regress_test_unsigned_enum_param (RegressTestEnumUnsigned e);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>e</code></title>
@@ -43,6 +35,4 @@ const gchar* regress_test_unsigned_enum_param (RegressTestEnumUnsigned e);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_ushort.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_ushort.page
index 2b50e72..d06bb4e 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_ushort.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_ushort.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_ushort</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 gushort regress_test_ushort (gushort in);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -43,6 +35,4 @@ gushort regress_test_ushort (gushort in);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_const_in.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_const_in.page
index eaafeae..af18ce2 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_const_in.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_const_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_utf8_const_in</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_utf8_const_in (const char* in);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -43,6 +35,4 @@ void regress_test_utf8_const_in (const char* in);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_const_return.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_const_return.page
index 6bcb786..8f70ef6 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_const_return.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_const_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,27 +13,18 @@
       </api:returns>
       <api:name>regress_test_utf8_const_return</api:name>
     </api:function>
-
   </info>
   <title>regress_test_utf8_const_return</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 const char* regress_test_utf8_const_return (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
-<p>UTF-8 string</p>
+  <p>UTF-8 string</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_inout.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_inout.page
index ce0a884..7e04703 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_inout.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_inout.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>inout</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_utf8_inout</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_utf8_inout (char** inout);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>inout</code></title>
@@ -43,6 +35,4 @@ void regress_test_utf8_inout (char** inout);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_nonconst_return.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_nonconst_return.page
index aa921b0..6cd2b2d 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_nonconst_return.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_nonconst_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,27 +13,18 @@
       </api:returns>
       <api:name>regress_test_utf8_nonconst_return</api:name>
     </api:function>
-
   </info>
   <title>regress_test_utf8_nonconst_return</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 char* regress_test_utf8_nonconst_return (void);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
-<p>UTF-8 string</p>
+  <p>UTF-8 string</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_null_in.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_null_in.page
index 9b19637..2a7dd03 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_null_in.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_null_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_utf8_null_in</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_utf8_null_in (char* in);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -43,6 +35,4 @@ void regress_test_utf8_null_in (char* in);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_null_out.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_null_out.page
index 6d4c455..66df917 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_null_out.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_null_out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>char_out</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_utf8_null_out</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_utf8_null_out (char** char_out);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>char_out</code></title>
@@ -43,6 +35,4 @@ void regress_test_utf8_null_out (char** char_out);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_out.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_out.page
index 5084da3..5766637 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_out.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>out</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_utf8_out</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_utf8_out (char** out);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>out</code></title>
@@ -43,6 +35,4 @@ void regress_test_utf8_out (char** out);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_out_nonconst_return.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_out_nonconst_return.page
index 65b2a8a..15b0d3a 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_out_nonconst_return.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_out_nonconst_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,31 +17,22 @@
         <api:name>out</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_utf8_out_nonconst_return</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 char* regress_test_utf8_out_nonconst_return (char** out);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>out</code></title>
-<p>a copy of "second"</p>
+  <p>a copy of "second"</p>
 </item>
 <item>
 <title><code>Returns</code></title>
-<p>a copy of "first"</p>
+  <p>a copy of "first"</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_out_out.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_out_out.page
index e377199..3038870 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_out_out.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_out_out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,29 +21,22 @@
         <api:name>out1</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_utf8_out_out</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_utf8_out_out (char** out0,
                                 char** out1);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>out0</code></title>
-<p>a copy of "first"</p>
+  <p>a copy of "first"</p>
 </item>
 <item>
 <title><code>out1</code></title>
-<p>a copy of "second"</p>
+  <p>a copy of "second"</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -52,6 +44,4 @@ void regress_test_utf8_out_out (char** out0,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_value_get_fundamental_object.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_value_get_fundamental_object.page
index 3435610..6259abf 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_value_get_fundamental_object.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_value_get_fundamental_object.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,20 +17,13 @@
         <api:name>value</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_value_get_fundamental_object</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 RegressTestFundamentalObject* regress_test_value_get_fundamental_object (const GValue* value);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>value</code></title>
@@ -43,6 +35,4 @@ RegressTestFundamentalObject* regress_test_value_get_fundamental_object (const G
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_value_return.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_value_return.page
index 2edb30a..25d1f71 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_value_return.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_value_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,31 +17,22 @@
         <api:name>i</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_value_return</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 const GValue* regress_test_value_return (int i);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>i</code></title>
-<p>an int</p>
+  <p>an int</p>
 </item>
 <item>
 <title><code>Returns</code></title>
-<p>the int wrapped in a GValue.</p>
+  <p>the int wrapped in a GValue.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_value_set_fundamental_object.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_value_set_fundamental_object.page
index ba1822e..db1b327 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_value_set_fundamental_object.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_value_set_fundamental_object.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,21 +21,14 @@
         <api:name>fundamental_object</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>regress_test_value_set_fundamental_object</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_value_set_fundamental_object (GValue* value,
                                                 RegressTestFundamentalObject* fundamental_object);
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>value</code></title>
@@ -52,6 +44,4 @@ void regress_test_value_set_fundamental_object (GValue* value,
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_versioning.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.test_versioning.page
index a389bda..cc5ef0e 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.test_versioning.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_versioning.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,21 +13,13 @@
       </api:returns>
       <api:name>regress_test_versioning</api:name>
     </api:function>
-
   </info>
   <title>regress_test_versioning</title>
-  
-<synopsis><code mime="text/x-csrc">
+  <synopsis><code mime="text/x-csrc">
 void regress_test_versioning (void);
-</code></synopsis>
+  </code></synopsis>
 
-  
-    
-  
-  
-    <p>Since 1.32.1</p>
-  
-  
+  <p>Since 1.32.1</p>
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -36,6 +27,4 @@ void regress_test_versioning (void);
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-C-expected/index.page b/tests/scanner/Regress-1.0-C-expected/index.page
index a5426d8..426ebed 100644
--- a/tests/scanner/Regress-1.0-C-expected/index.page
+++ b/tests/scanner/Regress-1.0-C-expected/index.page
@@ -5,21 +5,9 @@
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
-  <info>
-    
-
-  </info>
-  <title>Index</title>
-  
-  
-  
-
-  
-
-  
-  
-  
-  <links type="topic" ui:expanded="true" groups="class" style="linklist">
+  <info>  </info>
+  <title>Regress</title>
+  <links type="topic" ui:expanded="true" groups="class interface" style="linklist">
     <title>Classes</title>
   </links>
   <links type="topic" ui:expanded="true" groups="function" style="linklist">
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.ANNOTATION_CALCULATED_DEFINE.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Gjs-expected/Regress.ANNOTATION_CALCULATED_DEFINE.page
index 6dc17b3..55a4b6d 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.ANNOTATION_CALCULATED_DEFINE.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.ANNOTATION_CALCULATED_DEFINE"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.ANNOTATION_CALCULATED_DEFINE</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.ANNOTATION_CALCULATED_LARGE.page
similarity index 52%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Gjs-expected/Regress.ANNOTATION_CALCULATED_LARGE.page
index 6dc17b3..c8887ff 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.ANNOTATION_CALCULATED_LARGE.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.ANNOTATION_CALCULATED_LARGE"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.ANNOTATION_CALCULATED_LARGE</title>
+  <p>Constant to define a calculated large value</p>
+  <p>Since 1.4</p>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.ANNOTATION_CALCULATED_LARGE_DIV.page
similarity index 53%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Gjs-expected/Regress.ANNOTATION_CALCULATED_LARGE_DIV.page
index 6dc17b3..08eda31 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.ANNOTATION_CALCULATED_LARGE_DIV.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.ANNOTATION_CALCULATED_LARGE_DIV"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.ANNOTATION_CALCULATED_LARGE_DIV</title>
+  <p>Constant to define a calculated large value</p>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.ATestError.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.ATestError.page
index 9ac6820..f0b11e8 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.ATestError.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.ATestError.page
@@ -6,19 +6,11 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="enum" type="guide"/>
-    
+    <link xref="index" group="enum" type="guide"/>
   </info>
   <title>Regress.ATestError</title>
-  
-  
-  
-    
-  
-  
-  
-  
+
+
 <terms>
 <item>
 <title><code>ATestError.CODE0</code></title>
@@ -34,6 +26,4 @@
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AliasedTestBoxed.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AliasedTestBoxed.page
index 9490e4a..097c37b 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AliasedTestBoxed.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AliasedTestBoxed.page
@@ -6,20 +6,9 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
   <title>Regress.AliasedTestBoxed</title>
-  
-  
-  
-    <p>Typedef TestBoxed to test caller-allocates correctness</p>
-  
-  
-  
-  
-  
-  
-  
+  <p>Typedef TestBoxed to test caller-allocates correctness</p>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion-x.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion-x.page
new file mode 100644
index 0000000..71177e3
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion-x.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.AnAnonymousUnion-x"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.AnAnonymousUnion" group="field" type="guide"/>
+    <title type="link" role="topic">x</title>
+  </info>
+  <title>Regress.AnAnonymousUnion.x</title>
+  <synopsis><code mime="text/x-gjs">
+AnAnonymousUnion.x: Number(gint) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.page
index 2556fed..ff0853e 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.page
@@ -1,25 +1,42 @@
 <?xml version="1.0"?>
 <page id="Regress.AnAnonymousUnion"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.AnAnonymousUnion</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+const Regress = imports.gi.Regress;
+
+let anAnonymousUnion = new Regress.AnAnonymousUnion({
+    <link xref='Regress.AnAnonymousUnion-x'>x</link>: value
+});
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationBitfield.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationBitfield.page
index 4e19ef9..e0e5b00 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationBitfield.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationBitfield.page
@@ -6,20 +6,9 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
   <title>Regress.AnnotationBitfield</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationCallback.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationCallback.page
index 9a652d8..97b8b65 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationCallback.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationCallback.page
@@ -1,25 +1,29 @@
 <?xml version="1.0"?>
 <page id="Regress.AnnotationCallback"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="callback" type="guide"/>
   </info>
   <title>Regress.AnnotationCallback</title>
-  
-  
-  
-    <p>This is a callback.</p>
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-gjs">
+function onAnnotationCallback(in: Number(gint)): Number(gint) {
+}
+  </code></synopsis>
+  <p>This is a callback.</p>
+
+<terms>
+<item>
+<title><code>in</code></title>
+  <p>array of ints</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationFields-arr.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationFields-arr.page
new file mode 100644
index 0000000..8074ffd
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationFields-arr.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationFields-arr"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.AnnotationFields" group="field" type="guide"/>
+    <title type="link" role="topic">arr</title>
+  </info>
+  <title>Regress.AnnotationFields.arr</title>
+  <synopsis><code mime="text/x-gjs">
+AnnotationFields.arr: Array(Number(guint8)) (Read / Write)
+  </code></synopsis>
+  <p>an array of length @len</p>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationFields-field1.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationFields-field1.page
new file mode 100644
index 0000000..aa029db
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationFields-field1.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationFields-field1"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.AnnotationFields" group="field" type="guide"/>
+    <title type="link" role="topic">field1</title>
+  </info>
+  <title>Regress.AnnotationFields.field1</title>
+  <synopsis><code mime="text/x-gjs">
+AnnotationFields.field1: Number(gint) (Read / Write)
+  </code></synopsis>
+  <p>Some documentation</p>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationFields-len.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationFields-len.page
new file mode 100644
index 0000000..5fb363c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationFields-len.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationFields-len"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.AnnotationFields" group="field" type="guide"/>
+    <title type="link" role="topic">len</title>
+  </info>
+  <title>Regress.AnnotationFields.len</title>
+  <synopsis><code mime="text/x-gjs">
+AnnotationFields.len: Number(gulong) (Read / Write)
+  </code></synopsis>
+  <p>the length of array</p>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationFields.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationFields.page
index 5323454..585a97c 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationFields.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationFields.page
@@ -1,25 +1,44 @@
 <?xml version="1.0"?>
 <page id="Regress.AnnotationFields"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.AnnotationFields</title>
-  
-  
-  
-    <p>This is a struct for testing field documentation and annotations</p>
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+const Regress = imports.gi.Regress;
+
+let annotationFields = new Regress.AnnotationFields({
+    <link xref='Regress.AnnotationFields-field1'>field1</link>: value
+    <link xref='Regress.AnnotationFields-arr'>arr</link>: value
+    <link xref='Regress.AnnotationFields-len'>len</link>: value
+});
+  </code></synopsis>
+  <p>This is a struct for testing field documentation and annotations</p>
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationForeachFunc.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationForeachFunc.page
index db77a11..cf16fa3 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationForeachFunc.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationForeachFunc.page
@@ -1,25 +1,29 @@
 <?xml version="1.0"?>
 <page id="Regress.AnnotationForeachFunc"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="callback" type="guide"/>
   </info>
   <title>Regress.AnnotationForeachFunc</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-gjs">
+function onAnnotationForeachFunc(object: <link 
xref="Regress.AnnotationObject">Regress.AnnotationObject</link>, item: String): void {
+}
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+
+</item>
+<item>
+<title><code>item</code></title>
+
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationListCallback.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationListCallback.page
index 79844c6..a92a4f3 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationListCallback.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationListCallback.page
@@ -1,25 +1,29 @@
 <?xml version="1.0"?>
 <page id="Regress.AnnotationListCallback"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="callback" type="guide"/>
   </info>
   <title>Regress.AnnotationListCallback</title>
-  
-  
-  
-    <p>This is a callback taking a list.</p>
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-gjs">
+function onAnnotationListCallback(in: Array(String)): Array(String) {
+}
+  </code></synopsis>
+  <p>This is a callback taking a list.</p>
+
+<terms>
+<item>
+<title><code>in</code></title>
+  <p>list of strings</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationNotifyFunc.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationNotifyFunc.page
index 17c8029..665fd2a 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationNotifyFunc.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationNotifyFunc.page
@@ -1,26 +1,22 @@
 <?xml version="1.0"?>
 <page id="Regress.AnnotationNotifyFunc"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="callback" type="guide"/>
   </info>
   <title>Regress.AnnotationNotifyFunc</title>
-  
-  
-  
-    <p>This is a callback with a 'closure' argument that is not named
+  <synopsis><code mime="text/x-gjs">
+function onAnnotationNotifyFunc(): void {
+}
+  </code></synopsis>
+  <p>This is a callback with a 'closure' argument that is not named
 'user_data' and hence has to be annotated.</p>
-  
-  
-  
-  
-  
-  
-  
+
+<terms>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-attribute-signal.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-attribute-signal.page
index c30c337..d57d251 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-attribute-signal.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-attribute-signal.page
@@ -6,42 +6,32 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="signal" type="guide"/>
     <title type="link" role="topic">attribute-signal</title>
-
   </info>
   <title>Regress.AnnotationObject::attribute-signal</title>
-  
-<synopsis><code mime="text/x-python">
-function callback(annotation_object, arg1:String, arg2:String, ):String;
-</code></synopsis>
+  <synopsis><code mime="text/x-gjs">
+connect('attribute-signal', function (annotationObject, arg1: String, arg2: String, ): String);
+  </code></synopsis>
+  <p>This signal tests a signal with attributes.</p>
 
-  
-    <p>This signal tests a signal with attributes.</p>
-  
-  
-  
-  
 <terms>
 <item>
-<title><code>annotation_object</code></title>
+<title><code>annotationObject</code></title>
 <p>instance of <link xref="Regress.AnnotationObject"/> that is emitting the signal</p>
 </item>
 <item>
 <title><code>arg1</code></title>
-<p>a value</p>
+  <p>a value</p>
 </item>
 <item>
 <title><code>arg2</code></title>
-<p>another value</p>
+  <p>another value</p>
 </item>
 <item>
 <title><code>Returns</code></title>
-<p>the return value</p>
+  <p>the return value</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-doc-empty-arg-parsing.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-doc-empty-arg-parsing.page
index 6102591..0bcbbbc 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-doc-empty-arg-parsing.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-doc-empty-arg-parsing.page
@@ -6,26 +6,18 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="signal" type="guide"/>
     <title type="link" role="topic">doc-empty-arg-parsing</title>
-
   </info>
   <title>Regress.AnnotationObject::doc-empty-arg-parsing</title>
-  
-<synopsis><code mime="text/x-python">
-function callback(annotation_object, arg1:gpointer, ):void;
-</code></synopsis>
+  <synopsis><code mime="text/x-gjs">
+connect('doc-empty-arg-parsing', function (annotationObject, arg1: void, ): void);
+  </code></synopsis>
+  <p>This signal tests an empty document argument (<code>arg1</code>)</p>
 
-  
-    <p>This signal tests an empty document argument (<code>arg1</code>)</p>
-  
-  
-  
-  
 <terms>
 <item>
-<title><code>annotation_object</code></title>
+<title><code>annotationObject</code></title>
 <p>instance of <link xref="Regress.AnnotationObject"/> that is emitting the signal</p>
 </item>
 <item>
@@ -34,6 +26,4 @@ function callback(annotation_object, arg1:gpointer, ):void;
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-function-property.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-function-property.page
index d9d8b55..148081a 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-function-property.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-function-property.page
@@ -6,24 +6,13 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="property" type="guide"/>
     <title type="link" role="topic">function-property</title>
-
   </info>
-  <title>Regress.AnnotationObject:function-property</title>
-  
-<synopsis><code mime="text/x-python">
-"function-property"             Regress.AnnotationCallback                : Read / Write / Construct
-</code></synopsis>
+  <title>Regress.AnnotationObject.function_property</title>
+  <synopsis><code mime="text/x-gjs">
+AnnotationObject.function_property: <link 
xref="Regress.AnnotationCallback">Regress.AnnotationCallback</link> (Read / Write / Construct)
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
-  
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-list-signal.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-list-signal.page
index 4e2044d..c94b525 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-list-signal.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-list-signal.page
@@ -6,35 +6,25 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="signal" type="guide"/>
     <title type="link" role="topic">list-signal</title>
-
   </info>
   <title>Regress.AnnotationObject::list-signal</title>
-  
-<synopsis><code mime="text/x-python">
-function callback(annotation_object, list:[String], ):void;
-</code></synopsis>
-
-  
-    <p>This is a signal which takes a list of strings, but it's not
+  <synopsis><code mime="text/x-gjs">
+connect('list-signal', function (annotationObject, list: Array(String), ): void);
+  </code></synopsis>
+  <p>This is a signal which takes a list of strings, but it's not
 known by GObject as it's only marked as G_TYPE_POINTER</p>
-  
-  
-  
-  
+
 <terms>
 <item>
-<title><code>annotation_object</code></title>
+<title><code>annotationObject</code></title>
 <p>instance of <link xref="Regress.AnnotationObject"/> that is emitting the signal</p>
 </item>
 <item>
 <title><code>list</code></title>
-<p>a list of strings</p>
+  <p>a list of strings</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-string-property.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-string-property.page
index eba5cef..2eff716 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-string-property.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-string-property.page
@@ -6,25 +6,13 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="property" type="guide"/>
     <title type="link" role="topic">string-property</title>
-
   </info>
-  <title>Regress.AnnotationObject:string-property</title>
-  
-<synopsis><code mime="text/x-python">
-"string-property"             String                : Read / Write / Construct
-</code></synopsis>
-
-  
-    <p>This is a property which is a string</p>
-  
-  
-    <p>Since 1.0</p>
-  
-  
-  
-  
-  
+  <title>Regress.AnnotationObject.string_property</title>
+  <synopsis><code mime="text/x-gjs">
+AnnotationObject.string_property: String (Read / Write / Construct)
+  </code></synopsis>
+  <p>This is a property which is a string</p>
+  <p>Since 1.0</p>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-string-signal.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-string-signal.page
index 59408b4..9c16d75 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-string-signal.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-string-signal.page
@@ -6,36 +6,25 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="signal" type="guide"/>
     <title type="link" role="topic">string-signal</title>
-
   </info>
   <title>Regress.AnnotationObject::string-signal</title>
-  
-<synopsis><code mime="text/x-python">
-function callback(annotation_object, string:String, ):void;
-</code></synopsis>
-
-  
-    <p>This is a signal which has a broken signal handler,
+  <synopsis><code mime="text/x-gjs">
+connect('string-signal', function (annotationObject, string: String, ): void);
+  </code></synopsis>
+  <p>This is a signal which has a broken signal handler,
 it says it's pointer but it's actually a string.</p>
-  
-  
-    <p>Since 1.0</p>
-  
-  
+  <p>Since 1.0</p>
 <terms>
 <item>
-<title><code>annotation_object</code></title>
+<title><code>annotationObject</code></title>
 <p>instance of <link xref="Regress.AnnotationObject"/> that is emitting the signal</p>
 </item>
 <item>
 <title><code>string</code></title>
-<p>a string</p>
+  <p>a string</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-tab-property.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-tab-property.page
index c2444fa..d943cf4 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-tab-property.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-tab-property.page
@@ -6,26 +6,14 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="property" type="guide"/>
     <title type="link" role="topic">tab-property</title>
-
   </info>
-  <title>Regress.AnnotationObject:tab-property</title>
-  
-<synopsis><code mime="text/x-python">
-"tab-property"             String                : Read / Write / Construct
-</code></synopsis>
-
-  
-    <p>This is a property annotation intentionally indented with a mix
+  <title>Regress.AnnotationObject.tab_property</title>
+  <synopsis><code mime="text/x-gjs">
+AnnotationObject.tab_property: String (Read / Write / Construct)
+  </code></synopsis>
+  <p>This is a property annotation intentionally indented with a mix
 of tabs and strings to test the tab handling capabilities of the scanner.</p>
-  
-  
-    <p>Since 1.2</p>
-  
-  
-  
-  
-  
+  <p>Since 1.2</p>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.allow_none.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.allow_none.page
index 414f5c6..64d872f 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.allow_none.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.allow_none.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,22 +17,15 @@
         <api:name>somearg</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.prototype.allow_none</title>
-  
-<synopsis><code mime="text/x-gjs">
-function allow_none(somearg:String):GObject.Object {
+  <synopsis><code mime="text/x-gjs">
+function allow_none(somearg: String): <link href="../GObject-2.0/GObject.Object.page">GObject.Object</link> {
     // Gjs wrapper for regress_annotation_object_allow_none()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>somearg</code></title>
@@ -41,10 +33,8 @@ function allow_none(somearg:String):GObject.Object {
 </item>
 <item>
 <title><code>Returns</code></title>
-<p><code>null</code> always</p>
+
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.calleeowns.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.calleeowns.page
index 8dd15f1..7574122 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.calleeowns.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.calleeowns.page
@@ -6,37 +6,31 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
       </api:returns>
       <api:name>regress_annotation_object_calleeowns</api:name>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.prototype.calleeowns</title>
-  
-<synopsis><code mime="text/x-gjs">
-function calleeowns():Number {
+  <synopsis><code mime="text/x-gjs">
+function calleeowns(): [return_value: Number(gint), toown: <link 
href="../GObject-2.0/GObject.Object.page">GObject.Object</link>] {
     // Gjs wrapper for regress_annotation_object_calleeowns()
 }
-</code></synopsis>
+  </code></synopsis>
+  <p>This is a test for out arguments; GObject defaults to transfer</p>
 
-  
-    <p>This is a test for out arguments; GObject defaults to transfer</p>
-  
-  
-  
-  
 <terms>
 <item>
-<title><code>Returns</code></title>
-<p>an int</p>
+<title><code>return_value</code></title>
+
+</item>
+<item>
+<title><code>toown</code></title>
+  <p>a <link xref="GObject.Object"/></p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.calleesowns.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.calleesowns.page
index a12be35..33ba8e5 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.calleesowns.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.calleesowns.page
@@ -6,37 +6,35 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
       </api:returns>
       <api:name>regress_annotation_object_calleesowns</api:name>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.prototype.calleesowns</title>
-  
-<synopsis><code mime="text/x-gjs">
-function calleesowns():Number {
+  <synopsis><code mime="text/x-gjs">
+function calleesowns(): [return_value: Number(gint), toown1: <link 
href="../GObject-2.0/GObject.Object.page">GObject.Object</link>, toown2: <link 
href="../GObject-2.0/GObject.Object.page">GObject.Object</link>] {
     // Gjs wrapper for regress_annotation_object_calleesowns()
 }
-</code></synopsis>
+  </code></synopsis>
+  <p>This is a test for out arguments, one transferred, other not</p>
 
-  
-    <p>This is a test for out arguments, one transferred, other not</p>
-  
-  
-  
-  
 <terms>
 <item>
-<title><code>Returns</code></title>
-<p>an int</p>
+<title><code>return_value</code></title>
+
+</item>
+<item>
+<title><code>toown1</code></title>
+  <p>a <link xref="GObject.Object"/></p>
+</item>
+<item>
+<title><code>toown2</code></title>
+  <p>a <link xref="GObject.Object"/></p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.compute_sum.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.compute_sum.page
index d7e6784..fd3e794 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.compute_sum.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.compute_sum.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,33 +13,24 @@
       </api:returns>
       <api:name>regress_annotation_object_compute_sum</api:name>
       <api:arg>
-        <api:type>[Number]</api:type>
+        <api:type>Array(Number(gint))</api:type>
         <api:name>nums</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.prototype.compute_sum</title>
-  
-<synopsis><code mime="text/x-gjs">
-function compute_sum(nums:[Number]):void {
+  <synopsis><code mime="text/x-gjs">
+function compute_sum(nums: Array(Number(gint))): void {
     // Gjs wrapper for regress_annotation_object_compute_sum()
 }
-</code></synopsis>
+  </code></synopsis>
+  <p>Test taking a zero-terminated array</p>
 
-  
-    <p>Test taking a zero-terminated array</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>nums</code></title>
-<p>Sequence of numbers</p>
+  <p>Sequence of numbers</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.compute_sum_n.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.compute_sum_n.page
index 932b192..331214b 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.compute_sum_n.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.compute_sum_n.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,34 +13,25 @@
       </api:returns>
       <api:name>regress_annotation_object_compute_sum_n</api:name>
       <api:arg>
-        <api:type>[Number]</api:type>
+        <api:type>Array(Number(gint))</api:type>
         <api:name>nums</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.prototype.compute_sum_n</title>
-  
-<synopsis><code mime="text/x-gjs">
-function compute_sum_n(nums:[Number]):void {
+  <synopsis><code mime="text/x-gjs">
+function compute_sum_n(nums: Array(Number(gint))): void {
     // Gjs wrapper for regress_annotation_object_compute_sum_n()
 }
-</code></synopsis>
+  </code></synopsis>
+  <p>Test taking an array with length parameter</p>
 
-  
-    <p>Test taking an array with length parameter</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>nums</code></title>
-<p>Sequence of
+  <p>Sequence of
   numbers that are zero-terminated</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.compute_sum_nz.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.compute_sum_nz.page
index 3891049..754a37f 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.compute_sum_nz.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.compute_sum_nz.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,34 +13,25 @@
       </api:returns>
       <api:name>regress_annotation_object_compute_sum_nz</api:name>
       <api:arg>
-        <api:type>[Number]</api:type>
+        <api:type>Array(Number(gint))</api:type>
         <api:name>nums</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.prototype.compute_sum_nz</title>
-  
-<synopsis><code mime="text/x-gjs">
-function compute_sum_nz(nums:[Number]):void {
+  <synopsis><code mime="text/x-gjs">
+function compute_sum_nz(nums: Array(Number(gint))): void {
     // Gjs wrapper for regress_annotation_object_compute_sum_nz()
 }
-</code></synopsis>
+  </code></synopsis>
+  <p>Test taking a zero-terminated array with length parameter</p>
 
-  
-    <p>Test taking a zero-terminated array with length parameter</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>nums</code></title>
-<p>Sequence of numbers that
+  <p>Sequence of numbers that
 are zero-terminated</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.create_object.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.create_object.page
index 03ceac1..8752d9f 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.create_object.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.create_object.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,29 +13,20 @@
       </api:returns>
       <api:name>regress_annotation_object_create_object</api:name>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.prototype.create_object</title>
-  
-<synopsis><code mime="text/x-gjs">
-function create_object():GObject.Object {
+  <synopsis><code mime="text/x-gjs">
+function create_object(): <link href="../GObject-2.0/GObject.Object.page">GObject.Object</link> {
     // Gjs wrapper for regress_annotation_object_create_object()
 }
-</code></synopsis>
+  </code></synopsis>
+  <p>Test returning a caller-owned object</p>
 
-  
-    <p>Test returning a caller-owned object</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
-<p>The object</p>
+
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.do_not_use.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.do_not_use.page
index e89c8fe..331b7e0 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.do_not_use.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.do_not_use.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,29 +13,20 @@
       </api:returns>
       <api:name>regress_annotation_object_do_not_use</api:name>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.prototype.do_not_use</title>
-  
-<synopsis><code mime="text/x-gjs">
-function do_not_use():GObject.Object {
+  <synopsis><code mime="text/x-gjs">
+function do_not_use(): <link href="../GObject-2.0/GObject.Object.page">GObject.Object</link> {
     // Gjs wrapper for regress_annotation_object_do_not_use()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
-<p><code>null</code> always</p>
+
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.extra_annos.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.extra_annos.page
index cd58eed..af1d729 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.extra_annos.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.extra_annos.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,25 +13,14 @@
       </api:returns>
       <api:name>regress_annotation_object_extra_annos</api:name>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.prototype.extra_annos</title>
-  
-<synopsis><code mime="text/x-gjs">
-function extra_annos():void {
+  <synopsis><code mime="text/x-gjs">
+function extra_annos(): void {
     // Gjs wrapper for regress_annotation_object_extra_annos()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
-<terms>
-</terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.foreach.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.foreach.page
index e4cc4c0..8152aa8 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.foreach.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.foreach.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,29 +17,20 @@
         <api:name>func</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.prototype.foreach</title>
-  
-<synopsis><code mime="text/x-gjs">
-function foreach(func:Regress.AnnotationForeachFunc):void {
+  <synopsis><code mime="text/x-gjs">
+function foreach(func: <link xref="Regress.AnnotationForeachFunc">Regress.AnnotationForeachFunc</link>): 
void {
     // Gjs wrapper for regress_annotation_object_foreach()
 }
-</code></synopsis>
+  </code></synopsis>
+  <p>Test taking a call-scoped callback</p>
 
-  
-    <p>Test taking a call-scoped callback</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>func</code></title>
-<p>Callback to invoke</p>
+  <p>Callback to invoke</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.get_hash.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.get_hash.page
index 2e6ca61..a411ad8 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.get_hash.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.get_hash.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,30 +13,21 @@
       </api:returns>
       <api:name>regress_annotation_object_get_hash</api:name>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.prototype.get_hash</title>
-  
-<synopsis><code mime="text/x-gjs">
-function get_hash():{String: GObject.Object} {
+  <synopsis><code mime="text/x-gjs">
+function get_hash(): {String: <link href="../GObject-2.0/GObject.Object.page">GObject.Object</link>} {
     // Gjs wrapper for regress_annotation_object_get_hash()
 }
-</code></synopsis>
-
-  
-    <p>This is a test for returning a hash table mapping strings to
+  </code></synopsis>
+  <p>This is a test for returning a hash table mapping strings to
 objects.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>Returns</code></title>
-<p>hash table</p>
+
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.get_objects.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.get_objects.page
index c0350d7..fc8960b 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.get_objects.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.get_objects.page
@@ -6,39 +6,29 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>[Regress.AnnotationObject]</api:type>
+        <api:type>Array(Regress.AnnotationObject)</api:type>
       </api:returns>
       <api:name>regress_annotation_object_get_objects</api:name>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.prototype.get_objects</title>
-  
-<synopsis><code mime="text/x-gjs">
-function get_objects():[Regress.AnnotationObject] {
+  <synopsis><code mime="text/x-gjs">
+function get_objects(): Array(<link xref="Regress.AnnotationObject">Regress.AnnotationObject</link>) {
     // Gjs wrapper for regress_annotation_object_get_objects()
 }
-</code></synopsis>
-
-  
-    <p>This is a test for returning a list of objects.
+  </code></synopsis>
+  <p>This is a test for returning a list of objects.
 The list itself should be freed, but not the internal objects,
 intentionally similar example to gtk_container_get_children</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>Returns</code></title>
-<p>list of objects</p>
+
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.get_strings.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.get_strings.page
index e36d25a..8038a7d 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.get_strings.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.get_strings.page
@@ -6,38 +6,28 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>[String]</api:type>
+        <api:type>Array(String)</api:type>
       </api:returns>
       <api:name>regress_annotation_object_get_strings</api:name>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.prototype.get_strings</title>
-  
-<synopsis><code mime="text/x-gjs">
-function get_strings():[String] {
+  <synopsis><code mime="text/x-gjs">
+function get_strings(): Array(String) {
     // Gjs wrapper for regress_annotation_object_get_strings()
 }
-</code></synopsis>
-
-  
-    <p>This is a test for returning a list of strings, where
+  </code></synopsis>
+  <p>This is a test for returning a list of strings, where
 each string needs to be freed.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>Returns</code></title>
-<p>list of strings</p>
+
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.hidden_self.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.hidden_self.page
index 945acf0..814248f 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.hidden_self.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.hidden_self.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,25 +13,14 @@
       </api:returns>
       <api:name>regress_annotation_object_hidden_self</api:name>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.prototype.hidden_self</title>
-  
-<synopsis><code mime="text/x-gjs">
-function hidden_self():void {
+  <synopsis><code mime="text/x-gjs">
+function hidden_self(): void {
     // Gjs wrapper for regress_annotation_object_hidden_self()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
-<terms>
-</terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.in.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.in.page
index 226b2b9..3ef203f 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.in.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.in.page
@@ -6,45 +6,35 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
       </api:returns>
       <api:name>regress_annotation_object_in</api:name>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
         <api:name>inarg</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.prototype.in</title>
-  
-<synopsis><code mime="text/x-gjs">
-function in(inarg:Number):Number {
+  <synopsis><code mime="text/x-gjs">
+function in(inarg: Number(gint)): Number(gint) {
     // Gjs wrapper for regress_annotation_object_in()
 }
-</code></synopsis>
+  </code></synopsis>
+  <p>This is a test for in arguments</p>
 
-  
-    <p>This is a test for in arguments</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>inarg</code></title>
-<p>This is an argument test</p>
+  <p>This is an argument test</p>
 </item>
 <item>
 <title><code>Returns</code></title>
-<p>an int</p>
+
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.inout.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.inout.page
index 885412f..02ad264 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.inout.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.inout.page
@@ -6,45 +6,39 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
       </api:returns>
       <api:name>regress_annotation_object_inout</api:name>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
         <api:name>inoutarg</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.prototype.inout</title>
-  
-<synopsis><code mime="text/x-gjs">
-function inout(inoutarg:Number):Number {
+  <synopsis><code mime="text/x-gjs">
+function inout(inoutarg: Number(gint)): [return_value: Number(gint), inoutarg: Number(gint)] {
     // Gjs wrapper for regress_annotation_object_inout()
 }
-</code></synopsis>
+  </code></synopsis>
+  <p>This is a test for out arguments</p>
 
-  
-    <p>This is a test for out arguments</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>inoutarg</code></title>
-<p>This is an argument test</p>
+  <p>This is an argument test</p>
+</item>
+<item>
+<title><code>return_value</code></title>
+
 </item>
 <item>
-<title><code>Returns</code></title>
-<p>an int</p>
+<title><code>inoutarg (out)</code></title>
+  <p>This is an argument test</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.inout2.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.inout2.page
index 34406b7..00807c0 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.inout2.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.inout2.page
@@ -6,45 +6,39 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
       </api:returns>
       <api:name>regress_annotation_object_inout2</api:name>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
         <api:name>inoutarg</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.prototype.inout2</title>
-  
-<synopsis><code mime="text/x-gjs">
-function inout2(inoutarg:Number):Number {
+  <synopsis><code mime="text/x-gjs">
+function inout2(inoutarg: Number(gint)): [return_value: Number(gint), inoutarg: Number(gint)] {
     // Gjs wrapper for regress_annotation_object_inout2()
 }
-</code></synopsis>
+  </code></synopsis>
+  <p>This is a second test for out arguments</p>
 
-  
-    <p>This is a second test for out arguments</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>inoutarg</code></title>
-<p>This is an argument test</p>
+  <p>This is an argument test</p>
+</item>
+<item>
+<title><code>return_value</code></title>
+
 </item>
 <item>
-<title><code>Returns</code></title>
-<p>an int</p>
+<title><code>inoutarg (out)</code></title>
+  <p>This is an argument test</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.inout3.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.inout3.page
index 2828964..7bf3374 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.inout3.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.inout3.page
@@ -6,45 +6,39 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
       </api:returns>
       <api:name>regress_annotation_object_inout3</api:name>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
         <api:name>inoutarg</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.prototype.inout3</title>
-  
-<synopsis><code mime="text/x-gjs">
-function inout3(inoutarg:Number):Number {
+  <synopsis><code mime="text/x-gjs">
+function inout3(inoutarg: Number(gint)): [return_value: Number(gint), inoutarg: Number(gint)] {
     // Gjs wrapper for regress_annotation_object_inout3()
 }
-</code></synopsis>
+  </code></synopsis>
+  <p>This is a 3th test for out arguments</p>
 
-  
-    <p>This is a 3th test for out arguments</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>inoutarg</code></title>
-<p>This is an argument test</p>
+  <p>This is an argument test</p>
+</item>
+<item>
+<title><code>return_value</code></title>
+
 </item>
 <item>
-<title><code>Returns</code></title>
-<p>an int</p>
+<title><code>inoutarg (out)</code></title>
+  <p>This is an argument test</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.method.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.method.page
index 49d937a..23836e6 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.method.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.method.page
@@ -6,37 +6,27 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
       </api:returns>
       <api:name>regress_annotation_object_method</api:name>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.prototype.method</title>
-  
-<synopsis><code mime="text/x-gjs">
-function method():Number {
+  <synopsis><code mime="text/x-gjs">
+function method(): Number(gint) {
     // Gjs wrapper for regress_annotation_object_method()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
-<p>an int</p>
+
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.notrans.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.notrans.page
index 0424719..8edd9cb 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.notrans.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.notrans.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,29 +13,20 @@
       </api:returns>
       <api:name>regress_annotation_object_notrans</api:name>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.prototype.notrans</title>
-  
-<synopsis><code mime="text/x-gjs">
-function notrans():GObject.Object {
+  <synopsis><code mime="text/x-gjs">
+function notrans(): <link href="../GObject-2.0/GObject.Object.page">GObject.Object</link> {
     // Gjs wrapper for regress_annotation_object_notrans()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
-<p>An object, not referenced</p>
+
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.out.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.out.page
index 5120baf..c607202 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.out.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.out.page
@@ -6,37 +6,31 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
       </api:returns>
       <api:name>regress_annotation_object_out</api:name>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.prototype.out</title>
-  
-<synopsis><code mime="text/x-gjs">
-function out():Number {
+  <synopsis><code mime="text/x-gjs">
+function out(): [return_value: Number(gint), outarg: Number(gint)] {
     // Gjs wrapper for regress_annotation_object_out()
 }
-</code></synopsis>
+  </code></synopsis>
+  <p>This is a test for out arguments</p>
 
-  
-    <p>This is a test for out arguments</p>
-  
-  
-  
-  
 <terms>
 <item>
-<title><code>Returns</code></title>
-<p>an int</p>
+<title><code>return_value</code></title>
+
+</item>
+<item>
+<title><code>outarg</code></title>
+  <p>This is an argument test</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.page
index f4f0130..cca4c5d 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.page
@@ -6,28 +6,20 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="class" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.AnnotationObject</title>
-  
   <synopsis><code>
 const Regress = imports.gi.Regress;
 
-let annotation_object = new Regress.AnnotationObject({
+let annotationObject = new Regress.AnnotationObject({
     <link xref='Regress.AnnotationObject-function-property'>function_property</link>: value,
     <link xref='Regress.AnnotationObject-string-property'>string_property</link>: value,
     <link xref='Regress.AnnotationObject-tab-property'>tab_property</link>: value,
 });
   </code></synopsis>
+  <p>This is an object used to test annotations.</p>
 
-  
-    <p>This is an object used to test annotations.</p>
-  
-  
-  
-  
   <synopsis>
     <title>Hierarchy</title>
     <tree>
@@ -39,8 +31,11 @@ let annotation_object = new Regress.AnnotationObject({
       </item>
     </tree>
   </synopsis>
-
-  
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-gjs"
          groups="method" style="linklist">
@@ -49,7 +44,7 @@ let annotation_object = new Regress.AnnotationObject({
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-gjs"
          groups="function" style="linklist">
-    <title>Functions</title>
+    <title>Static Functions</title>
   </links>
   <links type="topic" ui:expanded="true" groups="property" style="linklist">
     <title>Properties</title>
@@ -60,8 +55,10 @@ let annotation_object = new Regress.AnnotationObject({
   <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
     <title>Virtual functions</title>
   </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
   <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
     <title>Other</title>
   </links>
-
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.parse_args.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.parse_args.page
index 8476fd8..7e1a301 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.parse_args.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.parse_args.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,33 +13,28 @@
       </api:returns>
       <api:name>regress_annotation_object_parse_args</api:name>
       <api:arg>
-        <api:type>[String]</api:type>
+        <api:type>Array(String)</api:type>
         <api:name>argv</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.prototype.parse_args</title>
-  
-<synopsis><code mime="text/x-gjs">
-function parse_args(argv:[String]):void {
+  <synopsis><code mime="text/x-gjs">
+function parse_args(argv: Array(String)): Array(String) {
     // Gjs wrapper for regress_annotation_object_parse_args()
 }
-</code></synopsis>
+  </code></synopsis>
+  <p>Test taking a zero-terminated array with length parameter</p>
 
-  
-    <p>Test taking a zero-terminated array with length parameter</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>argv</code></title>
-<p>Argument vector</p>
+  <p>Argument vector</p>
+</item>
+<item>
+<title><code>argv (out)</code></title>
+  <p>Argument vector</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.set_data.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.set_data.page
index a5dafb9..43e0c1b 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.set_data.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.set_data.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,33 +13,24 @@
       </api:returns>
       <api:name>regress_annotation_object_set_data</api:name>
       <api:arg>
-        <api:type>[guint8]</api:type>
+        <api:type>Array(Number(guint8))</api:type>
         <api:name>data</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.prototype.set_data</title>
-  
-<synopsis><code mime="text/x-gjs">
-function set_data(data:[guint8]):void {
+  <synopsis><code mime="text/x-gjs">
+function set_data(data: Array(Number(guint8))): void {
     // Gjs wrapper for regress_annotation_object_set_data()
 }
-</code></synopsis>
+  </code></synopsis>
+  <p>Test taking a guchar * with a length.</p>
 
-  
-    <p>Test taking a guchar * with a length.</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>data</code></title>
-<p>The data</p>
+  <p>The data</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.set_data2.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.set_data2.page
index 3fcd818..7020415 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.set_data2.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.set_data2.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,33 +13,24 @@
       </api:returns>
       <api:name>regress_annotation_object_set_data2</api:name>
       <api:arg>
-        <api:type>[gint8]</api:type>
+        <api:type>Array(Number(gint8))</api:type>
         <api:name>data</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.prototype.set_data2</title>
-  
-<synopsis><code mime="text/x-gjs">
-function set_data2(data:[gint8]):void {
+  <synopsis><code mime="text/x-gjs">
+function set_data2(data: Array(Number(gint8))): void {
     // Gjs wrapper for regress_annotation_object_set_data2()
 }
-</code></synopsis>
+  </code></synopsis>
+  <p>Test taking a gchar * with a length.</p>
 
-  
-    <p>Test taking a gchar * with a length.</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>data</code></title>
-<p>The data</p>
+  <p>The data</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.set_data3.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.set_data3.page
index 22fb98d..14709d9 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.set_data3.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.set_data3.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,34 +13,25 @@
       </api:returns>
       <api:name>regress_annotation_object_set_data3</api:name>
       <api:arg>
-        <api:type>[guint8]</api:type>
+        <api:type>Array(Number(guint8))</api:type>
         <api:name>data</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.prototype.set_data3</title>
-  
-<synopsis><code mime="text/x-gjs">
-function set_data3(data:[guint8]):void {
+  <synopsis><code mime="text/x-gjs">
+function set_data3(data: Array(Number(guint8))): void {
     // Gjs wrapper for regress_annotation_object_set_data3()
 }
-</code></synopsis>
-
-  
-    <p>Test taking a gchar * with a length, overriding the array element
+  </code></synopsis>
+  <p>Test taking a gchar * with a length, overriding the array element
 type.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>data</code></title>
-<p>The data</p>
+  <p>The data</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.string_out.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.string_out.page
index 4d6029a..d7a0cf9 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.string_out.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.string_out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,29 +13,24 @@
       </api:returns>
       <api:name>regress_annotation_object_string_out</api:name>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.prototype.string_out</title>
-  
-<synopsis><code mime="text/x-gjs">
-function string_out():Boolean {
+  <synopsis><code mime="text/x-gjs">
+function string_out(): [ok: Boolean, str_out: String] {
     // Gjs wrapper for regress_annotation_object_string_out()
 }
-</code></synopsis>
+  </code></synopsis>
+  <p>Test returning a string as an out parameter</p>
 
-  
-    <p>Test returning a string as an out parameter</p>
-  
-  
-  
-  
 <terms>
 <item>
-<title><code>Returns</code></title>
-<p>some boolean</p>
+<title><code>ok</code></title>
+
+</item>
+<item>
+<title><code>str_out</code></title>
+  <p>string return value</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.use_buffer.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.use_buffer.page
index c602a89..5f45283 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.use_buffer.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.use_buffer.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,26 +13,19 @@
       </api:returns>
       <api:name>regress_annotation_object_use_buffer</api:name>
       <api:arg>
-        <api:type>guint8</api:type>
+        <api:type>Number(guint8)</api:type>
         <api:name>bytes</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.prototype.use_buffer</title>
-  
-<synopsis><code mime="text/x-gjs">
-function use_buffer(bytes:guint8):void {
+  <synopsis><code mime="text/x-gjs">
+function use_buffer(bytes: Number(guint8)): void {
     // Gjs wrapper for regress_annotation_object_use_buffer()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>bytes</code></title>
@@ -41,6 +33,4 @@ function use_buffer(bytes:guint8):void {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.watch_full.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.watch_full.page
index 99bfaf1..3701b58 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.watch_full.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.watch_full.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,29 +17,20 @@
         <api:name>func</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.prototype.watch_full</title>
-  
-<synopsis><code mime="text/x-gjs">
-function watch_full(func:Regress.AnnotationForeachFunc):void {
+  <synopsis><code mime="text/x-gjs">
+function watch_full(func: <link xref="Regress.AnnotationForeachFunc">Regress.AnnotationForeachFunc</link>): 
void {
     // Gjs wrapper for regress_annotation_object_watch_full()
 }
-</code></synopsis>
+  </code></synopsis>
+  <p>Test overriding via the "Rename To" annotation.</p>
 
-  
-    <p>Test overriding via the "Rename To" annotation.</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>func</code></title>
-<p>The callback</p>
+  <p>The callback</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.with_voidp.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.with_voidp.page
index 6daccb5..b78d7bf 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.with_voidp.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.with_voidp.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,33 +13,24 @@
       </api:returns>
       <api:name>regress_annotation_object_with_voidp</api:name>
       <api:arg>
-        <api:type>gpointer</api:type>
+        <api:type>void</api:type>
         <api:name>data</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.prototype.with_voidp</title>
-  
-<synopsis><code mime="text/x-gjs">
-function with_voidp(data:gpointer):void {
+  <synopsis><code mime="text/x-gjs">
+function with_voidp(data: void): void {
     // Gjs wrapper for regress_annotation_object_with_voidp()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>data</code></title>
-<p>Opaque pointer handle</p>
+  <p>Opaque pointer handle</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationStruct-objects.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationStruct-objects.page
new file mode 100644
index 0000000..e1e85f0
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationStruct-objects.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationStruct-objects"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.AnnotationStruct" group="field" type="guide"/>
+    <title type="link" role="topic">objects</title>
+  </info>
+  <title>Regress.AnnotationStruct.objects</title>
+  <synopsis><code mime="text/x-gjs">
+AnnotationStruct.objects: Array(<link xref="Regress.AnnotationObject">Regress.AnnotationObject</link>) (Read 
/ Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationStruct.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationStruct.page
index e210042..cdb5585 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationStruct.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationStruct.page
@@ -1,25 +1,42 @@
 <?xml version="1.0"?>
 <page id="Regress.AnnotationStruct"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.AnnotationStruct</title>
-  
-  
-  
-    <p>This is a test of an array of object in an field of a struct.</p>
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+const Regress = imports.gi.Regress;
+
+let annotationStruct = new Regress.AnnotationStruct({
+    <link xref='Regress.AnnotationStruct-objects'>objects</link>: value
+});
+  </code></synopsis>
+  <p>This is a test of an array of object in an field of a struct.</p>
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.BOOL_CONSTANT.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Gjs-expected/Regress.BOOL_CONSTANT.page
index 6dc17b3..e65594f 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.BOOL_CONSTANT.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.BOOL_CONSTANT"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.BOOL_CONSTANT</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.DOUBLE_CONSTANT.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Gjs-expected/Regress.DOUBLE_CONSTANT.page
index 6dc17b3..bbc2a03 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.DOUBLE_CONSTANT.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.DOUBLE_CONSTANT"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.DOUBLE_CONSTANT</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FOO_DEFINE_SHOULD_BE_EXPOSED.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Gjs-expected/Regress.FOO_DEFINE_SHOULD_BE_EXPOSED.page
index 6dc17b3..09b1561 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FOO_DEFINE_SHOULD_BE_EXPOSED.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FOO_DEFINE_SHOULD_BE_EXPOSED"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FOO_DEFINE_SHOULD_BE_EXPOSED</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FOO_PIE_IS_TASTY.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Gjs-expected/Regress.FOO_PIE_IS_TASTY.page
index 6dc17b3..132f508 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FOO_PIE_IS_TASTY.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FOO_PIE_IS_TASTY"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FOO_PIE_IS_TASTY</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FOO_SUCCESS_INT.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Gjs-expected/Regress.FOO_SUCCESS_INT.page
index 6dc17b3..58650ec 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FOO_SUCCESS_INT.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FOO_SUCCESS_INT"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FOO_SUCCESS_INT</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooASingle.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooASingle.page
index 09cd98f..2af7b9e 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooASingle.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooASingle.page
@@ -6,19 +6,11 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="enum" type="guide"/>
-    
+    <link xref="index" group="enum" type="guide"/>
   </info>
   <title>Regress.FooASingle</title>
-  
-  
-  
-    
-  
-  
-  
-  
+
+
 <terms>
 <item>
 <title><code>FooASingle.FOO_SOME_SINGLE_ENUM</code></title>
@@ -26,6 +18,4 @@
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooAddressType.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooAddressType.page
index 008a8f3..a4b82a3 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooAddressType.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooAddressType.page
@@ -6,19 +6,11 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="enum" type="guide"/>
-    
+    <link xref="index" group="enum" type="guide"/>
   </info>
   <title>Regress.FooAddressType</title>
-  
-  
-  
-    
-  
-  
-  
-  
+
+
 <terms>
 <item>
 <title><code>FooAddressType.INVALID</code></title>
@@ -34,6 +26,4 @@
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBRect-x.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBRect-x.page
new file mode 100644
index 0000000..3bb9c25
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBRect-x.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.FooBRect-x"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.FooBRect" group="field" type="guide"/>
+    <title type="link" role="topic">x</title>
+  </info>
+  <title>Regress.FooBRect.x</title>
+  <synopsis><code mime="text/x-gjs">
+FooBRect.x: Number(gdouble) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBRect-y.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBRect-y.page
new file mode 100644
index 0000000..6a233fc
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBRect-y.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.FooBRect-y"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.FooBRect" group="field" type="guide"/>
+    <title type="link" role="topic">y</title>
+  </info>
+  <title>Regress.FooBRect.y</title>
+  <synopsis><code mime="text/x-gjs">
+FooBRect.y: Number(gdouble) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBRect.add.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBRect.add.page
index 9091617..7e5ba37 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBRect.add.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBRect.add.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooBRect" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,22 +17,15 @@
         <api:name>b2</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.FooBRect.prototype.add</title>
-  
-<synopsis><code mime="text/x-gjs">
-function add(b2:Regress.FooBRect):void {
+  <synopsis><code mime="text/x-gjs">
+function add(b2: <link xref="Regress.FooBRect">Regress.FooBRect</link>): void {
     // Gjs wrapper for regress_foo_brect_add()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>b2</code></title>
@@ -41,6 +33,4 @@ function add(b2:Regress.FooBRect):void {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBRect.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBRect.page
index fd1e9d6..81db692 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBRect.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBRect.page
@@ -1,25 +1,43 @@
 <?xml version="1.0"?>
 <page id="Regress.FooBRect"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooBRect</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+const Regress = imports.gi.Regress;
+
+let fooBRect = new Regress.FooBRect({
+    <link xref='Regress.FooBRect-x'>x</link>: value
+    <link xref='Regress.FooBRect-y'>y</link>: value
+});
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBUnion-rect.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBUnion-rect.page
new file mode 100644
index 0000000..8a4f98a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBUnion-rect.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.FooBUnion-rect"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.FooBUnion" group="field" type="guide"/>
+    <title type="link" role="topic">rect</title>
+  </info>
+  <title>Regress.FooBUnion.rect</title>
+  <synopsis><code mime="text/x-gjs">
+FooBUnion.rect: <link xref="Regress.FooBRect">Regress.FooBRect</link> (Read)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBUnion-type.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBUnion-type.page
new file mode 100644
index 0000000..361f862
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBUnion-type.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.FooBUnion-type"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.FooBUnion" group="field" type="guide"/>
+    <title type="link" role="topic">type</title>
+  </info>
+  <title>Regress.FooBUnion.type</title>
+  <synopsis><code mime="text/x-gjs">
+FooBUnion.type: Number(gint) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBUnion-v.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBUnion-v.page
new file mode 100644
index 0000000..1ab8058
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBUnion-v.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.FooBUnion-v"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.FooBUnion" group="field" type="guide"/>
+    <title type="link" role="topic">v</title>
+  </info>
+  <title>Regress.FooBUnion.v</title>
+  <synopsis><code mime="text/x-gjs">
+FooBUnion.v: Number(gdouble) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBUnion.get_contained_type.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBUnion.get_contained_type.page
index 7d82f4f..33ec70a 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBUnion.get_contained_type.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBUnion.get_contained_type.page
@@ -6,30 +6,22 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooBUnion" group="method" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
       </api:returns>
       <api:name>regress_foo_bunion_get_contained_type</api:name>
     </api:function>
-
   </info>
   <title>Regress.FooBUnion.prototype.get_contained_type</title>
-  
-<synopsis><code mime="text/x-gjs">
-function get_contained_type():Number {
+  <synopsis><code mime="text/x-gjs">
+function get_contained_type(): Number(gint) {
     // Gjs wrapper for regress_foo_bunion_get_contained_type()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ function get_contained_type():Number {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBUnion.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBUnion.page
index 8644d96..91f431b 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBUnion.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBUnion.page
@@ -1,25 +1,43 @@
 <?xml version="1.0"?>
 <page id="Regress.FooBUnion"
-      type="topic"
-      style="default"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooBUnion</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+const Regress = imports.gi.Regress;
+
+let fooBUnion = new Regress.FooBUnion({
+    <link xref='Regress.FooBUnion-type'>type</link>: value
+    <link xref='Regress.FooBUnion-v'>v</link>: value
+});
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBoxed.method.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBoxed.method.page
index 896d02a..c5d4dac 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBoxed.method.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBoxed.method.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooBoxed" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,25 +13,14 @@
       </api:returns>
       <api:name>regress_foo_boxed_method</api:name>
     </api:function>
-
   </info>
   <title>Regress.FooBoxed.prototype.method</title>
-  
-<synopsis><code mime="text/x-gjs">
-function method():void {
+  <synopsis><code mime="text/x-gjs">
+function method(): void {
     // Gjs wrapper for regress_foo_boxed_method()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
-<terms>
-</terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBoxed.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBoxed.page
index bca1f99..d7e24e2 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBoxed.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBoxed.page
@@ -1,25 +1,40 @@
 <?xml version="1.0"?>
 <page id="Regress.FooBoxed"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooBoxed</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+const Regress = imports.gi.Regress;
+
+let fooBoxed = new Regress.FooBoxed();
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBuffer.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBuffer.page
index 0b4f9e5..6e28c73 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBuffer.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBuffer.page
@@ -6,24 +6,16 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="class" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooBuffer</title>
-  
   <synopsis><code>
 const Regress = imports.gi.Regress;
 
-let foo_buffer = new Regress.FooBuffer();
+let fooBuffer = new Regress.FooBuffer();
   </code></synopsis>
 
-  
-    
-  
-  
-  
-  
+
   <synopsis>
     <title>Hierarchy</title>
     <tree>
@@ -38,8 +30,11 @@ let foo_buffer = new Regress.FooBuffer();
       </item>
     </tree>
   </synopsis>
-
-  
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-gjs"
          groups="method" style="linklist">
@@ -48,7 +43,7 @@ let foo_buffer = new Regress.FooBuffer();
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-gjs"
          groups="function" style="linklist">
-    <title>Functions</title>
+    <title>Static Functions</title>
   </links>
   <links type="topic" ui:expanded="true" groups="property" style="linklist">
     <title>Properties</title>
@@ -59,8 +54,10 @@ let foo_buffer = new Regress.FooBuffer();
   <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
     <title>Virtual functions</title>
   </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
   <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
     <title>Other</title>
   </links>
-
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBuffer.some_method.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBuffer.some_method.page
index 871ec7a..273d069 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBuffer.some_method.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBuffer.some_method.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooBuffer" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,25 +13,14 @@
       </api:returns>
       <api:name>regress_foo_buffer_some_method</api:name>
     </api:function>
-
   </info>
   <title>Regress.FooBuffer.prototype.some_method</title>
-  
-<synopsis><code mime="text/x-gjs">
-function some_method():void {
+  <synopsis><code mime="text/x-gjs">
+function some_method(): void {
     // Gjs wrapper for regress_foo_buffer_some_method()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
-<terms>
-</terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooCallback.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooCallback.page
index 52feda2..0cf20c3 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooCallback.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooCallback.page
@@ -1,25 +1,37 @@
 <?xml version="1.0"?>
 <page id="Regress.FooCallback"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="callback" type="guide"/>
   </info>
   <title>Regress.FooCallback</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-gjs">
+function onFooCallback(regress_foo: <link xref="Regress.FooObject">Regress.FooObject</link>, b: Boolean, 
data: void): Boolean {
+}
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>regress_foo</code></title>
+
+</item>
+<item>
+<title><code>b</code></title>
+
+</item>
+<item>
+<title><code>data</code></title>
+
+</item>
+<item>
+<title><code>ok</code></title>
+
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooDBusData.method.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooDBusData.method.page
index 0b1b6b8..734f2ae 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooDBusData.method.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooDBusData.method.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooDBusData" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,25 +13,14 @@
       </api:returns>
       <api:name>regress_foo_dbus_data_method</api:name>
     </api:function>
-
   </info>
   <title>Regress.FooDBusData.prototype.method</title>
-  
-<synopsis><code mime="text/x-gjs">
-function method():void {
+  <synopsis><code mime="text/x-gjs">
+function method(): void {
     // Gjs wrapper for regress_foo_dbus_data_method()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
-<terms>
-</terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooDBusData.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooDBusData.page
index b4eaead..60ef872 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooDBusData.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooDBusData.page
@@ -1,25 +1,40 @@
 <?xml version="1.0"?>
 <page id="Regress.FooDBusData"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooDBusData</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+const Regress = imports.gi.Regress;
+
+let fooDBusData = new Regress.FooDBusData();
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEnumFullname.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEnumFullname.page
index 00169aa..6184391 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEnumFullname.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEnumFullname.page
@@ -6,19 +6,11 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="enum" type="guide"/>
-    
+    <link xref="index" group="enum" type="guide"/>
   </info>
   <title>Regress.FooEnumFullname</title>
-  
-  
-  
-    
-  
-  
-  
-  
+
+
 <terms>
 <item>
 <title><code>FooEnumFullname.ONE</code></title>
@@ -34,6 +26,4 @@
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEnumNoType.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEnumNoType.page
index d2b41e6..44c091a 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEnumNoType.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEnumNoType.page
@@ -6,19 +6,11 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="enum" type="guide"/>
-    
+    <link xref="index" group="enum" type="guide"/>
   </info>
   <title>Regress.FooEnumNoType</title>
-  
-  
-  
-    
-  
-  
-  
-  
+
+
 <terms>
 <item>
 <title><code>FooEnumNoType.UN</code></title>
@@ -38,6 +30,4 @@
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEnumType.method.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEnumType.method.page
index e3240c1..61a41af 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEnumType.method.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEnumType.method.page
@@ -6,11 +6,10 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
       </api:returns>
       <api:name>regress_foo_enum_type_method</api:name>
       <api:arg>
@@ -18,22 +17,15 @@
         <api:name>regress_foo_enum</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>method</title>
-  
-<synopsis><code mime="text/x-gjs">
-function method(regress_foo_enum:Regress.FooEnumType):Number {
+  <title>Regress.method</title>
+  <synopsis><code mime="text/x-gjs">
+function method(regress_foo_enum: <link xref="Regress.FooEnumType">Regress.FooEnumType</link>): Number(gint) 
{
     // Gjs wrapper for regress_foo_enum_type_method()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>regress_foo_enum</code></title>
@@ -45,6 +37,4 @@ function method(regress_foo_enum:Regress.FooEnumType):Number {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEnumType.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEnumType.page
index c3ff89b..5827bd6 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEnumType.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEnumType.page
@@ -6,19 +6,11 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="enum" type="guide"/>
-    
+    <link xref="index" group="enum" type="guide"/>
   </info>
   <title>Regress.FooEnumType</title>
-  
-  
-  
-    
-  
-  
-  
-  
+
+
 <terms>
 <item>
 <title><code>FooEnumType.ALPHA</code></title>
@@ -34,6 +26,4 @@
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEnumType.returnv.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEnumType.returnv.page
index 4e42fde..004f7a3 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEnumType.returnv.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEnumType.returnv.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,26 +13,19 @@
       </api:returns>
       <api:name>regress_foo_enum_type_returnv</api:name>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
         <api:name>x</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>returnv</title>
-  
-<synopsis><code mime="text/x-gjs">
-function returnv(x:Number):Regress.FooEnumType {
+  <title>Regress.returnv</title>
+  <synopsis><code mime="text/x-gjs">
+function returnv(x: Number(gint)): <link xref="Regress.FooEnumType">Regress.FooEnumType</link> {
     // Gjs wrapper for regress_foo_enum_type_returnv()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>x</code></title>
@@ -45,6 +37,4 @@ function returnv(x:Number):Regress.FooEnumType {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooError.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooError.page
index 8c0b6a2..873701b 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooError.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooError.page
@@ -6,19 +6,11 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="enum" type="guide"/>
-    
+    <link xref="index" group="enum" type="guide"/>
   </info>
   <title>Regress.FooError</title>
-  
-  
-  
-    
-  
-  
-  
-  
+
+
 <terms>
 <item>
 <title><code>FooError.GOOD</code></title>
@@ -34,6 +26,4 @@
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooError.quark.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooError.quark.page
index ed02376..4c3e58b 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooError.quark.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooError.quark.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_foo_error_quark</api:name>
     </api:function>
-
   </info>
-  <title>quark</title>
-  
-<synopsis><code mime="text/x-gjs">
-function quark():GLib.Quark {
+  <title>Regress.quark</title>
+  <synopsis><code mime="text/x-gjs">
+function quark(): <link href="../GLib-2.0/GLib.Quark.page">GLib.Quark</link> {
     // Gjs wrapper for regress_foo_error_quark()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ function quark():GLib.Quark {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEvent-any.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEvent-any.page
new file mode 100644
index 0000000..77ea5f1
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEvent-any.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.FooEvent-any"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.FooEvent" group="field" type="guide"/>
+    <title type="link" role="topic">any</title>
+  </info>
+  <title>Regress.FooEvent.any</title>
+  <synopsis><code mime="text/x-gjs">
+FooEvent.any: <link xref="Regress.FooEventAny">Regress.FooEventAny</link> (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEvent-expose.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEvent-expose.page
new file mode 100644
index 0000000..8bd11ea
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEvent-expose.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.FooEvent-expose"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.FooEvent" group="field" type="guide"/>
+    <title type="link" role="topic">expose</title>
+  </info>
+  <title>Regress.FooEvent.expose</title>
+  <synopsis><code mime="text/x-gjs">
+FooEvent.expose: <link xref="Regress.FooEventExpose">Regress.FooEventExpose</link> (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEvent-type.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEvent-type.page
new file mode 100644
index 0000000..37c6ab5
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEvent-type.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.FooEvent-type"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.FooEvent" group="field" type="guide"/>
+    <title type="link" role="topic">type</title>
+  </info>
+  <title>Regress.FooEvent.type</title>
+  <synopsis><code mime="text/x-gjs">
+FooEvent.type: Number(gint) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEvent.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEvent.page
index ce36830..7a6f3d1 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEvent.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEvent.page
@@ -1,25 +1,44 @@
 <?xml version="1.0"?>
 <page id="Regress.FooEvent"
-      type="topic"
-      style="default"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooEvent</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+const Regress = imports.gi.Regress;
+
+let fooEvent = new Regress.FooEvent({
+    <link xref='Regress.FooEvent-type'>type</link>: value
+    <link xref='Regress.FooEvent-any'>any</link>: value
+    <link xref='Regress.FooEvent-expose'>expose</link>: value
+});
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEventAny-send_event.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEventAny-send_event.page
new file mode 100644
index 0000000..e6cba87
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEventAny-send_event.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.FooEventAny-send_event"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.FooEventAny" group="field" type="guide"/>
+    <title type="link" role="topic">send_event</title>
+  </info>
+  <title>Regress.FooEventAny.send_event</title>
+  <synopsis><code mime="text/x-gjs">
+FooEventAny.send_event: Number(gint8) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEventAny.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEventAny.page
index 562ec03..110f36d 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEventAny.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEventAny.page
@@ -1,25 +1,42 @@
 <?xml version="1.0"?>
 <page id="Regress.FooEventAny"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooEventAny</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+const Regress = imports.gi.Regress;
+
+let fooEventAny = new Regress.FooEventAny({
+    <link xref='Regress.FooEventAny-send_event'>send_event</link>: value
+});
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEventExpose-count.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEventExpose-count.page
new file mode 100644
index 0000000..d8ef3dc
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEventExpose-count.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.FooEventExpose-count"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.FooEventExpose" group="field" type="guide"/>
+    <title type="link" role="topic">count</title>
+  </info>
+  <title>Regress.FooEventExpose.count</title>
+  <synopsis><code mime="text/x-gjs">
+FooEventExpose.count: Number(gint) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEventExpose-send_event.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEventExpose-send_event.page
new file mode 100644
index 0000000..19d36c8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEventExpose-send_event.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.FooEventExpose-send_event"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.FooEventExpose" group="field" type="guide"/>
+    <title type="link" role="topic">send_event</title>
+  </info>
+  <title>Regress.FooEventExpose.send_event</title>
+  <synopsis><code mime="text/x-gjs">
+FooEventExpose.send_event: Number(gint8) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEventExpose.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEventExpose.page
index 0000add..4e6d7f0 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEventExpose.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEventExpose.page
@@ -1,25 +1,43 @@
 <?xml version="1.0"?>
 <page id="Regress.FooEventExpose"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooEventExpose</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+const Regress = imports.gi.Regress;
+
+let fooEventExpose = new Regress.FooEventExpose({
+    <link xref='Regress.FooEventExpose-send_event'>send_event</link>: value
+    <link xref='Regress.FooEventExpose-count'>count</link>: value
+});
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooFlagsNoType.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooFlagsNoType.page
index 53539d4..930b6d0 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooFlagsNoType.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooFlagsNoType.page
@@ -6,20 +6,9 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
   <title>Regress.FooFlagsNoType</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooFlagsType.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooFlagsType.page
index 2b4afeb..96e9759 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooFlagsType.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooFlagsType.page
@@ -6,20 +6,9 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
   <title>Regress.FooFlagsType</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooForeignStruct-regress_foo.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooForeignStruct-regress_foo.page
new file mode 100644
index 0000000..f50e634
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooForeignStruct-regress_foo.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.FooForeignStruct-regress_foo"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.FooForeignStruct" group="field" type="guide"/>
+    <title type="link" role="topic">regress_foo</title>
+  </info>
+  <title>Regress.FooForeignStruct.regress_foo</title>
+  <synopsis><code mime="text/x-gjs">
+FooForeignStruct.regress_foo: Number(gint) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooForeignStruct.copy.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooForeignStruct.copy.page
index 1a61cfb..313f3ec 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooForeignStruct.copy.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooForeignStruct.copy.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooForeignStruct" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_foo_foreign_struct_copy</api:name>
     </api:function>
-
   </info>
   <title>Regress.FooForeignStruct.prototype.copy</title>
-  
-<synopsis><code mime="text/x-gjs">
-function copy():Regress.FooForeignStruct {
+  <synopsis><code mime="text/x-gjs">
+function copy(): <link xref="Regress.FooForeignStruct">Regress.FooForeignStruct</link> {
     // Gjs wrapper for regress_foo_foreign_struct_copy()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ function copy():Regress.FooForeignStruct {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooForeignStruct.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooForeignStruct.page
index 312994a..8689226 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooForeignStruct.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooForeignStruct.page
@@ -1,25 +1,42 @@
 <?xml version="1.0"?>
 <page id="Regress.FooForeignStruct"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooForeignStruct</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+const Regress = imports.gi.Regress;
+
+let fooForeignStruct = new Regress.FooForeignStruct({
+    <link xref='Regress.FooForeignStruct-regress_foo'>regress_foo</link>: value
+});
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooInterface-do_regress_foo.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooInterface-do_regress_foo.page
index 17f6ec9..25f1709 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooInterface-do_regress_foo.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooInterface-do_regress_foo.page
@@ -6,23 +6,15 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="Regress.FooInterface" group="vfunc" type="guide"/>
-    
+    <link xref="Regress.FooInterface" group="vfunc" type="guide"/>
   </info>
   <title>Regress.FooInterface::do_regress_foo</title>
-  
-<synopsis><code mime="text/x-gjs">
-function vfunc_do_regress_foo(x:Number):void {
+  <synopsis><code mime="text/x-gjs">
+function vfunc_do_regress_foo(x: Number(gint)): void {
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>x</code></title>
@@ -30,6 +22,4 @@ function vfunc_do_regress_foo(x:Number):void {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooInterface.do_regress_foo.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooInterface.do_regress_foo.page
index 993998e..4fda50e 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooInterface.do_regress_foo.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooInterface.do_regress_foo.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooInterface" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,26 +13,19 @@
       </api:returns>
       <api:name>regress_foo_interface_do_regress_foo</api:name>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
         <api:name>x</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.FooInterface.prototype.do_regress_foo</title>
-  
-<synopsis><code mime="text/x-gjs">
-function do_regress_foo(x:Number):void {
+  <synopsis><code mime="text/x-gjs">
+function do_regress_foo(x: Number(gint)): void {
     // Gjs wrapper for regress_foo_interface_do_regress_foo()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>x</code></title>
@@ -41,6 +33,4 @@ function do_regress_foo(x:Number):void {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooInterface.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooInterface.page
index 83ae1d0..d5db2a0 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooInterface.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooInterface.page
@@ -1,39 +1,34 @@
 <?xml version="1.0"?>
 <page id="Regress.FooInterface"
       type="guide"
-      style="class"
+      style="interface"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="class" type="guide"/>
-    
+    <link xref="index" group="interface" type="guide"/>
   </info>
   <title>Regress.FooInterface</title>
-  
   <synopsis><code>
 const Regress = imports.gi.Regress;
 
 let foo_interface = new Regress.FooInterface();
   </code></synopsis>
 
-  
-    
-  
-  
-  
-  
+
   <synopsis>
-    <title>Hierarchy</title>
-    <tree>
-      <item>
-        <code>Regress.FooInterface</code>
-      </item>
-    </tree>
+    <title>Prerequisites</title>
+    <p>FooInterface requires GObject.Object</p>
+  </synopsis>
+  <synopsis>
+    <title>Known Implementations</title>
+    <p>FooInterface is implemented by FooBuffer, FooObject and FooSubobject</p>
   </synopsis>
-
-  
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-gjs"
          groups="method" style="linklist">
@@ -42,7 +37,7 @@ let foo_interface = new Regress.FooInterface();
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-gjs"
          groups="function" style="linklist">
-    <title>Functions</title>
+    <title>Static Functions</title>
   </links>
   <links type="topic" ui:expanded="true" groups="property" style="linklist">
     <title>Properties</title>
@@ -53,8 +48,10 @@ let foo_interface = new Regress.FooInterface();
   <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
     <title>Virtual functions</title>
   </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
   <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
     <title>Other</title>
   </links>
-
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooInterface.static_method.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooInterface.static_method.page
index d38a448..6915fcc 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooInterface.static_method.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooInterface.static_method.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooInterface" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,26 +13,19 @@
       </api:returns>
       <api:name>regress_foo_interface_static_method</api:name>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
         <api:name>x</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>static_method</title>
-  
-<synopsis><code mime="text/x-gjs">
-function static_method(x:Number):void {
+  <title>Regress.FooInterface.static_method</title>
+  <synopsis><code mime="text/x-gjs">
+function static_method(x: Number(gint)): void {
     // Gjs wrapper for regress_foo_interface_static_method()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>x</code></title>
@@ -41,6 +33,4 @@ function static_method(x:Number):void {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject-read_fn.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject-read_fn.page
index 4bdaf37..7c05893 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject-read_fn.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject-read_fn.page
@@ -6,34 +6,24 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="Regress.FooObject" group="vfunc" type="guide"/>
-    
+    <link xref="Regress.FooObject" group="vfunc" type="guide"/>
   </info>
   <title>Regress.FooObject::read_fn</title>
-  
-<synopsis><code mime="text/x-gjs">
-function vfunc_read_fn(offset:Number, length:Number):void {
+  <synopsis><code mime="text/x-gjs">
+function vfunc_read_fn(offset: Number(gint), length: Number(gint)): void {
 }
-</code></synopsis>
+  </code></synopsis>
+  <p>Read some stuff.</p>
 
-  
-    <p>Read some stuff.</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>offset</code></title>
-<p>offset</p>
+  <p>offset</p>
 </item>
 <item>
 <title><code>length</code></title>
-<p>length</p>
+  <p>length</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject-signal.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject-signal.page
index 6e5657d..f455012 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject-signal.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject-signal.page
@@ -6,26 +6,18 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooObject" group="signal" type="guide"/>
     <title type="link" role="topic">signal</title>
-
   </info>
   <title>Regress.FooObject::signal</title>
-  
-<synopsis><code mime="text/x-python">
-function callback(foo_object, object:GObject.Object, p0:gpointer, ):String;
-</code></synopsis>
+  <synopsis><code mime="text/x-gjs">
+connect('signal', function (fooObject, object: <link 
href="../GObject-2.0/GObject.Object.page">GObject.Object</link>, p0: void, ): String);
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
-<title><code>foo_object</code></title>
+<title><code>fooObject</code></title>
 <p>instance of <link xref="Regress.FooObject"/> that is emitting the signal</p>
 </item>
 <item>
@@ -42,6 +34,4 @@ function callback(foo_object, object:GObject.Object, p0:gpointer, ):String;
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject-string.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject-string.page
index a738fdd..47e9002 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject-string.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject-string.page
@@ -6,24 +6,13 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooObject" group="property" type="guide"/>
     <title type="link" role="topic">string</title>
-
   </info>
-  <title>Regress.FooObject:string</title>
-  
-<synopsis><code mime="text/x-python">
-"string"             String                : Read / Write / Construct
-</code></synopsis>
+  <title>Regress.FooObject.string</title>
+  <synopsis><code mime="text/x-gjs">
+FooObject.string: String (Read / Write / Construct)
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
-  
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject-virtual_method.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject-virtual_method.page
index d2ccd86..327a02d 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject-virtual_method.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject-virtual_method.page
@@ -6,23 +6,15 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="Regress.FooObject" group="vfunc" type="guide"/>
-    
+    <link xref="Regress.FooObject" group="vfunc" type="guide"/>
   </info>
   <title>Regress.FooObject::virtual_method</title>
-  
-<synopsis><code mime="text/x-gjs">
-function vfunc_virtual_method(first_param:Number):Boolean {
+  <synopsis><code mime="text/x-gjs">
+function vfunc_virtual_method(first_param: Number(gint)): Boolean {
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>first_param</code></title>
@@ -34,6 +26,4 @@ function vfunc_virtual_method(first_param:Number):Boolean {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.a_global_method.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.a_global_method.page
index 83fec18..6c3a99b 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.a_global_method.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.a_global_method.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooObject" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,22 +17,15 @@
         <api:name>obj</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>a_global_method</title>
-  
-<synopsis><code mime="text/x-gjs">
-function a_global_method(obj:Utility.Object):void {
+  <title>Regress.FooObject.a_global_method</title>
+  <synopsis><code mime="text/x-gjs">
+function a_global_method(obj: <link href="../Utility-1.0/Utility.Object.page">Utility.Object</link>): void {
     // Gjs wrapper for regress_foo_object_a_global_method()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>obj</code></title>
@@ -41,6 +33,4 @@ function a_global_method(obj:Utility.Object):void {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.append_new_stack_layer.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.append_new_stack_layer.page
index f1bfd92..9aa82be 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.append_new_stack_layer.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.append_new_stack_layer.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,26 +13,19 @@
       </api:returns>
       <api:name>regress_foo_object_append_new_stack_layer</api:name>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
         <api:name>x</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.FooObject.prototype.append_new_stack_layer</title>
-  
-<synopsis><code mime="text/x-gjs">
-function append_new_stack_layer(x:Number):Regress.FooOtherObject {
+  <synopsis><code mime="text/x-gjs">
+function append_new_stack_layer(x: Number(gint)): <link 
xref="Regress.FooOtherObject">Regress.FooOtherObject</link> {
     // Gjs wrapper for regress_foo_object_append_new_stack_layer()
 }
-</code></synopsis>
+  </code></synopsis>
+  <p>This shouldn't be scanned as a constructor.</p>
 
-  
-    <p>This shouldn't be scanned as a constructor.</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>x</code></title>
@@ -45,6 +37,4 @@ function append_new_stack_layer(x:Number):Regress.FooOtherObject {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.dup_name.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.dup_name.page
index d74f95b..83aa735 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.dup_name.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.dup_name.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_foo_object_dup_name</api:name>
     </api:function>
-
   </info>
   <title>Regress.FooObject.prototype.dup_name</title>
-  
-<synopsis><code mime="text/x-gjs">
-function dup_name():String {
+  <synopsis><code mime="text/x-gjs">
+function dup_name(): String {
     // Gjs wrapper for regress_foo_object_dup_name()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ function dup_name():String {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.external_type.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.external_type.page
index 7da1b86..9d962d1 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.external_type.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.external_type.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,29 +13,20 @@
       </api:returns>
       <api:name>regress_foo_object_external_type</api:name>
     </api:function>
-
   </info>
   <title>Regress.FooObject.prototype.external_type</title>
-  
-<synopsis><code mime="text/x-gjs">
-function external_type():Utility.Object {
+  <synopsis><code mime="text/x-gjs">
+function external_type(): <link href="../Utility-1.0/Utility.Object.page">Utility.Object</link> {
     // Gjs wrapper for regress_foo_object_external_type()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
-<p><code>null</code> always</p>
+
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.get_default.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.get_default.page
index 8ab8654..acb4b46 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.get_default.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.get_default.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooObject" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,30 +13,21 @@
       </api:returns>
       <api:name>regress_foo_object_get_default</api:name>
     </api:function>
-
   </info>
-  <title>get_default</title>
-  
-<synopsis><code mime="text/x-gjs">
-function get_default():Regress.FooSubobject {
+  <title>Regress.FooObject.get_default</title>
+  <synopsis><code mime="text/x-gjs">
+function get_default(): <link xref="Regress.FooSubobject">Regress.FooSubobject</link> {
     // Gjs wrapper for regress_foo_object_get_default()
 }
-</code></synopsis>
-
-  
-    <p>This function is intended to match clutter_stage_get_default which
+  </code></synopsis>
+  <p>This function is intended to match clutter_stage_get_default which
 uses a C sugar return type.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>Returns</code></title>
-<p>The global <link xref="Regress.FooSubobject"/></p>
+
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.get_name.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.get_name.page
index b9c69d2..00b4445 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.get_name.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.get_name.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_foo_object_get_name</api:name>
     </api:function>
-
   </info>
   <title>Regress.FooObject.prototype.get_name</title>
-  
-<synopsis><code mime="text/x-gjs">
-function get_name():String {
+  <synopsis><code mime="text/x-gjs">
+function get_name(): String {
     // Gjs wrapper for regress_foo_object_get_name()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ function get_name():String {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.handle_glyph.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.handle_glyph.page
index 3209f20..6e8b1d6 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.handle_glyph.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.handle_glyph.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,22 +17,15 @@
         <api:name>glyph</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.FooObject.prototype.handle_glyph</title>
-  
-<synopsis><code mime="text/x-gjs">
-function handle_glyph(glyph:Utility.Glyph):void {
+  <synopsis><code mime="text/x-gjs">
+function handle_glyph(glyph: <link href="../Utility-1.0/Utility.Glyph.page">Utility.Glyph</link>): void {
     // Gjs wrapper for regress_foo_object_handle_glyph()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>glyph</code></title>
@@ -41,6 +33,4 @@ function handle_glyph(glyph:Utility.Glyph):void {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.is_it_time_yet.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.is_it_time_yet.page
index f42e16b..61c1a7f 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.is_it_time_yet.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.is_it_time_yet.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,26 +13,19 @@
       </api:returns>
       <api:name>regress_foo_object_is_it_time_yet</api:name>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(glong)</api:type>
         <api:name>time</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.FooObject.prototype.is_it_time_yet</title>
-  
-<synopsis><code mime="text/x-gjs">
-function is_it_time_yet(time:Number):void {
+  <synopsis><code mime="text/x-gjs">
+function is_it_time_yet(time: Number(glong)): void {
     // Gjs wrapper for regress_foo_object_is_it_time_yet()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>time</code></title>
@@ -41,6 +33,4 @@ function is_it_time_yet(time:Number):void {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.page
index 1cbea89..723e8e8 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.page
@@ -6,27 +6,19 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="class" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooObject</title>
-  
   <synopsis><code>
 const Regress = imports.gi.Regress;
 
-let foo_object = new Regress.FooObject({
+let fooObject = new Regress.FooObject({
     <link xref='Regress.FooObject-hidden'>hidden</link>: value,
     <link xref='Regress.FooObject-string'>string</link>: value,
 });
   </code></synopsis>
 
-  
-    
-  
-  
-  
-  
+
   <synopsis>
     <title>Hierarchy</title>
     <tree>
@@ -38,8 +30,11 @@ let foo_object = new Regress.FooObject({
       </item>
     </tree>
   </synopsis>
-
-  
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-gjs"
          groups="method" style="linklist">
@@ -48,7 +43,7 @@ let foo_object = new Regress.FooObject({
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-gjs"
          groups="function" style="linklist">
-    <title>Functions</title>
+    <title>Static Functions</title>
   </links>
   <links type="topic" ui:expanded="true" groups="property" style="linklist">
     <title>Properties</title>
@@ -59,8 +54,10 @@ let foo_object = new Regress.FooObject({
   <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
     <title>Virtual functions</title>
   </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
   <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
     <title>Other</title>
   </links>
-
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.read.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.read.page
index 78bdb64..f4224db 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.read.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.read.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,41 +13,32 @@
       </api:returns>
       <api:name>regress_foo_object_read</api:name>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
         <api:name>offset</api:name>
       </api:arg>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
         <api:name>length</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.FooObject.prototype.read</title>
-  
-<synopsis><code mime="text/x-gjs">
-function read(offset:Number, length:Number):void {
+  <synopsis><code mime="text/x-gjs">
+function read(offset: Number(gint), length: Number(gint)): void {
     // Gjs wrapper for regress_foo_object_read()
 }
-</code></synopsis>
+  </code></synopsis>
+  <p>Read some stuff.</p>
 
-  
-    <p>Read some stuff.</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>offset</code></title>
-<p>offset</p>
+  <p>offset</p>
 </item>
 <item>
 <title><code>length</code></title>
-<p>length</p>
+  <p>length</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.static_meth.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.static_meth.page
index c4c1045..fe9c952 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.static_meth.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.static_meth.page
@@ -6,30 +6,22 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooObject" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
       </api:returns>
       <api:name>regress_foo_object_static_meth</api:name>
     </api:function>
-
   </info>
-  <title>static_meth</title>
-  
-<synopsis><code mime="text/x-gjs">
-function static_meth():Number {
+  <title>Regress.FooObject.static_meth</title>
+  <synopsis><code mime="text/x-gjs">
+function static_meth(): Number(gint) {
     // Gjs wrapper for regress_foo_object_static_meth()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ function static_meth():Number {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.various.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.various.page
index 1f50921..f16c04d 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.various.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.various.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,30 +13,23 @@
       </api:returns>
       <api:name>regress_foo_object_various</api:name>
       <api:arg>
-        <api:type>gpointer</api:type>
+        <api:type>void</api:type>
         <api:name>data</api:name>
       </api:arg>
       <api:arg>
-        <api:type>GType</api:type>
+        <api:type>GObject.Type</api:type>
         <api:name>some_type</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.FooObject.prototype.various</title>
-  
-<synopsis><code mime="text/x-gjs">
-function various(data:gpointer, some_type:GType):void {
+  <synopsis><code mime="text/x-gjs">
+function various(data: void, some_type: GObject.Type): void {
     // Gjs wrapper for regress_foo_object_various()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>data</code></title>
@@ -49,6 +41,4 @@ function various(data:gpointer, some_type:GType):void {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.virtual_method.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.virtual_method.page
index 3467ca2..df24439 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.virtual_method.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.virtual_method.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,37 +13,28 @@
       </api:returns>
       <api:name>regress_foo_object_virtual_method</api:name>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
         <api:name>first_param</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.FooObject.prototype.virtual_method</title>
-  
-<synopsis><code mime="text/x-gjs">
-function virtual_method(first_param:Number):Boolean {
+  <synopsis><code mime="text/x-gjs">
+function virtual_method(first_param: Number(gint)): Boolean {
     // Gjs wrapper for regress_foo_object_virtual_method()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>first_param</code></title>
 
 </item>
 <item>
-<title><code>Returns</code></title>
+<title><code>ok</code></title>
 
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObjectCookie.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObjectCookie.page
index 44a63ab..fecc554 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObjectCookie.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObjectCookie.page
@@ -6,20 +6,9 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
   <title>Regress.FooObjectCookie</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooOtherObject.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooOtherObject.page
index 0916a44..524f761 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooOtherObject.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooOtherObject.page
@@ -6,24 +6,16 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="class" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooOtherObject</title>
-  
   <synopsis><code>
 const Regress = imports.gi.Regress;
 
-let foo_other_object = new Regress.FooOtherObject();
+let fooOtherObject = new Regress.FooOtherObject();
   </code></synopsis>
 
-  
-    
-  
-  
-  
-  
+
   <synopsis>
     <title>Hierarchy</title>
     <tree>
@@ -35,8 +27,11 @@ let foo_other_object = new Regress.FooOtherObject();
       </item>
     </tree>
   </synopsis>
-
-  
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-gjs"
          groups="method" style="linklist">
@@ -45,7 +40,7 @@ let foo_other_object = new Regress.FooOtherObject();
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-gjs"
          groups="function" style="linklist">
-    <title>Functions</title>
+    <title>Static Functions</title>
   </links>
   <links type="topic" ui:expanded="true" groups="property" style="linklist">
     <title>Properties</title>
@@ -56,8 +51,10 @@ let foo_other_object = new Regress.FooOtherObject();
   <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
     <title>Virtual functions</title>
   </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
   <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
     <title>Other</title>
   </links>
-
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooRectangle-height.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooRectangle-height.page
new file mode 100644
index 0000000..bd583c7
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooRectangle-height.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.FooRectangle-height"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.FooRectangle" group="field" type="guide"/>
+    <title type="link" role="topic">height</title>
+  </info>
+  <title>Regress.FooRectangle.height</title>
+  <synopsis><code mime="text/x-gjs">
+FooRectangle.height: Number(gint) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooRectangle-width.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooRectangle-width.page
new file mode 100644
index 0000000..bc3d3de
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooRectangle-width.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.FooRectangle-width"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.FooRectangle" group="field" type="guide"/>
+    <title type="link" role="topic">width</title>
+  </info>
+  <title>Regress.FooRectangle.width</title>
+  <synopsis><code mime="text/x-gjs">
+FooRectangle.width: Number(gint) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooRectangle-x.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooRectangle-x.page
new file mode 100644
index 0000000..5e2c251
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooRectangle-x.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.FooRectangle-x"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.FooRectangle" group="field" type="guide"/>
+    <title type="link" role="topic">x</title>
+  </info>
+  <title>Regress.FooRectangle.x</title>
+  <synopsis><code mime="text/x-gjs">
+FooRectangle.x: Number(gint) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooRectangle-y.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooRectangle-y.page
new file mode 100644
index 0000000..5096547
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooRectangle-y.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.FooRectangle-y"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.FooRectangle" group="field" type="guide"/>
+    <title type="link" role="topic">y</title>
+  </info>
+  <title>Regress.FooRectangle.y</title>
+  <synopsis><code mime="text/x-gjs">
+FooRectangle.y: Number(gint) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooRectangle.add.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooRectangle.add.page
index 276450e..a3978c4 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooRectangle.add.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooRectangle.add.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooRectangle" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,29 +17,20 @@
         <api:name>r2</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.FooRectangle.prototype.add</title>
-  
-<synopsis><code mime="text/x-gjs">
-function add(r2:Regress.FooRectangle):void {
+  <synopsis><code mime="text/x-gjs">
+function add(r2: <link xref="Regress.FooRectangle">Regress.FooRectangle</link>): void {
     // Gjs wrapper for regress_foo_rectangle_add()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>r2</code></title>
-<p>source rectangle</p>
+  <p>source rectangle</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooRectangle.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooRectangle.page
index 0cfef62..0b6e46d 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooRectangle.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooRectangle.page
@@ -1,25 +1,45 @@
 <?xml version="1.0"?>
 <page id="Regress.FooRectangle"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooRectangle</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+const Regress = imports.gi.Regress;
+
+let fooRectangle = new Regress.FooRectangle({
+    <link xref='Regress.FooRectangle-x'>x</link>: value
+    <link xref='Regress.FooRectangle-y'>y</link>: value
+    <link xref='Regress.FooRectangle-width'>width</link>: value
+    <link xref='Regress.FooRectangle-height'>height</link>: value
+});
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooStackLayer.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooStackLayer.page
index 8a08c9a..bb6bc51 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooStackLayer.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooStackLayer.page
@@ -6,19 +6,11 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="enum" type="guide"/>
-    
+    <link xref="index" group="enum" type="guide"/>
   </info>
   <title>Regress.FooStackLayer</title>
-  
-  
-  
-    
-  
-  
-  
-  
+
+
 <terms>
 <item>
 <title><code>FooStackLayer.DESKTOP</code></title>
@@ -58,6 +50,4 @@
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooStruct-member.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooStruct-member.page
new file mode 100644
index 0000000..5a2946e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooStruct-member.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.FooStruct-member"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.FooStruct" group="field" type="guide"/>
+    <title type="link" role="topic">member</title>
+  </info>
+  <title>Regress.FooStruct.member</title>
+  <synopsis><code mime="text/x-gjs">
+FooStruct.member: Number(gint) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooStruct-priv.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooStruct-priv.page
new file mode 100644
index 0000000..665bf16
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooStruct-priv.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.FooStruct-priv"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.FooStruct" group="field" type="guide"/>
+    <title type="link" role="topic">priv</title>
+  </info>
+  <title>Regress.FooStruct.priv</title>
+  <synopsis><code mime="text/x-gjs">
+FooStruct.priv: <link xref="Regress.FooStructPrivate">Regress.FooStructPrivate</link> (Read)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooStruct.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooStruct.page
index 84f5d19..0571517 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooStruct.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooStruct.page
@@ -1,25 +1,42 @@
 <?xml version="1.0"?>
 <page id="Regress.FooStruct"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooStruct</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+const Regress = imports.gi.Regress;
+
+let fooStruct = new Regress.FooStruct({
+    <link xref='Regress.FooStruct-member'>member</link>: value
+});
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface-destroy-event.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface-destroy-event.page
index 961a22e..7f3f1f8 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface-destroy-event.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface-destroy-event.page
@@ -6,30 +6,20 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooSubInterface" group="signal" type="guide"/>
     <title type="link" role="topic">destroy-event</title>
-
   </info>
   <title>Regress.FooSubInterface::destroy-event</title>
-  
-<synopsis><code mime="text/x-python">
-function callback(foo_sub_interface, ):void;
-</code></synopsis>
+  <synopsis><code mime="text/x-gjs">
+connect('destroy-event', function (fooSubInterface, ): void);
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
-<title><code>foo_sub_interface</code></title>
+<title><code>fooSubInterface</code></title>
 <p>instance of <link xref="Regress.FooSubInterface"/> that is emitting the signal</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface-destroy_event.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface-destroy_event.page
index 5abc585..0433a7f 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface-destroy_event.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface-destroy_event.page
@@ -6,26 +6,16 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="Regress.FooSubInterface" group="vfunc" type="guide"/>
-    
+    <link xref="Regress.FooSubInterface" group="vfunc" type="guide"/>
   </info>
   <title>Regress.FooSubInterface::destroy_event</title>
-  
-<synopsis><code mime="text/x-gjs">
-function vfunc_destroy_event():void {
+  <synopsis><code mime="text/x-gjs">
+function vfunc_destroy_event(): void {
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface-do_bar.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface-do_bar.page
index 8164924..90b6bf4 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface-do_bar.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface-do_bar.page
@@ -6,26 +6,16 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="Regress.FooSubInterface" group="vfunc" type="guide"/>
-    
+    <link xref="Regress.FooSubInterface" group="vfunc" type="guide"/>
   </info>
   <title>Regress.FooSubInterface::do_bar</title>
-  
-<synopsis><code mime="text/x-gjs">
-function vfunc_do_bar():void {
+  <synopsis><code mime="text/x-gjs">
+function vfunc_do_bar(): void {
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface-do_baz.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface-do_baz.page
index 4945c89..51e2366 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface-do_baz.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface-do_baz.page
@@ -6,23 +6,15 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="Regress.FooSubInterface" group="vfunc" type="guide"/>
-    
+    <link xref="Regress.FooSubInterface" group="vfunc" type="guide"/>
   </info>
   <title>Regress.FooSubInterface::do_baz</title>
-  
-<synopsis><code mime="text/x-gjs">
-function vfunc_do_baz(callback:GObject.Callback):void {
+  <synopsis><code mime="text/x-gjs">
+function vfunc_do_baz(callback: <link href="../GObject-2.0/GObject.Callback.page">GObject.Callback</link>): 
void {
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>callback</code></title>
@@ -30,6 +22,4 @@ function vfunc_do_baz(callback:GObject.Callback):void {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface.do_bar.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface.do_bar.page
index a258a3e..aad9cf4 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface.do_bar.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface.do_bar.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooSubInterface" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,25 +13,14 @@
       </api:returns>
       <api:name>regress_foo_sub_interface_do_bar</api:name>
     </api:function>
-
   </info>
   <title>Regress.FooSubInterface.prototype.do_bar</title>
-  
-<synopsis><code mime="text/x-gjs">
-function do_bar():void {
+  <synopsis><code mime="text/x-gjs">
+function do_bar(): void {
     // Gjs wrapper for regress_foo_sub_interface_do_bar()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
-<terms>
-</terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface.do_baz.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface.do_baz.page
index b55a8d7..7f07e00 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface.do_baz.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface.do_baz.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooSubInterface" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,22 +17,15 @@
         <api:name>callback</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.FooSubInterface.prototype.do_baz</title>
-  
-<synopsis><code mime="text/x-gjs">
-function do_baz(callback:GObject.Callback):void {
+  <synopsis><code mime="text/x-gjs">
+function do_baz(callback: <link href="../GObject-2.0/GObject.Callback.page">GObject.Callback</link>): void {
     // Gjs wrapper for regress_foo_sub_interface_do_baz()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>callback</code></title>
@@ -41,6 +33,4 @@ function do_baz(callback:GObject.Callback):void {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface.page
index 0694e3d..eae9fbd 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface.page
@@ -1,39 +1,34 @@
 <?xml version="1.0"?>
 <page id="Regress.FooSubInterface"
       type="guide"
-      style="class"
+      style="interface"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="class" type="guide"/>
-    
+    <link xref="index" group="interface" type="guide"/>
   </info>
   <title>Regress.FooSubInterface</title>
-  
   <synopsis><code>
 const Regress = imports.gi.Regress;
 
 let foo_sub_interface = new Regress.FooSubInterface();
   </code></synopsis>
 
-  
-    
-  
-  
-  
-  
+
   <synopsis>
-    <title>Hierarchy</title>
-    <tree>
-      <item>
-        <code>Regress.FooSubInterface</code>
-      </item>
-    </tree>
+    <title>Prerequisites</title>
+    <p>FooSubInterface requires Regress.FooInterface</p>
+  </synopsis>
+  <synopsis>
+    <title>Known Implementations</title>
+    <p>None</p>
   </synopsis>
-
-  
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-gjs"
          groups="method" style="linklist">
@@ -42,7 +37,7 @@ let foo_sub_interface = new Regress.FooSubInterface();
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-gjs"
          groups="function" style="linklist">
-    <title>Functions</title>
+    <title>Static Functions</title>
   </links>
   <links type="topic" ui:expanded="true" groups="property" style="linklist">
     <title>Properties</title>
@@ -53,8 +48,10 @@ let foo_sub_interface = new Regress.FooSubInterface();
   <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
     <title>Virtual functions</title>
   </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
   <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
     <title>Other</title>
   </links>
-
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubobject.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubobject.page
index f9cac64..3936b17 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubobject.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubobject.page
@@ -6,24 +6,16 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="class" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooSubobject</title>
-  
   <synopsis><code>
 const Regress = imports.gi.Regress;
 
-let foo_subobject = new Regress.FooSubobject();
+let fooSubobject = new Regress.FooSubobject();
   </code></synopsis>
 
-  
-    
-  
-  
-  
-  
+
   <synopsis>
     <title>Hierarchy</title>
     <tree>
@@ -38,8 +30,11 @@ let foo_subobject = new Regress.FooSubobject();
       </item>
     </tree>
   </synopsis>
-
-  
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-gjs"
          groups="method" style="linklist">
@@ -48,7 +43,7 @@ let foo_subobject = new Regress.FooSubobject();
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-gjs"
          groups="function" style="linklist">
-    <title>Functions</title>
+    <title>Static Functions</title>
   </links>
   <links type="topic" ui:expanded="true" groups="property" style="linklist">
     <title>Properties</title>
@@ -59,8 +54,10 @@ let foo_subobject = new Regress.FooSubobject();
   <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
     <title>Virtual functions</title>
   </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
   <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
     <title>Other</title>
   </links>
-
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooThingWithArray-data.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooThingWithArray-data.page
new file mode 100644
index 0000000..ba23b2f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooThingWithArray-data.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.FooThingWithArray-data"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.FooThingWithArray" group="field" type="guide"/>
+    <title type="link" role="topic">data</title>
+  </info>
+  <title>Regress.FooThingWithArray.data</title>
+  <synopsis><code mime="text/x-gjs">
+FooThingWithArray.data: Number(guint8) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooThingWithArray-lines.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooThingWithArray-lines.page
new file mode 100644
index 0000000..0ff4621
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooThingWithArray-lines.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.FooThingWithArray-lines"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.FooThingWithArray" group="field" type="guide"/>
+    <title type="link" role="topic">lines</title>
+  </info>
+  <title>Regress.FooThingWithArray.lines</title>
+  <synopsis><code mime="text/x-gjs">
+FooThingWithArray.lines: Array(Number(gchar)) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooThingWithArray-x.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooThingWithArray-x.page
new file mode 100644
index 0000000..bae7f5a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooThingWithArray-x.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.FooThingWithArray-x"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.FooThingWithArray" group="field" type="guide"/>
+    <title type="link" role="topic">x</title>
+  </info>
+  <title>Regress.FooThingWithArray.x</title>
+  <synopsis><code mime="text/x-gjs">
+FooThingWithArray.x: Number(gint) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooThingWithArray-y.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooThingWithArray-y.page
new file mode 100644
index 0000000..c1812ca
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooThingWithArray-y.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.FooThingWithArray-y"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.FooThingWithArray" group="field" type="guide"/>
+    <title type="link" role="topic">y</title>
+  </info>
+  <title>Regress.FooThingWithArray.y</title>
+  <synopsis><code mime="text/x-gjs">
+FooThingWithArray.y: Number(gint) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooThingWithArray.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooThingWithArray.page
index 430dce7..2254edc 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooThingWithArray.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooThingWithArray.page
@@ -1,25 +1,45 @@
 <?xml version="1.0"?>
 <page id="Regress.FooThingWithArray"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooThingWithArray</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+const Regress = imports.gi.Regress;
+
+let fooThingWithArray = new Regress.FooThingWithArray({
+    <link xref='Regress.FooThingWithArray-x'>x</link>: value
+    <link xref='Regress.FooThingWithArray-y'>y</link>: value
+    <link xref='Regress.FooThingWithArray-lines'>lines</link>: value
+    <link xref='Regress.FooThingWithArray-data'>data</link>: value
+});
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooUnion-regress_foo.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooUnion-regress_foo.page
new file mode 100644
index 0000000..2107a55
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooUnion-regress_foo.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.FooUnion-regress_foo"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.FooUnion" group="field" type="guide"/>
+    <title type="link" role="topic">regress_foo</title>
+  </info>
+  <title>Regress.FooUnion.regress_foo</title>
+  <synopsis><code mime="text/x-gjs">
+FooUnion.regress_foo: Number(gint) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooUnion.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooUnion.page
index 9746f17..9765253 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooUnion.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooUnion.page
@@ -1,25 +1,42 @@
 <?xml version="1.0"?>
 <page id="Regress.FooUnion"
-      type="topic"
-      style="default"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooUnion</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+const Regress = imports.gi.Regress;
+
+let fooUnion = new Regress.FooUnion({
+    <link xref='Regress.FooUnion-regress_foo'>regress_foo</link>: value
+});
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooUtilityStruct-bar.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooUtilityStruct-bar.page
new file mode 100644
index 0000000..5dca969
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooUtilityStruct-bar.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.FooUtilityStruct-bar"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.FooUtilityStruct" group="field" type="guide"/>
+    <title type="link" role="topic">bar</title>
+  </info>
+  <title>Regress.FooUtilityStruct.bar</title>
+  <synopsis><code mime="text/x-gjs">
+FooUtilityStruct.bar: <link href="../Utility-1.0/Utility.Struct.page">Utility.Struct</link> (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooUtilityStruct.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooUtilityStruct.page
index 2b94f69..6d6b633 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooUtilityStruct.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooUtilityStruct.page
@@ -1,25 +1,42 @@
 <?xml version="1.0"?>
 <page id="Regress.FooUtilityStruct"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooUtilityStruct</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+const Regress = imports.gi.Regress;
+
+let fooUtilityStruct = new Regress.FooUtilityStruct({
+    <link xref='Regress.FooUtilityStruct-bar'>bar</link>: value
+});
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooXEvent.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooXEvent.page
index c389ef0..19bee42 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooXEvent.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooXEvent.page
@@ -6,20 +6,9 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
   <title>Regress.FooXEvent</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.GI_SCANNER_ELSE.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Gjs-expected/Regress.GI_SCANNER_ELSE.page
index 6dc17b3..e9876e0 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.GI_SCANNER_ELSE.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.GI_SCANNER_ELSE"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.GI_SCANNER_ELSE</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.GI_SCANNER_IFDEF.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Gjs-expected/Regress.GI_SCANNER_IFDEF.page
index 6dc17b3..bfef183 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.GI_SCANNER_IFDEF.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.GI_SCANNER_IFDEF"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.GI_SCANNER_IFDEF</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.GUINT64_CONSTANT.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Gjs-expected/Regress.GUINT64_CONSTANT.page
index 6dc17b3..8c16dd2 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.GUINT64_CONSTANT.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.GUINT64_CONSTANT"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.GUINT64_CONSTANT</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.GUINT64_CONSTANTA.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Gjs-expected/Regress.GUINT64_CONSTANTA.page
index 6dc17b3..3b0d6f1 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.GUINT64_CONSTANTA.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.GUINT64_CONSTANTA"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.GUINT64_CONSTANTA</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.G_GINT64_CONSTANT.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Gjs-expected/Regress.G_GINT64_CONSTANT.page
index 6dc17b3..cdce607 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.G_GINT64_CONSTANT.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.G_GINT64_CONSTANT"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.G_GINT64_CONSTANT</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.INT_CONSTANT.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Gjs-expected/Regress.INT_CONSTANT.page
index 6dc17b3..e0512ab 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.INT_CONSTANT.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.INT_CONSTANT"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.INT_CONSTANT</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.LONG_STRING_CONSTANT.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Gjs-expected/Regress.LONG_STRING_CONSTANT.page
index 6dc17b3..85fe96e 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.LONG_STRING_CONSTANT.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.LONG_STRING_CONSTANT"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.LONG_STRING_CONSTANT</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.LikeGnomeKeyringPasswordSchema-attributes.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.LikeGnomeKeyringPasswordSchema-attributes.page
new file mode 100644
index 0000000..1a9e2de
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.LikeGnomeKeyringPasswordSchema-attributes.page
@@ -0,0 +1,20 @@
+<?xml version="1.0"?>
+<page id="Regress.LikeGnomeKeyringPasswordSchema-attributes"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.LikeGnomeKeyringPasswordSchema"
+      group="field"
+      type="guide"/>
+    <title type="link" role="topic">attributes</title>
+  </info>
+  <title>Regress.LikeGnomeKeyringPasswordSchema.attributes</title>
+  <synopsis><code mime="text/x-gjs">
+LikeGnomeKeyringPasswordSchema.attributes: Array(void) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.LikeGnomeKeyringPasswordSchema-dummy.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.LikeGnomeKeyringPasswordSchema-dummy.page
new file mode 100644
index 0000000..bcca817
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.LikeGnomeKeyringPasswordSchema-dummy.page
@@ -0,0 +1,20 @@
+<?xml version="1.0"?>
+<page id="Regress.LikeGnomeKeyringPasswordSchema-dummy"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.LikeGnomeKeyringPasswordSchema"
+      group="field"
+      type="guide"/>
+    <title type="link" role="topic">dummy</title>
+  </info>
+  <title>Regress.LikeGnomeKeyringPasswordSchema.dummy</title>
+  <synopsis><code mime="text/x-gjs">
+LikeGnomeKeyringPasswordSchema.dummy: Number(gint) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.LikeGnomeKeyringPasswordSchema-dummy2.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.LikeGnomeKeyringPasswordSchema-dummy2.page
new file mode 100644
index 0000000..4d64ad8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.LikeGnomeKeyringPasswordSchema-dummy2.page
@@ -0,0 +1,20 @@
+<?xml version="1.0"?>
+<page id="Regress.LikeGnomeKeyringPasswordSchema-dummy2"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.LikeGnomeKeyringPasswordSchema"
+      group="field"
+      type="guide"/>
+    <title type="link" role="topic">dummy2</title>
+  </info>
+  <title>Regress.LikeGnomeKeyringPasswordSchema.dummy2</title>
+  <synopsis><code mime="text/x-gjs">
+LikeGnomeKeyringPasswordSchema.dummy2: Number(gdouble) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.LikeGnomeKeyringPasswordSchema.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.LikeGnomeKeyringPasswordSchema.page
index 44a946e..fc44fcc 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.LikeGnomeKeyringPasswordSchema.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.LikeGnomeKeyringPasswordSchema.page
@@ -1,25 +1,44 @@
 <?xml version="1.0"?>
 <page id="Regress.LikeGnomeKeyringPasswordSchema"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.LikeGnomeKeyringPasswordSchema</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+const Regress = imports.gi.Regress;
+
+let likeGnomeKeyringPasswordSchema = new Regress.LikeGnomeKeyringPasswordSchema({
+    <link xref='Regress.LikeGnomeKeyringPasswordSchema-dummy'>dummy</link>: value
+    <link xref='Regress.LikeGnomeKeyringPasswordSchema-attributes'>attributes</link>: value
+    <link xref='Regress.LikeGnomeKeyringPasswordSchema-dummy2'>dummy2</link>: value
+});
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.LikeXklConfigItem-name.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.LikeXklConfigItem-name.page
new file mode 100644
index 0000000..bf777c8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.LikeXklConfigItem-name.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.LikeXklConfigItem-name"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.LikeXklConfigItem" group="field" type="guide"/>
+    <title type="link" role="topic">name</title>
+  </info>
+  <title>Regress.LikeXklConfigItem.name</title>
+  <synopsis><code mime="text/x-gjs">
+LikeXklConfigItem.name: Array(Number(gchar)) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.LikeXklConfigItem.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.LikeXklConfigItem.page
index fb4831f..5399d10 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.LikeXklConfigItem.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.LikeXklConfigItem.page
@@ -1,25 +1,42 @@
 <?xml version="1.0"?>
 <page id="Regress.LikeXklConfigItem"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.LikeXklConfigItem</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+const Regress = imports.gi.Regress;
+
+let likeXklConfigItem = new Regress.LikeXklConfigItem({
+    <link xref='Regress.LikeXklConfigItem-name'>name</link>: value
+});
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.LikeXklConfigItem.set_name.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.LikeXklConfigItem.set_name.page
index f81bc5d..2e0b9e8 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.LikeXklConfigItem.set_name.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.LikeXklConfigItem.set_name.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.LikeXklConfigItem" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,22 +17,15 @@
         <api:name>name</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.LikeXklConfigItem.prototype.set_name</title>
-  
-<synopsis><code mime="text/x-gjs">
-function set_name(name:String):void {
+  <synopsis><code mime="text/x-gjs">
+function set_name(name: String): void {
     // Gjs wrapper for regress_like_xkl_config_item_set_name()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>name</code></title>
@@ -41,6 +33,4 @@ function set_name(name:String):void {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.MAXUINT64.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Gjs-expected/Regress.MAXUINT64.page
index 6dc17b3..91d7ce5 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.MAXUINT64.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.MAXUINT64"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.MAXUINT64</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.MININT64.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Gjs-expected/Regress.MININT64.page
index 6dc17b3..1531540 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.MININT64.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.MININT64"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.MININT64</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.Mixed_Case_Constant.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Gjs-expected/Regress.Mixed_Case_Constant.page
index 6dc17b3..29e7314 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.Mixed_Case_Constant.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.Mixed_Case_Constant"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.Mixed_Case_Constant</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.NEGATIVE_INT_CONSTANT.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Gjs-expected/Regress.NEGATIVE_INT_CONSTANT.page
index 6dc17b3..a0aad76 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.NEGATIVE_INT_CONSTANT.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.NEGATIVE_INT_CONSTANT"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.NEGATIVE_INT_CONSTANT</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.PtrArrayAlias.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.PtrArrayAlias.page
index f66aee4..1acd4d2 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.PtrArrayAlias.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.PtrArrayAlias.page
@@ -6,20 +6,9 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
   <title>Regress.PtrArrayAlias</title>
-  
-  
-  
-    <p>Typedef'd GPtrArray for some reason</p>
-  
-  
-  
-  
-  
-  
-  
+  <p>Typedef'd GPtrArray for some reason</p>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.STRING_CONSTANT.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Gjs-expected/Regress.STRING_CONSTANT.page
index 6dc17b3..be1d6e1 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.STRING_CONSTANT.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.STRING_CONSTANT"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.STRING_CONSTANT</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestABCError.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestABCError.page
index f31b58e..9ab2189 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestABCError.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestABCError.page
@@ -6,19 +6,11 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="enum" type="guide"/>
-    
+    <link xref="index" group="enum" type="guide"/>
   </info>
   <title>Regress.TestABCError</title>
-  
-  
-  
-    
-  
-  
-  
-  
+
+
 <terms>
 <item>
 <title><code>TestABCError.CODE1</code></title>
@@ -34,6 +26,4 @@
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestABCError.quark.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestABCError.quark.page
index 72f9adc..c9c560d 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestABCError.quark.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestABCError.quark.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_abc_error_quark</api:name>
     </api:function>
-
   </info>
-  <title>quark</title>
-  
-<synopsis><code mime="text/x-gjs">
-function quark():GLib.Quark {
+  <title>Regress.quark</title>
+  <synopsis><code mime="text/x-gjs">
+function quark(): <link href="../GLib-2.0/GLib.Quark.page">GLib.Quark</link> {
     // Gjs wrapper for regress_test_abc_error_quark()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ function quark():GLib.Quark {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed-nested_a.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed-nested_a.page
new file mode 100644
index 0000000..856aa6f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed-nested_a.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.TestBoxed-nested_a"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestBoxed" group="field" type="guide"/>
+    <title type="link" role="topic">nested_a</title>
+  </info>
+  <title>Regress.TestBoxed.nested_a</title>
+  <synopsis><code mime="text/x-gjs">
+TestBoxed.nested_a: <link xref="Regress.TestSimpleBoxedA">Regress.TestSimpleBoxedA</link> (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed-priv.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed-priv.page
new file mode 100644
index 0000000..54bf659
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed-priv.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.TestBoxed-priv"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestBoxed" group="field" type="guide"/>
+    <title type="link" role="topic">priv</title>
+  </info>
+  <title>Regress.TestBoxed.priv</title>
+  <synopsis><code mime="text/x-gjs">
+TestBoxed.priv: <link xref="Regress.TestBoxedPrivate">Regress.TestBoxedPrivate</link> (Read)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed-some_int8.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed-some_int8.page
new file mode 100644
index 0000000..226cf95
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed-some_int8.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.TestBoxed-some_int8"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestBoxed" group="field" type="guide"/>
+    <title type="link" role="topic">some_int8</title>
+  </info>
+  <title>Regress.TestBoxed.some_int8</title>
+  <synopsis><code mime="text/x-gjs">
+TestBoxed.some_int8: Number(gint8) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.copy.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.copy.page
index 751ce88..0aee5d0 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.copy.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.copy.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestBoxed" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_boxed_copy</api:name>
     </api:function>
-
   </info>
   <title>Regress.TestBoxed.prototype.copy</title>
-  
-<synopsis><code mime="text/x-gjs">
-function copy():Regress.TestBoxed {
+  <synopsis><code mime="text/x-gjs">
+function copy(): <link xref="Regress.TestBoxed">Regress.TestBoxed</link> {
     // Gjs wrapper for regress_test_boxed_copy()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ function copy():Regress.TestBoxed {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.equals.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.equals.page
index 5c23da2..063c241 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.equals.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.equals.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestBoxed" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,33 +17,24 @@
         <api:name>other</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestBoxed.prototype.equals</title>
-  
-<synopsis><code mime="text/x-gjs">
-function equals(other:Regress.TestBoxed):Boolean {
+  <synopsis><code mime="text/x-gjs">
+function equals(other: <link xref="Regress.TestBoxed">Regress.TestBoxed</link>): Boolean {
     // Gjs wrapper for regress_test_boxed_equals()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>other</code></title>
 
 </item>
 <item>
-<title><code>Returns</code></title>
+<title><code>ok</code></title>
 
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.new_alternative_constructor1.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.new_alternative_constructor1.page
index 801bad2..baf1bd7 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.new_alternative_constructor1.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.new_alternative_constructor1.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestBoxed" group="constructor" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,26 +13,19 @@
       </api:returns>
       <api:name>regress_test_boxed_new_alternative_constructor1</api:name>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
         <api:name>i</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestBoxed.new_alternative_constructor1</title>
-  
-<synopsis><code mime="text/x-gjs">
-function new_alternative_constructor1(i:Number):Regress.TestBoxed {
+  <synopsis><code mime="text/x-gjs">
+function new_alternative_constructor1(i: Number(gint)): <link 
xref="Regress.TestBoxed">Regress.TestBoxed</link> {
     // Gjs wrapper for regress_test_boxed_new_alternative_constructor1()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>i</code></title>
@@ -45,6 +37,4 @@ function new_alternative_constructor1(i:Number):Regress.TestBoxed {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.new_alternative_constructor2.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.new_alternative_constructor2.page
index 23fa672..eeb5c3c 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.new_alternative_constructor2.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.new_alternative_constructor2.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestBoxed" group="constructor" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,30 +13,23 @@
       </api:returns>
       <api:name>regress_test_boxed_new_alternative_constructor2</api:name>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
         <api:name>i</api:name>
       </api:arg>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
         <api:name>j</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestBoxed.new_alternative_constructor2</title>
-  
-<synopsis><code mime="text/x-gjs">
-function new_alternative_constructor2(i:Number, j:Number):Regress.TestBoxed {
+  <synopsis><code mime="text/x-gjs">
+function new_alternative_constructor2(i: Number(gint), j: Number(gint)): <link 
xref="Regress.TestBoxed">Regress.TestBoxed</link> {
     // Gjs wrapper for regress_test_boxed_new_alternative_constructor2()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>i</code></title>
@@ -53,6 +45,4 @@ function new_alternative_constructor2(i:Number, j:Number):Regress.TestBoxed {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.new_alternative_constructor3.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.new_alternative_constructor3.page
index 8f0c2d2..55b17a5 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.new_alternative_constructor3.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.new_alternative_constructor3.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestBoxed" group="constructor" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,22 +17,15 @@
         <api:name>s</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestBoxed.new_alternative_constructor3</title>
-  
-<synopsis><code mime="text/x-gjs">
-function new_alternative_constructor3(s:String):Regress.TestBoxed {
+  <synopsis><code mime="text/x-gjs">
+function new_alternative_constructor3(s: String): <link xref="Regress.TestBoxed">Regress.TestBoxed</link> {
     // Gjs wrapper for regress_test_boxed_new_alternative_constructor3()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>s</code></title>
@@ -45,6 +37,4 @@ function new_alternative_constructor3(s:String):Regress.TestBoxed {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.page
index baa423f..d3e41a6 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.page
@@ -1,25 +1,43 @@
 <?xml version="1.0"?>
 <page id="Regress.TestBoxed"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestBoxed</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+const Regress = imports.gi.Regress;
+
+let testBoxed = new Regress.TestBoxed({
+    <link xref='Regress.TestBoxed-some_int8'>some_int8</link>: value
+    <link xref='Regress.TestBoxed-nested_a'>nested_a</link>: value
+});
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedB-some_int8.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedB-some_int8.page
new file mode 100644
index 0000000..ff167f0
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedB-some_int8.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.TestBoxedB-some_int8"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestBoxedB" group="field" type="guide"/>
+    <title type="link" role="topic">some_int8</title>
+  </info>
+  <title>Regress.TestBoxedB.some_int8</title>
+  <synopsis><code mime="text/x-gjs">
+TestBoxedB.some_int8: Number(gint8) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedB-some_long.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedB-some_long.page
new file mode 100644
index 0000000..8d48a34
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedB-some_long.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.TestBoxedB-some_long"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestBoxedB" group="field" type="guide"/>
+    <title type="link" role="topic">some_long</title>
+  </info>
+  <title>Regress.TestBoxedB.some_long</title>
+  <synopsis><code mime="text/x-gjs">
+TestBoxedB.some_long: Number(glong) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedB.copy.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedB.copy.page
index 06bccc8..ecf95e3 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedB.copy.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedB.copy.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestBoxedB" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_boxed_b_copy</api:name>
     </api:function>
-
   </info>
   <title>Regress.TestBoxedB.prototype.copy</title>
-  
-<synopsis><code mime="text/x-gjs">
-function copy():Regress.TestBoxedB {
+  <synopsis><code mime="text/x-gjs">
+function copy(): <link xref="Regress.TestBoxedB">Regress.TestBoxedB</link> {
     // Gjs wrapper for regress_test_boxed_b_copy()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ function copy():Regress.TestBoxedB {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedB.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedB.page
index 0e39780..a8a1240 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedB.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedB.page
@@ -1,25 +1,43 @@
 <?xml version="1.0"?>
 <page id="Regress.TestBoxedB"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestBoxedB</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+const Regress = imports.gi.Regress;
+
+let testBoxedB = new Regress.TestBoxedB({
+    <link xref='Regress.TestBoxedB-some_int8'>some_int8</link>: value
+    <link xref='Regress.TestBoxedB-some_long'>some_long</link>: value
+});
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedC-another_thing.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedC-another_thing.page
new file mode 100644
index 0000000..1fdb39b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedC-another_thing.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.TestBoxedC-another_thing"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestBoxedC" group="field" type="guide"/>
+    <title type="link" role="topic">another_thing</title>
+  </info>
+  <title>Regress.TestBoxedC.another_thing</title>
+  <synopsis><code mime="text/x-gjs">
+TestBoxedC.another_thing: Number(guint) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedC-refcount.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedC-refcount.page
new file mode 100644
index 0000000..b78ee29
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedC-refcount.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.TestBoxedC-refcount"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestBoxedC" group="field" type="guide"/>
+    <title type="link" role="topic">refcount</title>
+  </info>
+  <title>Regress.TestBoxedC.refcount</title>
+  <synopsis><code mime="text/x-gjs">
+TestBoxedC.refcount: Number(guint) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedC.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedC.page
index 18b77d9..82d4fcd 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedC.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedC.page
@@ -1,25 +1,43 @@
 <?xml version="1.0"?>
 <page id="Regress.TestBoxedC"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestBoxedC</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+const Regress = imports.gi.Regress;
+
+let testBoxedC = new Regress.TestBoxedC({
+    <link xref='Regress.TestBoxedC-refcount'>refcount</link>: value
+    <link xref='Regress.TestBoxedC-another_thing'>another_thing</link>: value
+});
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedD.copy.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedD.copy.page
index 7b51fd5..519d154 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedD.copy.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedD.copy.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestBoxedD" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_boxed_d_copy</api:name>
     </api:function>
-
   </info>
   <title>Regress.TestBoxedD.prototype.copy</title>
-  
-<synopsis><code mime="text/x-gjs">
-function copy():Regress.TestBoxedD {
+  <synopsis><code mime="text/x-gjs">
+function copy(): <link xref="Regress.TestBoxedD">Regress.TestBoxedD</link> {
     // Gjs wrapper for regress_test_boxed_d_copy()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ function copy():Regress.TestBoxedD {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedD.free.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedD.free.page
index 82df904..fd4fb6f 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedD.free.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedD.free.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestBoxedD" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,25 +13,14 @@
       </api:returns>
       <api:name>regress_test_boxed_d_free</api:name>
     </api:function>
-
   </info>
   <title>Regress.TestBoxedD.prototype.free</title>
-  
-<synopsis><code mime="text/x-gjs">
-function free():void {
+  <synopsis><code mime="text/x-gjs">
+function free(): void {
     // Gjs wrapper for regress_test_boxed_d_free()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
-<terms>
-</terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedD.get_magic.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedD.get_magic.page
index 0f7923e..37d6d01 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedD.get_magic.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedD.get_magic.page
@@ -6,30 +6,22 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestBoxedD" group="method" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
       </api:returns>
       <api:name>regress_test_boxed_d_get_magic</api:name>
     </api:function>
-
   </info>
   <title>Regress.TestBoxedD.prototype.get_magic</title>
-  
-<synopsis><code mime="text/x-gjs">
-function get_magic():Number {
+  <synopsis><code mime="text/x-gjs">
+function get_magic(): Number(gint) {
     // Gjs wrapper for regress_test_boxed_d_get_magic()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ function get_magic():Number {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedD.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedD.page
index 995e80d..093b4f9 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedD.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedD.page
@@ -1,25 +1,40 @@
 <?xml version="1.0"?>
 <page id="Regress.TestBoxedD"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestBoxedD</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+const Regress = imports.gi.Regress;
+
+let testBoxedD = new Regress.TestBoxedD();
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallback.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallback.page
index bed84d5..13e80ca 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallback.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallback.page
@@ -1,25 +1,25 @@
 <?xml version="1.0"?>
 <page id="Regress.TestCallback"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="callback" type="guide"/>
   </info>
   <title>Regress.TestCallback</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-gjs">
+function onTestCallback(): Number(gint) {
+}
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallbackArray.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallbackArray.page
index 7d3f7b8..56e48b1 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallbackArray.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallbackArray.page
@@ -1,25 +1,33 @@
 <?xml version="1.0"?>
 <page id="Regress.TestCallbackArray"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="callback" type="guide"/>
   </info>
   <title>Regress.TestCallbackArray</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-gjs">
+function onTestCallbackArray(one: Array(Number(gint)), two: Array(String)): Number(gint) {
+}
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>one</code></title>
+
+</item>
+<item>
+<title><code>two</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallbackFull.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallbackFull.page
index 0b8fca1..edd33f3 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallbackFull.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallbackFull.page
@@ -1,25 +1,37 @@
 <?xml version="1.0"?>
 <page id="Regress.TestCallbackFull"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="callback" type="guide"/>
   </info>
   <title>Regress.TestCallbackFull</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-gjs">
+function onTestCallbackFull(foo: Number(gint), bar: Number(gdouble), path: String): Number(gint) {
+}
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>foo</code></title>
+  <p>the investment rate</p>
+</item>
+<item>
+<title><code>bar</code></title>
+  <p>how much money</p>
+</item>
+<item>
+<title><code>path</code></title>
+  <p>Path to file</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallbackGError.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallbackGError.page
index 804382f..9e1e285 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallbackGError.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallbackGError.page
@@ -1,25 +1,25 @@
 <?xml version="1.0"?>
 <page id="Regress.TestCallbackGError"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="callback" type="guide"/>
   </info>
   <title>Regress.TestCallbackGError</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-gjs">
+function onTestCallbackGError(error: <link href="../GLib-2.0/GLib.Error.page">GLib.Error</link>): void {
+}
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>error</code></title>
+
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallbackHashtable.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallbackHashtable.page
index 06ebb70..8f93a2a 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallbackHashtable.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallbackHashtable.page
@@ -1,25 +1,25 @@
 <?xml version="1.0"?>
 <page id="Regress.TestCallbackHashtable"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="callback" type="guide"/>
   </info>
   <title>Regress.TestCallbackHashtable</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-gjs">
+function onTestCallbackHashtable(data: {String: Number(gint)}): void {
+}
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>data</code></title>
+  <p>a hash table; will be modified</p>
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallbackOwnedGError.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallbackOwnedGError.page
index 28b21ea..9052a9d 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallbackOwnedGError.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallbackOwnedGError.page
@@ -1,25 +1,25 @@
 <?xml version="1.0"?>
 <page id="Regress.TestCallbackOwnedGError"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="callback" type="guide"/>
   </info>
   <title>Regress.TestCallbackOwnedGError</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-gjs">
+function onTestCallbackOwnedGError(error: <link href="../GLib-2.0/GLib.Error.page">GLib.Error</link>): void {
+}
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>error</code></title>
+  <p>GError instance; must be freed by the callback</p>
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallbackUserData.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallbackUserData.page
index 286c830..469aa40 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallbackUserData.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallbackUserData.page
@@ -1,25 +1,25 @@
 <?xml version="1.0"?>
 <page id="Regress.TestCallbackUserData"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="callback" type="guide"/>
   </info>
   <title>Regress.TestCallbackUserData</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-gjs">
+function onTestCallbackUserData(): Number(gint) {
+}
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestDEFError.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestDEFError.page
index 589059d..4ee8637 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestDEFError.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestDEFError.page
@@ -6,19 +6,11 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="enum" type="guide"/>
-    
+    <link xref="index" group="enum" type="guide"/>
   </info>
   <title>Regress.TestDEFError</title>
-  
-  
-  
-    
-  
-  
-  
-  
+
+
 <terms>
 <item>
 <title><code>TestDEFError.CODE0</code></title>
@@ -34,6 +26,4 @@
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestEnum.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestEnum.page
index 814b474..10a6897 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestEnum.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestEnum.page
@@ -6,27 +6,19 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="enum" type="guide"/>
-    
+    <link xref="index" group="enum" type="guide"/>
   </info>
   <title>Regress.TestEnum</title>
-  
-  
-  
-    <p>By purpose, not all members have documentation</p>
-  
-  
-  
-  
+  <p>By purpose, not all members have documentation</p>
+
 <terms>
 <item>
 <title><code>TestEnum.VALUE1</code></title>
-<p>value 1</p>
+  <p>value 1</p>
 </item>
 <item>
 <title><code>TestEnum.VALUE2</code></title>
-<p>value 2</p>
+  <p>value 2</p>
 </item>
 <item>
 <title><code>TestEnum.VALUE3</code></title>
@@ -38,6 +30,4 @@
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestEnum.param.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestEnum.param.page
index b4dfb29..cab9880 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestEnum.param.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestEnum.param.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,22 +17,15 @@
         <api:name>e</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>param</title>
-  
-<synopsis><code mime="text/x-gjs">
-function param(e:Regress.TestEnum):String {
+  <title>Regress.param</title>
+  <synopsis><code mime="text/x-gjs">
+function param(e: <link xref="Regress.TestEnum">Regress.TestEnum</link>): String {
     // Gjs wrapper for regress_test_enum_param()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>e</code></title>
@@ -45,6 +37,4 @@ function param(e:Regress.TestEnum):String {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestEnumNoGEnum.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestEnumNoGEnum.page
index 5c0c559..34de1b8 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestEnumNoGEnum.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestEnumNoGEnum.page
@@ -6,19 +6,11 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="enum" type="guide"/>
-    
+    <link xref="index" group="enum" type="guide"/>
   </info>
   <title>Regress.TestEnumNoGEnum</title>
-  
-  
-  
-    
-  
-  
-  
-  
+
+
 <terms>
 <item>
 <title><code>TestEnumNoGEnum.EVALUE1</code></title>
@@ -34,6 +26,4 @@
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestEnumUnsigned.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestEnumUnsigned.page
index df3cfa1..e6976c8 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestEnumUnsigned.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestEnumUnsigned.page
@@ -6,19 +6,11 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="enum" type="guide"/>
-    
+    <link xref="index" group="enum" type="guide"/>
   </info>
   <title>Regress.TestEnumUnsigned</title>
-  
-  
-  
-    
-  
-  
-  
-  
+
+
 <terms>
 <item>
 <title><code>TestEnumUnsigned.VALUE1</code></title>
@@ -30,6 +22,4 @@
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestError.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestError.page
index d6a6ebb..15f5583 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestError.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestError.page
@@ -6,19 +6,11 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="enum" type="guide"/>
-    
+    <link xref="index" group="enum" type="guide"/>
   </info>
   <title>Regress.TestError</title>
-  
-  
-  
-    
-  
-  
-  
-  
+
+
 <terms>
 <item>
 <title><code>TestError.CODE1</code></title>
@@ -34,6 +26,4 @@
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestError.quark.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestError.quark.page
index f849bfe..d03d179 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestError.quark.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestError.quark.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_error_quark</api:name>
     </api:function>
-
   </info>
-  <title>quark</title>
-  
-<synopsis><code mime="text/x-gjs">
-function quark():GLib.Quark {
+  <title>Regress.quark</title>
+  <synopsis><code mime="text/x-gjs">
+function quark(): <link href="../GLib-2.0/GLib.Quark.page">GLib.Quark</link> {
     // Gjs wrapper for regress_test_error_quark()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ function quark():GLib.Quark {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFlags.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFlags.page
index d5bfeeb..efab1a0 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFlags.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFlags.page
@@ -6,20 +6,9 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
   <title>Regress.TestFlags</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFloating.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFloating.page
index 07ef3f2..d9918cc 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFloating.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFloating.page
@@ -6,24 +6,16 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="class" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestFloating</title>
-  
   <synopsis><code>
 const Regress = imports.gi.Regress;
 
-let test_floating = new Regress.TestFloating();
+let testFloating = new Regress.TestFloating();
   </code></synopsis>
 
-  
-    
-  
-  
-  
-  
+
   <synopsis>
     <title>Hierarchy</title>
     <tree>
@@ -38,8 +30,11 @@ let test_floating = new Regress.TestFloating();
       </item>
     </tree>
   </synopsis>
-
-  
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-gjs"
          groups="method" style="linklist">
@@ -48,7 +43,7 @@ let test_floating = new Regress.TestFloating();
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-gjs"
          groups="function" style="linklist">
-    <title>Functions</title>
+    <title>Static Functions</title>
   </links>
   <links type="topic" ui:expanded="true" groups="property" style="linklist">
     <title>Properties</title>
@@ -59,8 +54,10 @@ let test_floating = new Regress.TestFloating();
   <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
     <title>Virtual functions</title>
   </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
   <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
     <title>Other</title>
   </links>
-
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalObjectCopyFunction.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalObjectCopyFunction.page
index 73a3328..c853dbb 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalObjectCopyFunction.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalObjectCopyFunction.page
@@ -1,25 +1,29 @@
 <?xml version="1.0"?>
 <page id="Regress.TestFundamentalObjectCopyFunction"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="callback" type="guide"/>
   </info>
   <title>Regress.TestFundamentalObjectCopyFunction</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-gjs">
+function onTestFundamentalObjectCopyFunction(obj: <link 
xref="Regress.TestFundamentalObject">Regress.TestFundamentalObject</link>): <link 
xref="Regress.TestFundamentalObject">Regress.TestFundamentalObject</link> {
+}
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>obj</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalObjectFinalizeFunction.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalObjectFinalizeFunction.page
index df0e8fb..dc9edd7 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalObjectFinalizeFunction.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalObjectFinalizeFunction.page
@@ -1,25 +1,25 @@
 <?xml version="1.0"?>
 <page id="Regress.TestFundamentalObjectFinalizeFunction"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="callback" type="guide"/>
   </info>
   <title>Regress.TestFundamentalObjectFinalizeFunction</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-gjs">
+function onTestFundamentalObjectFinalizeFunction(obj: <link 
xref="Regress.TestFundamentalObject">Regress.TestFundamentalObject</link>): void {
+}
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>obj</code></title>
+
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInheritDrawable.do_foo.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInheritDrawable.do_foo.page
index 176211b..86af902 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInheritDrawable.do_foo.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInheritDrawable.do_foo.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestInheritDrawable" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,26 +13,19 @@
       </api:returns>
       <api:name>regress_test_inherit_drawable_do_foo</api:name>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
         <api:name>x</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestInheritDrawable.prototype.do_foo</title>
-  
-<synopsis><code mime="text/x-gjs">
-function do_foo(x:Number):void {
+  <synopsis><code mime="text/x-gjs">
+function do_foo(x: Number(gint)): void {
     // Gjs wrapper for regress_test_inherit_drawable_do_foo()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>x</code></title>
@@ -41,6 +33,4 @@ function do_foo(x:Number):void {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInheritDrawable.do_foo_maybe_throw.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInheritDrawable.do_foo_maybe_throw.page
index 038b73f..7dfeba5 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInheritDrawable.do_foo_maybe_throw.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInheritDrawable.do_foo_maybe_throw.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestInheritDrawable" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,26 +13,19 @@
       </api:returns>
       <api:name>regress_test_inherit_drawable_do_foo_maybe_throw</api:name>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
         <api:name>x</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestInheritDrawable.prototype.do_foo_maybe_throw</title>
-  
-<synopsis><code mime="text/x-gjs">
-function do_foo_maybe_throw(x:Number):void {
+  <synopsis><code mime="text/x-gjs">
+function do_foo_maybe_throw(x: Number(gint)): void {
     // Gjs wrapper for regress_test_inherit_drawable_do_foo_maybe_throw()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>x</code></title>
@@ -41,6 +33,4 @@ function do_foo_maybe_throw(x:Number):void {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInheritDrawable.get_origin.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInheritDrawable.get_origin.page
index 9dd2cba..9a11c9e 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInheritDrawable.get_origin.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInheritDrawable.get_origin.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestInheritDrawable" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,25 +13,24 @@
       </api:returns>
       <api:name>regress_test_inherit_drawable_get_origin</api:name>
     </api:function>
-
   </info>
   <title>Regress.TestInheritDrawable.prototype.get_origin</title>
-  
-<synopsis><code mime="text/x-gjs">
-function get_origin():void {
+  <synopsis><code mime="text/x-gjs">
+function get_origin(): [x: Number(gint), y: Number(gint)] {
     // Gjs wrapper for regress_test_inherit_drawable_get_origin()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
+<item>
+<title><code>x</code></title>
+
+</item>
+<item>
+<title><code>y</code></title>
+
+</item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInheritDrawable.get_size.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInheritDrawable.get_size.page
index 669ab1c..c4b6f95 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInheritDrawable.get_size.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInheritDrawable.get_size.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestInheritDrawable" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,25 +13,24 @@
       </api:returns>
       <api:name>regress_test_inherit_drawable_get_size</api:name>
     </api:function>
-
   </info>
   <title>Regress.TestInheritDrawable.prototype.get_size</title>
-  
-<synopsis><code mime="text/x-gjs">
-function get_size():void {
+  <synopsis><code mime="text/x-gjs">
+function get_size(): [width: Number(guint), height: Number(guint)] {
     // Gjs wrapper for regress_test_inherit_drawable_get_size()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
+<item>
+<title><code>width</code></title>
+
+</item>
+<item>
+<title><code>height</code></title>
+
+</item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInheritDrawable.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInheritDrawable.page
index 02fa064..27cb118 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInheritDrawable.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInheritDrawable.page
@@ -6,24 +6,16 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="class" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestInheritDrawable</title>
-  
   <synopsis><code>
 const Regress = imports.gi.Regress;
 
-let test_inherit_drawable = new Regress.TestInheritDrawable();
+let testInheritDrawable = new Regress.TestInheritDrawable();
   </code></synopsis>
 
-  
-    
-  
-  
-  
-  
+
   <synopsis>
     <title>Hierarchy</title>
     <tree>
@@ -35,8 +27,11 @@ let test_inherit_drawable = new Regress.TestInheritDrawable();
       </item>
     </tree>
   </synopsis>
-
-  
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-gjs"
          groups="method" style="linklist">
@@ -45,7 +40,7 @@ let test_inherit_drawable = new Regress.TestInheritDrawable();
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-gjs"
          groups="function" style="linklist">
-    <title>Functions</title>
+    <title>Static Functions</title>
   </links>
   <links type="topic" ui:expanded="true" groups="property" style="linklist">
     <title>Properties</title>
@@ -56,8 +51,10 @@ let test_inherit_drawable = new Regress.TestInheritDrawable();
   <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
     <title>Virtual functions</title>
   </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
   <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
     <title>Other</title>
   </links>
-
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInheritPixmapObjectClass-parent_class.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInheritPixmapObjectClass-parent_class.page
new file mode 100644
index 0000000..f5e3f31
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInheritPixmapObjectClass-parent_class.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.TestInheritPixmapObjectClass-parent_class"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestInheritPixmapObjectClass" group="field" type="guide"/>
+    <title type="link" role="topic">parent_class</title>
+  </info>
+  <title>Regress.TestInheritPixmapObjectClass.parent_class</title>
+  <synopsis><code mime="text/x-gjs">
+TestInheritPixmapObjectClass.parent_class: <link 
xref="Regress.TestInheritDrawableClass">Regress.TestInheritDrawableClass</link> (Read)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInheritPixmapObjectClass.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInheritPixmapObjectClass.page
index 0df0396..5c17e82 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInheritPixmapObjectClass.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInheritPixmapObjectClass.page
@@ -1,25 +1,40 @@
 <?xml version="1.0"?>
 <page id="Regress.TestInheritPixmapObjectClass"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestInheritPixmapObjectClass</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+const Regress = imports.gi.Regress;
+
+let testInheritPixmapObjectClass = new Regress.TestInheritPixmapObjectClass();
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInterface.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInterface.page
index 4f39890..5fb58df 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInterface.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInterface.page
@@ -1,39 +1,34 @@
 <?xml version="1.0"?>
 <page id="Regress.TestInterface"
       type="guide"
-      style="class"
+      style="interface"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="class" type="guide"/>
-    
+    <link xref="index" group="interface" type="guide"/>
   </info>
   <title>Regress.TestInterface</title>
-  
   <synopsis><code>
 const Regress = imports.gi.Regress;
 
 let test_interface = new Regress.TestInterface();
   </code></synopsis>
 
-  
-    
-  
-  
-  
-  
+
   <synopsis>
-    <title>Hierarchy</title>
-    <tree>
-      <item>
-        <code>Regress.TestInterface</code>
-      </item>
-    </tree>
+    <title>Prerequisites</title>
+    <p>TestInterface requires GObject.Object</p>
+  </synopsis>
+  <synopsis>
+    <title>Known Implementations</title>
+    <p>None</p>
   </synopsis>
-
-  
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-gjs"
          groups="method" style="linklist">
@@ -42,7 +37,7 @@ let test_interface = new Regress.TestInterface();
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-gjs"
          groups="function" style="linklist">
-    <title>Functions</title>
+    <title>Static Functions</title>
   </links>
   <links type="topic" ui:expanded="true" groups="property" style="linklist">
     <title>Properties</title>
@@ -53,8 +48,10 @@ let test_interface = new Regress.TestInterface();
   <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
     <title>Virtual functions</title>
   </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
   <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
     <title>Other</title>
   </links>
-
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-all.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-all.page
index c2d87a4..0bdbbc0 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-all.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-all.page
@@ -6,30 +6,20 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="signal" type="guide"/>
     <title type="link" role="topic">all</title>
-
   </info>
   <title>Regress.TestObj::all</title>
-  
-<synopsis><code mime="text/x-python">
-function callback(test_obj, ):void;
-</code></synopsis>
+  <synopsis><code mime="text/x-gjs">
+connect('all', function (testObj, ): void);
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
-<title><code>test_obj</code></title>
+<title><code>testObj</code></title>
 <p>instance of <link xref="Regress.TestObj"/> that is emitting the signal</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-allow_none_vfunc.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-allow_none_vfunc.page
index 3febd77..5a1830e 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-allow_none_vfunc.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-allow_none_vfunc.page
@@ -6,30 +6,20 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="Regress.TestObj" group="vfunc" type="guide"/>
-    
+    <link xref="Regress.TestObj" group="vfunc" type="guide"/>
   </info>
   <title>Regress.TestObj::allow_none_vfunc</title>
-  
-<synopsis><code mime="text/x-gjs">
-function vfunc_allow_none_vfunc(two:Regress.TestObj):void {
+  <synopsis><code mime="text/x-gjs">
+function vfunc_allow_none_vfunc(two: <link xref="Regress.TestObj">Regress.TestObj</link>): void {
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>two</code></title>
-<p>Another object</p>
+  <p>Another object</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-bare.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-bare.page
index f1f1b52..c6d70c4 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-bare.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-bare.page
@@ -6,24 +6,13 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="property" type="guide"/>
     <title type="link" role="topic">bare</title>
-
   </info>
-  <title>Regress.TestObj:bare</title>
-  
-<synopsis><code mime="text/x-python">
-"bare"             GObject.Object                : Read / Write
-</code></synopsis>
+  <title>Regress.TestObj.bare</title>
+  <synopsis><code mime="text/x-gjs">
+TestObj.bare: <link href="../GObject-2.0/GObject.Object.page">GObject.Object</link> (Read / Write)
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
-  
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-boxed.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-boxed.page
index a392a77..411d2b3 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-boxed.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-boxed.page
@@ -6,24 +6,13 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="property" type="guide"/>
     <title type="link" role="topic">boxed</title>
-
   </info>
-  <title>Regress.TestObj:boxed</title>
-  
-<synopsis><code mime="text/x-python">
-"boxed"             Regress.TestBoxed                : Read / Write
-</code></synopsis>
+  <title>Regress.TestObj.boxed</title>
+  <synopsis><code mime="text/x-gjs">
+TestObj.boxed: <link xref="Regress.TestBoxed">Regress.TestBoxed</link> (Read / Write)
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
-  
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-cleanup.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-cleanup.page
index 8e5e2bf..9985e1d 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-cleanup.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-cleanup.page
@@ -6,30 +6,20 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="signal" type="guide"/>
     <title type="link" role="topic">cleanup</title>
-
   </info>
   <title>Regress.TestObj::cleanup</title>
-  
-<synopsis><code mime="text/x-python">
-function callback(test_obj, ):void;
-</code></synopsis>
+  <synopsis><code mime="text/x-gjs">
+connect('cleanup', function (testObj, ): void);
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
-<title><code>test_obj</code></title>
+<title><code>testObj</code></title>
 <p>instance of <link xref="Regress.TestObj"/> that is emitting the signal</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-double.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-double.page
index 5e2df6b..0aafd80 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-double.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-double.page
@@ -6,24 +6,13 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="property" type="guide"/>
     <title type="link" role="topic">double</title>
-
   </info>
-  <title>Regress.TestObj:double</title>
-  
-<synopsis><code mime="text/x-python">
-"double"             Number                : Read / Write
-</code></synopsis>
+  <title>Regress.TestObj.double</title>
+  <synopsis><code mime="text/x-gjs">
+TestObj.double: Number(gdouble) (Read / Write)
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
-  
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-first.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-first.page
index d0294e9..82850d2 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-first.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-first.page
@@ -6,30 +6,20 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="signal" type="guide"/>
     <title type="link" role="topic">first</title>
-
   </info>
   <title>Regress.TestObj::first</title>
-  
-<synopsis><code mime="text/x-python">
-function callback(test_obj, ):void;
-</code></synopsis>
+  <synopsis><code mime="text/x-gjs">
+connect('first', function (testObj, ): void);
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
-<title><code>test_obj</code></title>
+<title><code>testObj</code></title>
 <p>instance of <link xref="Regress.TestObj"/> that is emitting the signal</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-float.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-float.page
index 0554ba8..9a320ed 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-float.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-float.page
@@ -6,24 +6,13 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="property" type="guide"/>
     <title type="link" role="topic">float</title>
-
   </info>
-  <title>Regress.TestObj:float</title>
-  
-<synopsis><code mime="text/x-python">
-"float"             Number                : Read / Write
-</code></synopsis>
+  <title>Regress.TestObj.float</title>
+  <synopsis><code mime="text/x-gjs">
+TestObj.float: Number(gfloat) (Read / Write)
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
-  
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-gtype.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-gtype.page
index 6b222e4..82f59fb 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-gtype.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-gtype.page
@@ -6,24 +6,13 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="property" type="guide"/>
     <title type="link" role="topic">gtype</title>
-
   </info>
-  <title>Regress.TestObj:gtype</title>
-  
-<synopsis><code mime="text/x-python">
-"gtype"             GType                : Read / Write
-</code></synopsis>
+  <title>Regress.TestObj.gtype</title>
+  <synopsis><code mime="text/x-gjs">
+TestObj.gtype: GObject.Type (Read / Write)
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
-  
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-hash-table-old.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-hash-table-old.page
index 1d3c3c2..ed4abee 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-hash-table-old.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-hash-table-old.page
@@ -6,24 +6,13 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="property" type="guide"/>
     <title type="link" role="topic">hash-table-old</title>
-
   </info>
-  <title>Regress.TestObj:hash-table-old</title>
-  
-<synopsis><code mime="text/x-python">
-"hash-table-old"             {String: gint8}                : Read / Write
-</code></synopsis>
+  <title>Regress.TestObj.hash_table_old</title>
+  <synopsis><code mime="text/x-gjs">
+TestObj.hash_table_old: {String: Number(gint8)} (Read / Write)
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
-  
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-hash-table.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-hash-table.page
index f8d3441..e4f3a37 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-hash-table.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-hash-table.page
@@ -6,24 +6,13 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="property" type="guide"/>
     <title type="link" role="topic">hash-table</title>
-
   </info>
-  <title>Regress.TestObj:hash-table</title>
-  
-<synopsis><code mime="text/x-python">
-"hash-table"             {String: gint8}                : Read / Write
-</code></synopsis>
+  <title>Regress.TestObj.hash_table</title>
+  <synopsis><code mime="text/x-gjs">
+TestObj.hash_table: {String: Number(gint8)} (Read / Write)
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
-  
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-int.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-int.page
index 0c3f4cc..04ef887 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-int.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-int.page
@@ -6,24 +6,13 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="property" type="guide"/>
     <title type="link" role="topic">int</title>
-
   </info>
-  <title>Regress.TestObj:int</title>
-  
-<synopsis><code mime="text/x-python">
-"int"             Number                : Read / Write
-</code></synopsis>
+  <title>Regress.TestObj.int</title>
+  <synopsis><code mime="text/x-gjs">
+TestObj.int: Number(gint) (Read / Write)
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
-  
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-list-old.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-list-old.page
index 9d8ea91..937dd7a 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-list-old.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-list-old.page
@@ -6,24 +6,13 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="property" type="guide"/>
     <title type="link" role="topic">list-old</title>
-
   </info>
-  <title>Regress.TestObj:list-old</title>
-  
-<synopsis><code mime="text/x-python">
-"list-old"             [String]                : Read / Write
-</code></synopsis>
+  <title>Regress.TestObj.list_old</title>
+  <synopsis><code mime="text/x-gjs">
+TestObj.list_old: Array(String) (Read / Write)
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
-  
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-list.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-list.page
index 02638e9..49c1ec2 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-list.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-list.page
@@ -6,24 +6,13 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="property" type="guide"/>
     <title type="link" role="topic">list</title>
-
   </info>
-  <title>Regress.TestObj:list</title>
-  
-<synopsis><code mime="text/x-python">
-"list"             [String]                : Read / Write
-</code></synopsis>
+  <title>Regress.TestObj.list</title>
+  <synopsis><code mime="text/x-gjs">
+TestObj.list: Array(String) (Read / Write)
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
-  
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-matrix.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-matrix.page
index 1d83217..3c6cc7d 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-matrix.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-matrix.page
@@ -6,29 +6,21 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="Regress.TestObj" group="vfunc" type="guide"/>
-    
+    <link xref="Regress.TestObj" group="vfunc" type="guide"/>
   </info>
   <title>Regress.TestObj::matrix</title>
-  
-<synopsis><code mime="text/x-gjs">
-function vfunc_matrix(somestr:String):Number {
+  <synopsis><code mime="text/x-gjs">
+function vfunc_matrix(somestr: String): Number(gint) {
 }
-</code></synopsis>
-
-  
-    <p>This method is virtual.  Notably its name differs from the virtual
+  </code></synopsis>
+  <p>This method is virtual.  Notably its name differs from the virtual
 slot name, which makes it useful for testing bindings handle this
 case.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>somestr</code></title>
-<p>Meaningless string</p>
+  <p>Meaningless string</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -36,6 +28,4 @@ case.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-array-len-prop.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-array-len-prop.page
index c359b13..6af8b35 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-array-len-prop.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-array-len-prop.page
@@ -6,34 +6,24 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="signal" type="guide"/>
     <title type="link" role="topic">sig-with-array-len-prop</title>
-
   </info>
   <title>Regress.TestObj::sig-with-array-len-prop</title>
-  
-<synopsis><code mime="text/x-python">
-function callback(test_obj, arr:[Number], ):void;
-</code></synopsis>
+  <synopsis><code mime="text/x-gjs">
+connect('sig-with-array-len-prop', function (testObj, arr: Array(Number(guint)), ): void);
+  </code></synopsis>
+  <p>This test signal similar to GSettings::change-event</p>
 
-  
-    <p>This test signal similar to GSettings::change-event</p>
-  
-  
-  
-  
 <terms>
 <item>
-<title><code>test_obj</code></title>
+<title><code>testObj</code></title>
 <p>instance of <link xref="Regress.TestObj"/> that is emitting the signal</p>
 </item>
 <item>
 <title><code>arr</code></title>
-<p>numbers, or <code>null</code></p>
+  <p>numbers, or <code>null</code></p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-array-prop.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-array-prop.page
index b1919f9..e3b1de6 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-array-prop.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-array-prop.page
@@ -6,35 +6,25 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="signal" type="guide"/>
     <title type="link" role="topic">sig-with-array-prop</title>
-
   </info>
   <title>Regress.TestObj::sig-with-array-prop</title>
-  
-<synopsis><code mime="text/x-python">
-function callback(test_obj, arr:[Number], ):void;
-</code></synopsis>
-
-  
-    <p>This test signal is like TelepathyGlib's
+  <synopsis><code mime="text/x-gjs">
+connect('sig-with-array-prop', function (testObj, arr: Array(Number(guint)), ): void);
+  </code></synopsis>
+  <p>This test signal is like TelepathyGlib's
  TpChannel:: group-members-changed-detailed:</p>
-  
-  
-  
-  
+
 <terms>
 <item>
-<title><code>test_obj</code></title>
+<title><code>testObj</code></title>
 <p>instance of <link xref="Regress.TestObj"/> that is emitting the signal</p>
 </item>
 <item>
 <title><code>arr</code></title>
-<p>numbers</p>
+  <p>numbers</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-foreign-struct.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-foreign-struct.page
index 31b8ca3..4746b47 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-foreign-struct.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-foreign-struct.page
@@ -6,34 +6,24 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="signal" type="guide"/>
     <title type="link" role="topic">sig-with-foreign-struct</title>
-
   </info>
   <title>Regress.TestObj::sig-with-foreign-struct</title>
-  
-<synopsis><code mime="text/x-python">
-function callback(test_obj, cr:cairo.Context, ):void;
-</code></synopsis>
+  <synopsis><code mime="text/x-gjs">
+connect('sig-with-foreign-struct', function (testObj, cr: <link 
href="../cairo-1.0/cairo.Context.page">cairo.Context</link>, ): void);
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
-<title><code>test_obj</code></title>
+<title><code>testObj</code></title>
 <p>instance of <link xref="Regress.TestObj"/> that is emitting the signal</p>
 </item>
 <item>
 <title><code>cr</code></title>
-<p>A cairo context.</p>
+  <p>A cairo context.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-hash-prop.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-hash-prop.page
index 137a413..c3c9e0d 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-hash-prop.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-hash-prop.page
@@ -6,27 +6,19 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="signal" type="guide"/>
     <title type="link" role="topic">sig-with-hash-prop</title>
-
   </info>
   <title>Regress.TestObj::sig-with-hash-prop</title>
-  
-<synopsis><code mime="text/x-python">
-function callback(test_obj, hash:{String: GObject.Value}, ):void;
-</code></synopsis>
-
-  
-    <p>This test signal is like TelepathyGlib's
+  <synopsis><code mime="text/x-gjs">
+connect('sig-with-hash-prop', function (testObj, hash: {String: <link 
href="../GObject-2.0/GObject.Value.page">GObject.Value</link>}, ): void);
+  </code></synopsis>
+  <p>This test signal is like TelepathyGlib's
  TpAccount::status-changed</p>
-  
-  
-  
-  
+
 <terms>
 <item>
-<title><code>test_obj</code></title>
+<title><code>testObj</code></title>
 <p>instance of <link xref="Regress.TestObj"/> that is emitting the signal</p>
 </item>
 <item>
@@ -35,6 +27,4 @@ function callback(test_obj, hash:{String: GObject.Value}, ):void;
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-int64-prop.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-int64-prop.page
index 6c528c0..4743d22 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-int64-prop.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-int64-prop.page
@@ -6,32 +6,24 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="signal" type="guide"/>
     <title type="link" role="topic">sig-with-int64-prop</title>
-
   </info>
   <title>Regress.TestObj::sig-with-int64-prop</title>
-  
-<synopsis><code mime="text/x-python">
-function callback(test_obj, i:Number, ):Number;
-</code></synopsis>
-
-  
-    <p>You can use this with regress_test_obj_emit_sig_with_int64, or raise from
+  <synopsis><code mime="text/x-gjs">
+connect('sig-with-int64-prop', function (testObj, i: Number(gint64), ): Number(gint64));
+  </code></synopsis>
+  <p>You can use this with regress_test_obj_emit_sig_with_int64, or raise from
 the introspection client langage.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
-<title><code>test_obj</code></title>
+<title><code>testObj</code></title>
 <p>instance of <link xref="Regress.TestObj"/> that is emitting the signal</p>
 </item>
 <item>
 <title><code>i</code></title>
-<p>an integer</p>
+  <p>an integer</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -39,6 +31,4 @@ the introspection client langage.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-intarray-ret.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-intarray-ret.page
index f724bcb..cc187f7 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-intarray-ret.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-intarray-ret.page
@@ -6,34 +6,24 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="signal" type="guide"/>
     <title type="link" role="topic">sig-with-intarray-ret</title>
-
   </info>
   <title>Regress.TestObj::sig-with-intarray-ret</title>
-  
-<synopsis><code mime="text/x-python">
-function callback(test_obj, i:Number, ):[Number];
-</code></synopsis>
+  <synopsis><code mime="text/x-gjs">
+connect('sig-with-intarray-ret', function (testObj, i: Number(gint), ): Array(Number(gint)));
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
-<title><code>test_obj</code></title>
+<title><code>testObj</code></title>
 <p>instance of <link xref="Regress.TestObj"/> that is emitting the signal</p>
 </item>
 <item>
 <title><code>i</code></title>
-<p>an integer</p>
+  <p>an integer</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-obj.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-obj.page
index d7e15e0..89cfd33 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-obj.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-obj.page
@@ -6,35 +6,25 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="signal" type="guide"/>
     <title type="link" role="topic">sig-with-obj</title>
-
   </info>
   <title>Regress.TestObj::sig-with-obj</title>
-  
-<synopsis><code mime="text/x-python">
-function callback(test_obj, obj:GObject.Object, ):void;
-</code></synopsis>
-
-  
-    <p>Test transfer none GObject as a param (tests refcounting).
+  <synopsis><code mime="text/x-gjs">
+connect('sig-with-obj', function (testObj, obj: <link 
href="../GObject-2.0/GObject.Object.page">GObject.Object</link>, ): void);
+  </code></synopsis>
+  <p>Test transfer none GObject as a param (tests refcounting).
 Use with regress_test_obj_emit_sig_with_obj</p>
-  
-  
-  
-  
+
 <terms>
 <item>
-<title><code>test_obj</code></title>
+<title><code>testObj</code></title>
 <p>instance of <link xref="Regress.TestObj"/> that is emitting the signal</p>
 </item>
 <item>
 <title><code>obj</code></title>
-<p>A newly created RegressTestObj</p>
+  <p>A newly created RegressTestObj</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-strv.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-strv.page
index a63e207..4a116ea 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-strv.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-strv.page
@@ -6,34 +6,24 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="signal" type="guide"/>
     <title type="link" role="topic">sig-with-strv</title>
-
   </info>
   <title>Regress.TestObj::sig-with-strv</title>
-  
-<synopsis><code mime="text/x-python">
-function callback(test_obj, strs:[String], ):void;
-</code></synopsis>
+  <synopsis><code mime="text/x-gjs">
+connect('sig-with-strv', function (testObj, strs: Array(String), ): void);
+  </code></synopsis>
+  <p>Test GStrv as a param.</p>
 
-  
-    <p>Test GStrv as a param.</p>
-  
-  
-  
-  
 <terms>
 <item>
-<title><code>test_obj</code></title>
+<title><code>testObj</code></title>
 <p>instance of <link xref="Regress.TestObj"/> that is emitting the signal</p>
 </item>
 <item>
 <title><code>strs</code></title>
-<p>strings</p>
+  <p>strings</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-uint64-prop.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-uint64-prop.page
index 6fbf7a0..459ab4e 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-uint64-prop.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-uint64-prop.page
@@ -6,32 +6,24 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="signal" type="guide"/>
     <title type="link" role="topic">sig-with-uint64-prop</title>
-
   </info>
   <title>Regress.TestObj::sig-with-uint64-prop</title>
-  
-<synopsis><code mime="text/x-python">
-function callback(test_obj, i:Number, ):Number;
-</code></synopsis>
-
-  
-    <p>You can use this with regress_test_obj_emit_sig_with_uint64, or raise from
+  <synopsis><code mime="text/x-gjs">
+connect('sig-with-uint64-prop', function (testObj, i: Number(guint64), ): Number(guint64));
+  </code></synopsis>
+  <p>You can use this with regress_test_obj_emit_sig_with_uint64, or raise from
 the introspection client langage.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
-<title><code>test_obj</code></title>
+<title><code>testObj</code></title>
 <p>instance of <link xref="Regress.TestObj"/> that is emitting the signal</p>
 </item>
 <item>
 <title><code>i</code></title>
-<p>an integer</p>
+  <p>an integer</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -39,6 +31,4 @@ the introspection client langage.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-string.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-string.page
index 2e91097..aaad476 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-string.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-string.page
@@ -6,24 +6,13 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="property" type="guide"/>
     <title type="link" role="topic">string</title>
-
   </info>
-  <title>Regress.TestObj:string</title>
-  
-<synopsis><code mime="text/x-python">
-"string"             String                : Read / Write
-</code></synopsis>
+  <title>Regress.TestObj.string</title>
+  <synopsis><code mime="text/x-gjs">
+TestObj.string: String (Read / Write)
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
-  
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-test-with-static-scope-arg.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-test-with-static-scope-arg.page
index b19711f..0b940b1 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-test-with-static-scope-arg.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-test-with-static-scope-arg.page
@@ -6,26 +6,18 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="signal" type="guide"/>
     <title type="link" role="topic">test-with-static-scope-arg</title>
-
   </info>
   <title>Regress.TestObj::test-with-static-scope-arg</title>
-  
-<synopsis><code mime="text/x-python">
-function callback(test_obj, object:Regress.TestSimpleBoxedA, ):void;
-</code></synopsis>
+  <synopsis><code mime="text/x-gjs">
+connect('test-with-static-scope-arg', function (testObj, object: <link 
xref="Regress.TestSimpleBoxedA">Regress.TestSimpleBoxedA</link>, ): void);
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
-<title><code>test_obj</code></title>
+<title><code>testObj</code></title>
 <p>instance of <link xref="Regress.TestObj"/> that is emitting the signal</p>
 </item>
 <item>
@@ -34,6 +26,4 @@ function callback(test_obj, object:Regress.TestSimpleBoxedA, ):void;
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-test.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-test.page
index 9700cef..1133b31 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-test.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-test.page
@@ -6,30 +6,20 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="signal" type="guide"/>
     <title type="link" role="topic">test</title>
-
   </info>
   <title>Regress.TestObj::test</title>
-  
-<synopsis><code mime="text/x-python">
-function callback(test_obj, ):void;
-</code></synopsis>
+  <synopsis><code mime="text/x-gjs">
+connect('test', function (testObj, ): void);
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
-<title><code>test_obj</code></title>
+<title><code>testObj</code></title>
 <p>instance of <link xref="Regress.TestObj"/> that is emitting the signal</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.do_matrix.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.do_matrix.page
index 0770d0d..f3629e2 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.do_matrix.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.do_matrix.page
@@ -6,11 +6,10 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
       </api:returns>
       <api:name>regress_test_obj_do_matrix</api:name>
       <api:arg>
@@ -18,28 +17,21 @@
         <api:name>somestr</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestObj.prototype.do_matrix</title>
-  
-<synopsis><code mime="text/x-gjs">
-function do_matrix(somestr:String):Number {
+  <synopsis><code mime="text/x-gjs">
+function do_matrix(somestr: String): Number(gint) {
     // Gjs wrapper for regress_test_obj_do_matrix()
 }
-</code></synopsis>
-
-  
-    <p>This method is virtual.  Notably its name differs from the virtual
+  </code></synopsis>
+  <p>This method is virtual.  Notably its name differs from the virtual
 slot name, which makes it useful for testing bindings handle this
 case.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>somestr</code></title>
-<p>Meaningless string</p>
+  <p>Meaningless string</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -47,6 +39,4 @@ case.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.emit_sig_with_foreign_struct.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.emit_sig_with_foreign_struct.page
index 5e71948..80b60d8 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.emit_sig_with_foreign_struct.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.emit_sig_with_foreign_struct.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,25 +13,14 @@
       </api:returns>
       <api:name>regress_test_obj_emit_sig_with_foreign_struct</api:name>
     </api:function>
-
   </info>
   <title>Regress.TestObj.prototype.emit_sig_with_foreign_struct</title>
-  
-<synopsis><code mime="text/x-gjs">
-function emit_sig_with_foreign_struct():void {
+  <synopsis><code mime="text/x-gjs">
+function emit_sig_with_foreign_struct(): void {
     // Gjs wrapper for regress_test_obj_emit_sig_with_foreign_struct()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
-<terms>
-</terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.emit_sig_with_int64.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.emit_sig_with_int64.page
index 1c46dfb..843c89d 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.emit_sig_with_int64.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.emit_sig_with_int64.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,25 +13,14 @@
       </api:returns>
       <api:name>regress_test_obj_emit_sig_with_int64</api:name>
     </api:function>
-
   </info>
   <title>Regress.TestObj.prototype.emit_sig_with_int64</title>
-  
-<synopsis><code mime="text/x-gjs">
-function emit_sig_with_int64():void {
+  <synopsis><code mime="text/x-gjs">
+function emit_sig_with_int64(): void {
     // Gjs wrapper for regress_test_obj_emit_sig_with_int64()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
-<terms>
-</terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.emit_sig_with_obj.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.emit_sig_with_obj.page
index ea33a82..cfd7dd2 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.emit_sig_with_obj.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.emit_sig_with_obj.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,25 +13,14 @@
       </api:returns>
       <api:name>regress_test_obj_emit_sig_with_obj</api:name>
     </api:function>
-
   </info>
   <title>Regress.TestObj.prototype.emit_sig_with_obj</title>
-  
-<synopsis><code mime="text/x-gjs">
-function emit_sig_with_obj():void {
+  <synopsis><code mime="text/x-gjs">
+function emit_sig_with_obj(): void {
     // Gjs wrapper for regress_test_obj_emit_sig_with_obj()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
-<terms>
-</terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.emit_sig_with_uint64.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.emit_sig_with_uint64.page
index 35c0678..004df97 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.emit_sig_with_uint64.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.emit_sig_with_uint64.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,25 +13,14 @@
       </api:returns>
       <api:name>regress_test_obj_emit_sig_with_uint64</api:name>
     </api:function>
-
   </info>
   <title>Regress.TestObj.prototype.emit_sig_with_uint64</title>
-  
-<synopsis><code mime="text/x-gjs">
-function emit_sig_with_uint64():void {
+  <synopsis><code mime="text/x-gjs">
+function emit_sig_with_uint64(): void {
     // Gjs wrapper for regress_test_obj_emit_sig_with_uint64()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
-<terms>
-</terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.forced_method.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.forced_method.page
index b3ff3bf..126b739 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.forced_method.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.forced_method.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,25 +13,14 @@
       </api:returns>
       <api:name>regress_forced_method</api:name>
     </api:function>
-
   </info>
   <title>Regress.TestObj.prototype.forced_method</title>
-  
-<synopsis><code mime="text/x-gjs">
-function forced_method():void {
+  <synopsis><code mime="text/x-gjs">
+function forced_method(): void {
     // Gjs wrapper for regress_forced_method()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
-<terms>
-</terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.instance_method.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.instance_method.page
index 9ee8768..d193fc9 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.instance_method.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.instance_method.page
@@ -6,30 +6,22 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
       </api:returns>
       <api:name>regress_test_obj_instance_method</api:name>
     </api:function>
-
   </info>
   <title>Regress.TestObj.prototype.instance_method</title>
-  
-<synopsis><code mime="text/x-gjs">
-function instance_method():Number {
+  <synopsis><code mime="text/x-gjs">
+function instance_method(): Number(gint) {
     // Gjs wrapper for regress_test_obj_instance_method()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ function instance_method():Number {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.instance_method_callback.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.instance_method_callback.page
index fe26069..73d8e53 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.instance_method_callback.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.instance_method_callback.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,22 +17,15 @@
         <api:name>callback</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestObj.prototype.instance_method_callback</title>
-  
-<synopsis><code mime="text/x-gjs">
-function instance_method_callback(callback:Regress.TestCallback):void {
+  <synopsis><code mime="text/x-gjs">
+function instance_method_callback(callback: <link xref="Regress.TestCallback">Regress.TestCallback</link>): 
void {
     // Gjs wrapper for regress_test_obj_instance_method_callback()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>callback</code></title>
@@ -41,6 +33,4 @@ function instance_method_callback(callback:Regress.TestCallback):void {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.null_out.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.null_out.page
index dfc9ef0..b9d08cf 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.null_out.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.null_out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,25 +13,20 @@
       </api:returns>
       <api:name>regress_test_obj_null_out</api:name>
     </api:function>
-
   </info>
-  <title>null_out</title>
-  
-<synopsis><code mime="text/x-gjs">
-function null_out():void {
+  <title>Regress.TestObj.null_out</title>
+  <synopsis><code mime="text/x-gjs">
+function null_out(): <link xref="Regress.TestObj">Regress.TestObj</link> {
     // Gjs wrapper for regress_test_obj_null_out()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
+<item>
+<title><code>obj</code></title>
+  <p>A <link xref="Regress.TestObj"/></p>
+</item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.page
index b842894..4b43596 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.page
@@ -6,36 +6,17 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="class" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestObj</title>
-  
   <synopsis><code>
 const Regress = imports.gi.Regress;
 
-let test_obj = new Regress.TestObj({
-    <link xref='Regress.TestObj-bare'>bare</link>: value,
-    <link xref='Regress.TestObj-boxed'>boxed</link>: value,
-    <link xref='Regress.TestObj-double'>double</link>: value,
-    <link xref='Regress.TestObj-float'>float</link>: value,
-    <link xref='Regress.TestObj-gtype'>gtype</link>: value,
-    <link xref='Regress.TestObj-hash-table'>hash_table</link>: value,
-    <link xref='Regress.TestObj-hash-table-old'>hash_table_old</link>: value,
-    <link xref='Regress.TestObj-int'>int</link>: value,
-    <link xref='Regress.TestObj-list'>list</link>: value,
-    <link xref='Regress.TestObj-list-old'>list_old</link>: value,
-    <link xref='Regress.TestObj-string'>string</link>: value,
+let testObj = new Regress.TestObj({
 });
   </code></synopsis>
 
-  
-    
-  
-  
-  
-  
+
   <synopsis>
     <title>Hierarchy</title>
     <tree>
@@ -47,8 +28,11 @@ let test_obj = new Regress.TestObj({
       </item>
     </tree>
   </synopsis>
-
-  
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-gjs"
          groups="method" style="linklist">
@@ -57,7 +41,7 @@ let test_obj = new Regress.TestObj({
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-gjs"
          groups="function" style="linklist">
-    <title>Functions</title>
+    <title>Static Functions</title>
   </links>
   <links type="topic" ui:expanded="true" groups="property" style="linklist">
     <title>Properties</title>
@@ -68,8 +52,10 @@ let test_obj = new Regress.TestObj({
   <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
     <title>Virtual functions</title>
   </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
   <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
     <title>Other</title>
   </links>
-
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.set_bare.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.set_bare.page
index dca89e8..9ca9aca 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.set_bare.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.set_bare.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,22 +17,15 @@
         <api:name>bare</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestObj.prototype.set_bare</title>
-  
-<synopsis><code mime="text/x-gjs">
-function set_bare(bare:GObject.Object):void {
+  <synopsis><code mime="text/x-gjs">
+function set_bare(bare: <link href="../GObject-2.0/GObject.Object.page">GObject.Object</link>): void {
     // Gjs wrapper for regress_test_obj_set_bare()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>bare</code></title>
@@ -41,6 +33,4 @@ function set_bare(bare:GObject.Object):void {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.skip_inout_param.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.skip_inout_param.page
index aee3f2c..cd80f3a 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.skip_inout_param.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.skip_inout_param.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,69 +13,72 @@
       </api:returns>
       <api:name>regress_test_obj_skip_inout_param</api:name>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
         <api:name>a</api:name>
       </api:arg>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gdouble)</api:type>
         <api:name>c</api:name>
       </api:arg>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
         <api:name>inout_d</api:name>
       </api:arg>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
         <api:name>num1</api:name>
       </api:arg>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
         <api:name>num2</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestObj.prototype.skip_inout_param</title>
-  
-<synopsis><code mime="text/x-gjs">
-function skip_inout_param(a:Number, c:Number, inout_d:Number, num1:Number, num2:Number):Boolean {
+  <synopsis><code mime="text/x-gjs">
+function skip_inout_param(a: Number(gint), c: Number(gdouble), inout_d: Number(gint), num1: Number(gint), 
num2: Number(gint)): [ok: Boolean, out_b: Number(gint), inout_d: Number(gint), out_sum: Number(gint)] {
     // Gjs wrapper for regress_test_obj_skip_inout_param()
 }
-</code></synopsis>
+  </code></synopsis>
+  <p>Check that the out value is skipped</p>
 
-  
-    <p>Check that the out value is skipped</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>a</code></title>
-<p>Parameter.</p>
+  <p>Parameter.</p>
 </item>
 <item>
 <title><code>c</code></title>
-<p>Other parameter.</p>
+  <p>Other parameter.</p>
 </item>
 <item>
 <title><code>inout_d</code></title>
-<p>Will be incremented.</p>
+  <p>Will be incremented.</p>
 </item>
 <item>
 <title><code>num1</code></title>
-<p>Number.</p>
+  <p>Number.</p>
 </item>
 <item>
 <title><code>num2</code></title>
-<p>Number.</p>
+  <p>Number.</p>
+</item>
+<item>
+<title><code>ok</code></title>
+
+</item>
+<item>
+<title><code>out_b</code></title>
+  <p>Return value.</p>
+</item>
+<item>
+<title><code>inout_d (out)</code></title>
+  <p>Will be incremented.</p>
 </item>
 <item>
-<title><code>Returns</code></title>
-<p><code>true</code> if the call succeeds, <code>false</code> if @error is set.</p>
+<title><code>out_sum</code></title>
+  <p>Return value.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.skip_out_param.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.skip_out_param.page
index 75b7bb2..de9f031 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.skip_out_param.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.skip_out_param.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,69 +13,72 @@
       </api:returns>
       <api:name>regress_test_obj_skip_out_param</api:name>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
         <api:name>a</api:name>
       </api:arg>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gdouble)</api:type>
         <api:name>c</api:name>
       </api:arg>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
         <api:name>inout_d</api:name>
       </api:arg>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
         <api:name>num1</api:name>
       </api:arg>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
         <api:name>num2</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestObj.prototype.skip_out_param</title>
-  
-<synopsis><code mime="text/x-gjs">
-function skip_out_param(a:Number, c:Number, inout_d:Number, num1:Number, num2:Number):Boolean {
+  <synopsis><code mime="text/x-gjs">
+function skip_out_param(a: Number(gint), c: Number(gdouble), inout_d: Number(gint), num1: Number(gint), 
num2: Number(gint)): [ok: Boolean, out_b: Number(gint), inout_d: Number(gint), out_sum: Number(gint)] {
     // Gjs wrapper for regress_test_obj_skip_out_param()
 }
-</code></synopsis>
+  </code></synopsis>
+  <p>Check that the out value is skipped</p>
 
-  
-    <p>Check that the out value is skipped</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>a</code></title>
-<p>Parameter.</p>
+  <p>Parameter.</p>
 </item>
 <item>
 <title><code>c</code></title>
-<p>Other parameter.</p>
+  <p>Other parameter.</p>
 </item>
 <item>
 <title><code>inout_d</code></title>
-<p>Will be incremented.</p>
+  <p>Will be incremented.</p>
 </item>
 <item>
 <title><code>num1</code></title>
-<p>Number.</p>
+  <p>Number.</p>
 </item>
 <item>
 <title><code>num2</code></title>
-<p>Number.</p>
+  <p>Number.</p>
+</item>
+<item>
+<title><code>ok</code></title>
+
+</item>
+<item>
+<title><code>out_b</code></title>
+  <p>Return value.</p>
+</item>
+<item>
+<title><code>inout_d (out)</code></title>
+  <p>Will be incremented.</p>
 </item>
 <item>
-<title><code>Returns</code></title>
-<p><code>true</code> if the call succeeds, <code>false</code> if @error is set.</p>
+<title><code>out_sum</code></title>
+  <p>Return value.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.skip_param.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.skip_param.page
index cd2081f..7f764bc 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.skip_param.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.skip_param.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,69 +13,72 @@
       </api:returns>
       <api:name>regress_test_obj_skip_param</api:name>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
         <api:name>a</api:name>
       </api:arg>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gdouble)</api:type>
         <api:name>c</api:name>
       </api:arg>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
         <api:name>inout_d</api:name>
       </api:arg>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
         <api:name>num1</api:name>
       </api:arg>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
         <api:name>num2</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestObj.prototype.skip_param</title>
-  
-<synopsis><code mime="text/x-gjs">
-function skip_param(a:Number, c:Number, inout_d:Number, num1:Number, num2:Number):Boolean {
+  <synopsis><code mime="text/x-gjs">
+function skip_param(a: Number(gint), c: Number(gdouble), inout_d: Number(gint), num1: Number(gint), num2: 
Number(gint)): [ok: Boolean, out_b: Number(gint), inout_d: Number(gint), out_sum: Number(gint)] {
     // Gjs wrapper for regress_test_obj_skip_param()
 }
-</code></synopsis>
+  </code></synopsis>
+  <p>Check that a parameter is skipped</p>
 
-  
-    <p>Check that a parameter is skipped</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>a</code></title>
-<p>Parameter.</p>
+  <p>Parameter.</p>
 </item>
 <item>
 <title><code>c</code></title>
-<p>Other parameter.</p>
+  <p>Other parameter.</p>
 </item>
 <item>
 <title><code>inout_d</code></title>
-<p>Will be incremented.</p>
+  <p>Will be incremented.</p>
 </item>
 <item>
 <title><code>num1</code></title>
-<p>Number.</p>
+  <p>Number.</p>
 </item>
 <item>
 <title><code>num2</code></title>
-<p>Number.</p>
+  <p>Number.</p>
+</item>
+<item>
+<title><code>ok</code></title>
+
+</item>
+<item>
+<title><code>out_b</code></title>
+  <p>Return value.</p>
+</item>
+<item>
+<title><code>inout_d (out)</code></title>
+  <p>Will be incremented.</p>
 </item>
 <item>
-<title><code>Returns</code></title>
-<p><code>true</code> if the call succeeds, <code>false</code> if @error is set.</p>
+<title><code>out_sum</code></title>
+  <p>Return value.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.skip_return_val.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.skip_return_val.page
index 22ec572..575dc93 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.skip_return_val.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.skip_return_val.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,69 +13,72 @@
       </api:returns>
       <api:name>regress_test_obj_skip_return_val</api:name>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
         <api:name>a</api:name>
       </api:arg>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gdouble)</api:type>
         <api:name>c</api:name>
       </api:arg>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
         <api:name>inout_d</api:name>
       </api:arg>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
         <api:name>num1</api:name>
       </api:arg>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
         <api:name>num2</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestObj.prototype.skip_return_val</title>
-  
-<synopsis><code mime="text/x-gjs">
-function skip_return_val(a:Number, c:Number, inout_d:Number, num1:Number, num2:Number):Boolean {
+  <synopsis><code mime="text/x-gjs">
+function skip_return_val(a: Number(gint), c: Number(gdouble), inout_d: Number(gint), num1: Number(gint), 
num2: Number(gint)): [ok: Boolean, out_b: Number(gint), inout_d: Number(gint), out_sum: Number(gint)] {
     // Gjs wrapper for regress_test_obj_skip_return_val()
 }
-</code></synopsis>
+  </code></synopsis>
+  <p>Check that the return value is skipped</p>
 
-  
-    <p>Check that the return value is skipped</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>a</code></title>
-<p>Parameter.</p>
+  <p>Parameter.</p>
 </item>
 <item>
 <title><code>c</code></title>
-<p>Other parameter.</p>
+  <p>Other parameter.</p>
 </item>
 <item>
 <title><code>inout_d</code></title>
-<p>Will be incremented.</p>
+  <p>Will be incremented.</p>
 </item>
 <item>
 <title><code>num1</code></title>
-<p>Number.</p>
+  <p>Number.</p>
 </item>
 <item>
 <title><code>num2</code></title>
-<p>Number.</p>
+  <p>Number.</p>
+</item>
+<item>
+<title><code>ok</code></title>
+
+</item>
+<item>
+<title><code>out_b</code></title>
+  <p>A return value.</p>
+</item>
+<item>
+<title><code>inout_d (out)</code></title>
+  <p>Will be incremented.</p>
 </item>
 <item>
-<title><code>Returns</code></title>
-<p><code>true</code> if the call succeeds, <code>false</code> if @error is set.</p>
+<title><code>out_sum</code></title>
+  <p>Return value.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.skip_return_val_no_out.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.skip_return_val_no_out.page
index 74701f7..9e90bcc 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.skip_return_val_no_out.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.skip_return_val_no_out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,38 +13,29 @@
       </api:returns>
       <api:name>regress_test_obj_skip_return_val_no_out</api:name>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
         <api:name>a</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestObj.prototype.skip_return_val_no_out</title>
-  
-<synopsis><code mime="text/x-gjs">
-function skip_return_val_no_out(a:Number):Boolean {
+  <synopsis><code mime="text/x-gjs">
+function skip_return_val_no_out(a: Number(gint)): Boolean {
     // Gjs wrapper for regress_test_obj_skip_return_val_no_out()
 }
-</code></synopsis>
-
-  
-    <p>Check that the return value is skipped. Succeed if a is nonzero, otherwise
+  </code></synopsis>
+  <p>Check that the return value is skipped. Succeed if a is nonzero, otherwise
 raise an error.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>a</code></title>
-<p>Parameter.</p>
+  <p>Parameter.</p>
 </item>
 <item>
-<title><code>Returns</code></title>
-<p><code>true</code> if the call succeeds, <code>false</code> if @error is set.</p>
+<title><code>ok</code></title>
+
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.static_method.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.static_method.page
index d1f2e59..a2256ce 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.static_method.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.static_method.page
@@ -6,34 +6,26 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>Number</api:type>
+        <api:type>Number(gdouble)</api:type>
       </api:returns>
       <api:name>regress_test_obj_static_method</api:name>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
         <api:name>x</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>static_method</title>
-  
-<synopsis><code mime="text/x-gjs">
-function static_method(x:Number):Number {
+  <title>Regress.TestObj.static_method</title>
+  <synopsis><code mime="text/x-gjs">
+function static_method(x: Number(gint)): Number(gdouble) {
     // Gjs wrapper for regress_test_obj_static_method()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>x</code></title>
@@ -45,6 +37,4 @@ function static_method(x:Number):Number {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.static_method_callback.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.static_method_callback.page
index 13e917e..57371f2 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.static_method_callback.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.static_method_callback.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,22 +17,15 @@
         <api:name>callback</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>static_method_callback</title>
-  
-<synopsis><code mime="text/x-gjs">
-function static_method_callback(callback:Regress.TestCallback):void {
+  <title>Regress.TestObj.static_method_callback</title>
+  <synopsis><code mime="text/x-gjs">
+function static_method_callback(callback: <link xref="Regress.TestCallback">Regress.TestCallback</link>): 
void {
     // Gjs wrapper for regress_test_obj_static_method_callback()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>callback</code></title>
@@ -41,6 +33,4 @@ function static_method_callback(callback:Regress.TestCallback):void {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.torture_signature_0.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.torture_signature_0.page
index 78bf63b..050a326 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.torture_signature_0.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.torture_signature_0.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,7 +13,7 @@
       </api:returns>
       <api:name>regress_test_obj_torture_signature_0</api:name>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
         <api:name>x</api:name>
       </api:arg>
       <api:arg>
@@ -22,26 +21,19 @@
         <api:name>foo</api:name>
       </api:arg>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(guint)</api:type>
         <api:name>m</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestObj.prototype.torture_signature_0</title>
-  
-<synopsis><code mime="text/x-gjs">
-function torture_signature_0(x:Number, foo:String, m:Number):void {
+  <synopsis><code mime="text/x-gjs">
+function torture_signature_0(x: Number(gint), foo: String, m: Number(guint)): [y: Number(gdouble), z: 
Number(gint), q: Number(gint)] {
     // Gjs wrapper for regress_test_obj_torture_signature_0()
 }
-</code></synopsis>
-
-  
-    
-  
-  
-  
-  
+  </code></synopsis>
+
+
 <terms>
 <item>
 <title><code>x</code></title>
@@ -55,8 +47,18 @@ function torture_signature_0(x:Number, foo:String, m:Number):void {
 <title><code>m</code></title>
 
 </item>
+<item>
+<title><code>y</code></title>
+
+</item>
+<item>
+<title><code>z</code></title>
+
+</item>
+<item>
+<title><code>q</code></title>
+
+</item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.torture_signature_1.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.torture_signature_1.page
index 553ddd2..378efdc 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.torture_signature_1.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.torture_signature_1.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,7 +13,7 @@
       </api:returns>
       <api:name>regress_test_obj_torture_signature_1</api:name>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
         <api:name>x</api:name>
       </api:arg>
       <api:arg>
@@ -22,26 +21,19 @@
         <api:name>foo</api:name>
       </api:arg>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(guint)</api:type>
         <api:name>m</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestObj.prototype.torture_signature_1</title>
-  
-<synopsis><code mime="text/x-gjs">
-function torture_signature_1(x:Number, foo:String, m:Number):Boolean {
+  <synopsis><code mime="text/x-gjs">
+function torture_signature_1(x: Number(gint), foo: String, m: Number(guint)): [ok: Boolean, y: 
Number(gdouble), z: Number(gint), q: Number(gint)] {
     // Gjs wrapper for regress_test_obj_torture_signature_1()
 }
-</code></synopsis>
+  </code></synopsis>
+  <p>This function throws an error if m is odd.</p>
 
-  
-    <p>This function throws an error if m is odd.</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>x</code></title>
@@ -56,11 +48,21 @@ function torture_signature_1(x:Number, foo:String, m:Number):Boolean {
 
 </item>
 <item>
-<title><code>Returns</code></title>
+<title><code>ok</code></title>
+
+</item>
+<item>
+<title><code>y</code></title>
+
+</item>
+<item>
+<title><code>z</code></title>
+
+</item>
+<item>
+<title><code>q</code></title>
 
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestOtherError.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestOtherError.page
index 858e58a..f968c9c 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestOtherError.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestOtherError.page
@@ -6,19 +6,11 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="enum" type="guide"/>
-    
+    <link xref="index" group="enum" type="guide"/>
   </info>
   <title>Regress.TestOtherError</title>
-  
-  
-  
-    
-  
-  
-  
-  
+
+
 <terms>
 <item>
 <title><code>TestOtherError.CODE1</code></title>
@@ -34,6 +26,4 @@
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestOtherError.quark.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestOtherError.quark.page
index d75b6aa..6e95aa2 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestOtherError.quark.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestOtherError.quark.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_unconventional_error_quark</api:name>
     </api:function>
-
   </info>
-  <title>quark</title>
-  
-<synopsis><code mime="text/x-gjs">
-function quark():GLib.Quark {
+  <title>Regress.quark</title>
+  <synopsis><code mime="text/x-gjs">
+function quark(): <link href="../GLib-2.0/GLib.Quark.page">GLib.Quark</link> {
     // Gjs wrapper for regress_test_unconventional_error_quark()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ function quark():GLib.Quark {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestPrivateEnum.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestPrivateEnum.page
index 66b477d..0cf17c1 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestPrivateEnum.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestPrivateEnum.page
@@ -6,20 +6,9 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
   <title>Regress.TestPrivateEnum</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestPrivateStruct-this_is_public_after.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestPrivateStruct-this_is_public_after.page
new file mode 100644
index 0000000..812c2f9
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestPrivateStruct-this_is_public_after.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.TestPrivateStruct-this_is_public_after"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestPrivateStruct" group="field" type="guide"/>
+    <title type="link" role="topic">this_is_public_after</title>
+  </info>
+  <title>Regress.TestPrivateStruct.this_is_public_after</title>
+  <synopsis><code mime="text/x-gjs">
+TestPrivateStruct.this_is_public_after: Number(gint) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestPrivateStruct-this_is_public_before.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestPrivateStruct-this_is_public_before.page
new file mode 100644
index 0000000..465be84
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestPrivateStruct-this_is_public_before.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.TestPrivateStruct-this_is_public_before"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestPrivateStruct" group="field" type="guide"/>
+    <title type="link" role="topic">this_is_public_before</title>
+  </info>
+  <title>Regress.TestPrivateStruct.this_is_public_before</title>
+  <synopsis><code mime="text/x-gjs">
+TestPrivateStruct.this_is_public_before: Number(gint) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestPrivateStruct.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestPrivateStruct.page
index 7b1309d..7ce2a7c 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestPrivateStruct.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestPrivateStruct.page
@@ -1,25 +1,43 @@
 <?xml version="1.0"?>
 <page id="Regress.TestPrivateStruct"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestPrivateStruct</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+const Regress = imports.gi.Regress;
+
+let testPrivateStruct = new Regress.TestPrivateStruct({
+    <link xref='Regress.TestPrivateStruct-this_is_public_before'>this_is_public_before</link>: value
+    <link xref='Regress.TestPrivateStruct-this_is_public_after'>this_is_public_after</link>: value
+});
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestReferenceEnum.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestReferenceEnum.page
index 2c8b1ab..afda5f3 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestReferenceEnum.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestReferenceEnum.page
@@ -6,19 +6,11 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="enum" type="guide"/>
-    
+    <link xref="index" group="enum" type="guide"/>
   </info>
   <title>Regress.TestReferenceEnum</title>
-  
-  
-  
-    
-  
-  
-  
-  
+
+
 <terms>
 <item>
 <title><code>TestReferenceEnum.0</code></title>
@@ -46,6 +38,4 @@
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedA-some_double.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedA-some_double.page
new file mode 100644
index 0000000..bbbc3a2
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedA-some_double.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.TestSimpleBoxedA-some_double"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestSimpleBoxedA" group="field" type="guide"/>
+    <title type="link" role="topic">some_double</title>
+  </info>
+  <title>Regress.TestSimpleBoxedA.some_double</title>
+  <synopsis><code mime="text/x-gjs">
+TestSimpleBoxedA.some_double: Number(gdouble) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedA-some_enum.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedA-some_enum.page
new file mode 100644
index 0000000..770423f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedA-some_enum.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.TestSimpleBoxedA-some_enum"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestSimpleBoxedA" group="field" type="guide"/>
+    <title type="link" role="topic">some_enum</title>
+  </info>
+  <title>Regress.TestSimpleBoxedA.some_enum</title>
+  <synopsis><code mime="text/x-gjs">
+TestSimpleBoxedA.some_enum: <link xref="Regress.TestEnum">Regress.TestEnum</link> (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedA-some_int.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedA-some_int.page
new file mode 100644
index 0000000..03d94f6
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedA-some_int.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.TestSimpleBoxedA-some_int"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestSimpleBoxedA" group="field" type="guide"/>
+    <title type="link" role="topic">some_int</title>
+  </info>
+  <title>Regress.TestSimpleBoxedA.some_int</title>
+  <synopsis><code mime="text/x-gjs">
+TestSimpleBoxedA.some_int: Number(gint) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedA-some_int8.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedA-some_int8.page
new file mode 100644
index 0000000..ec643f6
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedA-some_int8.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.TestSimpleBoxedA-some_int8"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestSimpleBoxedA" group="field" type="guide"/>
+    <title type="link" role="topic">some_int8</title>
+  </info>
+  <title>Regress.TestSimpleBoxedA.some_int8</title>
+  <synopsis><code mime="text/x-gjs">
+TestSimpleBoxedA.some_int8: Number(gint8) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedA.const_return.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedA.const_return.page
index 7f5dfde..d096c27 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedA.const_return.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedA.const_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestSimpleBoxedA" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_simple_boxed_a_const_return</api:name>
     </api:function>
-
   </info>
-  <title>const_return</title>
-  
-<synopsis><code mime="text/x-gjs">
-function const_return():Regress.TestSimpleBoxedA {
+  <title>Regress.TestSimpleBoxedA.const_return</title>
+  <synopsis><code mime="text/x-gjs">
+function const_return(): <link xref="Regress.TestSimpleBoxedA">Regress.TestSimpleBoxedA</link> {
     // Gjs wrapper for regress_test_simple_boxed_a_const_return()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ function const_return():Regress.TestSimpleBoxedA {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedA.copy.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedA.copy.page
index 6aa0974..c5d349b 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedA.copy.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedA.copy.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestSimpleBoxedA" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_simple_boxed_a_copy</api:name>
     </api:function>
-
   </info>
   <title>Regress.TestSimpleBoxedA.prototype.copy</title>
-  
-<synopsis><code mime="text/x-gjs">
-function copy():Regress.TestSimpleBoxedA {
+  <synopsis><code mime="text/x-gjs">
+function copy(): <link xref="Regress.TestSimpleBoxedA">Regress.TestSimpleBoxedA</link> {
     // Gjs wrapper for regress_test_simple_boxed_a_copy()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ function copy():Regress.TestSimpleBoxedA {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedA.equals.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedA.equals.page
index 52e5877..aa033e5 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedA.equals.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedA.equals.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestSimpleBoxedA" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,33 +17,24 @@
         <api:name>other_a</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestSimpleBoxedA.prototype.equals</title>
-  
-<synopsis><code mime="text/x-gjs">
-function equals(other_a:Regress.TestSimpleBoxedA):Boolean {
+  <synopsis><code mime="text/x-gjs">
+function equals(other_a: <link xref="Regress.TestSimpleBoxedA">Regress.TestSimpleBoxedA</link>): Boolean {
     // Gjs wrapper for regress_test_simple_boxed_a_equals()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>other_a</code></title>
 
 </item>
 <item>
-<title><code>Returns</code></title>
+<title><code>ok</code></title>
 
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedA.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedA.page
index 9117ddb..1ba157a 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedA.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedA.page
@@ -1,25 +1,45 @@
 <?xml version="1.0"?>
 <page id="Regress.TestSimpleBoxedA"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestSimpleBoxedA</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+const Regress = imports.gi.Regress;
+
+let testSimpleBoxedA = new Regress.TestSimpleBoxedA({
+    <link xref='Regress.TestSimpleBoxedA-some_int'>some_int</link>: value
+    <link xref='Regress.TestSimpleBoxedA-some_int8'>some_int8</link>: value
+    <link xref='Regress.TestSimpleBoxedA-some_double'>some_double</link>: value
+    <link xref='Regress.TestSimpleBoxedA-some_enum'>some_enum</link>: value
+});
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedB-nested_a.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedB-nested_a.page
new file mode 100644
index 0000000..932f958
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedB-nested_a.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.TestSimpleBoxedB-nested_a"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestSimpleBoxedB" group="field" type="guide"/>
+    <title type="link" role="topic">nested_a</title>
+  </info>
+  <title>Regress.TestSimpleBoxedB.nested_a</title>
+  <synopsis><code mime="text/x-gjs">
+TestSimpleBoxedB.nested_a: <link xref="Regress.TestSimpleBoxedA">Regress.TestSimpleBoxedA</link> (Read / 
Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedB-some_int8.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedB-some_int8.page
new file mode 100644
index 0000000..9238e12
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedB-some_int8.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.TestSimpleBoxedB-some_int8"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestSimpleBoxedB" group="field" type="guide"/>
+    <title type="link" role="topic">some_int8</title>
+  </info>
+  <title>Regress.TestSimpleBoxedB.some_int8</title>
+  <synopsis><code mime="text/x-gjs">
+TestSimpleBoxedB.some_int8: Number(gint8) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedB.copy.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedB.copy.page
index b1bd51a..7c6abac 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedB.copy.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedB.copy.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestSimpleBoxedB" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_simple_boxed_b_copy</api:name>
     </api:function>
-
   </info>
   <title>Regress.TestSimpleBoxedB.prototype.copy</title>
-  
-<synopsis><code mime="text/x-gjs">
-function copy():Regress.TestSimpleBoxedB {
+  <synopsis><code mime="text/x-gjs">
+function copy(): <link xref="Regress.TestSimpleBoxedB">Regress.TestSimpleBoxedB</link> {
     // Gjs wrapper for regress_test_simple_boxed_b_copy()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ function copy():Regress.TestSimpleBoxedB {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedB.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedB.page
index 7ecc623..34d830a 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedB.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedB.page
@@ -1,25 +1,43 @@
 <?xml version="1.0"?>
 <page id="Regress.TestSimpleBoxedB"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestSimpleBoxedB</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+const Regress = imports.gi.Regress;
+
+let testSimpleBoxedB = new Regress.TestSimpleBoxedB({
+    <link xref='Regress.TestSimpleBoxedB-some_int8'>some_int8</link>: value
+    <link xref='Regress.TestSimpleBoxedB-nested_a'>nested_a</link>: value
+});
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleCallback.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleCallback.page
index f815782..6e31d3d 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleCallback.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleCallback.page
@@ -1,25 +1,19 @@
 <?xml version="1.0"?>
 <page id="Regress.TestSimpleCallback"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="callback" type="guide"/>
   </info>
   <title>Regress.TestSimpleCallback</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-gjs">
+function onTestSimpleCallback(): void {
+}
+  </code></synopsis>
+
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructA-some_double.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructA-some_double.page
new file mode 100644
index 0000000..d305919
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructA-some_double.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructA-some_double"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestStructA" group="field" type="guide"/>
+    <title type="link" role="topic">some_double</title>
+  </info>
+  <title>Regress.TestStructA.some_double</title>
+  <synopsis><code mime="text/x-gjs">
+TestStructA.some_double: Number(gdouble) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructA-some_enum.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructA-some_enum.page
new file mode 100644
index 0000000..80dd331
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructA-some_enum.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructA-some_enum"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestStructA" group="field" type="guide"/>
+    <title type="link" role="topic">some_enum</title>
+  </info>
+  <title>Regress.TestStructA.some_enum</title>
+  <synopsis><code mime="text/x-gjs">
+TestStructA.some_enum: <link xref="Regress.TestEnum">Regress.TestEnum</link> (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructA-some_int.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructA-some_int.page
new file mode 100644
index 0000000..ab7790d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructA-some_int.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructA-some_int"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestStructA" group="field" type="guide"/>
+    <title type="link" role="topic">some_int</title>
+  </info>
+  <title>Regress.TestStructA.some_int</title>
+  <synopsis><code mime="text/x-gjs">
+TestStructA.some_int: Number(gint) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructA-some_int8.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructA-some_int8.page
new file mode 100644
index 0000000..0e1611e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructA-some_int8.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructA-some_int8"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestStructA" group="field" type="guide"/>
+    <title type="link" role="topic">some_int8</title>
+  </info>
+  <title>Regress.TestStructA.some_int8</title>
+  <synopsis><code mime="text/x-gjs">
+TestStructA.some_int8: Number(gint8) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructA.clone.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructA.clone.page
index ded4a79..3d185ec 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructA.clone.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructA.clone.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestStructA" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,25 +13,20 @@
       </api:returns>
       <api:name>regress_test_struct_a_clone</api:name>
     </api:function>
-
   </info>
   <title>Regress.TestStructA.prototype.clone</title>
-  
-<synopsis><code mime="text/x-gjs">
-function clone():void {
+  <synopsis><code mime="text/x-gjs">
+function clone(): <link xref="Regress.TestStructA">Regress.TestStructA</link> {
     // Gjs wrapper for regress_test_struct_a_clone()
 }
-</code></synopsis>
+  </code></synopsis>
+  <p>Make a copy of a RegressTestStructA</p>
 
-  
-    <p>Make a copy of a RegressTestStructA</p>
-  
-  
-  
-  
 <terms>
+<item>
+<title><code>a_out</code></title>
+  <p>the cloned structure</p>
+</item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructA.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructA.page
index a6a9817..3f27491 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructA.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructA.page
@@ -1,25 +1,45 @@
 <?xml version="1.0"?>
 <page id="Regress.TestStructA"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestStructA</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+const Regress = imports.gi.Regress;
+
+let testStructA = new Regress.TestStructA({
+    <link xref='Regress.TestStructA-some_int'>some_int</link>: value
+    <link xref='Regress.TestStructA-some_int8'>some_int8</link>: value
+    <link xref='Regress.TestStructA-some_double'>some_double</link>: value
+    <link xref='Regress.TestStructA-some_enum'>some_enum</link>: value
+});
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructA.parse.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructA.parse.page
index 38406e6..2009ef3 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructA.parse.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructA.parse.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestStructA" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,29 +17,24 @@
         <api:name>string</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>parse</title>
-  
-<synopsis><code mime="text/x-gjs">
-function parse(string:String):void {
+  <title>Regress.TestStructA.parse</title>
+  <synopsis><code mime="text/x-gjs">
+function parse(string: String): <link xref="Regress.TestStructA">Regress.TestStructA</link> {
     // Gjs wrapper for regress_test_struct_a_parse()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>string</code></title>
-<p>ignored</p>
+  <p>ignored</p>
+</item>
+<item>
+<title><code>a_out</code></title>
+  <p>the structure that is to be filled</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructB-nested_a.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructB-nested_a.page
new file mode 100644
index 0000000..4f414af
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructB-nested_a.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructB-nested_a"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestStructB" group="field" type="guide"/>
+    <title type="link" role="topic">nested_a</title>
+  </info>
+  <title>Regress.TestStructB.nested_a</title>
+  <synopsis><code mime="text/x-gjs">
+TestStructB.nested_a: <link xref="Regress.TestStructA">Regress.TestStructA</link> (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructB-some_int8.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructB-some_int8.page
new file mode 100644
index 0000000..ba646c6
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructB-some_int8.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructB-some_int8"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestStructB" group="field" type="guide"/>
+    <title type="link" role="topic">some_int8</title>
+  </info>
+  <title>Regress.TestStructB.some_int8</title>
+  <synopsis><code mime="text/x-gjs">
+TestStructB.some_int8: Number(gint8) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructB.clone.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructB.clone.page
index 20278cd..c0d2e51 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructB.clone.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructB.clone.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestStructB" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,25 +13,20 @@
       </api:returns>
       <api:name>regress_test_struct_b_clone</api:name>
     </api:function>
-
   </info>
   <title>Regress.TestStructB.prototype.clone</title>
-  
-<synopsis><code mime="text/x-gjs">
-function clone():void {
+  <synopsis><code mime="text/x-gjs">
+function clone(): <link xref="Regress.TestStructB">Regress.TestStructB</link> {
     // Gjs wrapper for regress_test_struct_b_clone()
 }
-</code></synopsis>
+  </code></synopsis>
+  <p>Make a copy of a RegressTestStructB</p>
 
-  
-    <p>Make a copy of a RegressTestStructB</p>
-  
-  
-  
-  
 <terms>
+<item>
+<title><code>b_out</code></title>
+  <p>the cloned structure</p>
+</item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructB.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructB.page
index 21d8626..0fa28db 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructB.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructB.page
@@ -1,25 +1,43 @@
 <?xml version="1.0"?>
 <page id="Regress.TestStructB"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestStructB</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+const Regress = imports.gi.Regress;
+
+let testStructB = new Regress.TestStructB({
+    <link xref='Regress.TestStructB-some_int8'>some_int8</link>: value
+    <link xref='Regress.TestStructB-nested_a'>nested_a</link>: value
+});
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructC-another_int.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructC-another_int.page
new file mode 100644
index 0000000..b8f022f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructC-another_int.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructC-another_int"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestStructC" group="field" type="guide"/>
+    <title type="link" role="topic">another_int</title>
+  </info>
+  <title>Regress.TestStructC.another_int</title>
+  <synopsis><code mime="text/x-gjs">
+TestStructC.another_int: Number(gint) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructC-obj.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructC-obj.page
new file mode 100644
index 0000000..162697c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructC-obj.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructC-obj"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestStructC" group="field" type="guide"/>
+    <title type="link" role="topic">obj</title>
+  </info>
+  <title>Regress.TestStructC.obj</title>
+  <synopsis><code mime="text/x-gjs">
+TestStructC.obj: <link href="../GObject-2.0/GObject.Object.page">GObject.Object</link> (Read)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructC.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructC.page
index 6bd5812..82e0ae4 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructC.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructC.page
@@ -1,25 +1,42 @@
 <?xml version="1.0"?>
 <page id="Regress.TestStructC"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestStructC</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+const Regress = imports.gi.Regress;
+
+let testStructC = new Regress.TestStructC({
+    <link xref='Regress.TestStructC-another_int'>another_int</link>: value
+});
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructD-array1.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructD-array1.page
new file mode 100644
index 0000000..d957af3
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructD-array1.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructD-array1"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestStructD" group="field" type="guide"/>
+    <title type="link" role="topic">array1</title>
+  </info>
+  <title>Regress.TestStructD.array1</title>
+  <synopsis><code mime="text/x-gjs">
+TestStructD.array1: Array(<link xref="Regress.TestStructA">Regress.TestStructA</link>) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructD-array2.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructD-array2.page
new file mode 100644
index 0000000..13d7e87
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructD-array2.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructD-array2"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestStructD" group="field" type="guide"/>
+    <title type="link" role="topic">array2</title>
+  </info>
+  <title>Regress.TestStructD.array2</title>
+  <synopsis><code mime="text/x-gjs">
+TestStructD.array2: Array(<link xref="Regress.TestObj">Regress.TestObj</link>) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructD-field.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructD-field.page
new file mode 100644
index 0000000..4797612
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructD-field.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructD-field"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestStructD" group="field" type="guide"/>
+    <title type="link" role="topic">field</title>
+  </info>
+  <title>Regress.TestStructD.field</title>
+  <synopsis><code mime="text/x-gjs">
+TestStructD.field: <link xref="Regress.TestObj">Regress.TestObj</link> (Read)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructD-garray.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructD-garray.page
new file mode 100644
index 0000000..1eca3f3
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructD-garray.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructD-garray"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestStructD" group="field" type="guide"/>
+    <title type="link" role="topic">garray</title>
+  </info>
+  <title>Regress.TestStructD.garray</title>
+  <synopsis><code mime="text/x-gjs">
+TestStructD.garray: Array(<link xref="Regress.TestObj">Regress.TestObj</link>) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructD-list.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructD-list.page
new file mode 100644
index 0000000..655b312
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructD-list.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructD-list"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestStructD" group="field" type="guide"/>
+    <title type="link" role="topic">list</title>
+  </info>
+  <title>Regress.TestStructD.list</title>
+  <synopsis><code mime="text/x-gjs">
+TestStructD.list: Array(<link xref="Regress.TestObj">Regress.TestObj</link>) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructD.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructD.page
index aa9f131..b8222c8 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructD.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructD.page
@@ -1,25 +1,45 @@
 <?xml version="1.0"?>
 <page id="Regress.TestStructD"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestStructD</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+const Regress = imports.gi.Regress;
+
+let testStructD = new Regress.TestStructD({
+    <link xref='Regress.TestStructD-array1'>array1</link>: value
+    <link xref='Regress.TestStructD-array2'>array2</link>: value
+    <link xref='Regress.TestStructD-list'>list</link>: value
+    <link xref='Regress.TestStructD-garray'>garray</link>: value
+});
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructE-some_type.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructE-some_type.page
new file mode 100644
index 0000000..74909cf
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructE-some_type.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructE-some_type"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestStructE" group="field" type="guide"/>
+    <title type="link" role="topic">some_type</title>
+  </info>
+  <title>Regress.TestStructE.some_type</title>
+  <synopsis><code mime="text/x-gjs">
+TestStructE.some_type: GObject.Type (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructE-some_union.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructE-some_union.page
new file mode 100644
index 0000000..cafd678
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructE-some_union.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructE-some_union"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestStructE" group="field" type="guide"/>
+    <title type="link" role="topic">some_union</title>
+  </info>
+  <title>Regress.TestStructE.some_union</title>
+  <synopsis><code mime="text/x-gjs">
+TestStructE.some_union: Array(<link 
xref="Regress.TestStructE__some_union__union">Regress.TestStructE__some_union__union</link>) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructE.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructE.page
index b931c36..788803f 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructE.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructE.page
@@ -1,25 +1,43 @@
 <?xml version="1.0"?>
 <page id="Regress.TestStructE"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestStructE</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+const Regress = imports.gi.Regress;
+
+let testStructE = new Regress.TestStructE({
+    <link xref='Regress.TestStructE-some_type'>some_type</link>: value
+    <link xref='Regress.TestStructE-some_union'>some_union</link>: value
+});
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructE__some_union__union-v_double.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructE__some_union__union-v_double.page
new file mode 100644
index 0000000..2861829
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructE__some_union__union-v_double.page
@@ -0,0 +1,20 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructE__some_union__union-v_double"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestStructE__some_union__union"
+      group="field"
+      type="guide"/>
+    <title type="link" role="topic">v_double</title>
+  </info>
+  <title>Regress.TestStructE__some_union__union.v_double</title>
+  <synopsis><code mime="text/x-gjs">
+TestStructE__some_union__union.v_double: Number(gdouble) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructE__some_union__union-v_float.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructE__some_union__union-v_float.page
new file mode 100644
index 0000000..fb1222e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructE__some_union__union-v_float.page
@@ -0,0 +1,20 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructE__some_union__union-v_float"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestStructE__some_union__union"
+      group="field"
+      type="guide"/>
+    <title type="link" role="topic">v_float</title>
+  </info>
+  <title>Regress.TestStructE__some_union__union.v_float</title>
+  <synopsis><code mime="text/x-gjs">
+TestStructE__some_union__union.v_float: Number(gfloat) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructE__some_union__union-v_int.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructE__some_union__union-v_int.page
new file mode 100644
index 0000000..91b82a8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructE__some_union__union-v_int.page
@@ -0,0 +1,20 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructE__some_union__union-v_int"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestStructE__some_union__union"
+      group="field"
+      type="guide"/>
+    <title type="link" role="topic">v_int</title>
+  </info>
+  <title>Regress.TestStructE__some_union__union.v_int</title>
+  <synopsis><code mime="text/x-gjs">
+TestStructE__some_union__union.v_int: Number(gint) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructE__some_union__union-v_int64.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructE__some_union__union-v_int64.page
new file mode 100644
index 0000000..eadfcaf
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructE__some_union__union-v_int64.page
@@ -0,0 +1,20 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructE__some_union__union-v_int64"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestStructE__some_union__union"
+      group="field"
+      type="guide"/>
+    <title type="link" role="topic">v_int64</title>
+  </info>
+  <title>Regress.TestStructE__some_union__union.v_int64</title>
+  <synopsis><code mime="text/x-gjs">
+TestStructE__some_union__union.v_int64: Number(gint64) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructE__some_union__union-v_long.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructE__some_union__union-v_long.page
new file mode 100644
index 0000000..6594a30
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructE__some_union__union-v_long.page
@@ -0,0 +1,20 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructE__some_union__union-v_long"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestStructE__some_union__union"
+      group="field"
+      type="guide"/>
+    <title type="link" role="topic">v_long</title>
+  </info>
+  <title>Regress.TestStructE__some_union__union.v_long</title>
+  <synopsis><code mime="text/x-gjs">
+TestStructE__some_union__union.v_long: Number(glong) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructE__some_union__union-v_pointer.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructE__some_union__union-v_pointer.page
new file mode 100644
index 0000000..479865f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructE__some_union__union-v_pointer.page
@@ -0,0 +1,20 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructE__some_union__union-v_pointer"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestStructE__some_union__union"
+      group="field"
+      type="guide"/>
+    <title type="link" role="topic">v_pointer</title>
+  </info>
+  <title>Regress.TestStructE__some_union__union.v_pointer</title>
+  <synopsis><code mime="text/x-gjs">
+TestStructE__some_union__union.v_pointer: void (Read)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructE__some_union__union-v_uint.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructE__some_union__union-v_uint.page
new file mode 100644
index 0000000..ea437b3
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructE__some_union__union-v_uint.page
@@ -0,0 +1,20 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructE__some_union__union-v_uint"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestStructE__some_union__union"
+      group="field"
+      type="guide"/>
+    <title type="link" role="topic">v_uint</title>
+  </info>
+  <title>Regress.TestStructE__some_union__union.v_uint</title>
+  <synopsis><code mime="text/x-gjs">
+TestStructE__some_union__union.v_uint: Number(guint) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructE__some_union__union-v_uint64.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructE__some_union__union-v_uint64.page
new file mode 100644
index 0000000..9de3409
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructE__some_union__union-v_uint64.page
@@ -0,0 +1,20 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructE__some_union__union-v_uint64"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestStructE__some_union__union"
+      group="field"
+      type="guide"/>
+    <title type="link" role="topic">v_uint64</title>
+  </info>
+  <title>Regress.TestStructE__some_union__union.v_uint64</title>
+  <synopsis><code mime="text/x-gjs">
+TestStructE__some_union__union.v_uint64: Number(guint64) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructE__some_union__union-v_ulong.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructE__some_union__union-v_ulong.page
new file mode 100644
index 0000000..7b6aa20
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructE__some_union__union-v_ulong.page
@@ -0,0 +1,20 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructE__some_union__union-v_ulong"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestStructE__some_union__union"
+      group="field"
+      type="guide"/>
+    <title type="link" role="topic">v_ulong</title>
+  </info>
+  <title>Regress.TestStructE__some_union__union.v_ulong</title>
+  <synopsis><code mime="text/x-gjs">
+TestStructE__some_union__union.v_ulong: Number(gulong) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructE__some_union__union.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructE__some_union__union.page
index 3b81e62..38ee269 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructE__some_union__union.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructE__some_union__union.page
@@ -1,25 +1,49 @@
 <?xml version="1.0"?>
 <page id="Regress.TestStructE__some_union__union"
-      type="topic"
-      style="default"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestStructE__some_union__union</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+const Regress = imports.gi.Regress;
+
+let testStructE__some_union__union = new Regress.TestStructE__some_union__union({
+    <link xref='Regress.TestStructE__some_union__union-v_int'>v_int</link>: value
+    <link xref='Regress.TestStructE__some_union__union-v_uint'>v_uint</link>: value
+    <link xref='Regress.TestStructE__some_union__union-v_long'>v_long</link>: value
+    <link xref='Regress.TestStructE__some_union__union-v_ulong'>v_ulong</link>: value
+    <link xref='Regress.TestStructE__some_union__union-v_int64'>v_int64</link>: value
+    <link xref='Regress.TestStructE__some_union__union-v_uint64'>v_uint64</link>: value
+    <link xref='Regress.TestStructE__some_union__union-v_float'>v_float</link>: value
+    <link xref='Regress.TestStructE__some_union__union-v_double'>v_double</link>: value
+});
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructF-data1.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructF-data1.page
new file mode 100644
index 0000000..8b5d725
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructF-data1.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructF-data1"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestStructF" group="field" type="guide"/>
+    <title type="link" role="topic">data1</title>
+  </info>
+  <title>Regress.TestStructF.data1</title>
+  <synopsis><code mime="text/x-gjs">
+TestStructF.data1: Number(gint) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructF-data2.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructF-data2.page
new file mode 100644
index 0000000..0c49cda
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructF-data2.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructF-data2"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestStructF" group="field" type="guide"/>
+    <title type="link" role="topic">data2</title>
+  </info>
+  <title>Regress.TestStructF.data2</title>
+  <synopsis><code mime="text/x-gjs">
+TestStructF.data2: Number(gint) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructF-data3.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructF-data3.page
new file mode 100644
index 0000000..7c14530
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructF-data3.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructF-data3"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestStructF" group="field" type="guide"/>
+    <title type="link" role="topic">data3</title>
+  </info>
+  <title>Regress.TestStructF.data3</title>
+  <synopsis><code mime="text/x-gjs">
+TestStructF.data3: Number(gint) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructF-data4.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructF-data4.page
new file mode 100644
index 0000000..8783146
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructF-data4.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructF-data4"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestStructF" group="field" type="guide"/>
+    <title type="link" role="topic">data4</title>
+  </info>
+  <title>Regress.TestStructF.data4</title>
+  <synopsis><code mime="text/x-gjs">
+TestStructF.data4: Number(gint) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructF-data5.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructF-data5.page
new file mode 100644
index 0000000..84f5878
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructF-data5.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructF-data5"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestStructF" group="field" type="guide"/>
+    <title type="link" role="topic">data5</title>
+  </info>
+  <title>Regress.TestStructF.data5</title>
+  <synopsis><code mime="text/x-gjs">
+TestStructF.data5: Number(gint) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructF-data6.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructF-data6.page
new file mode 100644
index 0000000..6662c2e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructF-data6.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructF-data6"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestStructF" group="field" type="guide"/>
+    <title type="link" role="topic">data6</title>
+  </info>
+  <title>Regress.TestStructF.data6</title>
+  <synopsis><code mime="text/x-gjs">
+TestStructF.data6: Number(gint) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructF-ref_count.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructF-ref_count.page
new file mode 100644
index 0000000..85be6dd
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructF-ref_count.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructF-ref_count"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestStructF" group="field" type="guide"/>
+    <title type="link" role="topic">ref_count</title>
+  </info>
+  <title>Regress.TestStructF.ref_count</title>
+  <synopsis><code mime="text/x-gjs">
+TestStructF.ref_count: Number(gint) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructF.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructF.page
index cfb434b..feae9a2 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructF.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructF.page
@@ -1,25 +1,48 @@
 <?xml version="1.0"?>
 <page id="Regress.TestStructF"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestStructF</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+const Regress = imports.gi.Regress;
+
+let testStructF = new Regress.TestStructF({
+    <link xref='Regress.TestStructF-ref_count'>ref_count</link>: value
+    <link xref='Regress.TestStructF-data1'>data1</link>: value
+    <link xref='Regress.TestStructF-data2'>data2</link>: value
+    <link xref='Regress.TestStructF-data3'>data3</link>: value
+    <link xref='Regress.TestStructF-data4'>data4</link>: value
+    <link xref='Regress.TestStructF-data5'>data5</link>: value
+    <link xref='Regress.TestStructF-data6'>data6</link>: value
+});
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructFixedArray-array.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructFixedArray-array.page
new file mode 100644
index 0000000..b065f89
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructFixedArray-array.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructFixedArray-array"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestStructFixedArray" group="field" type="guide"/>
+    <title type="link" role="topic">array</title>
+  </info>
+  <title>Regress.TestStructFixedArray.array</title>
+  <synopsis><code mime="text/x-gjs">
+TestStructFixedArray.array: Array(Number(gint)) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructFixedArray-just_int.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructFixedArray-just_int.page
new file mode 100644
index 0000000..75e1e60
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructFixedArray-just_int.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructFixedArray-just_int"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestStructFixedArray" group="field" type="guide"/>
+    <title type="link" role="topic">just_int</title>
+  </info>
+  <title>Regress.TestStructFixedArray.just_int</title>
+  <synopsis><code mime="text/x-gjs">
+TestStructFixedArray.just_int: Number(gint) (Read / Write)
+  </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructFixedArray.frob.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructFixedArray.frob.page
index f0edd05..4896e33 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructFixedArray.frob.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructFixedArray.frob.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestStructFixedArray" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,25 +13,14 @@
       </api:returns>
       <api:name>regress_test_struct_fixed_array_frob</api:name>
     </api:function>
-
   </info>
   <title>Regress.TestStructFixedArray.prototype.frob</title>
-  
-<synopsis><code mime="text/x-gjs">
-function frob():void {
+  <synopsis><code mime="text/x-gjs">
+function frob(): void {
     // Gjs wrapper for regress_test_struct_fixed_array_frob()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
-<terms>
-</terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructFixedArray.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructFixedArray.page
index db6e789..12b81be 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructFixedArray.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructFixedArray.page
@@ -1,25 +1,43 @@
 <?xml version="1.0"?>
 <page id="Regress.TestStructFixedArray"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestStructFixedArray</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+const Regress = imports.gi.Regress;
+
+let testStructFixedArray = new Regress.TestStructFixedArray({
+    <link xref='Regress.TestStructFixedArray-just_int'>just_int</link>: value
+    <link xref='Regress.TestStructFixedArray-array'>array</link>: value
+});
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSubObj.instance_method.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSubObj.instance_method.page
index 26fc790..f2ff527 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSubObj.instance_method.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSubObj.instance_method.page
@@ -6,30 +6,22 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestSubObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
       </api:returns>
       <api:name>regress_test_sub_obj_instance_method</api:name>
     </api:function>
-
   </info>
   <title>Regress.TestSubObj.prototype.instance_method</title>
-  
-<synopsis><code mime="text/x-gjs">
-function instance_method():Number {
+  <synopsis><code mime="text/x-gjs">
+function instance_method(): Number(gint) {
     // Gjs wrapper for regress_test_sub_obj_instance_method()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ function instance_method():Number {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSubObj.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSubObj.page
index 7147da1..d9f0885 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSubObj.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSubObj.page
@@ -6,24 +6,16 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="class" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestSubObj</title>
-  
   <synopsis><code>
 const Regress = imports.gi.Regress;
 
-let test_sub_obj = new Regress.TestSubObj();
+let testSubObj = new Regress.TestSubObj();
   </code></synopsis>
 
-  
-    
-  
-  
-  
-  
+
   <synopsis>
     <title>Hierarchy</title>
     <tree>
@@ -38,8 +30,11 @@ let test_sub_obj = new Regress.TestSubObj();
       </item>
     </tree>
   </synopsis>
-
-  
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-gjs"
          groups="method" style="linklist">
@@ -48,7 +43,7 @@ let test_sub_obj = new Regress.TestSubObj();
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-gjs"
          groups="function" style="linklist">
-    <title>Functions</title>
+    <title>Static Functions</title>
   </links>
   <links type="topic" ui:expanded="true" groups="property" style="linklist">
     <title>Properties</title>
@@ -59,8 +54,10 @@ let test_sub_obj = new Regress.TestSubObj();
   <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
     <title>Virtual functions</title>
   </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
   <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
     <title>Other</title>
   </links>
-
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSubObj.unset_bare.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSubObj.unset_bare.page
index a632f8f..c2f4aa7 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSubObj.unset_bare.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSubObj.unset_bare.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestSubObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,25 +13,14 @@
       </api:returns>
       <api:name>regress_test_sub_obj_unset_bare</api:name>
     </api:function>
-
   </info>
   <title>Regress.TestSubObj.prototype.unset_bare</title>
-  
-<synopsis><code mime="text/x-gjs">
-function unset_bare():void {
+  <synopsis><code mime="text/x-gjs">
+function unset_bare(): void {
     // Gjs wrapper for regress_test_sub_obj_unset_bare()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
-<terms>
-</terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestTypeGUInt64.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestTypeGUInt64.page
index e0a7bc0..fcb2f3b 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestTypeGUInt64.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestTypeGUInt64.page
@@ -6,20 +6,9 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
   <title>Regress.TestTypeGUInt64</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestWi8021x-testbool.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestWi8021x-testbool.page
index 256dbb6..90d74f6 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestWi8021x-testbool.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestWi8021x-testbool.page
@@ -6,24 +6,13 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestWi8021x" group="property" type="guide"/>
     <title type="link" role="topic">testbool</title>
-
   </info>
-  <title>Regress.TestWi8021x:testbool</title>
-  
-<synopsis><code mime="text/x-python">
-"testbool"             Boolean                : Read / Write
-</code></synopsis>
+  <title>Regress.TestWi8021x.testbool</title>
+  <synopsis><code mime="text/x-gjs">
+TestWi8021x.testbool: Boolean (Read / Write)
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
-  
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestWi8021x.get_testbool.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestWi8021x.get_testbool.page
index e42b0d7..8f8db65 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestWi8021x.get_testbool.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestWi8021x.get_testbool.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestWi8021x" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,29 +13,20 @@
       </api:returns>
       <api:name>regress_test_wi_802_1x_get_testbool</api:name>
     </api:function>
-
   </info>
   <title>Regress.TestWi8021x.prototype.get_testbool</title>
-  
-<synopsis><code mime="text/x-gjs">
-function get_testbool():Boolean {
+  <synopsis><code mime="text/x-gjs">
+function get_testbool(): Boolean {
     // Gjs wrapper for regress_test_wi_802_1x_get_testbool()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
-<title><code>Returns</code></title>
+<title><code>ok</code></title>
 
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestWi8021x.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestWi8021x.page
index d69548f..eb70245 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestWi8021x.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestWi8021x.page
@@ -6,26 +6,17 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="class" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestWi8021x</title>
-  
   <synopsis><code>
 const Regress = imports.gi.Regress;
 
-let test_wi8021x = new Regress.TestWi8021x({
-    <link xref='Regress.TestWi8021x-testbool'>testbool</link>: value,
+let testWi8021x = new Regress.TestWi8021x({
 });
   </code></synopsis>
 
-  
-    
-  
-  
-  
-  
+
   <synopsis>
     <title>Hierarchy</title>
     <tree>
@@ -37,8 +28,11 @@ let test_wi8021x = new Regress.TestWi8021x({
       </item>
     </tree>
   </synopsis>
-
-  
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-gjs"
          groups="method" style="linklist">
@@ -47,7 +41,7 @@ let test_wi8021x = new Regress.TestWi8021x({
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/x-gjs"
          groups="function" style="linklist">
-    <title>Functions</title>
+    <title>Static Functions</title>
   </links>
   <links type="topic" ui:expanded="true" groups="property" style="linklist">
     <title>Properties</title>
@@ -58,8 +52,10 @@ let test_wi8021x = new Regress.TestWi8021x({
   <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
     <title>Virtual functions</title>
   </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
   <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
     <title>Other</title>
   </links>
-
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestWi8021x.set_testbool.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestWi8021x.set_testbool.page
index e052ed5..0c42f37 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestWi8021x.set_testbool.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestWi8021x.set_testbool.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestWi8021x" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,22 +17,15 @@
         <api:name>v</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestWi8021x.prototype.set_testbool</title>
-  
-<synopsis><code mime="text/x-gjs">
-function set_testbool(v:Boolean):void {
+  <synopsis><code mime="text/x-gjs">
+function set_testbool(v: Boolean): void {
     // Gjs wrapper for regress_test_wi_802_1x_set_testbool()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>v</code></title>
@@ -41,6 +33,4 @@ function set_testbool(v:Boolean):void {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestWi8021x.static_method.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestWi8021x.static_method.page
index ccfe04c..1771833 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestWi8021x.static_method.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestWi8021x.static_method.page
@@ -6,34 +6,26 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestWi8021x" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
       </api:returns>
       <api:name>regress_test_wi_802_1x_static_method</api:name>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
         <api:name>x</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>static_method</title>
-  
-<synopsis><code mime="text/x-gjs">
-function static_method(x:Number):Number {
+  <title>Regress.TestWi8021x.static_method</title>
+  <synopsis><code mime="text/x-gjs">
+function static_method(x: Number(gint)): Number(gint) {
     // Gjs wrapper for regress_test_wi_802_1x_static_method()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>x</code></title>
@@ -45,6 +37,4 @@ function static_method(x:Number):Number {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.UTF8_CONSTANT.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Gjs-expected/Regress.UTF8_CONSTANT.page
index 6dc17b3..343ad00 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.UTF8_CONSTANT.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.UTF8_CONSTANT"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.UTF8_CONSTANT</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.aliased_caller_alloc.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.aliased_caller_alloc.page
index de2b93b..8ddad6d 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.aliased_caller_alloc.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.aliased_caller_alloc.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,25 +13,20 @@
       </api:returns>
       <api:name>regress_aliased_caller_alloc</api:name>
     </api:function>
-
   </info>
-  <title>aliased_caller_alloc</title>
-  
-<synopsis><code mime="text/x-gjs">
-function aliased_caller_alloc():void {
+  <title>Regress.aliased_caller_alloc</title>
+  <synopsis><code mime="text/x-gjs">
+function aliased_caller_alloc(): <link xref="Regress.AliasedTestBoxed">Regress.AliasedTestBoxed</link> {
     // Gjs wrapper for regress_aliased_caller_alloc()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
+<item>
+<title><code>boxed</code></title>
+
+</item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_attribute_func.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_attribute_func.page
index 8f00a10..dc481fa 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_attribute_func.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_attribute_func.page
@@ -6,11 +6,10 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
       </api:returns>
       <api:name>regress_annotation_attribute_func</api:name>
       <api:arg>
@@ -22,37 +21,28 @@
         <api:name>data</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>annotation_attribute_func</title>
-  
-<synopsis><code mime="text/x-gjs">
-function annotation_attribute_func(object:Regress.AnnotationObject, data:String):Number {
+  <title>Regress.annotation_attribute_func</title>
+  <synopsis><code mime="text/x-gjs">
+function annotation_attribute_func(object: <link 
xref="Regress.AnnotationObject">Regress.AnnotationObject</link>, data: String): Number(gint) {
     // Gjs wrapper for regress_annotation_attribute_func()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>object</code></title>
-<p>A <link xref="Regress.AnnotationObject"/>.</p>
+  <p>A <link xref="Regress.AnnotationObject"/>.</p>
 </item>
 <item>
 <title><code>data</code></title>
-<p>Some data.</p>
+  <p>Some data.</p>
 </item>
 <item>
 <title><code>Returns</code></title>
-<p>The return value.</p>
+
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_custom_destroy.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_custom_destroy.page
index c3e9653..cf5bc93 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_custom_destroy.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_custom_destroy.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,30 +17,21 @@
         <api:name>callback</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>annotation_custom_destroy</title>
-  
-<synopsis><code mime="text/x-gjs">
-function annotation_custom_destroy(callback:Regress.AnnotationCallback):void {
+  <title>Regress.annotation_custom_destroy</title>
+  <synopsis><code mime="text/x-gjs">
+function annotation_custom_destroy(callback: <link 
xref="Regress.AnnotationCallback">Regress.AnnotationCallback</link>): void {
     // Gjs wrapper for regress_annotation_custom_destroy()
 }
-</code></synopsis>
-
-  
-    <p>Test messing up the heuristic of closure/destroy-notification
+  </code></synopsis>
+  <p>Test messing up the heuristic of closure/destroy-notification
 detection, and fixing it via annotations.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>callback</code></title>
-<p>Destroy notification</p>
+  <p>Destroy notification</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_get_source_file.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_get_source_file.page
index 39f6c14..6187e30 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_get_source_file.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_get_source_file.page
@@ -6,37 +6,27 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>filename</api:type>
+        <api:type>String</api:type>
       </api:returns>
       <api:name>regress_annotation_get_source_file</api:name>
     </api:function>
-
   </info>
-  <title>annotation_get_source_file</title>
-  
-<synopsis><code mime="text/x-gjs">
-function annotation_get_source_file():filename {
+  <title>Regress.annotation_get_source_file</title>
+  <synopsis><code mime="text/x-gjs">
+function annotation_get_source_file(): String {
     // Gjs wrapper for regress_annotation_get_source_file()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
-<p>Source file</p>
+
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_init.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_init.page
index c75d9c2..e1b1ffe 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_init.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_init.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,33 +13,28 @@
       </api:returns>
       <api:name>regress_annotation_init</api:name>
       <api:arg>
-        <api:type>[String]</api:type>
+        <api:type>Array(String)</api:type>
         <api:name>argv</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>annotation_init</title>
-  
-<synopsis><code mime="text/x-gjs">
-function annotation_init(argv:[String]):void {
+  <title>Regress.annotation_init</title>
+  <synopsis><code mime="text/x-gjs">
+function annotation_init(argv: Array(String)): Array(String) {
     // Gjs wrapper for regress_annotation_init()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>argv</code></title>
-<p>The arguments.</p>
+  <p>The arguments.</p>
+</item>
+<item>
+<title><code>argv (out)</code></title>
+  <p>The arguments.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_invalid_regress_annotation.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_invalid_regress_annotation.page
index 1997a4d..08bf226 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_invalid_regress_annotation.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_invalid_regress_annotation.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,33 +13,24 @@
       </api:returns>
       <api:name>regress_annotation_invalid_regress_annotation</api:name>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
         <api:name>foo</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>annotation_invalid_regress_annotation</title>
-  
-<synopsis><code mime="text/x-gjs">
-function annotation_invalid_regress_annotation(foo:Number):void {
+  <title>Regress.annotation_invalid_regress_annotation</title>
+  <synopsis><code mime="text/x-gjs">
+function annotation_invalid_regress_annotation(foo: Number(gint)): void {
     // Gjs wrapper for regress_annotation_invalid_regress_annotation()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>foo</code></title>
-<p>some text (e.g. example) or else</p>
+  <p>some text (e.g. example) or else</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_ptr_array.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_ptr_array.page
index 9bfb168..07187df 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_ptr_array.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_ptr_array.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,33 +13,24 @@
       </api:returns>
       <api:name>regress_annotation_ptr_array</api:name>
       <api:arg>
-        <api:type>[GObject.Value]</api:type>
+        <api:type>Array(GObject.Value)</api:type>
         <api:name>array</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>annotation_ptr_array</title>
-  
-<synopsis><code mime="text/x-gjs">
-function annotation_ptr_array(array:[GObject.Value]):void {
+  <title>Regress.annotation_ptr_array</title>
+  <synopsis><code mime="text/x-gjs">
+function annotation_ptr_array(array: Array(<link 
href="../GObject-2.0/GObject.Value.page">GObject.Value</link>)): void {
     // Gjs wrapper for regress_annotation_ptr_array()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>array</code></title>
-<p>the array</p>
+  <p>the array</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_return_array.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_return_array.page
index 3f63c9a..94f8f35 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_return_array.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_return_array.page
@@ -6,37 +6,31 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>[String]</api:type>
+        <api:type>Array(String)</api:type>
       </api:returns>
       <api:name>regress_annotation_return_array</api:name>
     </api:function>
-
   </info>
-  <title>annotation_return_array</title>
-  
-<synopsis><code mime="text/x-gjs">
-function annotation_return_array():[String] {
+  <title>Regress.annotation_return_array</title>
+  <synopsis><code mime="text/x-gjs">
+function annotation_return_array(): [return_value: Array(String), length: Number(gint)] {
     // Gjs wrapper for regress_annotation_return_array()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
-<title><code>Returns</code></title>
-<p>The return value</p>
+<title><code>return_value</code></title>
+
+</item>
+<item>
+<title><code>length</code></title>
+  <p>Number of return values</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_return_filename.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_return_filename.page
index 8641945..6b8f902 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_return_filename.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_return_filename.page
@@ -6,37 +6,27 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>filename</api:type>
+        <api:type>String</api:type>
       </api:returns>
       <api:name>regress_annotation_return_filename</api:name>
     </api:function>
-
   </info>
-  <title>annotation_return_filename</title>
-  
-<synopsis><code mime="text/x-gjs">
-function annotation_return_filename():filename {
+  <title>Regress.annotation_return_filename</title>
+  <synopsis><code mime="text/x-gjs">
+function annotation_return_filename(): String {
     // Gjs wrapper for regress_annotation_return_filename()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
-<p>An annotated filename</p>
+
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_set_source_file.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_set_source_file.page
index a5977b8..a2705af 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_set_source_file.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_set_source_file.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,33 +13,24 @@
       </api:returns>
       <api:name>regress_annotation_set_source_file</api:name>
       <api:arg>
-        <api:type>filename</api:type>
+        <api:type>String</api:type>
         <api:name>fname</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>annotation_set_source_file</title>
-  
-<synopsis><code mime="text/x-gjs">
-function annotation_set_source_file(fname:filename):void {
+  <title>Regress.annotation_set_source_file</title>
+  <synopsis><code mime="text/x-gjs">
+function annotation_set_source_file(fname: String): void {
     // Gjs wrapper for regress_annotation_set_source_file()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>fname</code></title>
-<p>Source file</p>
+  <p>Source file</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_space_after_comment_bug631690.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_space_after_comment_bug631690.page
index 675e00d..094bef2 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_space_after_comment_bug631690.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_space_after_comment_bug631690.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,25 +13,14 @@
       </api:returns>
       <api:name>regress_annotation_space_after_comment_bug631690</api:name>
     </api:function>
-
   </info>
-  <title>annotation_space_after_comment_bug631690</title>
-  
-<synopsis><code mime="text/x-gjs">
-function annotation_space_after_comment_bug631690():void {
+  <title>Regress.annotation_space_after_comment_bug631690</title>
+  <synopsis><code mime="text/x-gjs">
+function annotation_space_after_comment_bug631690(): void {
     // Gjs wrapper for regress_annotation_space_after_comment_bug631690()
 }
-</code></synopsis>
+  </code></synopsis>
+  <p>Explicitly test having a space after the ** here.</p>
 
-  
-    <p>Explicitly test having a space after the ** here.</p>
-  
-  
-  
-  
-<terms>
-</terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_string_array_length.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_string_array_length.page
index 347eb6d..07c6358 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_string_array_length.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_string_array_length.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,26 +13,19 @@
       </api:returns>
       <api:name>regress_annotation_string_array_length</api:name>
       <api:arg>
-        <api:type>[String]</api:type>
+        <api:type>Array(String)</api:type>
         <api:name>properties</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>annotation_string_array_length</title>
-  
-<synopsis><code mime="text/x-gjs">
-function annotation_string_array_length(properties:[String]):void {
+  <title>Regress.annotation_string_array_length</title>
+  <synopsis><code mime="text/x-gjs">
+function annotation_string_array_length(properties: Array(String)): void {
     // Gjs wrapper for regress_annotation_string_array_length()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>properties</code></title>
@@ -41,6 +33,4 @@ function annotation_string_array_length(properties:[String]):void {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_string_zero_terminated.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_string_zero_terminated.page
index 741447e..a3c2e3f 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_string_zero_terminated.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_string_zero_terminated.page
@@ -6,37 +6,27 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>[String]</api:type>
+        <api:type>Array(String)</api:type>
       </api:returns>
       <api:name>regress_annotation_string_zero_terminated</api:name>
     </api:function>
-
   </info>
-  <title>annotation_string_zero_terminated</title>
-  
-<synopsis><code mime="text/x-gjs">
-function annotation_string_zero_terminated():[String] {
+  <title>Regress.annotation_string_zero_terminated</title>
+  <synopsis><code mime="text/x-gjs">
+function annotation_string_zero_terminated(): Array(String) {
     // Gjs wrapper for regress_annotation_string_zero_terminated()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
-<p>The return value</p>
+
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_string_zero_terminated_out.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_string_zero_terminated_out.page
index cd4d8be..c388ad2 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_string_zero_terminated_out.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_string_zero_terminated_out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,33 +13,28 @@
       </api:returns>
       <api:name>regress_annotation_string_zero_terminated_out</api:name>
       <api:arg>
-        <api:type>[String]</api:type>
+        <api:type>Array(String)</api:type>
         <api:name>out</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>annotation_string_zero_terminated_out</title>
-  
-<synopsis><code mime="text/x-gjs">
-function annotation_string_zero_terminated_out(out:[String]):void {
+  <title>Regress.annotation_string_zero_terminated_out</title>
+  <synopsis><code mime="text/x-gjs">
+function annotation_string_zero_terminated_out(out: Array(String)): Array(String) {
     // Gjs wrapper for regress_annotation_string_zero_terminated_out()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>out</code></title>
 
 </item>
+<item>
+<title><code>out (out)</code></title>
+
+</item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_test_parsing_bug630862.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_test_parsing_bug630862.page
index edade5b..0b152a7 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_test_parsing_bug630862.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_test_parsing_bug630862.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,29 +13,20 @@
       </api:returns>
       <api:name>regress_annotation_test_parsing_bug630862</api:name>
     </api:function>
-
   </info>
-  <title>annotation_test_parsing_bug630862</title>
-  
-<synopsis><code mime="text/x-gjs">
-function annotation_test_parsing_bug630862():GObject.Object {
+  <title>Regress.annotation_test_parsing_bug630862</title>
+  <synopsis><code mime="text/x-gjs">
+function annotation_test_parsing_bug630862(): <link 
href="../GObject-2.0/GObject.Object.page">GObject.Object</link> {
     // Gjs wrapper for regress_annotation_test_parsing_bug630862()
 }
-</code></synopsis>
+  </code></synopsis>
+  <p>See https://bugzilla.gnome.org/show_bug.cgi?id=630862</p>
 
-  
-    <p>See https://bugzilla.gnome.org/show_bug.cgi?id=630862</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
-<p>An object, note the colon:in here</p>
+
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_transfer_floating.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_transfer_floating.page
index a4fceaf..07aefcb 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_transfer_floating.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_transfer_floating.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,29 +13,20 @@
       </api:returns>
       <api:name>regress_annotation_transfer_floating</api:name>
     </api:function>
-
   </info>
-  <title>annotation_transfer_floating</title>
-  
-<synopsis><code mime="text/x-gjs">
-function annotation_transfer_floating():GObject.Object {
+  <title>Regress.annotation_transfer_floating</title>
+  <synopsis><code mime="text/x-gjs">
+function annotation_transfer_floating(): <link 
href="../GObject-2.0/GObject.Object.page">GObject.Object</link> {
     // Gjs wrapper for regress_annotation_transfer_floating()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
-<p>A floating object</p>
+
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_versioned.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_versioned.page
index f1d5700..52028b0 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_versioned.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_versioned.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,26 +13,14 @@
       </api:returns>
       <api:name>regress_annotation_versioned</api:name>
     </api:function>
-
   </info>
-  <title>annotation_versioned</title>
-  
-<synopsis><code mime="text/x-gjs">
-function annotation_versioned():void {
+  <title>Regress.annotation_versioned</title>
+  <synopsis><code mime="text/x-gjs">
+function annotation_versioned(): void {
     // Gjs wrapper for regress_annotation_versioned()
 }
-</code></synopsis>
+  </code></synopsis>
 
-  
-    
-  
-  
-    <p>Since 0.6</p>
-  
-  
-<terms>
-</terms>
+  <p>Since 0.6</p>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.atest_error_quark.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.atest_error_quark.page
index 3aade3c..9366496 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.atest_error_quark.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.atest_error_quark.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_atest_error_quark</api:name>
     </api:function>
-
   </info>
-  <title>atest_error_quark</title>
-  
-<synopsis><code mime="text/x-gjs">
-function atest_error_quark():GLib.Quark {
+  <title>Regress.atest_error_quark</title>
+  <synopsis><code mime="text/x-gjs">
+function atest_error_quark(): <link href="../GLib-2.0/GLib.Quark.page">GLib.Quark</link> {
     // Gjs wrapper for regress_atest_error_quark()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ function atest_error_quark():GLib.Quark {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_async_ready_callback.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_async_ready_callback.page
index 980a930..54040ad 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_async_ready_callback.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_async_ready_callback.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,22 +21,15 @@
         <api:name>callback</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>foo_async_ready_callback</title>
-  
-<synopsis><code mime="text/x-gjs">
-function foo_async_ready_callback(cancellable:Gio.Cancellable, callback:Gio.AsyncReadyCallback):void {
+  <title>Regress.foo_async_ready_callback</title>
+  <synopsis><code mime="text/x-gjs">
+function foo_async_ready_callback(cancellable: <link 
href="../Gio-2.0/Gio.Cancellable.page">Gio.Cancellable</link>, callback: <link 
href="../Gio-2.0/Gio.AsyncReadyCallback.page">Gio.AsyncReadyCallback</link>): void {
     // Gjs wrapper for regress_foo_async_ready_callback()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>cancellable</code></title>
@@ -49,6 +41,4 @@ function foo_async_ready_callback(cancellable:Gio.Cancellable, callback:Gio.Asyn
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_destroy_notify_callback.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_destroy_notify_callback.page
index d5cff2a..3276082 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_destroy_notify_callback.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_destroy_notify_callback.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,22 +17,15 @@
         <api:name>callback</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>foo_destroy_notify_callback</title>
-  
-<synopsis><code mime="text/x-gjs">
-function foo_destroy_notify_callback(callback:Regress.FooCallback):void {
+  <title>Regress.foo_destroy_notify_callback</title>
+  <synopsis><code mime="text/x-gjs">
+function foo_destroy_notify_callback(callback: <link xref="Regress.FooCallback">Regress.FooCallback</link>): 
void {
     // Gjs wrapper for regress_foo_destroy_notify_callback()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>callback</code></title>
@@ -41,6 +33,4 @@ function foo_destroy_notify_callback(callback:Regress.FooCallback):void {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_init.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_init.page
index 20eb206..cfecea5 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_init.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_init.page
@@ -6,30 +6,22 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
       </api:returns>
       <api:name>regress_foo_init</api:name>
     </api:function>
-
   </info>
-  <title>foo_init</title>
-  
-<synopsis><code mime="text/x-gjs">
-function foo_init():Number {
+  <title>Regress.foo_init</title>
+  <synopsis><code mime="text/x-gjs">
+function foo_init(): Number(gint) {
     // Gjs wrapper for regress_foo_init()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ function foo_init():Number {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_method_external_references.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_method_external_references.page
index 10876aa..1bb3afb 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_method_external_references.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_method_external_references.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -30,22 +29,15 @@
         <api:name>s</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>foo_method_external_references</title>
-  
-<synopsis><code mime="text/x-gjs">
-function foo_method_external_references(object:Utility.Object, e:Utility.EnumType, f:Utility.FlagType, 
s:Utility.Struct):void {
+  <title>Regress.foo_method_external_references</title>
+  <synopsis><code mime="text/x-gjs">
+function foo_method_external_references(object: <link 
href="../Utility-1.0/Utility.Object.page">Utility.Object</link>, e: <link 
href="../Utility-1.0/Utility.EnumType.page">Utility.EnumType</link>, f: <link 
href="../Utility-1.0/Utility.FlagType.page">Utility.FlagType</link>, s: <link 
href="../Utility-1.0/Utility.Struct.page">Utility.Struct</link>): void {
     // Gjs wrapper for regress_foo_method_external_references()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>object</code></title>
@@ -65,6 +57,4 @@ function foo_method_external_references(object:Utility.Object, e:Utility.EnumTyp
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_not_a_constructor_new.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_not_a_constructor_new.page
index 31f881b..0ffa89c 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_not_a_constructor_new.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_not_a_constructor_new.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,23 +13,16 @@
       </api:returns>
       <api:name>regress_foo_not_a_constructor_new</api:name>
     </api:function>
-
   </info>
-  <title>foo_not_a_constructor_new</title>
-  
-<synopsis><code mime="text/x-gjs">
-function foo_not_a_constructor_new():Regress.FooObject {
+  <title>Regress.foo_not_a_constructor_new</title>
+  <synopsis><code mime="text/x-gjs">
+function foo_not_a_constructor_new(): <link xref="Regress.FooObject">Regress.FooObject</link> {
     // Gjs wrapper for regress_foo_not_a_constructor_new()
 }
-</code></synopsis>
-
-  
-    <p>This should be scanned as a top-level function, and shouldn't cause
+  </code></synopsis>
+  <p>This should be scanned as a top-level function, and shouldn't cause
 a "Can't find matching type for constructor" warning.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -38,6 +30,4 @@ a "Can't find matching type for constructor" warning.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_array.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_array.page
index 989084b..3fbf325 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_array.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_array.page
@@ -6,30 +6,22 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>[String]</api:type>
+        <api:type>Array(String)</api:type>
       </api:returns>
       <api:name>regress_foo_test_array</api:name>
     </api:function>
-
   </info>
-  <title>foo_test_array</title>
-  
-<synopsis><code mime="text/x-gjs">
-function foo_test_array():[String] {
+  <title>Regress.foo_test_array</title>
+  <synopsis><code mime="text/x-gjs">
+function foo_test_array(): Array(String) {
     // Gjs wrapper for regress_foo_test_array()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ function foo_test_array():[String] {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_const_char_param.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_const_char_param.page
index 4f09562..7b62728 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_const_char_param.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_const_char_param.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,22 +17,15 @@
         <api:name>param</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>foo_test_const_char_param</title>
-  
-<synopsis><code mime="text/x-gjs">
-function foo_test_const_char_param(param:String):void {
+  <title>Regress.foo_test_const_char_param</title>
+  <synopsis><code mime="text/x-gjs">
+function foo_test_const_char_param(param: String): void {
     // Gjs wrapper for regress_foo_test_const_char_param()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>param</code></title>
@@ -41,6 +33,4 @@ function foo_test_const_char_param(param:String):void {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_const_char_retval.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_const_char_retval.page
index 3ff9265..79984f6 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_const_char_retval.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_const_char_retval.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_foo_test_const_char_retval</api:name>
     </api:function>
-
   </info>
-  <title>foo_test_const_char_retval</title>
-  
-<synopsis><code mime="text/x-gjs">
-function foo_test_const_char_retval():String {
+  <title>Regress.foo_test_const_char_retval</title>
+  <synopsis><code mime="text/x-gjs">
+function foo_test_const_char_retval(): String {
     // Gjs wrapper for regress_foo_test_const_char_retval()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ function foo_test_const_char_retval():String {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_const_struct_param.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_const_struct_param.page
index da103fb..4965c70 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_const_struct_param.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_const_struct_param.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,22 +17,15 @@
         <api:name>param</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>foo_test_const_struct_param</title>
-  
-<synopsis><code mime="text/x-gjs">
-function foo_test_const_struct_param(param:Regress.FooStruct):void {
+  <title>Regress.foo_test_const_struct_param</title>
+  <synopsis><code mime="text/x-gjs">
+function foo_test_const_struct_param(param: <link xref="Regress.FooStruct">Regress.FooStruct</link>): void {
     // Gjs wrapper for regress_foo_test_const_struct_param()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>param</code></title>
@@ -41,6 +33,4 @@ function foo_test_const_struct_param(param:Regress.FooStruct):void {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_const_struct_retval.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_const_struct_retval.page
index 9c7539c..1495882 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_const_struct_retval.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_const_struct_retval.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_foo_test_const_struct_retval</api:name>
     </api:function>
-
   </info>
-  <title>foo_test_const_struct_retval</title>
-  
-<synopsis><code mime="text/x-gjs">
-function foo_test_const_struct_retval():Regress.FooStruct {
+  <title>Regress.foo_test_const_struct_retval</title>
+  <synopsis><code mime="text/x-gjs">
+function foo_test_const_struct_retval(): <link xref="Regress.FooStruct">Regress.FooStruct</link> {
     // Gjs wrapper for regress_foo_test_const_struct_retval()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ function foo_test_const_struct_retval():Regress.FooStruct {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_string_array.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_string_array.page
index fe3b85a..36a5f7c 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_string_array.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_string_array.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,26 +13,19 @@
       </api:returns>
       <api:name>regress_foo_test_string_array</api:name>
       <api:arg>
-        <api:type>[String]</api:type>
+        <api:type>Array(String)</api:type>
         <api:name>array</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>foo_test_string_array</title>
-  
-<synopsis><code mime="text/x-gjs">
-function foo_test_string_array(array:[String]):void {
+  <title>Regress.foo_test_string_array</title>
+  <synopsis><code mime="text/x-gjs">
+function foo_test_string_array(array: Array(String)): void {
     // Gjs wrapper for regress_foo_test_string_array()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>array</code></title>
@@ -41,6 +33,4 @@ function foo_test_string_array(array:[String]):void {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_string_array_with_g.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_string_array_with_g.page
index 8b5c901..daf7ac9 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_string_array_with_g.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_string_array_with_g.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,26 +13,19 @@
       </api:returns>
       <api:name>regress_foo_test_string_array_with_g</api:name>
       <api:arg>
-        <api:type>[String]</api:type>
+        <api:type>Array(String)</api:type>
         <api:name>array</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>foo_test_string_array_with_g</title>
-  
-<synopsis><code mime="text/x-gjs">
-function foo_test_string_array_with_g(array:[String]):void {
+  <title>Regress.foo_test_string_array_with_g</title>
+  <synopsis><code mime="text/x-gjs">
+function foo_test_string_array_with_g(array: Array(String)): void {
     // Gjs wrapper for regress_foo_test_string_array_with_g()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>array</code></title>
@@ -41,6 +33,4 @@ function foo_test_string_array_with_g(array:[String]):void {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_unsigned_qualifier.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_unsigned_qualifier.page
index c35d3e9..15ef4d5 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_unsigned_qualifier.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_unsigned_qualifier.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,26 +13,19 @@
       </api:returns>
       <api:name>regress_foo_test_unsigned_qualifier</api:name>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(guint)</api:type>
         <api:name>unsigned_param</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>foo_test_unsigned_qualifier</title>
-  
-<synopsis><code mime="text/x-gjs">
-function foo_test_unsigned_qualifier(unsigned_param:Number):void {
+  <title>Regress.foo_test_unsigned_qualifier</title>
+  <synopsis><code mime="text/x-gjs">
+function foo_test_unsigned_qualifier(unsigned_param: Number(guint)): void {
     // Gjs wrapper for regress_foo_test_unsigned_qualifier()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>unsigned_param</code></title>
@@ -41,6 +33,4 @@ function foo_test_unsigned_qualifier(unsigned_param:Number):void {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_unsigned_type.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_unsigned_type.page
index 9f68b51..a09d4ad 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_unsigned_type.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_unsigned_type.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,26 +13,19 @@
       </api:returns>
       <api:name>regress_foo_test_unsigned_type</api:name>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(guint)</api:type>
         <api:name>unsigned_param</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>foo_test_unsigned_type</title>
-  
-<synopsis><code mime="text/x-gjs">
-function foo_test_unsigned_type(unsigned_param:Number):void {
+  <title>Regress.foo_test_unsigned_type</title>
+  <synopsis><code mime="text/x-gjs">
+function foo_test_unsigned_type(unsigned_param: Number(guint)): void {
     // Gjs wrapper for regress_foo_test_unsigned_type()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>unsigned_param</code></title>
@@ -41,6 +33,4 @@ function foo_test_unsigned_type(unsigned_param:Number):void {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.func_obj_null_in.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.func_obj_null_in.page
index 446001a..c149b29 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.func_obj_null_in.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.func_obj_null_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,29 +17,20 @@
         <api:name>obj</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>func_obj_null_in</title>
-  
-<synopsis><code mime="text/x-gjs">
-function func_obj_null_in(obj:Regress.TestObj):void {
+  <title>Regress.func_obj_null_in</title>
+  <synopsis><code mime="text/x-gjs">
+function func_obj_null_in(obj: <link xref="Regress.TestObj">Regress.TestObj</link>): void {
     // Gjs wrapper for regress_func_obj_null_in()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>obj</code></title>
-<p>A <link xref="Regress.TestObj"/></p>
+  <p>A <link xref="Regress.TestObj"/></p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.global_get_flags_out.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.global_get_flags_out.page
index bafa541..b8b1888 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.global_get_flags_out.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.global_get_flags_out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,25 +13,20 @@
       </api:returns>
       <api:name>regress_global_get_flags_out</api:name>
     </api:function>
-
   </info>
-  <title>global_get_flags_out</title>
-  
-<synopsis><code mime="text/x-gjs">
-function global_get_flags_out():void {
+  <title>Regress.global_get_flags_out</title>
+  <synopsis><code mime="text/x-gjs">
+function global_get_flags_out(): <link xref="Regress.TestFlags">Regress.TestFlags</link> {
     // Gjs wrapper for regress_global_get_flags_out()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
+<item>
+<title><code>v</code></title>
+  <p>A flags value</p>
+</item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.has_parameter_named_attrs.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.has_parameter_named_attrs.page
index d4f673d..bd6dbd7 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.has_parameter_named_attrs.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.has_parameter_named_attrs.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,42 +13,33 @@
       </api:returns>
       <api:name>regress_has_parameter_named_attrs</api:name>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
         <api:name>foo</api:name>
       </api:arg>
       <api:arg>
-        <api:type>[guint32]</api:type>
+        <api:type>Array(Number(guint32))</api:type>
         <api:name>attributes</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>has_parameter_named_attrs</title>
-  
-<synopsis><code mime="text/x-gjs">
-function has_parameter_named_attrs(foo:Number, attributes:[guint32]):void {
+  <title>Regress.has_parameter_named_attrs</title>
+  <synopsis><code mime="text/x-gjs">
+function has_parameter_named_attrs(foo: Number(gint), attributes: Array(Number(guint32))): void {
     // Gjs wrapper for regress_has_parameter_named_attrs()
 }
-</code></synopsis>
-
-  
-    <p>This test case mirrors GnomeKeyringPasswordSchema from
+  </code></synopsis>
+  <p>This test case mirrors GnomeKeyringPasswordSchema from
 libgnome-keyring.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>foo</code></title>
-<p>some int</p>
+  <p>some int</p>
 </item>
 <item>
 <title><code>attributes</code></title>
-<p>list of attributes</p>
+  <p>list of attributes</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.introspectable_via_alias.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.introspectable_via_alias.page
index aa2baa6..486b889 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.introspectable_via_alias.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.introspectable_via_alias.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,22 +17,15 @@
         <api:name>data</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>introspectable_via_alias</title>
-  
-<synopsis><code mime="text/x-gjs">
-function introspectable_via_alias(data:Regress.PtrArrayAlias):void {
+  <title>Regress.introspectable_via_alias</title>
+  <synopsis><code mime="text/x-gjs">
+function introspectable_via_alias(data: <link xref="Regress.PtrArrayAlias">Regress.PtrArrayAlias</link>): 
void {
     // Gjs wrapper for regress_introspectable_via_alias()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>data</code></title>
@@ -41,6 +33,4 @@ function introspectable_via_alias(data:Regress.PtrArrayAlias):void {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.set_abort_on_error.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.set_abort_on_error.page
index 9b300e1..e0fd8c0 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.set_abort_on_error.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.set_abort_on_error.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,22 +17,15 @@
         <api:name>abort_on_error</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>set_abort_on_error</title>
-  
-<synopsis><code mime="text/x-gjs">
-function set_abort_on_error(abort_on_error:Boolean):void {
+  <title>Regress.set_abort_on_error</title>
+  <synopsis><code mime="text/x-gjs">
+function set_abort_on_error(abort_on_error: Boolean): void {
     // Gjs wrapper for regress_set_abort_on_error()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>abort_on_error</code></title>
@@ -41,6 +33,4 @@ function set_abort_on_error(abort_on_error:Boolean):void {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_callback.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_callback.page
index 112cd23..e1b4e02 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_callback.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_callback.page
@@ -6,11 +6,10 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
       </api:returns>
       <api:name>regress_test_array_callback</api:name>
       <api:arg>
@@ -18,22 +17,15 @@
         <api:name>callback</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_array_callback</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_array_callback(callback:Regress.TestCallbackArray):Number {
+  <title>Regress.test_array_callback</title>
+  <synopsis><code mime="text/x-gjs">
+function test_array_callback(callback: <link 
xref="Regress.TestCallbackArray">Regress.TestCallbackArray</link>): Number(gint) {
     // Gjs wrapper for regress_test_array_callback()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>callback</code></title>
@@ -45,6 +37,4 @@ function test_array_callback(callback:Regress.TestCallbackArray):Number {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_fixed_out_objects.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_fixed_out_objects.page
index 51026b5..0645559 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_fixed_out_objects.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_fixed_out_objects.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,25 +13,20 @@
       </api:returns>
       <api:name>regress_test_array_fixed_out_objects</api:name>
     </api:function>
-
   </info>
-  <title>test_array_fixed_out_objects</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_array_fixed_out_objects():void {
+  <title>Regress.test_array_fixed_out_objects</title>
+  <synopsis><code mime="text/x-gjs">
+function test_array_fixed_out_objects(): Array(<link xref="Regress.TestObj">Regress.TestObj</link>) {
     // Gjs wrapper for regress_test_array_fixed_out_objects()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
+<item>
+<title><code>objs</code></title>
+  <p>An array of <link xref="Regress.TestObj"/></p>
+</item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_fixed_size_int_in.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_fixed_size_int_in.page
index 14a6e66..4d74b6b 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_fixed_size_int_in.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_fixed_size_int_in.page
@@ -6,45 +6,35 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
       </api:returns>
       <api:name>regress_test_array_fixed_size_int_in</api:name>
       <api:arg>
-        <api:type>[Number]</api:type>
+        <api:type>Array(Number(gint))</api:type>
         <api:name>ints</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_array_fixed_size_int_in</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_array_fixed_size_int_in(ints:[Number]):Number {
+  <title>Regress.test_array_fixed_size_int_in</title>
+  <synopsis><code mime="text/x-gjs">
+function test_array_fixed_size_int_in(ints: Array(Number(gint))): Number(gint) {
     // Gjs wrapper for regress_test_array_fixed_size_int_in()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>ints</code></title>
-<p>a list of 5 integers</p>
+  <p>a list of 5 integers</p>
 </item>
 <item>
 <title><code>Returns</code></title>
-<p>the sum of the items in <code>ints</code></p>
+
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_fixed_size_int_out.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_fixed_size_int_out.page
index ce62153..37c5aed 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_fixed_size_int_out.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_fixed_size_int_out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,25 +13,20 @@
       </api:returns>
       <api:name>regress_test_array_fixed_size_int_out</api:name>
     </api:function>
-
   </info>
-  <title>test_array_fixed_size_int_out</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_array_fixed_size_int_out():void {
+  <title>Regress.test_array_fixed_size_int_out</title>
+  <synopsis><code mime="text/x-gjs">
+function test_array_fixed_size_int_out(): Array(Number(gint)) {
     // Gjs wrapper for regress_test_array_fixed_size_int_out()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
+<item>
+<title><code>ints</code></title>
+  <p>a list of 5 integers ranging from 0 to 4</p>
+</item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_fixed_size_int_return.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_fixed_size_int_return.page
index 1e2c678..27f8360 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_fixed_size_int_return.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_fixed_size_int_return.page
@@ -6,37 +6,27 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>[Number]</api:type>
+        <api:type>Array(Number(gint))</api:type>
       </api:returns>
       <api:name>regress_test_array_fixed_size_int_return</api:name>
     </api:function>
-
   </info>
-  <title>test_array_fixed_size_int_return</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_array_fixed_size_int_return():[Number] {
+  <title>Regress.test_array_fixed_size_int_return</title>
+  <synopsis><code mime="text/x-gjs">
+function test_array_fixed_size_int_return(): Array(Number(gint)) {
     // Gjs wrapper for regress_test_array_fixed_size_int_return()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
-<p>a list of 5 integers ranging from 0 to 4</p>
+
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_gint16_in.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_gint16_in.page
index e4b957e..a1d52a4 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_gint16_in.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_gint16_in.page
@@ -6,38 +6,30 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
       </api:returns>
       <api:name>regress_test_array_gint16_in</api:name>
       <api:arg>
-        <api:type>[gint16]</api:type>
+        <api:type>Array(Number(gint16))</api:type>
         <api:name>ints</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_array_gint16_in</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_array_gint16_in(ints:[gint16]):Number {
+  <title>Regress.test_array_gint16_in</title>
+  <synopsis><code mime="text/x-gjs">
+function test_array_gint16_in(ints: Array(Number(gint16))): Number(gint) {
     // Gjs wrapper for regress_test_array_gint16_in()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>ints</code></title>
-<p>List of ints</p>
+  <p>List of ints</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -45,6 +37,4 @@ function test_array_gint16_in(ints:[gint16]):Number {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_gint32_in.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_gint32_in.page
index 171ad11..a578d56 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_gint32_in.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_gint32_in.page
@@ -6,38 +6,30 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>gint32</api:type>
+        <api:type>Number(gint32)</api:type>
       </api:returns>
       <api:name>regress_test_array_gint32_in</api:name>
       <api:arg>
-        <api:type>[gint32]</api:type>
+        <api:type>Array(Number(gint32))</api:type>
         <api:name>ints</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_array_gint32_in</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_array_gint32_in(ints:[gint32]):gint32 {
+  <title>Regress.test_array_gint32_in</title>
+  <synopsis><code mime="text/x-gjs">
+function test_array_gint32_in(ints: Array(Number(gint32))): Number(gint32) {
     // Gjs wrapper for regress_test_array_gint32_in()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>ints</code></title>
-<p>List of ints</p>
+  <p>List of ints</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -45,6 +37,4 @@ function test_array_gint32_in(ints:[gint32]):gint32 {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_gint64_in.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_gint64_in.page
index a8b51a6..da730c8 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_gint64_in.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_gint64_in.page
@@ -6,38 +6,30 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>Number</api:type>
+        <api:type>Number(gint64)</api:type>
       </api:returns>
       <api:name>regress_test_array_gint64_in</api:name>
       <api:arg>
-        <api:type>[Number]</api:type>
+        <api:type>Array(Number(gint64))</api:type>
         <api:name>ints</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_array_gint64_in</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_array_gint64_in(ints:[Number]):Number {
+  <title>Regress.test_array_gint64_in</title>
+  <synopsis><code mime="text/x-gjs">
+function test_array_gint64_in(ints: Array(Number(gint64))): Number(gint64) {
     // Gjs wrapper for regress_test_array_gint64_in()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>ints</code></title>
-<p>List of ints</p>
+  <p>List of ints</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -45,6 +37,4 @@ function test_array_gint64_in(ints:[Number]):Number {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_gint8_in.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_gint8_in.page
index 16ddc7c..617f7a4 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_gint8_in.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_gint8_in.page
@@ -6,38 +6,30 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
       </api:returns>
       <api:name>regress_test_array_gint8_in</api:name>
       <api:arg>
-        <api:type>[gint8]</api:type>
+        <api:type>Array(Number(gint8))</api:type>
         <api:name>ints</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_array_gint8_in</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_array_gint8_in(ints:[gint8]):Number {
+  <title>Regress.test_array_gint8_in</title>
+  <synopsis><code mime="text/x-gjs">
+function test_array_gint8_in(ints: Array(Number(gint8))): Number(gint) {
     // Gjs wrapper for regress_test_array_gint8_in()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>ints</code></title>
-<p>List of ints</p>
+  <p>List of ints</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -45,6 +37,4 @@ function test_array_gint8_in(ints:[gint8]):Number {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_gtype_in.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_gtype_in.page
index 61e1d0a..7206bea 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_gtype_in.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_gtype_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,37 +13,28 @@
       </api:returns>
       <api:name>regress_test_array_gtype_in</api:name>
       <api:arg>
-        <api:type>[GType]</api:type>
+        <api:type>Array(GObject.Type)</api:type>
         <api:name>types</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_array_gtype_in</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_array_gtype_in(types:[GType]):String {
+  <title>Regress.test_array_gtype_in</title>
+  <synopsis><code mime="text/x-gjs">
+function test_array_gtype_in(types: Array(GObject.Type)): String {
     // Gjs wrapper for regress_test_array_gtype_in()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>types</code></title>
-<p>List of types</p>
+  <p>List of types</p>
 </item>
 <item>
 <title><code>Returns</code></title>
-<p>string representation of provided types</p>
+
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_full_out.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_full_out.page
index 5f580ad..73f6250 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_full_out.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_full_out.page
@@ -6,37 +6,31 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>[Number]</api:type>
+        <api:type>Array(Number(gint))</api:type>
       </api:returns>
       <api:name>regress_test_array_int_full_out</api:name>
     </api:function>
-
   </info>
-  <title>test_array_int_full_out</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_array_int_full_out():[Number] {
+  <title>Regress.test_array_int_full_out</title>
+  <synopsis><code mime="text/x-gjs">
+function test_array_int_full_out(): [return_value: Array(Number(gint)), len: Number(gint)] {
     // Gjs wrapper for regress_test_array_int_full_out()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
-<title><code>Returns</code></title>
-<p>a new array of integers.</p>
+<title><code>return_value</code></title>
+
+</item>
+<item>
+<title><code>len</code></title>
+  <p>length of the returned array.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_in.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_in.page
index 3d41dca..af070d4 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_in.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_in.page
@@ -6,38 +6,30 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
       </api:returns>
       <api:name>regress_test_array_int_in</api:name>
       <api:arg>
-        <api:type>[Number]</api:type>
+        <api:type>Array(Number(gint))</api:type>
         <api:name>ints</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_array_int_in</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_array_int_in(ints:[Number]):Number {
+  <title>Regress.test_array_int_in</title>
+  <synopsis><code mime="text/x-gjs">
+function test_array_int_in(ints: Array(Number(gint))): Number(gint) {
     // Gjs wrapper for regress_test_array_int_in()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>ints</code></title>
-<p>List of ints</p>
+  <p>List of ints</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -45,6 +37,4 @@ function test_array_int_in(ints:[Number]):Number {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_inout.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_inout.page
index b4094cd..6624efe 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_inout.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_inout.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,33 +13,28 @@
       </api:returns>
       <api:name>regress_test_array_int_inout</api:name>
       <api:arg>
-        <api:type>[Number]</api:type>
+        <api:type>Array(Number(gint))</api:type>
         <api:name>ints</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_array_int_inout</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_array_int_inout(ints:[Number]):void {
+  <title>Regress.test_array_int_inout</title>
+  <synopsis><code mime="text/x-gjs">
+function test_array_int_inout(ints: Array(Number(gint))): Array(Number(gint)) {
     // Gjs wrapper for regress_test_array_int_inout()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>ints</code></title>
-<p>a list of integers whose items will be increased by 1, except the first that will be dropped</p>
+  <p>a list of integers whose items will be increased by 1, except the first that will be dropped</p>
+</item>
+<item>
+<title><code>ints (out)</code></title>
+  <p>a list of integers whose items will be increased by 1, except the first that will be dropped</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_none_out.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_none_out.page
index ac10521..392f4fe 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_none_out.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_none_out.page
@@ -6,37 +6,31 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>[Number]</api:type>
+        <api:type>Array(Number(gint))</api:type>
       </api:returns>
       <api:name>regress_test_array_int_none_out</api:name>
     </api:function>
-
   </info>
-  <title>test_array_int_none_out</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_array_int_none_out():[Number] {
+  <title>Regress.test_array_int_none_out</title>
+  <synopsis><code mime="text/x-gjs">
+function test_array_int_none_out(): [return_value: Array(Number(gint)), len: Number(gint)] {
     // Gjs wrapper for regress_test_array_int_none_out()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
-<title><code>Returns</code></title>
-<p>a static array of integers.</p>
+<title><code>return_value</code></title>
+
+</item>
+<item>
+<title><code>len</code></title>
+  <p>length of the returned array.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_null_in.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_null_in.page
index 33b27a0..05059f4 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_null_in.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_null_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,26 +13,19 @@
       </api:returns>
       <api:name>regress_test_array_int_null_in</api:name>
       <api:arg>
-        <api:type>[Number]</api:type>
+        <api:type>Array(Number(gint))</api:type>
         <api:name>arr</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_array_int_null_in</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_array_int_null_in(arr:[Number]):void {
+  <title>Regress.test_array_int_null_in</title>
+  <synopsis><code mime="text/x-gjs">
+function test_array_int_null_in(arr: Array(Number(gint))): void {
     // Gjs wrapper for regress_test_array_int_null_in()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>arr</code></title>
@@ -41,6 +33,4 @@ function test_array_int_null_in(arr:[Number]):void {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_null_out.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_null_out.page
index 1e1a364..d48aafd 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_null_out.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_null_out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,25 +13,20 @@
       </api:returns>
       <api:name>regress_test_array_int_null_out</api:name>
     </api:function>
-
   </info>
-  <title>test_array_int_null_out</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_array_int_null_out():void {
+  <title>Regress.test_array_int_null_out</title>
+  <synopsis><code mime="text/x-gjs">
+function test_array_int_null_out(): Array(Number(gint)) {
     // Gjs wrapper for regress_test_array_int_null_out()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
+<item>
+<title><code>arr</code></title>
+
+</item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_out.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_out.page
index 78953ec..0707b8d 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_out.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,25 +13,20 @@
       </api:returns>
       <api:name>regress_test_array_int_out</api:name>
     </api:function>
-
   </info>
-  <title>test_array_int_out</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_array_int_out():void {
+  <title>Regress.test_array_int_out</title>
+  <synopsis><code mime="text/x-gjs">
+function test_array_int_out(): Array(Number(gint)) {
     // Gjs wrapper for regress_test_array_int_out()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
+<item>
+<title><code>ints</code></title>
+  <p>a list of 5 integers, from 0 to 4 in consecutive order</p>
+</item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_async_ready_callback.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_async_ready_callback.page
index 89d737c..c4625e0 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_async_ready_callback.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_async_ready_callback.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,22 +17,15 @@
         <api:name>callback</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_async_ready_callback</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_async_ready_callback(callback:Gio.AsyncReadyCallback):void {
+  <title>Regress.test_async_ready_callback</title>
+  <synopsis><code mime="text/x-gjs">
+function test_async_ready_callback(callback: <link 
href="../Gio-2.0/Gio.AsyncReadyCallback.page">Gio.AsyncReadyCallback</link>): void {
     // Gjs wrapper for regress_test_async_ready_callback()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>callback</code></title>
@@ -41,6 +33,4 @@ function test_async_ready_callback(callback:Gio.AsyncReadyCallback):void {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_boolean.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_boolean.page
index e165db2..1ecb415 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_boolean.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_boolean.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,33 +17,24 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_boolean</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_boolean(in:Boolean):Boolean {
+  <title>Regress.test_boolean</title>
+  <synopsis><code mime="text/x-gjs">
+function test_boolean(in: Boolean): Boolean {
     // Gjs wrapper for regress_test_boolean()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
 
 </item>
 <item>
-<title><code>Returns</code></title>
+<title><code>ok</code></title>
 
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_boolean_false.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_boolean_false.page
index 21e169c..cff83c6 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_boolean_false.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_boolean_false.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,33 +17,24 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_boolean_false</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_boolean_false(in:Boolean):Boolean {
+  <title>Regress.test_boolean_false</title>
+  <synopsis><code mime="text/x-gjs">
+function test_boolean_false(in: Boolean): Boolean {
     // Gjs wrapper for regress_test_boolean_false()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
 
 </item>
 <item>
-<title><code>Returns</code></title>
+<title><code>ok</code></title>
 
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_boolean_true.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_boolean_true.page
index e525a2f..26f4ba9 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_boolean_true.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_boolean_true.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,33 +17,24 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_boolean_true</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_boolean_true(in:Boolean):Boolean {
+  <title>Regress.test_boolean_true</title>
+  <synopsis><code mime="text/x-gjs">
+function test_boolean_true(in: Boolean): Boolean {
     // Gjs wrapper for regress_test_boolean_true()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
 
 </item>
 <item>
-<title><code>Returns</code></title>
+<title><code>ok</code></title>
 
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_cairo_context_full_return.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_cairo_context_full_return.page
index 1c222c6..2c6a5aa 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_cairo_context_full_return.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_cairo_context_full_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_cairo_context_full_return</api:name>
     </api:function>
-
   </info>
-  <title>test_cairo_context_full_return</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_cairo_context_full_return():cairo.Context {
+  <title>Regress.test_cairo_context_full_return</title>
+  <synopsis><code mime="text/x-gjs">
+function test_cairo_context_full_return(): <link href="../cairo-1.0/cairo.Context.page">cairo.Context</link> 
{
     // Gjs wrapper for regress_test_cairo_context_full_return()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ function test_cairo_context_full_return():cairo.Context {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_cairo_context_none_in.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_cairo_context_none_in.page
index f710ac0..66a02d6 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_cairo_context_none_in.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_cairo_context_none_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,22 +17,15 @@
         <api:name>context</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_cairo_context_none_in</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_cairo_context_none_in(context:cairo.Context):void {
+  <title>Regress.test_cairo_context_none_in</title>
+  <synopsis><code mime="text/x-gjs">
+function test_cairo_context_none_in(context: <link 
href="../cairo-1.0/cairo.Context.page">cairo.Context</link>): void {
     // Gjs wrapper for regress_test_cairo_context_none_in()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>context</code></title>
@@ -41,6 +33,4 @@ function test_cairo_context_none_in(context:cairo.Context):void {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_cairo_surface_full_out.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_cairo_surface_full_out.page
index dcec607..18d52ed 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_cairo_surface_full_out.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_cairo_surface_full_out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,25 +13,20 @@
       </api:returns>
       <api:name>regress_test_cairo_surface_full_out</api:name>
     </api:function>
-
   </info>
-  <title>test_cairo_surface_full_out</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_cairo_surface_full_out():void {
+  <title>Regress.test_cairo_surface_full_out</title>
+  <synopsis><code mime="text/x-gjs">
+function test_cairo_surface_full_out(): <link href="../cairo-1.0/cairo.Surface.page">cairo.Surface</link> {
     // Gjs wrapper for regress_test_cairo_surface_full_out()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
+<item>
+<title><code>surface</code></title>
+
+</item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_cairo_surface_full_return.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_cairo_surface_full_return.page
index f1b0f96..efe27fa 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_cairo_surface_full_return.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_cairo_surface_full_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_cairo_surface_full_return</api:name>
     </api:function>
-
   </info>
-  <title>test_cairo_surface_full_return</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_cairo_surface_full_return():cairo.Surface {
+  <title>Regress.test_cairo_surface_full_return</title>
+  <synopsis><code mime="text/x-gjs">
+function test_cairo_surface_full_return(): <link href="../cairo-1.0/cairo.Surface.page">cairo.Surface</link> 
{
     // Gjs wrapper for regress_test_cairo_surface_full_return()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ function test_cairo_surface_full_return():cairo.Surface {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_cairo_surface_none_in.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_cairo_surface_none_in.page
index 783576a..4c10e3c 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_cairo_surface_none_in.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_cairo_surface_none_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,22 +17,15 @@
         <api:name>surface</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_cairo_surface_none_in</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_cairo_surface_none_in(surface:cairo.Surface):void {
+  <title>Regress.test_cairo_surface_none_in</title>
+  <synopsis><code mime="text/x-gjs">
+function test_cairo_surface_none_in(surface: <link 
href="../cairo-1.0/cairo.Surface.page">cairo.Surface</link>): void {
     // Gjs wrapper for regress_test_cairo_surface_none_in()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>surface</code></title>
@@ -41,6 +33,4 @@ function test_cairo_surface_none_in(surface:cairo.Surface):void {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_cairo_surface_none_return.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_cairo_surface_none_return.page
index 72e602e..688dbe2 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_cairo_surface_none_return.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_cairo_surface_none_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_cairo_surface_none_return</api:name>
     </api:function>
-
   </info>
-  <title>test_cairo_surface_none_return</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_cairo_surface_none_return():cairo.Surface {
+  <title>Regress.test_cairo_surface_none_return</title>
+  <synopsis><code mime="text/x-gjs">
+function test_cairo_surface_none_return(): <link href="../cairo-1.0/cairo.Surface.page">cairo.Surface</link> 
{
     // Gjs wrapper for regress_test_cairo_surface_none_return()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ function test_cairo_surface_none_return():cairo.Surface {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback.page
index 869dd98..d63f467 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback.page
@@ -6,11 +6,10 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
       </api:returns>
       <api:name>regress_test_callback</api:name>
       <api:arg>
@@ -18,22 +17,15 @@
         <api:name>callback</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_callback</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_callback(callback:Regress.TestCallback):Number {
+  <title>Regress.test_callback</title>
+  <synopsis><code mime="text/x-gjs">
+function test_callback(callback: <link xref="Regress.TestCallback">Regress.TestCallback</link>): 
Number(gint) {
     // Gjs wrapper for regress_test_callback()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>callback</code></title>
@@ -45,6 +37,4 @@ function test_callback(callback:Regress.TestCallback):Number {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback_async.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback_async.page
index 7b9ef5b..f4a3142 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback_async.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback_async.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,22 +17,15 @@
         <api:name>callback</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_callback_async</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_callback_async(callback:Regress.TestCallbackUserData):void {
+  <title>Regress.test_callback_async</title>
+  <synopsis><code mime="text/x-gjs">
+function test_callback_async(callback: <link 
xref="Regress.TestCallbackUserData">Regress.TestCallbackUserData</link>): void {
     // Gjs wrapper for regress_test_callback_async()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>callback</code></title>
@@ -41,6 +33,4 @@ function test_callback_async(callback:Regress.TestCallbackUserData):void {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback_destroy_notify.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback_destroy_notify.page
index d147c97..654a4c1 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback_destroy_notify.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback_destroy_notify.page
@@ -6,11 +6,10 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
       </api:returns>
       <api:name>regress_test_callback_destroy_notify</api:name>
       <api:arg>
@@ -18,23 +17,16 @@
         <api:name>callback</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_callback_destroy_notify</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_callback_destroy_notify(callback:Regress.TestCallbackUserData):Number {
+  <title>Regress.test_callback_destroy_notify</title>
+  <synopsis><code mime="text/x-gjs">
+function test_callback_destroy_notify(callback: <link 
xref="Regress.TestCallbackUserData">Regress.TestCallbackUserData</link>): Number(gint) {
     // Gjs wrapper for regress_test_callback_destroy_notify()
 }
-</code></synopsis>
-
-  
-    <p>Notified - callback persists until a DestroyNotify delegate
+  </code></synopsis>
+  <p>Notified - callback persists until a DestroyNotify delegate
 is invoked.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>callback</code></title>
@@ -46,6 +38,4 @@ is invoked.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback_destroy_notify_no_user_data.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback_destroy_notify_no_user_data.page
index 7fa31a3..c674140 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback_destroy_notify_no_user_data.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback_destroy_notify_no_user_data.page
@@ -6,11 +6,10 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
       </api:returns>
       <api:name>regress_test_callback_destroy_notify_no_user_data</api:name>
       <api:arg>
@@ -18,23 +17,16 @@
         <api:name>callback</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_callback_destroy_notify_no_user_data</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_callback_destroy_notify_no_user_data(callback:Regress.TestCallbackUserData):Number {
+  <title>Regress.test_callback_destroy_notify_no_user_data</title>
+  <synopsis><code mime="text/x-gjs">
+function test_callback_destroy_notify_no_user_data(callback: <link 
xref="Regress.TestCallbackUserData">Regress.TestCallbackUserData</link>): Number(gint) {
     // Gjs wrapper for regress_test_callback_destroy_notify_no_user_data()
 }
-</code></synopsis>
-
-  
-    <p>Adds a scope notified callback with no user data. This can invoke an error
+  </code></synopsis>
+  <p>Adds a scope notified callback with no user data. This can invoke an error
 condition in bindings which needs to be tested.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>callback</code></title>
@@ -46,6 +38,4 @@ condition in bindings which needs to be tested.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback_thaw_async.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback_thaw_async.page
index 66dec18..011b9e9 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback_thaw_async.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback_thaw_async.page
@@ -6,30 +6,22 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
       </api:returns>
       <api:name>regress_test_callback_thaw_async</api:name>
     </api:function>
-
   </info>
-  <title>test_callback_thaw_async</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_callback_thaw_async():Number {
+  <title>Regress.test_callback_thaw_async</title>
+  <synopsis><code mime="text/x-gjs">
+function test_callback_thaw_async(): Number(gint) {
     // Gjs wrapper for regress_test_callback_thaw_async()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ function test_callback_thaw_async():Number {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback_thaw_notifications.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback_thaw_notifications.page
index 9a8b57e..b65b71d 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback_thaw_notifications.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback_thaw_notifications.page
@@ -6,39 +6,29 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
       </api:returns>
       <api:name>regress_test_callback_thaw_notifications</api:name>
     </api:function>
-
   </info>
-  <title>test_callback_thaw_notifications</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_callback_thaw_notifications():Number {
+  <title>Regress.test_callback_thaw_notifications</title>
+  <synopsis><code mime="text/x-gjs">
+function test_callback_thaw_notifications(): Number(gint) {
     // Gjs wrapper for regress_test_callback_thaw_notifications()
 }
-</code></synopsis>
-
-  
-    <p>Invokes all callbacks installed by #test_callback_destroy_notify(),
+  </code></synopsis>
+  <p>Invokes all callbacks installed by #test_callback_destroy_notify(),
 adding up their return values, and removes them, invoking the
 corresponding destroy notfications.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>Returns</code></title>
-<p>Sum of the return values of the invoked callbacks.</p>
+
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback_user_data.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback_user_data.page
index dd9f597..bae0cbc 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback_user_data.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback_user_data.page
@@ -6,11 +6,10 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
       </api:returns>
       <api:name>regress_test_callback_user_data</api:name>
       <api:arg>
@@ -18,23 +17,16 @@
         <api:name>callback</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_callback_user_data</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_callback_user_data(callback:Regress.TestCallbackUserData):Number {
+  <title>Regress.test_callback_user_data</title>
+  <synopsis><code mime="text/x-gjs">
+function test_callback_user_data(callback: <link 
xref="Regress.TestCallbackUserData">Regress.TestCallbackUserData</link>): Number(gint) {
     // Gjs wrapper for regress_test_callback_user_data()
 }
-</code></synopsis>
-
-  
-    <p>Call - callback parameter persists for the duration of the method
+  </code></synopsis>
+  <p>Call - callback parameter persists for the duration of the method
 call and can be released on return.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>callback</code></title>
@@ -46,6 +38,4 @@ call and can be released on return.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_closure.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_closure.page
index a954544..1b68fd0 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_closure.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_closure.page
@@ -6,11 +6,10 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
       </api:returns>
       <api:name>regress_test_closure</api:name>
       <api:arg>
@@ -18,22 +17,15 @@
         <api:name>closure</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_closure</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_closure(closure:GObject.Closure):Number {
+  <title>Regress.test_closure</title>
+  <synopsis><code mime="text/x-gjs">
+function test_closure(closure: <link href="../GObject-2.0/GObject.Closure.page">GObject.Closure</link>): 
Number(gint) {
     // Gjs wrapper for regress_test_closure()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>closure</code></title>
@@ -45,6 +37,4 @@ function test_closure(closure:GObject.Closure):Number {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_closure_one_arg.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_closure_one_arg.page
index 3c37f7a..7750342 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_closure_one_arg.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_closure_one_arg.page
@@ -6,11 +6,10 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
       </api:returns>
       <api:name>regress_test_closure_one_arg</api:name>
       <api:arg>
@@ -18,26 +17,19 @@
         <api:name>closure</api:name>
       </api:arg>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
         <api:name>arg</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_closure_one_arg</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_closure_one_arg(closure:GObject.Closure, arg:Number):Number {
+  <title>Regress.test_closure_one_arg</title>
+  <synopsis><code mime="text/x-gjs">
+function test_closure_one_arg(closure: <link 
href="../GObject-2.0/GObject.Closure.page">GObject.Closure</link>, arg: Number(gint)): Number(gint) {
     // Gjs wrapper for regress_test_closure_one_arg()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>closure</code></title>
@@ -53,6 +45,4 @@ function test_closure_one_arg(closure:GObject.Closure, arg:Number):Number {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_closure_variant.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_closure_variant.page
index 2bdbfe6..6051b9d 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_closure_variant.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_closure_variant.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,37 +21,28 @@
         <api:name>arg</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_closure_variant</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_closure_variant(closure:GObject.Closure, arg:GLib.Variant):GLib.Variant {
+  <title>Regress.test_closure_variant</title>
+  <synopsis><code mime="text/x-gjs">
+function test_closure_variant(closure: <link 
href="../GObject-2.0/GObject.Closure.page">GObject.Closure</link>, arg: <link 
href="../GLib-2.0/GLib.Variant.page">GLib.Variant</link>): <link 
href="../GLib-2.0/GLib.Variant.page">GLib.Variant</link> {
     // Gjs wrapper for regress_test_closure_variant()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>closure</code></title>
-<p>GClosure which takes one GVariant and returns a GVariant</p>
+  <p>GClosure which takes one GVariant and returns a GVariant</p>
 </item>
 <item>
 <title><code>arg</code></title>
-<p>a GVariant passed as argument to <code>closure</code></p>
+  <p>a GVariant passed as argument to <code>closure</code></p>
 </item>
 <item>
 <title><code>Returns</code></title>
-<p>the return value of <code>closure</code></p>
+
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_date_in_gvalue.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_date_in_gvalue.page
index acb379e..9c4a1d7 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_date_in_gvalue.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_date_in_gvalue.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_date_in_gvalue</api:name>
     </api:function>
-
   </info>
-  <title>test_date_in_gvalue</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_date_in_gvalue():GObject.Value {
+  <title>Regress.test_date_in_gvalue</title>
+  <synopsis><code mime="text/x-gjs">
+function test_date_in_gvalue(): <link href="../GObject-2.0/GObject.Value.page">GObject.Value</link> {
     // Gjs wrapper for regress_test_date_in_gvalue()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ function test_date_in_gvalue():GObject.Value {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_def_error_quark.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_def_error_quark.page
index 5a82a3f..6038e26 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_def_error_quark.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_def_error_quark.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_def_error_quark</api:name>
     </api:function>
-
   </info>
-  <title>test_def_error_quark</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_def_error_quark():GLib.Quark {
+  <title>Regress.test_def_error_quark</title>
+  <synopsis><code mime="text/x-gjs">
+function test_def_error_quark(): <link href="../GLib-2.0/GLib.Quark.page">GLib.Quark</link> {
     // Gjs wrapper for regress_test_def_error_quark()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ function test_def_error_quark():GLib.Quark {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_double.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_double.page
index 0ed75f6..6656080 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_double.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_double.page
@@ -6,34 +6,26 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>Number</api:type>
+        <api:type>Number(gdouble)</api:type>
       </api:returns>
       <api:name>regress_test_double</api:name>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gdouble)</api:type>
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_double</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_double(in:Number):Number {
+  <title>Regress.test_double</title>
+  <synopsis><code mime="text/x-gjs">
+function test_double(in: Number(gdouble)): Number(gdouble) {
     // Gjs wrapper for regress_test_double()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -45,6 +37,4 @@ function test_double(in:Number):Number {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_filename_return.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_filename_return.page
index b26b613..e52cd25 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_filename_return.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_filename_return.page
@@ -6,37 +6,27 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>[filename]</api:type>
+        <api:type>Array(String)</api:type>
       </api:returns>
       <api:name>regress_test_filename_return</api:name>
     </api:function>
-
   </info>
-  <title>test_filename_return</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_filename_return():[filename] {
+  <title>Regress.test_filename_return</title>
+  <synopsis><code mime="text/x-gjs">
+function test_filename_return(): Array(String) {
     // Gjs wrapper for regress_test_filename_return()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
-<p>list of strings</p>
+
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_float.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_float.page
index 30f2ef7..a9430d5 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_float.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_float.page
@@ -6,34 +6,26 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>Number</api:type>
+        <api:type>Number(gfloat)</api:type>
       </api:returns>
       <api:name>regress_test_float</api:name>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gfloat)</api:type>
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_float</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_float(in:Number):Number {
+  <title>Regress.test_float</title>
+  <synopsis><code mime="text/x-gjs">
+function test_float(in: Number(gfloat)): Number(gfloat) {
     // Gjs wrapper for regress_test_float()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -45,6 +37,4 @@ function test_float(in:Number):Number {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_garray_container_return.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_garray_container_return.page
index a419628..5c19831 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_garray_container_return.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_garray_container_return.page
@@ -6,30 +6,22 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>[String]</api:type>
+        <api:type>Array(String)</api:type>
       </api:returns>
       <api:name>regress_test_garray_container_return</api:name>
     </api:function>
-
   </info>
-  <title>test_garray_container_return</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_garray_container_return():[String] {
+  <title>Regress.test_garray_container_return</title>
+  <synopsis><code mime="text/x-gjs">
+function test_garray_container_return(): Array(String) {
     // Gjs wrapper for regress_test_garray_container_return()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ function test_garray_container_return():[String] {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_garray_full_return.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_garray_full_return.page
index 86b1b78..eb46a61 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_garray_full_return.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_garray_full_return.page
@@ -6,30 +6,22 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>[String]</api:type>
+        <api:type>Array(String)</api:type>
       </api:returns>
       <api:name>regress_test_garray_full_return</api:name>
     </api:function>
-
   </info>
-  <title>test_garray_full_return</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_garray_full_return():[String] {
+  <title>Regress.test_garray_full_return</title>
+  <synopsis><code mime="text/x-gjs">
+function test_garray_full_return(): Array(String) {
     // Gjs wrapper for regress_test_garray_full_return()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ function test_garray_full_return():[String] {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gerror_callback.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gerror_callback.page
index 31ab83c..d59da0f 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gerror_callback.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gerror_callback.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,22 +17,15 @@
         <api:name>callback</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_gerror_callback</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_gerror_callback(callback:Regress.TestCallbackGError):void {
+  <title>Regress.test_gerror_callback</title>
+  <synopsis><code mime="text/x-gjs">
+function test_gerror_callback(callback: <link 
xref="Regress.TestCallbackGError">Regress.TestCallbackGError</link>): void {
     // Gjs wrapper for regress_test_gerror_callback()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>callback</code></title>
@@ -41,6 +33,4 @@ function test_gerror_callback(callback:Regress.TestCallbackGError):void {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_container_return.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_container_return.page
index b002deb..44e46f9 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_container_return.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_container_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_ghash_container_return</api:name>
     </api:function>
-
   </info>
-  <title>test_ghash_container_return</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_ghash_container_return():{String: String} {
+  <title>Regress.test_ghash_container_return</title>
+  <synopsis><code mime="text/x-gjs">
+function test_ghash_container_return(): {String: String} {
     // Gjs wrapper for regress_test_ghash_container_return()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ function test_ghash_container_return():{String: String} {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_everything_return.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_everything_return.page
index 1c1a0a9..d12e41a 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_everything_return.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_everything_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_ghash_everything_return</api:name>
     </api:function>
-
   </info>
-  <title>test_ghash_everything_return</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_ghash_everything_return():{String: String} {
+  <title>Regress.test_ghash_everything_return</title>
+  <synopsis><code mime="text/x-gjs">
+function test_ghash_everything_return(): {String: String} {
     // Gjs wrapper for regress_test_ghash_everything_return()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ function test_ghash_everything_return():{String: String} {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_gvalue_in.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_gvalue_in.page
index b12b8f8..ee7851c 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_gvalue_in.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_gvalue_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,30 +17,21 @@
         <api:name>hash</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_ghash_gvalue_in</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_ghash_gvalue_in(hash:{String: GObject.Value}):void {
+  <title>Regress.test_ghash_gvalue_in</title>
+  <synopsis><code mime="text/x-gjs">
+function test_ghash_gvalue_in(hash: {String: <link 
href="../GObject-2.0/GObject.Value.page">GObject.Value</link>}): void {
     // Gjs wrapper for regress_test_ghash_gvalue_in()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>hash</code></title>
-<p>the hash table returned by
+  <p>the hash table returned by
 <link xref="Regress.test_ghash_gvalue_return"/>.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_gvalue_return.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_gvalue_return.page
index 08748ea..3c734ef 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_gvalue_return.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_gvalue_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_ghash_gvalue_return</api:name>
     </api:function>
-
   </info>
-  <title>test_ghash_gvalue_return</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_ghash_gvalue_return():{String: GObject.Value} {
+  <title>Regress.test_ghash_gvalue_return</title>
+  <synopsis><code mime="text/x-gjs">
+function test_ghash_gvalue_return(): {String: <link 
href="../GObject-2.0/GObject.Value.page">GObject.Value</link>} {
     // Gjs wrapper for regress_test_ghash_gvalue_return()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ function test_ghash_gvalue_return():{String: GObject.Value} {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_nested_everything_return.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_nested_everything_return.page
index 4dece43..b885843 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_nested_everything_return.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_nested_everything_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_ghash_nested_everything_return</api:name>
     </api:function>
-
   </info>
-  <title>test_ghash_nested_everything_return</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_ghash_nested_everything_return():{String: {String: String}} {
+  <title>Regress.test_ghash_nested_everything_return</title>
+  <synopsis><code mime="text/x-gjs">
+function test_ghash_nested_everything_return(): {String: {String: String}} {
     // Gjs wrapper for regress_test_ghash_nested_everything_return()
 }
-</code></synopsis>
+  </code></synopsis>
+  <p>Specify nested parameterized types directly with the (type ) annotation.</p>
 
-  
-    <p>Specify nested parameterized types directly with the (type ) annotation.</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ function test_ghash_nested_everything_return():{String: {String: String}} {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_nested_everything_return2.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_nested_everything_return2.page
index 8aa4da3..e422fe5 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_nested_everything_return2.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_nested_everything_return2.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,23 +13,16 @@
       </api:returns>
       <api:name>regress_test_ghash_nested_everything_return2</api:name>
     </api:function>
-
   </info>
-  <title>test_ghash_nested_everything_return2</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_ghash_nested_everything_return2():{String: {String: String}} {
+  <title>Regress.test_ghash_nested_everything_return2</title>
+  <synopsis><code mime="text/x-gjs">
+function test_ghash_nested_everything_return2(): {String: {String: String}} {
     // Gjs wrapper for regress_test_ghash_nested_everything_return2()
 }
-</code></synopsis>
-
-  
-    <p>Another way of specifying nested parameterized types: using the
+  </code></synopsis>
+  <p>Another way of specifying nested parameterized types: using the
 element-type annotation.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -38,6 +30,4 @@ element-type annotation.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_nothing_in.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_nothing_in.page
index 62990fc..e1ced28 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_nothing_in.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_nothing_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,22 +17,15 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_ghash_nothing_in</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_ghash_nothing_in(in:{String: String}):void {
+  <title>Regress.test_ghash_nothing_in</title>
+  <synopsis><code mime="text/x-gjs">
+function test_ghash_nothing_in(in: {String: String}): void {
     // Gjs wrapper for regress_test_ghash_nothing_in()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -41,6 +33,4 @@ function test_ghash_nothing_in(in:{String: String}):void {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_nothing_in2.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_nothing_in2.page
index 72d774d..15a291a 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_nothing_in2.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_nothing_in2.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,22 +17,15 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_ghash_nothing_in2</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_ghash_nothing_in2(in:{String: String}):void {
+  <title>Regress.test_ghash_nothing_in2</title>
+  <synopsis><code mime="text/x-gjs">
+function test_ghash_nothing_in2(in: {String: String}): void {
     // Gjs wrapper for regress_test_ghash_nothing_in2()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -41,6 +33,4 @@ function test_ghash_nothing_in2(in:{String: String}):void {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_nothing_return.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_nothing_return.page
index e3729a5..2f1e2f9 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_nothing_return.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_nothing_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_ghash_nothing_return</api:name>
     </api:function>
-
   </info>
-  <title>test_ghash_nothing_return</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_ghash_nothing_return():{String: String} {
+  <title>Regress.test_ghash_nothing_return</title>
+  <synopsis><code mime="text/x-gjs">
+function test_ghash_nothing_return(): {String: String} {
     // Gjs wrapper for regress_test_ghash_nothing_return()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ function test_ghash_nothing_return():{String: String} {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_nothing_return2.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_nothing_return2.page
index 7777ab4..e0319aa 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_nothing_return2.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_nothing_return2.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_ghash_nothing_return2</api:name>
     </api:function>
-
   </info>
-  <title>test_ghash_nothing_return2</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_ghash_nothing_return2():{String: String} {
+  <title>Regress.test_ghash_nothing_return2</title>
+  <synopsis><code mime="text/x-gjs">
+function test_ghash_nothing_return2(): {String: String} {
     // Gjs wrapper for regress_test_ghash_nothing_return2()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ function test_ghash_nothing_return2():{String: String} {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_null_in.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_null_in.page
index 413a75b..091d9e0 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_null_in.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_null_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,22 +17,15 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_ghash_null_in</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_ghash_null_in(in:{String: String}):void {
+  <title>Regress.test_ghash_null_in</title>
+  <synopsis><code mime="text/x-gjs">
+function test_ghash_null_in(in: {String: String}): void {
     // Gjs wrapper for regress_test_ghash_null_in()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -41,6 +33,4 @@ function test_ghash_null_in(in:{String: String}):void {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_null_out.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_null_out.page
index 2c27253..8ddcc15 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_null_out.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_null_out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,25 +13,20 @@
       </api:returns>
       <api:name>regress_test_ghash_null_out</api:name>
     </api:function>
-
   </info>
-  <title>test_ghash_null_out</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_ghash_null_out():void {
+  <title>Regress.test_ghash_null_out</title>
+  <synopsis><code mime="text/x-gjs">
+function test_ghash_null_out(): {String: String} {
     // Gjs wrapper for regress_test_ghash_null_out()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
+<item>
+<title><code>out</code></title>
+
+</item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_null_return.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_null_return.page
index df6d686..8f4de6e 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_null_return.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_null_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_ghash_null_return</api:name>
     </api:function>
-
   </info>
-  <title>test_ghash_null_return</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_ghash_null_return():{String: String} {
+  <title>Regress.test_ghash_null_return</title>
+  <synopsis><code mime="text/x-gjs">
+function test_ghash_null_return(): {String: String} {
     // Gjs wrapper for regress_test_ghash_null_return()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ function test_ghash_null_return():{String: String} {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_container_return.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_container_return.page
index c3ac7cb..f6bc25a 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_container_return.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_container_return.page
@@ -6,30 +6,22 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>[String]</api:type>
+        <api:type>Array(String)</api:type>
       </api:returns>
       <api:name>regress_test_glist_container_return</api:name>
     </api:function>
-
   </info>
-  <title>test_glist_container_return</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_glist_container_return():[String] {
+  <title>Regress.test_glist_container_return</title>
+  <synopsis><code mime="text/x-gjs">
+function test_glist_container_return(): Array(String) {
     // Gjs wrapper for regress_test_glist_container_return()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ function test_glist_container_return():[String] {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_everything_return.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_everything_return.page
index fb31f77..e560ff0 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_everything_return.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_everything_return.page
@@ -6,30 +6,22 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>[String]</api:type>
+        <api:type>Array(String)</api:type>
       </api:returns>
       <api:name>regress_test_glist_everything_return</api:name>
     </api:function>
-
   </info>
-  <title>test_glist_everything_return</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_glist_everything_return():[String] {
+  <title>Regress.test_glist_everything_return</title>
+  <synopsis><code mime="text/x-gjs">
+function test_glist_everything_return(): Array(String) {
     // Gjs wrapper for regress_test_glist_everything_return()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ function test_glist_everything_return():[String] {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_nothing_in.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_nothing_in.page
index 3c85d19..952f527 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_nothing_in.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_nothing_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,26 +13,19 @@
       </api:returns>
       <api:name>regress_test_glist_nothing_in</api:name>
       <api:arg>
-        <api:type>[String]</api:type>
+        <api:type>Array(String)</api:type>
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_glist_nothing_in</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_glist_nothing_in(in:[String]):void {
+  <title>Regress.test_glist_nothing_in</title>
+  <synopsis><code mime="text/x-gjs">
+function test_glist_nothing_in(in: Array(String)): void {
     // Gjs wrapper for regress_test_glist_nothing_in()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -41,6 +33,4 @@ function test_glist_nothing_in(in:[String]):void {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_nothing_in2.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_nothing_in2.page
index f160d12..ae7f182 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_nothing_in2.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_nothing_in2.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,26 +13,19 @@
       </api:returns>
       <api:name>regress_test_glist_nothing_in2</api:name>
       <api:arg>
-        <api:type>[String]</api:type>
+        <api:type>Array(String)</api:type>
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_glist_nothing_in2</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_glist_nothing_in2(in:[String]):void {
+  <title>Regress.test_glist_nothing_in2</title>
+  <synopsis><code mime="text/x-gjs">
+function test_glist_nothing_in2(in: Array(String)): void {
     // Gjs wrapper for regress_test_glist_nothing_in2()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -41,6 +33,4 @@ function test_glist_nothing_in2(in:[String]):void {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_nothing_return.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_nothing_return.page
index e741d90..65b4463 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_nothing_return.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_nothing_return.page
@@ -6,30 +6,22 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>[String]</api:type>
+        <api:type>Array(String)</api:type>
       </api:returns>
       <api:name>regress_test_glist_nothing_return</api:name>
     </api:function>
-
   </info>
-  <title>test_glist_nothing_return</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_glist_nothing_return():[String] {
+  <title>Regress.test_glist_nothing_return</title>
+  <synopsis><code mime="text/x-gjs">
+function test_glist_nothing_return(): Array(String) {
     // Gjs wrapper for regress_test_glist_nothing_return()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ function test_glist_nothing_return():[String] {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_nothing_return2.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_nothing_return2.page
index 0fccdbb..8b91dc3 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_nothing_return2.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_nothing_return2.page
@@ -6,30 +6,22 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>[String]</api:type>
+        <api:type>Array(String)</api:type>
       </api:returns>
       <api:name>regress_test_glist_nothing_return2</api:name>
     </api:function>
-
   </info>
-  <title>test_glist_nothing_return2</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_glist_nothing_return2():[String] {
+  <title>Regress.test_glist_nothing_return2</title>
+  <synopsis><code mime="text/x-gjs">
+function test_glist_nothing_return2(): Array(String) {
     // Gjs wrapper for regress_test_glist_nothing_return2()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ function test_glist_nothing_return2():[String] {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_null_in.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_null_in.page
index dfedc28..5725aea 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_null_in.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_null_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,26 +13,19 @@
       </api:returns>
       <api:name>regress_test_glist_null_in</api:name>
       <api:arg>
-        <api:type>[String]</api:type>
+        <api:type>Array(String)</api:type>
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_glist_null_in</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_glist_null_in(in:[String]):void {
+  <title>Regress.test_glist_null_in</title>
+  <synopsis><code mime="text/x-gjs">
+function test_glist_null_in(in: Array(String)): void {
     // Gjs wrapper for regress_test_glist_null_in()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -41,6 +33,4 @@ function test_glist_null_in(in:[String]):void {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_null_out.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_null_out.page
index a1c7c68..057dc68 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_null_out.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_null_out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,25 +13,20 @@
       </api:returns>
       <api:name>regress_test_glist_null_out</api:name>
     </api:function>
-
   </info>
-  <title>test_glist_null_out</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_glist_null_out():void {
+  <title>Regress.test_glist_null_out</title>
+  <synopsis><code mime="text/x-gjs">
+function test_glist_null_out(): Array(String) {
     // Gjs wrapper for regress_test_glist_null_out()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
+<item>
+<title><code>out_list</code></title>
+
+</item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_container_return.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_container_return.page
index 5133d11..1d53539 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_container_return.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_container_return.page
@@ -6,30 +6,22 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>[String]</api:type>
+        <api:type>Array(String)</api:type>
       </api:returns>
       <api:name>regress_test_gslist_container_return</api:name>
     </api:function>
-
   </info>
-  <title>test_gslist_container_return</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_gslist_container_return():[String] {
+  <title>Regress.test_gslist_container_return</title>
+  <synopsis><code mime="text/x-gjs">
+function test_gslist_container_return(): Array(String) {
     // Gjs wrapper for regress_test_gslist_container_return()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ function test_gslist_container_return():[String] {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_everything_return.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_everything_return.page
index f82b1ce..159a968 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_everything_return.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_everything_return.page
@@ -6,30 +6,22 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>[String]</api:type>
+        <api:type>Array(String)</api:type>
       </api:returns>
       <api:name>regress_test_gslist_everything_return</api:name>
     </api:function>
-
   </info>
-  <title>test_gslist_everything_return</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_gslist_everything_return():[String] {
+  <title>Regress.test_gslist_everything_return</title>
+  <synopsis><code mime="text/x-gjs">
+function test_gslist_everything_return(): Array(String) {
     // Gjs wrapper for regress_test_gslist_everything_return()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ function test_gslist_everything_return():[String] {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_nothing_in.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_nothing_in.page
index 3409619..fc97e1c 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_nothing_in.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_nothing_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,26 +13,19 @@
       </api:returns>
       <api:name>regress_test_gslist_nothing_in</api:name>
       <api:arg>
-        <api:type>[String]</api:type>
+        <api:type>Array(String)</api:type>
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_gslist_nothing_in</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_gslist_nothing_in(in:[String]):void {
+  <title>Regress.test_gslist_nothing_in</title>
+  <synopsis><code mime="text/x-gjs">
+function test_gslist_nothing_in(in: Array(String)): void {
     // Gjs wrapper for regress_test_gslist_nothing_in()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -41,6 +33,4 @@ function test_gslist_nothing_in(in:[String]):void {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_nothing_in2.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_nothing_in2.page
index 05e0b56..2cf15e9 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_nothing_in2.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_nothing_in2.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,26 +13,19 @@
       </api:returns>
       <api:name>regress_test_gslist_nothing_in2</api:name>
       <api:arg>
-        <api:type>[String]</api:type>
+        <api:type>Array(String)</api:type>
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_gslist_nothing_in2</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_gslist_nothing_in2(in:[String]):void {
+  <title>Regress.test_gslist_nothing_in2</title>
+  <synopsis><code mime="text/x-gjs">
+function test_gslist_nothing_in2(in: Array(String)): void {
     // Gjs wrapper for regress_test_gslist_nothing_in2()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -41,6 +33,4 @@ function test_gslist_nothing_in2(in:[String]):void {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_nothing_return.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_nothing_return.page
index 03597fb..c85963a 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_nothing_return.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_nothing_return.page
@@ -6,30 +6,22 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>[String]</api:type>
+        <api:type>Array(String)</api:type>
       </api:returns>
       <api:name>regress_test_gslist_nothing_return</api:name>
     </api:function>
-
   </info>
-  <title>test_gslist_nothing_return</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_gslist_nothing_return():[String] {
+  <title>Regress.test_gslist_nothing_return</title>
+  <synopsis><code mime="text/x-gjs">
+function test_gslist_nothing_return(): Array(String) {
     // Gjs wrapper for regress_test_gslist_nothing_return()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ function test_gslist_nothing_return():[String] {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_nothing_return2.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_nothing_return2.page
index 0331f92..92c39d2 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_nothing_return2.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_nothing_return2.page
@@ -6,30 +6,22 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>[String]</api:type>
+        <api:type>Array(String)</api:type>
       </api:returns>
       <api:name>regress_test_gslist_nothing_return2</api:name>
     </api:function>
-
   </info>
-  <title>test_gslist_nothing_return2</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_gslist_nothing_return2():[String] {
+  <title>Regress.test_gslist_nothing_return2</title>
+  <synopsis><code mime="text/x-gjs">
+function test_gslist_nothing_return2(): Array(String) {
     // Gjs wrapper for regress_test_gslist_nothing_return2()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ function test_gslist_nothing_return2():[String] {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_null_in.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_null_in.page
index 34168c8..6942e10 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_null_in.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_null_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,26 +13,19 @@
       </api:returns>
       <api:name>regress_test_gslist_null_in</api:name>
       <api:arg>
-        <api:type>[String]</api:type>
+        <api:type>Array(String)</api:type>
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_gslist_null_in</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_gslist_null_in(in:[String]):void {
+  <title>Regress.test_gslist_null_in</title>
+  <synopsis><code mime="text/x-gjs">
+function test_gslist_null_in(in: Array(String)): void {
     // Gjs wrapper for regress_test_gslist_null_in()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -41,6 +33,4 @@ function test_gslist_null_in(in:[String]):void {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_null_out.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_null_out.page
index 4c9f3ca..438473d 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_null_out.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_null_out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,25 +13,20 @@
       </api:returns>
       <api:name>regress_test_gslist_null_out</api:name>
     </api:function>
-
   </info>
-  <title>test_gslist_null_out</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_gslist_null_out():void {
+  <title>Regress.test_gslist_null_out</title>
+  <synopsis><code mime="text/x-gjs">
+function test_gslist_null_out(): Array(String) {
     // Gjs wrapper for regress_test_gslist_null_out()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
+<item>
+<title><code>out_list</code></title>
+
+</item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gtype.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gtype.page
index 824689a..ed44d94 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gtype.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gtype.page
@@ -6,34 +6,26 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>GType</api:type>
+        <api:type>GObject.Type</api:type>
       </api:returns>
       <api:name>regress_test_gtype</api:name>
       <api:arg>
-        <api:type>GType</api:type>
+        <api:type>GObject.Type</api:type>
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_gtype</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_gtype(in:GType):GType {
+  <title>Regress.test_gtype</title>
+  <synopsis><code mime="text/x-gjs">
+function test_gtype(in: GObject.Type): GObject.Type {
     // Gjs wrapper for regress_test_gtype()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -45,6 +37,4 @@ function test_gtype(in:GType):GType {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gvariant_as.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gvariant_as.page
index 1eedc34..b6e6750 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gvariant_as.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gvariant_as.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,29 +13,20 @@
       </api:returns>
       <api:name>regress_test_gvariant_as</api:name>
     </api:function>
-
   </info>
-  <title>test_gvariant_as</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_gvariant_as():GLib.Variant {
+  <title>Regress.test_gvariant_as</title>
+  <synopsis><code mime="text/x-gjs">
+function test_gvariant_as(): <link href="../GLib-2.0/GLib.Variant.page">GLib.Variant</link> {
     // Gjs wrapper for regress_test_gvariant_as()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
-<p>New variant</p>
+
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gvariant_asv.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gvariant_asv.page
index a5709df..e17b335 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gvariant_asv.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gvariant_asv.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,29 +13,20 @@
       </api:returns>
       <api:name>regress_test_gvariant_asv</api:name>
     </api:function>
-
   </info>
-  <title>test_gvariant_asv</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_gvariant_asv():GLib.Variant {
+  <title>Regress.test_gvariant_asv</title>
+  <synopsis><code mime="text/x-gjs">
+function test_gvariant_asv(): <link href="../GLib-2.0/GLib.Variant.page">GLib.Variant</link> {
     // Gjs wrapper for regress_test_gvariant_asv()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
-<p>New variant</p>
+
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gvariant_i.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gvariant_i.page
index e1e7dc0..3bf6857 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gvariant_i.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gvariant_i.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,29 +13,20 @@
       </api:returns>
       <api:name>regress_test_gvariant_i</api:name>
     </api:function>
-
   </info>
-  <title>test_gvariant_i</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_gvariant_i():GLib.Variant {
+  <title>Regress.test_gvariant_i</title>
+  <synopsis><code mime="text/x-gjs">
+function test_gvariant_i(): <link href="../GLib-2.0/GLib.Variant.page">GLib.Variant</link> {
     // Gjs wrapper for regress_test_gvariant_i()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
-<p>New variant</p>
+
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gvariant_s.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gvariant_s.page
index 139e0c6..40741bc 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gvariant_s.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gvariant_s.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,29 +13,20 @@
       </api:returns>
       <api:name>regress_test_gvariant_s</api:name>
     </api:function>
-
   </info>
-  <title>test_gvariant_s</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_gvariant_s():GLib.Variant {
+  <title>Regress.test_gvariant_s</title>
+  <synopsis><code mime="text/x-gjs">
+function test_gvariant_s(): <link href="../GLib-2.0/GLib.Variant.page">GLib.Variant</link> {
     // Gjs wrapper for regress_test_gvariant_s()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
-<p>New variant</p>
+
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gvariant_v.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gvariant_v.page
index cec12de..3a5cfe7 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gvariant_v.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gvariant_v.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,29 +13,20 @@
       </api:returns>
       <api:name>regress_test_gvariant_v</api:name>
     </api:function>
-
   </info>
-  <title>test_gvariant_v</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_gvariant_v():GLib.Variant {
+  <title>Regress.test_gvariant_v</title>
+  <synopsis><code mime="text/x-gjs">
+function test_gvariant_v(): <link href="../GLib-2.0/GLib.Variant.page">GLib.Variant</link> {
     // Gjs wrapper for regress_test_gvariant_v()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
-<p>New variant</p>
+
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_hash_table_callback.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_hash_table_callback.page
index a49c65c..2ac3ba7 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_hash_table_callback.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_hash_table_callback.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,7 +13,7 @@
       </api:returns>
       <api:name>regress_test_hash_table_callback</api:name>
       <api:arg>
-        <api:type>{String: Number}</api:type>
+        <api:type>{String: Number(gint)}</api:type>
         <api:name>data</api:name>
       </api:arg>
       <api:arg>
@@ -22,26 +21,19 @@
         <api:name>callback</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_hash_table_callback</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_hash_table_callback(data:{String: Number}, callback:Regress.TestCallbackHashtable):void {
+  <title>Regress.test_hash_table_callback</title>
+  <synopsis><code mime="text/x-gjs">
+function test_hash_table_callback(data: {String: Number(gint)}, callback: <link 
xref="Regress.TestCallbackHashtable">Regress.TestCallbackHashtable</link>): void {
     // Gjs wrapper for regress_test_hash_table_callback()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>data</code></title>
-<p>GHashTable that gets passed to callback</p>
+  <p>GHashTable that gets passed to callback</p>
 </item>
 <item>
 <title><code>callback</code></title>
@@ -49,6 +41,4 @@ function test_hash_table_callback(data:{String: Number}, callback:Regress.TestCa
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int.page
index 6193dd8..3bb1e7e 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int.page
@@ -6,34 +6,26 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
       </api:returns>
       <api:name>regress_test_int</api:name>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_int</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_int(in:Number):Number {
+  <title>Regress.test_int</title>
+  <synopsis><code mime="text/x-gjs">
+function test_int(in: Number(gint)): Number(gint) {
     // Gjs wrapper for regress_test_int()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -45,6 +37,4 @@ function test_int(in:Number):Number {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int16.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int16.page
index d8efb0b..d34ea70 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int16.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int16.page
@@ -6,34 +6,26 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>gint16</api:type>
+        <api:type>Number(gint16)</api:type>
       </api:returns>
       <api:name>regress_test_int16</api:name>
       <api:arg>
-        <api:type>gint16</api:type>
+        <api:type>Number(gint16)</api:type>
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_int16</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_int16(in:gint16):gint16 {
+  <title>Regress.test_int16</title>
+  <synopsis><code mime="text/x-gjs">
+function test_int16(in: Number(gint16)): Number(gint16) {
     // Gjs wrapper for regress_test_int16()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -45,6 +37,4 @@ function test_int16(in:gint16):gint16 {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int32.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int32.page
index 8015b37..044fa80 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int32.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int32.page
@@ -6,34 +6,26 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>gint32</api:type>
+        <api:type>Number(gint32)</api:type>
       </api:returns>
       <api:name>regress_test_int32</api:name>
       <api:arg>
-        <api:type>gint32</api:type>
+        <api:type>Number(gint32)</api:type>
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_int32</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_int32(in:gint32):gint32 {
+  <title>Regress.test_int32</title>
+  <synopsis><code mime="text/x-gjs">
+function test_int32(in: Number(gint32)): Number(gint32) {
     // Gjs wrapper for regress_test_int32()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -45,6 +37,4 @@ function test_int32(in:gint32):gint32 {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int64.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int64.page
index 24a69e9..79f3e63 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int64.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int64.page
@@ -6,34 +6,26 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>Number</api:type>
+        <api:type>Number(gint64)</api:type>
       </api:returns>
       <api:name>regress_test_int64</api:name>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gint64)</api:type>
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_int64</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_int64(in:Number):Number {
+  <title>Regress.test_int64</title>
+  <synopsis><code mime="text/x-gjs">
+function test_int64(in: Number(gint64)): Number(gint64) {
     // Gjs wrapper for regress_test_int64()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -45,6 +37,4 @@ function test_int64(in:Number):Number {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int8.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int8.page
index ab573a0..0f18bca 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int8.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int8.page
@@ -6,34 +6,26 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>gint8</api:type>
+        <api:type>Number(gint8)</api:type>
       </api:returns>
       <api:name>regress_test_int8</api:name>
       <api:arg>
-        <api:type>gint8</api:type>
+        <api:type>Number(gint8)</api:type>
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_int8</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_int8(in:gint8):gint8 {
+  <title>Regress.test_int8</title>
+  <synopsis><code mime="text/x-gjs">
+function test_int8(in: Number(gint8)): Number(gint8) {
     // Gjs wrapper for regress_test_int8()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -45,6 +37,4 @@ function test_int8(in:gint8):gint8 {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int_out_utf8.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int_out_utf8.page
index 020f9e2..7141cac 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int_out_utf8.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int_out_utf8.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,29 +17,24 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_int_out_utf8</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_int_out_utf8(in:String):void {
+  <title>Regress.test_int_out_utf8</title>
+  <synopsis><code mime="text/x-gjs">
+function test_int_out_utf8(in: String): Number(gint) {
     // Gjs wrapper for regress_test_int_out_utf8()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
 
 </item>
+<item>
+<title><code>length</code></title>
+
+</item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int_value_arg.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int_value_arg.page
index cb84a3c..64d400e 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int_value_arg.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int_value_arg.page
@@ -6,11 +6,10 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
       </api:returns>
       <api:name>regress_test_int_value_arg</api:name>
       <api:arg>
@@ -18,22 +17,15 @@
         <api:name>v</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_int_value_arg</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_int_value_arg(v:GObject.Value):Number {
+  <title>Regress.test_int_value_arg</title>
+  <synopsis><code mime="text/x-gjs">
+function test_int_value_arg(v: <link href="../GObject-2.0/GObject.Value.page">GObject.Value</link>): 
Number(gint) {
     // Gjs wrapper for regress_test_int_value_arg()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>v</code></title>
@@ -45,6 +37,4 @@ function test_int_value_arg(v:GObject.Value):Number {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_long.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_long.page
index 12bc1ae..d043206 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_long.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_long.page
@@ -6,34 +6,26 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>Number</api:type>
+        <api:type>Number(glong)</api:type>
       </api:returns>
       <api:name>regress_test_long</api:name>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(glong)</api:type>
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_long</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_long(in:Number):Number {
+  <title>Regress.test_long</title>
+  <synopsis><code mime="text/x-gjs">
+function test_long(in: Number(glong)): Number(glong) {
     // Gjs wrapper for regress_test_long()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -45,6 +37,4 @@ function test_long(in:Number):Number {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_multi_callback.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_multi_callback.page
index ea0646f..18c89ee 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_multi_callback.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_multi_callback.page
@@ -6,11 +6,10 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
       </api:returns>
       <api:name>regress_test_multi_callback</api:name>
       <api:arg>
@@ -18,22 +17,15 @@
         <api:name>callback</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_multi_callback</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_multi_callback(callback:Regress.TestCallback):Number {
+  <title>Regress.test_multi_callback</title>
+  <synopsis><code mime="text/x-gjs">
+function test_multi_callback(callback: <link xref="Regress.TestCallback">Regress.TestCallback</link>): 
Number(gint) {
     // Gjs wrapper for regress_test_multi_callback()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>callback</code></title>
@@ -45,6 +37,4 @@ function test_multi_callback(callback:Regress.TestCallback):Number {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_multi_double_args.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_multi_double_args.page
index 378ace7..c5d1f8c 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_multi_double_args.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_multi_double_args.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,33 +13,32 @@
       </api:returns>
       <api:name>regress_test_multi_double_args</api:name>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gdouble)</api:type>
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_multi_double_args</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_multi_double_args(in:Number):void {
+  <title>Regress.test_multi_double_args</title>
+  <synopsis><code mime="text/x-gjs">
+function test_multi_double_args(in: Number(gdouble)): [one: Number(gdouble), two: Number(gdouble)] {
     // Gjs wrapper for regress_test_multi_double_args()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
 
 </item>
+<item>
+<title><code>one</code></title>
+
+</item>
+<item>
+<title><code>two</code></title>
+
+</item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_multiline_doc_comments.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_multiline_doc_comments.page
index 38a75e7..828f584 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_multiline_doc_comments.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_multiline_doc_comments.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,25 +13,14 @@
       </api:returns>
       <api:name>regress_test_multiline_doc_comments</api:name>
     </api:function>
-
   </info>
-  <title>test_multiline_doc_comments</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_multiline_doc_comments():void {
+  <title>Regress.test_multiline_doc_comments</title>
+  <synopsis><code mime="text/x-gjs">
+function test_multiline_doc_comments(): void {
     // Gjs wrapper for regress_test_multiline_doc_comments()
 }
-</code></synopsis>
+  </code></synopsis>
+  <p>This is a function.</p>  <p>It has multiple lines in the documentation.</p>  <p>The sky is blue.</p>  
<p>You will give me your credit card number.</p>
 
-  
-    <p>This is a function.</p><p>It has multiple lines in the documentation.</p><p>The sky is 
blue.</p><p>You will give me your credit card number.</p>
-  
-  
-  
-  
-<terms>
-</terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_nested_parameter.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_nested_parameter.page
index 54bda89..a436fa7 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_nested_parameter.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_nested_parameter.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,18 @@
       </api:returns>
       <api:name>regress_test_nested_parameter</api:name>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
         <api:name>a</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_nested_parameter</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_nested_parameter(a:Number):void {
+  <title>Regress.test_nested_parameter</title>
+  <synopsis><code mime="text/x-gjs">
+function test_nested_parameter(a: Number(gint)): void {
     // Gjs wrapper for regress_test_nested_parameter()
 }
-</code></synopsis>
-
-  
-    <p>&lt;informaltable&gt;
+  </code></synopsis>
+  <p>&lt;informaltable&gt;
   &lt;tgroup cols="3"&gt;
     &lt;thead&gt;
       &lt;row&gt;
@@ -54,18 +49,13 @@ rgb(20%, 30%, 0%)&lt;/literallayout&gt;&lt;/entry&gt;
       &lt;/row&gt;
    &lt;/tbody&gt;
  &lt;/tgroup&gt;
-&lt;/informaltable&gt;</p><p>What we're testing here is that the scanner ignores the <code>a</code> nested 
inside XML.</p>
-  
-  
-  
-  
+&lt;/informaltable&gt;</p>  <p>What we're testing here is that the scanner ignores the <code>a</code> nested 
inside XML.</p>
+
 <terms>
 <item>
 <title><code>a</code></title>
-<p>An integer</p>
+  <p>An integer</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_null_gerror_callback.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_null_gerror_callback.page
index 5af4d58..da0ee2b 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_null_gerror_callback.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_null_gerror_callback.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,22 +17,15 @@
         <api:name>callback</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_null_gerror_callback</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_null_gerror_callback(callback:Regress.TestCallbackGError):void {
+  <title>Regress.test_null_gerror_callback</title>
+  <synopsis><code mime="text/x-gjs">
+function test_null_gerror_callback(callback: <link 
xref="Regress.TestCallbackGError">Regress.TestCallbackGError</link>): void {
     // Gjs wrapper for regress_test_null_gerror_callback()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>callback</code></title>
@@ -41,6 +33,4 @@ function test_null_gerror_callback(callback:Regress.TestCallbackGError):void {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_owned_gerror_callback.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_owned_gerror_callback.page
index 206ac21..00e7f0e 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_owned_gerror_callback.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_owned_gerror_callback.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,22 +17,15 @@
         <api:name>callback</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_owned_gerror_callback</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_owned_gerror_callback(callback:Regress.TestCallbackOwnedGError):void {
+  <title>Regress.test_owned_gerror_callback</title>
+  <synopsis><code mime="text/x-gjs">
+function test_owned_gerror_callback(callback: <link 
xref="Regress.TestCallbackOwnedGError">Regress.TestCallbackOwnedGError</link>): void {
     // Gjs wrapper for regress_test_owned_gerror_callback()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>callback</code></title>
@@ -41,6 +33,4 @@ function test_owned_gerror_callback(callback:Regress.TestCallbackOwnedGError):vo
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_short.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_short.page
index 59381ae..55262c7 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_short.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_short.page
@@ -6,34 +6,26 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>gshort</api:type>
+        <api:type>Number(gshort)</api:type>
       </api:returns>
       <api:name>regress_test_short</api:name>
       <api:arg>
-        <api:type>gshort</api:type>
+        <api:type>Number(gshort)</api:type>
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_short</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_short(in:gshort):gshort {
+  <title>Regress.test_short</title>
+  <synopsis><code mime="text/x-gjs">
+function test_short(in: Number(gshort)): Number(gshort) {
     // Gjs wrapper for regress_test_short()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -45,6 +37,4 @@ function test_short(in:gshort):gshort {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_simple_callback.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_simple_callback.page
index 9d8198f..741b80d 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_simple_callback.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_simple_callback.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,22 +17,15 @@
         <api:name>callback</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_simple_callback</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_simple_callback(callback:Regress.TestSimpleCallback):void {
+  <title>Regress.test_simple_callback</title>
+  <synopsis><code mime="text/x-gjs">
+function test_simple_callback(callback: <link 
xref="Regress.TestSimpleCallback">Regress.TestSimpleCallback</link>): void {
     // Gjs wrapper for regress_test_simple_callback()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>callback</code></title>
@@ -41,6 +33,4 @@ function test_simple_callback(callback:Regress.TestSimpleCallback):void {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_size.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_size.page
index bc6896d..75b7063 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_size.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_size.page
@@ -6,34 +6,26 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>gsize</api:type>
+        <api:type>Number(gsize)</api:type>
       </api:returns>
       <api:name>regress_test_size</api:name>
       <api:arg>
-        <api:type>gsize</api:type>
+        <api:type>Number(gsize)</api:type>
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_size</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_size(in:gsize):gsize {
+  <title>Regress.test_size</title>
+  <synopsis><code mime="text/x-gjs">
+function test_size(in: Number(gsize)): Number(gsize) {
     // Gjs wrapper for regress_test_size()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -45,6 +37,4 @@ function test_size(in:gsize):gsize {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ssize.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ssize.page
index ccc011d..bed4167 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ssize.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ssize.page
@@ -6,34 +6,26 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>gssize</api:type>
+        <api:type>Number(gssize)</api:type>
       </api:returns>
       <api:name>regress_test_ssize</api:name>
       <api:arg>
-        <api:type>gssize</api:type>
+        <api:type>Number(gssize)</api:type>
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_ssize</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_ssize(in:gssize):gssize {
+  <title>Regress.test_ssize</title>
+  <synopsis><code mime="text/x-gjs">
+function test_ssize(in: Number(gssize)): Number(gssize) {
     // Gjs wrapper for regress_test_ssize()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -45,6 +37,4 @@ function test_ssize(in:gssize):gssize {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_strv_in.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_strv_in.page
index 7659a72..b427f9d 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_strv_in.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_strv_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,37 +13,28 @@
       </api:returns>
       <api:name>regress_test_strv_in</api:name>
       <api:arg>
-        <api:type>[String]</api:type>
+        <api:type>Array(String)</api:type>
         <api:name>arr</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_strv_in</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_strv_in(arr:[String]):Boolean {
+  <title>Regress.test_strv_in</title>
+  <synopsis><code mime="text/x-gjs">
+function test_strv_in(arr: Array(String)): Boolean {
     // Gjs wrapper for regress_test_strv_in()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>arr</code></title>
 
 </item>
 <item>
-<title><code>Returns</code></title>
+<title><code>ok</code></title>
 
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_strv_in_gvalue.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_strv_in_gvalue.page
index 20617c0..83cbe06 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_strv_in_gvalue.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_strv_in_gvalue.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_strv_in_gvalue</api:name>
     </api:function>
-
   </info>
-  <title>test_strv_in_gvalue</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_strv_in_gvalue():GObject.Value {
+  <title>Regress.test_strv_in_gvalue</title>
+  <synopsis><code mime="text/x-gjs">
+function test_strv_in_gvalue(): <link href="../GObject-2.0/GObject.Value.page">GObject.Value</link> {
     // Gjs wrapper for regress_test_strv_in_gvalue()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ function test_strv_in_gvalue():GObject.Value {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_strv_out.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_strv_out.page
index 477a46f..3df6079 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_strv_out.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_strv_out.page
@@ -6,30 +6,22 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>[String]</api:type>
+        <api:type>Array(String)</api:type>
       </api:returns>
       <api:name>regress_test_strv_out</api:name>
     </api:function>
-
   </info>
-  <title>test_strv_out</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_strv_out():[String] {
+  <title>Regress.test_strv_out</title>
+  <synopsis><code mime="text/x-gjs">
+function test_strv_out(): Array(String) {
     // Gjs wrapper for regress_test_strv_out()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ function test_strv_out():[String] {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_strv_out_c.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_strv_out_c.page
index d393946..824d190 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_strv_out_c.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_strv_out_c.page
@@ -6,30 +6,22 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>[String]</api:type>
+        <api:type>Array(String)</api:type>
       </api:returns>
       <api:name>regress_test_strv_out_c</api:name>
     </api:function>
-
   </info>
-  <title>test_strv_out_c</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_strv_out_c():[String] {
+  <title>Regress.test_strv_out_c</title>
+  <synopsis><code mime="text/x-gjs">
+function test_strv_out_c(): Array(String) {
     // Gjs wrapper for regress_test_strv_out_c()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ function test_strv_out_c():[String] {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_strv_out_container.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_strv_out_container.page
index f9bec39..ba50c9f 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_strv_out_container.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_strv_out_container.page
@@ -6,30 +6,22 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>[String]</api:type>
+        <api:type>Array(String)</api:type>
       </api:returns>
       <api:name>regress_test_strv_out_container</api:name>
     </api:function>
-
   </info>
-  <title>test_strv_out_container</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_strv_out_container():[String] {
+  <title>Regress.test_strv_out_container</title>
+  <synopsis><code mime="text/x-gjs">
+function test_strv_out_container(): Array(String) {
     // Gjs wrapper for regress_test_strv_out_container()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ function test_strv_out_container():[String] {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_strv_outarg.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_strv_outarg.page
index 01bcba4..04ce85f 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_strv_outarg.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_strv_outarg.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,25 +13,20 @@
       </api:returns>
       <api:name>regress_test_strv_outarg</api:name>
     </api:function>
-
   </info>
-  <title>test_strv_outarg</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_strv_outarg():void {
+  <title>Regress.test_strv_outarg</title>
+  <synopsis><code mime="text/x-gjs">
+function test_strv_outarg(): Array(String) {
     // Gjs wrapper for regress_test_strv_outarg()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
+<item>
+<title><code>retp</code></title>
+
+</item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_timet.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_timet.page
index 65ccab5..09aa430 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_timet.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_timet.page
@@ -6,34 +6,26 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>Number</api:type>
+        <api:type>Number(glong)</api:type>
       </api:returns>
       <api:name>regress_test_timet</api:name>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(glong)</api:type>
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_timet</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_timet(in:Number):Number {
+  <title>Regress.test_timet</title>
+  <synopsis><code mime="text/x-gjs">
+function test_timet(in: Number(glong)): Number(glong) {
     // Gjs wrapper for regress_test_timet()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -45,6 +37,4 @@ function test_timet(in:Number):Number {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_torture_signature_0.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_torture_signature_0.page
index 1696583..f90dfca 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_torture_signature_0.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_torture_signature_0.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,7 +13,7 @@
       </api:returns>
       <api:name>regress_test_torture_signature_0</api:name>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
         <api:name>x</api:name>
       </api:arg>
       <api:arg>
@@ -22,26 +21,19 @@
         <api:name>foo</api:name>
       </api:arg>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(guint)</api:type>
         <api:name>m</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_torture_signature_0</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_torture_signature_0(x:Number, foo:String, m:Number):void {
+  <title>Regress.test_torture_signature_0</title>
+  <synopsis><code mime="text/x-gjs">
+function test_torture_signature_0(x: Number(gint), foo: String, m: Number(guint)): [y: Number(gdouble), z: 
Number(gint), q: Number(gint)] {
     // Gjs wrapper for regress_test_torture_signature_0()
 }
-</code></synopsis>
-
-  
-    
-  
-  
-  
-  
+  </code></synopsis>
+
+
 <terms>
 <item>
 <title><code>x</code></title>
@@ -55,8 +47,18 @@ function test_torture_signature_0(x:Number, foo:String, m:Number):void {
 <title><code>m</code></title>
 
 </item>
+<item>
+<title><code>y</code></title>
+
+</item>
+<item>
+<title><code>z</code></title>
+
+</item>
+<item>
+<title><code>q</code></title>
+
+</item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_torture_signature_1.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_torture_signature_1.page
index a10b0ab..a270b7e 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_torture_signature_1.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_torture_signature_1.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,7 +13,7 @@
       </api:returns>
       <api:name>regress_test_torture_signature_1</api:name>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
         <api:name>x</api:name>
       </api:arg>
       <api:arg>
@@ -22,26 +21,19 @@
         <api:name>foo</api:name>
       </api:arg>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(guint)</api:type>
         <api:name>m</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_torture_signature_1</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_torture_signature_1(x:Number, foo:String, m:Number):Boolean {
+  <title>Regress.test_torture_signature_1</title>
+  <synopsis><code mime="text/x-gjs">
+function test_torture_signature_1(x: Number(gint), foo: String, m: Number(guint)): [ok: Boolean, y: 
Number(gdouble), z: Number(gint), q: Number(gint)] {
     // Gjs wrapper for regress_test_torture_signature_1()
 }
-</code></synopsis>
+  </code></synopsis>
+  <p>This function throws an error if m is odd.</p>
 
-  
-    <p>This function throws an error if m is odd.</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>x</code></title>
@@ -56,11 +48,21 @@ function test_torture_signature_1(x:Number, foo:String, m:Number):Boolean {
 
 </item>
 <item>
-<title><code>Returns</code></title>
+<title><code>ok</code></title>
+
+</item>
+<item>
+<title><code>y</code></title>
+
+</item>
+<item>
+<title><code>z</code></title>
+
+</item>
+<item>
+<title><code>q</code></title>
 
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_torture_signature_2.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_torture_signature_2.page
index 3a3eb39..efc91d6 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_torture_signature_2.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_torture_signature_2.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,7 +13,7 @@
       </api:returns>
       <api:name>regress_test_torture_signature_2</api:name>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
         <api:name>x</api:name>
       </api:arg>
       <api:arg>
@@ -26,26 +25,19 @@
         <api:name>foo</api:name>
       </api:arg>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(guint)</api:type>
         <api:name>m</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_torture_signature_2</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_torture_signature_2(x:Number, callback:Regress.TestCallbackUserData, foo:String, 
m:Number):void {
+  <title>Regress.test_torture_signature_2</title>
+  <synopsis><code mime="text/x-gjs">
+function test_torture_signature_2(x: Number(gint), callback: <link 
xref="Regress.TestCallbackUserData">Regress.TestCallbackUserData</link>, foo: String, m: Number(guint)): [y: 
Number(gdouble), z: Number(gint), q: Number(gint)] {
     // Gjs wrapper for regress_test_torture_signature_2()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>x</code></title>
@@ -63,8 +55,18 @@ function test_torture_signature_2(x:Number, callback:Regress.TestCallbackUserDat
 <title><code>m</code></title>
 
 </item>
+<item>
+<title><code>y</code></title>
+
+</item>
+<item>
+<title><code>z</code></title>
+
+</item>
+<item>
+<title><code>q</code></title>
+
+</item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_uint.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_uint.page
index ac1653a..178bc03 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_uint.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_uint.page
@@ -6,34 +6,26 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>Number</api:type>
+        <api:type>Number(guint)</api:type>
       </api:returns>
       <api:name>regress_test_uint</api:name>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(guint)</api:type>
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_uint</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_uint(in:Number):Number {
+  <title>Regress.test_uint</title>
+  <synopsis><code mime="text/x-gjs">
+function test_uint(in: Number(guint)): Number(guint) {
     // Gjs wrapper for regress_test_uint()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -45,6 +37,4 @@ function test_uint(in:Number):Number {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_uint16.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_uint16.page
index 93faff4..54c19af 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_uint16.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_uint16.page
@@ -6,34 +6,26 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>guint16</api:type>
+        <api:type>Number(guint16)</api:type>
       </api:returns>
       <api:name>regress_test_uint16</api:name>
       <api:arg>
-        <api:type>guint16</api:type>
+        <api:type>Number(guint16)</api:type>
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_uint16</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_uint16(in:guint16):guint16 {
+  <title>Regress.test_uint16</title>
+  <synopsis><code mime="text/x-gjs">
+function test_uint16(in: Number(guint16)): Number(guint16) {
     // Gjs wrapper for regress_test_uint16()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -45,6 +37,4 @@ function test_uint16(in:guint16):guint16 {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_uint32.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_uint32.page
index ebab4d6..9d33d73 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_uint32.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_uint32.page
@@ -6,34 +6,26 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>guint32</api:type>
+        <api:type>Number(guint32)</api:type>
       </api:returns>
       <api:name>regress_test_uint32</api:name>
       <api:arg>
-        <api:type>guint32</api:type>
+        <api:type>Number(guint32)</api:type>
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_uint32</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_uint32(in:guint32):guint32 {
+  <title>Regress.test_uint32</title>
+  <synopsis><code mime="text/x-gjs">
+function test_uint32(in: Number(guint32)): Number(guint32) {
     // Gjs wrapper for regress_test_uint32()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -45,6 +37,4 @@ function test_uint32(in:guint32):guint32 {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_uint64.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_uint64.page
index 942d786..3eb7a88 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_uint64.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_uint64.page
@@ -6,34 +6,26 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>Number</api:type>
+        <api:type>Number(guint64)</api:type>
       </api:returns>
       <api:name>regress_test_uint64</api:name>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(guint64)</api:type>
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_uint64</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_uint64(in:Number):Number {
+  <title>Regress.test_uint64</title>
+  <synopsis><code mime="text/x-gjs">
+function test_uint64(in: Number(guint64)): Number(guint64) {
     // Gjs wrapper for regress_test_uint64()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -45,6 +37,4 @@ function test_uint64(in:Number):Number {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_uint8.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_uint8.page
index f39dcc1..f7b8900 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_uint8.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_uint8.page
@@ -6,34 +6,26 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>guint8</api:type>
+        <api:type>Number(guint8)</api:type>
       </api:returns>
       <api:name>regress_test_uint8</api:name>
       <api:arg>
-        <api:type>guint8</api:type>
+        <api:type>Number(guint8)</api:type>
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_uint8</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_uint8(in:guint8):guint8 {
+  <title>Regress.test_uint8</title>
+  <synopsis><code mime="text/x-gjs">
+function test_uint8(in: Number(guint8)): Number(guint8) {
     // Gjs wrapper for regress_test_uint8()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -45,6 +37,4 @@ function test_uint8(in:guint8):guint8 {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ulong.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ulong.page
index 76f3310..7f345b1 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ulong.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ulong.page
@@ -6,34 +6,26 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
-        <api:type>Number</api:type>
+        <api:type>Number(gulong)</api:type>
       </api:returns>
       <api:name>regress_test_ulong</api:name>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gulong)</api:type>
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_ulong</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_ulong(in:Number):Number {
+  <title>Regress.test_ulong</title>
+  <synopsis><code mime="text/x-gjs">
+function test_ulong(in: Number(gulong)): Number(gulong) {
     // Gjs wrapper for regress_test_ulong()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -45,6 +37,4 @@ function test_ulong(in:Number):Number {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_unichar.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_unichar.page
index 25465b3..54d98f4 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_unichar.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_unichar.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,22 +17,15 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_unichar</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_unichar(in:String):String {
+  <title>Regress.test_unichar</title>
+  <synopsis><code mime="text/x-gjs">
+function test_unichar(in: String): String {
     // Gjs wrapper for regress_test_unichar()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -45,6 +37,4 @@ function test_unichar(in:String):String {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_unsigned_enum_param.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_unsigned_enum_param.page
index 8b7348e..f2701d0 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_unsigned_enum_param.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_unsigned_enum_param.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,22 +17,15 @@
         <api:name>e</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_unsigned_enum_param</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_unsigned_enum_param(e:Regress.TestEnumUnsigned):String {
+  <title>Regress.test_unsigned_enum_param</title>
+  <synopsis><code mime="text/x-gjs">
+function test_unsigned_enum_param(e: <link xref="Regress.TestEnumUnsigned">Regress.TestEnumUnsigned</link>): 
String {
     // Gjs wrapper for regress_test_unsigned_enum_param()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>e</code></title>
@@ -45,6 +37,4 @@ function test_unsigned_enum_param(e:Regress.TestEnumUnsigned):String {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ushort.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ushort.page
index 74ada4b..207181c 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ushort.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ushort.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,22 +17,15 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_ushort</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_ushort(in:gushort):gushort {
+  <title>Regress.test_ushort</title>
+  <synopsis><code mime="text/x-gjs">
+function test_ushort(in: gushort): gushort {
     // Gjs wrapper for regress_test_ushort()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -45,6 +37,4 @@ function test_ushort(in:gushort):gushort {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_const_in.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_const_in.page
index 63fedb9..9d7f490 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_const_in.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_const_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,22 +17,15 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_utf8_const_in</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_utf8_const_in(in:String):void {
+  <title>Regress.test_utf8_const_in</title>
+  <synopsis><code mime="text/x-gjs">
+function test_utf8_const_in(in: String): void {
     // Gjs wrapper for regress_test_utf8_const_in()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -41,6 +33,4 @@ function test_utf8_const_in(in:String):void {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_const_return.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_const_return.page
index a63dc22..a323e44 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_const_return.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_const_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,29 +13,20 @@
       </api:returns>
       <api:name>regress_test_utf8_const_return</api:name>
     </api:function>
-
   </info>
-  <title>test_utf8_const_return</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_utf8_const_return():String {
+  <title>Regress.test_utf8_const_return</title>
+  <synopsis><code mime="text/x-gjs">
+function test_utf8_const_return(): String {
     // Gjs wrapper for regress_test_utf8_const_return()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
-<p>UTF-8 string</p>
+
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_inout.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_inout.page
index 1f282c2..48463ac 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_inout.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_inout.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,29 +17,24 @@
         <api:name>inout</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_utf8_inout</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_utf8_inout(inout:String):void {
+  <title>Regress.test_utf8_inout</title>
+  <synopsis><code mime="text/x-gjs">
+function test_utf8_inout(inout: String): String {
     // Gjs wrapper for regress_test_utf8_inout()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>inout</code></title>
 
 </item>
+<item>
+<title><code>inout (out)</code></title>
+
+</item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_nonconst_return.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_nonconst_return.page
index 2fec9e8..05e2fb4 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_nonconst_return.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_nonconst_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,29 +13,20 @@
       </api:returns>
       <api:name>regress_test_utf8_nonconst_return</api:name>
     </api:function>
-
   </info>
-  <title>test_utf8_nonconst_return</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_utf8_nonconst_return():String {
+  <title>Regress.test_utf8_nonconst_return</title>
+  <synopsis><code mime="text/x-gjs">
+function test_utf8_nonconst_return(): String {
     // Gjs wrapper for regress_test_utf8_nonconst_return()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
-<p>UTF-8 string</p>
+
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_null_in.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_null_in.page
index 14f3a55..bfcd72d 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_null_in.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_null_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,22 +17,15 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_utf8_null_in</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_utf8_null_in(in:String):void {
+  <title>Regress.test_utf8_null_in</title>
+  <synopsis><code mime="text/x-gjs">
+function test_utf8_null_in(in: String): void {
     // Gjs wrapper for regress_test_utf8_null_in()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -41,6 +33,4 @@ function test_utf8_null_in(in:String):void {
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_null_out.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_null_out.page
index 66632ff..b4e23a5 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_null_out.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_null_out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,25 +13,20 @@
       </api:returns>
       <api:name>regress_test_utf8_null_out</api:name>
     </api:function>
-
   </info>
-  <title>test_utf8_null_out</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_utf8_null_out():void {
+  <title>Regress.test_utf8_null_out</title>
+  <synopsis><code mime="text/x-gjs">
+function test_utf8_null_out(): String {
     // Gjs wrapper for regress_test_utf8_null_out()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
+<item>
+<title><code>char_out</code></title>
+
+</item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_out.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_out.page
index b1a4062..c3e4cac 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_out.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,25 +13,20 @@
       </api:returns>
       <api:name>regress_test_utf8_out</api:name>
     </api:function>
-
   </info>
-  <title>test_utf8_out</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_utf8_out():void {
+  <title>Regress.test_utf8_out</title>
+  <synopsis><code mime="text/x-gjs">
+function test_utf8_out(): String {
     // Gjs wrapper for regress_test_utf8_out()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
+<item>
+<title><code>out</code></title>
+
+</item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_out_nonconst_return.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_out_nonconst_return.page
index e8a097e..0966cee 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_out_nonconst_return.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_out_nonconst_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,29 +13,24 @@
       </api:returns>
       <api:name>regress_test_utf8_out_nonconst_return</api:name>
     </api:function>
-
   </info>
-  <title>test_utf8_out_nonconst_return</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_utf8_out_nonconst_return():String {
+  <title>Regress.test_utf8_out_nonconst_return</title>
+  <synopsis><code mime="text/x-gjs">
+function test_utf8_out_nonconst_return(): [return_value: String, out: String] {
     // Gjs wrapper for regress_test_utf8_out_nonconst_return()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
-<title><code>Returns</code></title>
-<p>a copy of "first"</p>
+<title><code>return_value</code></title>
+
+</item>
+<item>
+<title><code>out</code></title>
+  <p>a copy of "second"</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_out_out.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_out_out.page
index 07107ed..d250ca0 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_out_out.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_out_out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,25 +13,24 @@
       </api:returns>
       <api:name>regress_test_utf8_out_out</api:name>
     </api:function>
-
   </info>
-  <title>test_utf8_out_out</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_utf8_out_out():void {
+  <title>Regress.test_utf8_out_out</title>
+  <synopsis><code mime="text/x-gjs">
+function test_utf8_out_out(): [out0: String, out1: String] {
     // Gjs wrapper for regress_test_utf8_out_out()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
+<item>
+<title><code>out0</code></title>
+  <p>a copy of "first"</p>
+</item>
+<item>
+<title><code>out1</code></title>
+  <p>a copy of "second"</p>
+</item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_value_return.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_value_return.page
index 59f03b7..e9dfd23 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_value_return.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_value_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,37 +13,28 @@
       </api:returns>
       <api:name>regress_test_value_return</api:name>
       <api:arg>
-        <api:type>Number</api:type>
+        <api:type>Number(gint)</api:type>
         <api:name>i</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>test_value_return</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_value_return(i:Number):GObject.Value {
+  <title>Regress.test_value_return</title>
+  <synopsis><code mime="text/x-gjs">
+function test_value_return(i: Number(gint)): <link 
href="../GObject-2.0/GObject.Value.page">GObject.Value</link> {
     // Gjs wrapper for regress_test_value_return()
 }
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>i</code></title>
-<p>an int</p>
+  <p>an int</p>
 </item>
 <item>
 <title><code>Returns</code></title>
-<p>the int wrapped in a GValue.</p>
+
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_versioning.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_versioning.page
index eb6ce0f..4cd4b2c 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_versioning.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_versioning.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,26 +13,14 @@
       </api:returns>
       <api:name>regress_test_versioning</api:name>
     </api:function>
-
   </info>
-  <title>test_versioning</title>
-  
-<synopsis><code mime="text/x-gjs">
-function test_versioning():void {
+  <title>Regress.test_versioning</title>
+  <synopsis><code mime="text/x-gjs">
+function test_versioning(): void {
     // Gjs wrapper for regress_test_versioning()
 }
-</code></synopsis>
+  </code></synopsis>
 
-  
-    
-  
-  
-    <p>Since 1.32.1</p>
-  
-  
-<terms>
-</terms>
+  <p>Since 1.32.1</p>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/index.page 
b/tests/scanner/Regress-1.0-Gjs-expected/index.page
index a5426d8..426ebed 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/index.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/index.page
@@ -5,21 +5,9 @@
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
-  <info>
-    
-
-  </info>
-  <title>Index</title>
-  
-  
-  
-
-  
-
-  
-  
-  
-  <links type="topic" ui:expanded="true" groups="class" style="linklist">
+  <info>  </info>
+  <title>Regress</title>
+  <links type="topic" ui:expanded="true" groups="class interface" style="linklist">
     <title>Classes</title>
   </links>
   <links type="topic" ui:expanded="true" groups="function" style="linklist">
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.ANNOTATION_CALCULATED_DEFINE.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.ANNOTATION_CALCULATED_DEFINE.page
index 6dc17b3..55a4b6d 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.ANNOTATION_CALCULATED_DEFINE.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.ANNOTATION_CALCULATED_DEFINE"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.ANNOTATION_CALCULATED_DEFINE</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.ANNOTATION_CALCULATED_LARGE.page
similarity index 52%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.ANNOTATION_CALCULATED_LARGE.page
index 6dc17b3..c8887ff 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.ANNOTATION_CALCULATED_LARGE.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.ANNOTATION_CALCULATED_LARGE"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.ANNOTATION_CALCULATED_LARGE</title>
+  <p>Constant to define a calculated large value</p>
+  <p>Since 1.4</p>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.ANNOTATION_CALCULATED_LARGE_DIV.page
similarity index 53%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.ANNOTATION_CALCULATED_LARGE_DIV.page
index 6dc17b3..08eda31 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.ANNOTATION_CALCULATED_LARGE_DIV.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.ANNOTATION_CALCULATED_LARGE_DIV"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.ANNOTATION_CALCULATED_LARGE_DIV</title>
+  <p>Constant to define a calculated large value</p>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.ATestError.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.ATestError.page
index 9ac6820..f0b11e8 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.ATestError.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.ATestError.page
@@ -6,19 +6,11 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="enum" type="guide"/>
-    
+    <link xref="index" group="enum" type="guide"/>
   </info>
   <title>Regress.ATestError</title>
-  
-  
-  
-    
-  
-  
-  
-  
+
+
 <terms>
 <item>
 <title><code>ATestError.CODE0</code></title>
@@ -34,6 +26,4 @@
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AliasedTestBoxed.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AliasedTestBoxed.page
index 9490e4a..097c37b 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.AliasedTestBoxed.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AliasedTestBoxed.page
@@ -6,20 +6,9 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
   <title>Regress.AliasedTestBoxed</title>
-  
-  
-  
-    <p>Typedef TestBoxed to test caller-allocates correctness</p>
-  
-  
-  
-  
-  
-  
-  
+  <p>Typedef TestBoxed to test caller-allocates correctness</p>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnAnonymousUnion-None.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.AnAnonymousUnion-None.page
index 6dc17b3..bc24e5d 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnAnonymousUnion-None.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.AnAnonymousUnion-None"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.AnAnonymousUnion" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.AnAnonymousUnion->None</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnAnonymousUnion-x.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.AnAnonymousUnion-x.page
index 6dc17b3..458ce06 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnAnonymousUnion-x.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.AnAnonymousUnion-x"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.AnAnonymousUnion" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.AnAnonymousUnion->x</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnAnonymousUnion.None-a.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.AnAnonymousUnion.None-a.page
index 6dc17b3..11f20db 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnAnonymousUnion.None-a.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.AnAnonymousUnion.None-a"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.AnAnonymousUnion.None" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.AnAnonymousUnion.None->a</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnAnonymousUnion.None-padding.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.AnAnonymousUnion.None-padding.page
index 6dc17b3..631770e 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnAnonymousUnion.None-padding.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.AnAnonymousUnion.None-padding"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.AnAnonymousUnion.None" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.AnAnonymousUnion.None->padding</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnAnonymousUnion.None.page
index 6dc17b3..c21c1b7 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnAnonymousUnion.None.page
@@ -1,25 +1,40 @@
 <?xml version="1.0"?>
 <page id="Regress.AnAnonymousUnion.None"
-      type="topic"
-      style="default"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+from gi.repository import Regress
+
+anonymous_union = Regress.None()
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnAnonymousUnion.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnAnonymousUnion.page
index 2556fed..86fafd9 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.AnAnonymousUnion.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnAnonymousUnion.page
@@ -1,25 +1,40 @@
 <?xml version="1.0"?>
 <page id="Regress.AnAnonymousUnion"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.AnAnonymousUnion</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+from gi.repository import Regress
+
+an_anonymous_union = Regress.AnAnonymousUnion()
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationBitfield.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationBitfield.page
index 4e19ef9..e0e5b00 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationBitfield.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationBitfield.page
@@ -6,20 +6,9 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
   <title>Regress.AnnotationBitfield</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationCallback.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationCallback.page
index 9a652d8..53ba013 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationCallback.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationCallback.page
@@ -1,25 +1,30 @@
 <?xml version="1.0"?>
 <page id="Regress.AnnotationCallback"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="callback" type="guide"/>
   </info>
   <title>Regress.AnnotationCallback</title>
-  
-  
-  
-    <p>This is a callback.</p>
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-python">
+ accepts(int)
+ returns(int)
+def on_AnnotationCallback(in):
+  </code></synopsis>
+  <p>This is a callback.</p>
+
+<terms>
+<item>
+<title><code>in</code></title>
+  <p>array of ints</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+  <p>array of ints</p>
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationFields-arr.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationFields-arr.page
index 6dc17b3..71a9afb 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationFields-arr.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.AnnotationFields-arr"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.AnnotationFields" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.AnnotationFields->arr</title>
+  <p>an array of length @len</p>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationFields-field1.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationFields-field1.page
index 6dc17b3..36204ad 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationFields-field1.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.AnnotationFields-field1"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.AnnotationFields" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.AnnotationFields->field1</title>
+  <p>Some documentation</p>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationFields-len.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationFields-len.page
index 6dc17b3..e56ec4f 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationFields-len.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.AnnotationFields-len"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.AnnotationFields" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.AnnotationFields->len</title>
+  <p>the length of array</p>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationFields.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationFields.page
index 5323454..c7d386b 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationFields.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationFields.page
@@ -1,25 +1,40 @@
 <?xml version="1.0"?>
 <page id="Regress.AnnotationFields"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.AnnotationFields</title>
-  
-  
-  
-    <p>This is a struct for testing field documentation and annotations</p>
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+from gi.repository import Regress
+
+annotation_fields = Regress.AnnotationFields()
+  </code></synopsis>
+  <p>This is a struct for testing field documentation and annotations</p>
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationForeachFunc.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationForeachFunc.page
index db77a11..5933656 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationForeachFunc.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationForeachFunc.page
@@ -1,25 +1,34 @@
 <?xml version="1.0"?>
 <page id="Regress.AnnotationForeachFunc"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="callback" type="guide"/>
   </info>
   <title>Regress.AnnotationForeachFunc</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-python">
+ accepts(Regress.AnnotationObject, unicode, gpointer)
+ returns(none)
+def on_AnnotationForeachFunc(object, item, user_data):
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+
+</item>
+<item>
+<title><code>item</code></title>
+
+</item>
+<item>
+<title><code>user_data</code></title>
+
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationListCallback.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationListCallback.page
index 79844c6..6d6b440 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationListCallback.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationListCallback.page
@@ -1,25 +1,30 @@
 <?xml version="1.0"?>
 <page id="Regress.AnnotationListCallback"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="callback" type="guide"/>
   </info>
   <title>Regress.AnnotationListCallback</title>
-  
-  
-  
-    <p>This is a callback taking a list.</p>
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-python">
+ accepts([unicode])
+ returns([unicode])
+def on_AnnotationListCallback(in):
+  </code></synopsis>
+  <p>This is a callback taking a list.</p>
+
+<terms>
+<item>
+<title><code>in</code></title>
+  <p>list of strings</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+  <p>list of strings</p>
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationNotifyFunc.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationNotifyFunc.page
index 17c8029..1e2be6c 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationNotifyFunc.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationNotifyFunc.page
@@ -1,26 +1,27 @@
 <?xml version="1.0"?>
 <page id="Regress.AnnotationNotifyFunc"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="callback" type="guide"/>
   </info>
   <title>Regress.AnnotationNotifyFunc</title>
-  
-  
-  
-    <p>This is a callback with a 'closure' argument that is not named
+  <synopsis><code mime="text/x-python">
+ accepts(gpointer)
+ returns(none)
+def on_AnnotationNotifyFunc(data):
+  </code></synopsis>
+  <p>This is a callback with a 'closure' argument that is not named
 'user_data' and hence has to be annotated.</p>
-  
-  
-  
-  
-  
-  
-  
+
+<terms>
+<item>
+<title><code>data</code></title>
+  <p>The user data</p>
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-attribute-signal.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-attribute-signal.page
index 9ed31bc..afeaab0 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-attribute-signal.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-attribute-signal.page
@@ -6,23 +6,15 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="signal" type="guide"/>
     <title type="link" role="topic">attribute-signal</title>
-
   </info>
   <title>Regress.AnnotationObject::attribute-signal</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 def callback(annotation_object, arg1, arg2, user_param1, ...)
-</code></synopsis>
+  </code></synopsis>
+  <p>This signal tests a signal with attributes.</p>
 
-  
-    <p>This signal tests a signal with attributes.</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>annotation_object</code></title>
@@ -30,11 +22,11 @@ def callback(annotation_object, arg1, arg2, user_param1, ...)
 </item>
 <item>
 <title><code>arg1</code></title>
-<p>a value</p>
+  <p>a value</p>
 </item>
 <item>
 <title><code>arg2</code></title>
-<p>another value</p>
+  <p>another value</p>
 </item>
 <title><code>user_param1</code></title>
 <p>first user parameter (if any) specified with the connect() method</p>
@@ -44,10 +36,8 @@ def callback(annotation_object, arg1, arg2, user_param1, ...)
 </item>
 <item>
 <title><code>Returns</code></title>
-<p>the return value</p>
+  <p>the return value</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-doc-empty-arg-parsing.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-doc-empty-arg-parsing.page
index 29eedcc..9dc3aad 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-doc-empty-arg-parsing.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-doc-empty-arg-parsing.page
@@ -6,23 +6,15 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="signal" type="guide"/>
     <title type="link" role="topic">doc-empty-arg-parsing</title>
-
   </info>
   <title>Regress.AnnotationObject::doc-empty-arg-parsing</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 def callback(annotation_object, arg1, user_param1, ...)
-</code></synopsis>
+  </code></synopsis>
+  <p>This signal tests an empty document argument (<code>arg1</code>)</p>
 
-  
-    <p>This signal tests an empty document argument (<code>arg1</code>)</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>annotation_object</code></title>
@@ -40,6 +32,4 @@ def callback(annotation_object, arg1, user_param1, ...)
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-function-property.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-function-property.page
index d9d8b55..ebbf691 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-function-property.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-function-property.page
@@ -6,24 +6,13 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="property" type="guide"/>
     <title type="link" role="topic">function-property</title>
-
   </info>
   <title>Regress.AnnotationObject:function-property</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 "function-property"             Regress.AnnotationCallback                : Read / Write / Construct
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
-  
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-list-signal.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-list-signal.page
index fdfa65f..62ade5a 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-list-signal.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-list-signal.page
@@ -6,24 +6,16 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="signal" type="guide"/>
     <title type="link" role="topic">list-signal</title>
-
   </info>
   <title>Regress.AnnotationObject::list-signal</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 def callback(annotation_object, list, user_param1, ...)
-</code></synopsis>
-
-  
-    <p>This is a signal which takes a list of strings, but it's not
+  </code></synopsis>
+  <p>This is a signal which takes a list of strings, but it's not
 known by GObject as it's only marked as G_TYPE_POINTER</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>annotation_object</code></title>
@@ -31,7 +23,7 @@ known by GObject as it's only marked as G_TYPE_POINTER</p>
 </item>
 <item>
 <title><code>list</code></title>
-<p>a list of strings</p>
+  <p>a list of strings</p>
 </item>
 <title><code>user_param1</code></title>
 <p>first user parameter (if any) specified with the connect() method</p>
@@ -41,6 +33,4 @@ known by GObject as it's only marked as G_TYPE_POINTER</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-parent_instance.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-parent_instance.page
index 6dc17b3..97f17cd 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-parent_instance.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.AnnotationObject-parent_instance"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.AnnotationObject" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.AnnotationObject->parent_instance</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-string-property.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-string-property.page
index a3cb045..f62c198 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-string-property.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-string-property.page
@@ -6,25 +6,13 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="property" type="guide"/>
     <title type="link" role="topic">string-property</title>
-
   </info>
   <title>Regress.AnnotationObject:string-property</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 "string-property"             unicode                : Read / Write / Construct
-</code></synopsis>
-
-  
-    <p>This is a property which is a string</p>
-  
-  
-    <p>Since 1.0</p>
-  
-  
-  
-  
-  
+  </code></synopsis>
+  <p>This is a property which is a string</p>
+  <p>Since 1.0</p>
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-string-signal.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-string-signal.page
index 06e79aa..d52eb3f 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-string-signal.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-string-signal.page
@@ -6,25 +6,16 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="signal" type="guide"/>
     <title type="link" role="topic">string-signal</title>
-
   </info>
   <title>Regress.AnnotationObject::string-signal</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 def callback(annotation_object, string, user_param1, ...)
-</code></synopsis>
-
-  
-    <p>This is a signal which has a broken signal handler,
+  </code></synopsis>
+  <p>This is a signal which has a broken signal handler,
 it says it's pointer but it's actually a string.</p>
-  
-  
-    <p>Since 1.0</p>
-  
-  
+  <p>Since 1.0</p>
 <terms>
 <item>
 <title><code>annotation_object</code></title>
@@ -32,7 +23,7 @@ it says it's pointer but it's actually a string.</p>
 </item>
 <item>
 <title><code>string</code></title>
-<p>a string</p>
+  <p>a string</p>
 </item>
 <title><code>user_param1</code></title>
 <p>first user parameter (if any) specified with the connect() method</p>
@@ -42,6 +33,4 @@ it says it's pointer but it's actually a string.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-tab-property.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-tab-property.page
index c417d1e..fc7cacd 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-tab-property.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-tab-property.page
@@ -6,26 +6,14 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="property" type="guide"/>
     <title type="link" role="topic">tab-property</title>
-
   </info>
   <title>Regress.AnnotationObject:tab-property</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 "tab-property"             unicode                : Read / Write / Construct
-</code></synopsis>
-
-  
-    <p>This is a property annotation intentionally indented with a mix
+  </code></synopsis>
+  <p>This is a property annotation intentionally indented with a mix
 of tabs and strings to test the tab handling capabilities of the scanner.</p>
-  
-  
-    <p>Since 1.2</p>
-  
-  
-  
-  
-  
+  <p>Since 1.2</p>
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.allow_none.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.allow_none.page
index a04abd7..92add7a 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.allow_none.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.allow_none.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,27 +21,20 @@
         <api:name>somearg</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.allow_none</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.AnnotationObject, unicode)
 @returns(GObject.Object)
 def allow_none(self, somearg):
     # Python wrapper for regress_annotation_object_allow_none()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
-<p>a <link xref="GObject.Object"/></p>
+  <p>a <link xref="GObject.Object"/></p>
 </item>
 <item>
 <title><code>somearg</code></title>
@@ -54,6 +46,4 @@ def allow_none(self, somearg):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.calleeowns.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.calleeowns.page
index bebf773..f0e9b13 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.calleeowns.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.calleeowns.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,31 +21,24 @@
         <api:name>toown</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.calleeowns</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.AnnotationObject, GObject.Object)
 @returns(int)
 def calleeowns(self, toown):
     # Python wrapper for regress_annotation_object_calleeowns()
-</code></synopsis>
+  </code></synopsis>
+  <p>This is a test for out arguments; GObject defaults to transfer</p>
 
-  
-    <p>This is a test for out arguments; GObject defaults to transfer</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
-<p>a <link xref="GObject.Object"/></p>
+  <p>a <link xref="GObject.Object"/></p>
 </item>
 <item>
 <title><code>toown</code></title>
-<p>a <link xref="GObject.Object"/></p>
+  <p>a <link xref="GObject.Object"/></p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -54,6 +46,4 @@ def calleeowns(self, toown):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.calleesowns.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.calleesowns.page
index ef9361f..5f313c7 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.calleesowns.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.calleesowns.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -26,35 +25,28 @@
         <api:name>toown2</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.calleesowns</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.AnnotationObject, GObject.Object, GObject.Object)
 @returns(int)
 def calleesowns(self, toown1, toown2):
     # Python wrapper for regress_annotation_object_calleesowns()
-</code></synopsis>
+  </code></synopsis>
+  <p>This is a test for out arguments, one transferred, other not</p>
 
-  
-    <p>This is a test for out arguments, one transferred, other not</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
-<p>a <link xref="GObject.Object"/></p>
+  <p>a <link xref="GObject.Object"/></p>
 </item>
 <item>
 <title><code>toown1</code></title>
-<p>a <link xref="GObject.Object"/></p>
+  <p>a <link xref="GObject.Object"/></p>
 </item>
 <item>
 <title><code>toown2</code></title>
-<p>a <link xref="GObject.Object"/></p>
+  <p>a <link xref="GObject.Object"/></p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -62,6 +54,4 @@ def calleesowns(self, toown1, toown2):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.compute_sum.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.compute_sum.page
index 4f58e6f..5b69224 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.compute_sum.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.compute_sum.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,34 +21,25 @@
         <api:name>nums</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.compute_sum</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.AnnotationObject, [int])
 @returns(none)
 def compute_sum(self, nums):
     # Python wrapper for regress_annotation_object_compute_sum()
-</code></synopsis>
+  </code></synopsis>
+  <p>Test taking a zero-terminated array</p>
 
-  
-    <p>Test taking a zero-terminated array</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
-<p>a <link xref="GObject.Object"/></p>
+  <p>a <link xref="GObject.Object"/></p>
 </item>
 <item>
 <title><code>nums</code></title>
-<p>Sequence of numbers</p>
+  <p>Sequence of numbers</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.compute_sum_n.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.compute_sum_n.page
index 33463c4..2384a87 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.compute_sum_n.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.compute_sum_n.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -26,39 +25,30 @@
         <api:name>n_nums</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.compute_sum_n</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.AnnotationObject, [int], int)
 @returns(none)
 def compute_sum_n(self, nums, n_nums):
     # Python wrapper for regress_annotation_object_compute_sum_n()
-</code></synopsis>
+  </code></synopsis>
+  <p>Test taking an array with length parameter</p>
 
-  
-    <p>Test taking an array with length parameter</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
-<p>a <link xref="GObject.Object"/></p>
+  <p>a <link xref="GObject.Object"/></p>
 </item>
 <item>
 <title><code>nums</code></title>
-<p>Sequence of
+  <p>Sequence of
   numbers that are zero-terminated</p>
 </item>
 <item>
 <title><code>n_nums</code></title>
-<p>Length of number array</p>
+  <p>Length of number array</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.compute_sum_nz.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.compute_sum_nz.page
index b3beb69..8624f61 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.compute_sum_nz.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.compute_sum_nz.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -26,39 +25,30 @@
         <api:name>n_nums</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.compute_sum_nz</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.AnnotationObject, [int], int)
 @returns(none)
 def compute_sum_nz(self, nums, n_nums):
     # Python wrapper for regress_annotation_object_compute_sum_nz()
-</code></synopsis>
+  </code></synopsis>
+  <p>Test taking a zero-terminated array with length parameter</p>
 
-  
-    <p>Test taking a zero-terminated array with length parameter</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
-<p>a <link xref="Regress.AnnotationObject"/></p>
+  <p>a <link xref="Regress.AnnotationObject"/></p>
 </item>
 <item>
 <title><code>nums</code></title>
-<p>Sequence of numbers that
+  <p>Sequence of numbers that
 are zero-terminated</p>
 </item>
 <item>
 <title><code>n_nums</code></title>
-<p>Length of number array</p>
+  <p>Length of number array</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.create_object.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.create_object.page
index 6498ac2..d0e01a3 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.create_object.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.create_object.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,27 +17,20 @@
         <api:name>self</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.create_object</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.AnnotationObject)
 @returns(GObject.Object)
 def create_object(self):
     # Python wrapper for regress_annotation_object_create_object()
-</code></synopsis>
+  </code></synopsis>
+  <p>Test returning a caller-owned object</p>
 
-  
-    <p>Test returning a caller-owned object</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
-<p>a <link xref="GObject.Object"/></p>
+  <p>a <link xref="GObject.Object"/></p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -46,6 +38,4 @@ def create_object(self):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.do_not_use.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.do_not_use.page
index fac9f16..d04b3bc 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.do_not_use.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.do_not_use.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,27 +17,20 @@
         <api:name>self</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.do_not_use</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.AnnotationObject)
 @returns(GObject.Object)
 def do_not_use(self):
     # Python wrapper for regress_annotation_object_do_not_use()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
-<p>a <link xref="GObject.Object"/></p>
+  <p>a <link xref="GObject.Object"/></p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -46,6 +38,4 @@ def do_not_use(self):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.extra_annos.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.extra_annos.page
index 7e03266..050d292 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.extra_annos.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.extra_annos.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>self</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.extra_annos</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.AnnotationObject)
 @returns(none)
 def extra_annos(self):
     # Python wrapper for regress_annotation_object_extra_annos()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -42,6 +34,4 @@ def extra_annos(self):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.foreach.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.foreach.page
index 1010a01..4f30a04 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.foreach.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.foreach.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -26,38 +25,29 @@
         <api:name>user_data</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.foreach</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.AnnotationObject, Regress.AnnotationForeachFunc, gpointer)
 @returns(none)
 def foreach(self, func, user_data):
     # Python wrapper for regress_annotation_object_foreach()
-</code></synopsis>
+  </code></synopsis>
+  <p>Test taking a call-scoped callback</p>
 
-  
-    <p>Test taking a call-scoped callback</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
-<p>a <link xref="Regress.AnnotationObject"/></p>
+  <p>a <link xref="Regress.AnnotationObject"/></p>
 </item>
 <item>
 <title><code>func</code></title>
-<p>Callback to invoke</p>
+  <p>Callback to invoke</p>
 </item>
 <item>
 <title><code>user_data</code></title>
-<p>Callback user data</p>
+  <p>Callback user data</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.get_hash.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.get_hash.page
index 8d658f5..e441803 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.get_hash.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.get_hash.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,28 +17,21 @@
         <api:name>self</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.get_hash</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.AnnotationObject)
 @returns({unicode: GObject.Object})
 def get_hash(self):
     # Python wrapper for regress_annotation_object_get_hash()
-</code></synopsis>
-
-  
-    <p>This is a test for returning a hash table mapping strings to
+  </code></synopsis>
+  <p>This is a test for returning a hash table mapping strings to
 objects.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>self</code></title>
-<p>a <link xref="GObject.Object"/></p>
+  <p>a <link xref="GObject.Object"/></p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -47,6 +39,4 @@ objects.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.get_objects.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.get_objects.page
index ef231f5..20bb511 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.get_objects.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.get_objects.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,29 +17,22 @@
         <api:name>self</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.get_objects</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.AnnotationObject)
 @returns([Regress.AnnotationObject])
 def get_objects(self):
     # Python wrapper for regress_annotation_object_get_objects()
-</code></synopsis>
-
-  
-    <p>This is a test for returning a list of objects.
+  </code></synopsis>
+  <p>This is a test for returning a list of objects.
 The list itself should be freed, but not the internal objects,
 intentionally similar example to gtk_container_get_children</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>self</code></title>
-<p>a <link xref="GObject.Object"/></p>
+  <p>a <link xref="GObject.Object"/></p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -48,6 +40,4 @@ intentionally similar example to gtk_container_get_children</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.get_strings.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.get_strings.page
index 13570b6..ba3f1b1 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.get_strings.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.get_strings.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,28 +17,21 @@
         <api:name>self</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.get_strings</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.AnnotationObject)
 @returns([unicode])
 def get_strings(self):
     # Python wrapper for regress_annotation_object_get_strings()
-</code></synopsis>
-
-  
-    <p>This is a test for returning a list of strings, where
+  </code></synopsis>
+  <p>This is a test for returning a list of strings, where
 each string needs to be freed.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>self</code></title>
-<p>a <link xref="GObject.Object"/></p>
+  <p>a <link xref="GObject.Object"/></p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -47,6 +39,4 @@ each string needs to be freed.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.hidden_self.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.hidden_self.page
index ce1111f..0e7df1b 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.hidden_self.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.hidden_self.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,30 +17,21 @@
         <api:name>self</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.hidden_self</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.AnnotationObject)
 @returns(none)
 def hidden_self(self):
     # Python wrapper for regress_annotation_object_hidden_self()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
-<p>A <link xref="Regress.AnnotationObject"/></p>
+  <p>A <link xref="Regress.AnnotationObject"/></p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.in.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.in.page
index 0e77f85..51c19ea 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.in.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,31 +21,24 @@
         <api:name>inarg</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.in</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.AnnotationObject, int)
 @returns(int)
 def in(self, inarg):
     # Python wrapper for regress_annotation_object_in()
-</code></synopsis>
+  </code></synopsis>
+  <p>This is a test for in arguments</p>
 
-  
-    <p>This is a test for in arguments</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
-<p>a <link xref="GObject.Object"/></p>
+  <p>a <link xref="GObject.Object"/></p>
 </item>
 <item>
 <title><code>inarg</code></title>
-<p>This is an argument test</p>
+  <p>This is an argument test</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -54,6 +46,4 @@ def in(self, inarg):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.inout.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.inout.page
index 6816eaf..9dadcb5 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.inout.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.inout.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,31 +21,24 @@
         <api:name>inoutarg</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.inout</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.AnnotationObject, int)
 @returns(int)
 def inout(self, inoutarg):
     # Python wrapper for regress_annotation_object_inout()
-</code></synopsis>
+  </code></synopsis>
+  <p>This is a test for out arguments</p>
 
-  
-    <p>This is a test for out arguments</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
-<p>a <link xref="GObject.Object"/></p>
+  <p>a <link xref="GObject.Object"/></p>
 </item>
 <item>
 <title><code>inoutarg</code></title>
-<p>This is an argument test</p>
+  <p>This is an argument test</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -54,6 +46,4 @@ def inout(self, inoutarg):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.inout2.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.inout2.page
index aef9dec..769850e 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.inout2.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.inout2.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,31 +21,24 @@
         <api:name>inoutarg</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.inout2</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.AnnotationObject, int)
 @returns(int)
 def inout2(self, inoutarg):
     # Python wrapper for regress_annotation_object_inout2()
-</code></synopsis>
+  </code></synopsis>
+  <p>This is a second test for out arguments</p>
 
-  
-    <p>This is a second test for out arguments</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
-<p>a <link xref="GObject.Object"/></p>
+  <p>a <link xref="GObject.Object"/></p>
 </item>
 <item>
 <title><code>inoutarg</code></title>
-<p>This is an argument test</p>
+  <p>This is an argument test</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -54,6 +46,4 @@ def inout2(self, inoutarg):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.inout3.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.inout3.page
index 4ba4bf6..5eb148b 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.inout3.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.inout3.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,31 +21,24 @@
         <api:name>inoutarg</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.inout3</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.AnnotationObject, int)
 @returns(int)
 def inout3(self, inoutarg):
     # Python wrapper for regress_annotation_object_inout3()
-</code></synopsis>
+  </code></synopsis>
+  <p>This is a 3th test for out arguments</p>
 
-  
-    <p>This is a 3th test for out arguments</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
-<p>a <link xref="GObject.Object"/></p>
+  <p>a <link xref="GObject.Object"/></p>
 </item>
 <item>
 <title><code>inoutarg</code></title>
-<p>This is an argument test</p>
+  <p>This is an argument test</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -54,6 +46,4 @@ def inout3(self, inoutarg):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.method.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.method.page
index b6badcf..e47158c 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.method.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.method.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,27 +17,20 @@
         <api:name>self</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.method</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.AnnotationObject)
 @returns(int)
 def method(self):
     # Python wrapper for regress_annotation_object_method()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
-<p>a <link xref="GObject.Object"/></p>
+  <p>a <link xref="GObject.Object"/></p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -46,6 +38,4 @@ def method(self):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.notrans.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.notrans.page
index aa50a26..db56005 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.notrans.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.notrans.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,27 +17,20 @@
         <api:name>self</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.notrans</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.AnnotationObject)
 @returns(GObject.Object)
 def notrans(self):
     # Python wrapper for regress_annotation_object_notrans()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
-<p>a <link xref="GObject.Object"/></p>
+  <p>a <link xref="GObject.Object"/></p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -46,6 +38,4 @@ def notrans(self):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.out.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.out.page
index 606b4a1..2363647 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.out.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,31 +21,24 @@
         <api:name>outarg</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.out</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.AnnotationObject, int)
 @returns(int)
 def out(self, outarg):
     # Python wrapper for regress_annotation_object_out()
-</code></synopsis>
+  </code></synopsis>
+  <p>This is a test for out arguments</p>
 
-  
-    <p>This is a test for out arguments</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
-<p>a <link xref="GObject.Object"/></p>
+  <p>a <link xref="GObject.Object"/></p>
 </item>
 <item>
 <title><code>outarg</code></title>
-<p>This is an argument test</p>
+  <p>This is an argument test</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -54,6 +46,4 @@ def out(self, outarg):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.page
index 006766f..6c1c564 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.page
@@ -6,23 +6,16 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="class" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.AnnotationObject</title>
-  
   <synopsis><code>
 from gi.repository import Regress
 
-annotation_object = Regress.AnnotationObject(<link 
xref='Regress.AnnotationObject-function-property'>function_property</link>=value, <link 
xref='Regress.AnnotationObject-string-property'>string_property</link>=value, <link 
xref='Regress.AnnotationObject-tab-property'>tab_property</link>=value)  </code></synopsis>
+annotation_object = Regress.AnnotationObject(<link 
xref='Regress.AnnotationObject-function-property'>function_property</link>=value, <link 
xref='Regress.AnnotationObject-string-property'>string_property</link>=value, <link 
xref='Regress.AnnotationObject-tab-property'>tab_property</link>=value)
+  </code></synopsis>
+  <p>This is an object used to test annotations.</p>
 
-  
-    <p>This is an object used to test annotations.</p>
-  
-  
-  
-  
   <synopsis>
     <title>Hierarchy</title>
     <tree>
@@ -34,8 +27,11 @@ annotation_object = Regress.AnnotationObject(<link xref='Regress.AnnotationObjec
       </item>
     </tree>
   </synopsis>
-
-  
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/python"
          groups="method" style="linklist">
@@ -44,7 +40,7 @@ annotation_object = Regress.AnnotationObject(<link xref='Regress.AnnotationObjec
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/python"
          groups="function" style="linklist">
-    <title>Functions</title>
+    <title>Static Functions</title>
   </links>
   <links type="topic" ui:expanded="true" groups="property" style="linklist">
     <title>Properties</title>
@@ -55,8 +51,10 @@ annotation_object = Regress.AnnotationObject(<link xref='Regress.AnnotationObjec
   <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
     <title>Virtual functions</title>
   </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
   <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
     <title>Other</title>
   </links>
-
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.parse_args.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.parse_args.page
index 760e0be..c06014f 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.parse_args.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.parse_args.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -26,38 +25,29 @@
         <api:name>argv</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.parse_args</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.AnnotationObject, int, [unicode])
 @returns(none)
 def parse_args(self, argc, argv):
     # Python wrapper for regress_annotation_object_parse_args()
-</code></synopsis>
+  </code></synopsis>
+  <p>Test taking a zero-terminated array with length parameter</p>
 
-  
-    <p>Test taking a zero-terminated array with length parameter</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
-<p>a <link xref="Regress.AnnotationObject"/></p>
+  <p>a <link xref="Regress.AnnotationObject"/></p>
 </item>
 <item>
 <title><code>argc</code></title>
-<p>Length of the argument vector</p>
+  <p>Length of the argument vector</p>
 </item>
 <item>
 <title><code>argv</code></title>
-<p>Argument vector</p>
+  <p>Argument vector</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.set_data.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.set_data.page
index 7cd5236..42a98df 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.set_data.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.set_data.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -26,38 +25,29 @@
         <api:name>length</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.set_data</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.AnnotationObject, [guint8], gsize)
 @returns(none)
 def set_data(self, data, length):
     # Python wrapper for regress_annotation_object_set_data()
-</code></synopsis>
+  </code></synopsis>
+  <p>Test taking a guchar * with a length.</p>
 
-  
-    <p>Test taking a guchar * with a length.</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
-<p>a <link xref="Regress.AnnotationObject"/></p>
+  <p>a <link xref="Regress.AnnotationObject"/></p>
 </item>
 <item>
 <title><code>data</code></title>
-<p>The data</p>
+  <p>The data</p>
 </item>
 <item>
 <title><code>length</code></title>
-<p>Length of the data</p>
+  <p>Length of the data</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.set_data2.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.set_data2.page
index cd47036..23003a1 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.set_data2.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.set_data2.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -26,38 +25,29 @@
         <api:name>length</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.set_data2</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.AnnotationObject, [gint8], gsize)
 @returns(none)
 def set_data2(self, data, length):
     # Python wrapper for regress_annotation_object_set_data2()
-</code></synopsis>
+  </code></synopsis>
+  <p>Test taking a gchar * with a length.</p>
 
-  
-    <p>Test taking a gchar * with a length.</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
-<p>a <link xref="Regress.AnnotationObject"/></p>
+  <p>a <link xref="Regress.AnnotationObject"/></p>
 </item>
 <item>
 <title><code>data</code></title>
-<p>The data</p>
+  <p>The data</p>
 </item>
 <item>
 <title><code>length</code></title>
-<p>Length of the data</p>
+  <p>Length of the data</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.set_data3.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.set_data3.page
index b9016e8..9870962 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.set_data3.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.set_data3.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -26,39 +25,30 @@
         <api:name>length</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.set_data3</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.AnnotationObject, [guint8], gsize)
 @returns(none)
 def set_data3(self, data, length):
     # Python wrapper for regress_annotation_object_set_data3()
-</code></synopsis>
-
-  
-    <p>Test taking a gchar * with a length, overriding the array element
+  </code></synopsis>
+  <p>Test taking a gchar * with a length, overriding the array element
 type.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>self</code></title>
-<p>a <link xref="Regress.AnnotationObject"/></p>
+  <p>a <link xref="Regress.AnnotationObject"/></p>
 </item>
 <item>
 <title><code>data</code></title>
-<p>The data</p>
+  <p>The data</p>
 </item>
 <item>
 <title><code>length</code></title>
-<p>Length of the data</p>
+  <p>Length of the data</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.string_out.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.string_out.page
index c1d085a..9d5007e 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.string_out.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.string_out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,31 +21,24 @@
         <api:name>str_out</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.string_out</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.AnnotationObject, unicode)
 @returns(bool)
 def string_out(self, str_out):
     # Python wrapper for regress_annotation_object_string_out()
-</code></synopsis>
+  </code></synopsis>
+  <p>Test returning a string as an out parameter</p>
 
-  
-    <p>Test returning a string as an out parameter</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
-<p>a <link xref="Regress.AnnotationObject"/></p>
+  <p>a <link xref="Regress.AnnotationObject"/></p>
 </item>
 <item>
 <title><code>str_out</code></title>
-<p>string return value</p>
+  <p>string return value</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -54,6 +46,4 @@ def string_out(self, str_out):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.use_buffer.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.use_buffer.page
index 385fe89..7b8e8b9 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.use_buffer.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.use_buffer.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,27 +21,20 @@
         <api:name>bytes</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.use_buffer</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.AnnotationObject, guint8)
 @returns(none)
 def use_buffer(self, bytes):
     # Python wrapper for regress_annotation_object_use_buffer()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
-<p>a <link xref="GObject.Object"/></p>
+  <p>a <link xref="GObject.Object"/></p>
 </item>
 <item>
 <title><code>bytes</code></title>
@@ -50,6 +42,4 @@ def use_buffer(self, bytes):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.watch_full.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.watch_full.page
index 66a53d5..6d3ec7e 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.watch_full.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.watch_full.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -30,42 +29,33 @@
         <api:name>destroy</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.watch_full</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.AnnotationObject, Regress.AnnotationForeachFunc, gpointer, GLib.DestroyNotify)
 @returns(none)
 def watch_full(self, func, user_data, destroy):
     # Python wrapper for regress_annotation_object_watch_full()
-</code></synopsis>
+  </code></synopsis>
+  <p>Test overriding via the "Rename To" annotation.</p>
 
-  
-    <p>Test overriding via the "Rename To" annotation.</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
-<p>A <link xref="Regress.AnnotationObject"/></p>
+  <p>A <link xref="Regress.AnnotationObject"/></p>
 </item>
 <item>
 <title><code>func</code></title>
-<p>The callback</p>
+  <p>The callback</p>
 </item>
 <item>
 <title><code>user_data</code></title>
-<p>The callback data</p>
+  <p>The callback data</p>
 </item>
 <item>
 <title><code>destroy</code></title>
-<p>Destroy notification</p>
+  <p>Destroy notification</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.with_voidp.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.with_voidp.page
index bda3e9a..05fbe14 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.with_voidp.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.with_voidp.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.AnnotationObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,23 +21,16 @@
         <api:name>data</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.AnnotationObject.with_voidp</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.AnnotationObject, gpointer)
 @returns(none)
 def with_voidp(self, data):
     # Python wrapper for regress_annotation_object_with_voidp()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -46,10 +38,8 @@ def with_voidp(self, data):
 </item>
 <item>
 <title><code>data</code></title>
-<p>Opaque pointer handle</p>
+  <p>Opaque pointer handle</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationStruct-objects.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationStruct-objects.page
index 6dc17b3..f1498fc 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationStruct-objects.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.AnnotationStruct-objects"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.AnnotationStruct" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.AnnotationStruct->objects</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationStruct.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationStruct.page
index e210042..177e038 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationStruct.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationStruct.page
@@ -1,25 +1,40 @@
 <?xml version="1.0"?>
 <page id="Regress.AnnotationStruct"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.AnnotationStruct</title>
-  
-  
-  
-    <p>This is a test of an array of object in an field of a struct.</p>
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+from gi.repository import Regress
+
+annotation_struct = Regress.AnnotationStruct()
+  </code></synopsis>
+  <p>This is a test of an array of object in an field of a struct.</p>
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.BOOL_CONSTANT.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.BOOL_CONSTANT.page
index 6dc17b3..e65594f 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.BOOL_CONSTANT.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.BOOL_CONSTANT"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.BOOL_CONSTANT</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.DOUBLE_CONSTANT.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.DOUBLE_CONSTANT.page
index 6dc17b3..bbc2a03 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.DOUBLE_CONSTANT.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.DOUBLE_CONSTANT"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.DOUBLE_CONSTANT</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FOO_DEFINE_SHOULD_BE_EXPOSED.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.FOO_DEFINE_SHOULD_BE_EXPOSED.page
index 6dc17b3..09b1561 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FOO_DEFINE_SHOULD_BE_EXPOSED.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FOO_DEFINE_SHOULD_BE_EXPOSED"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FOO_DEFINE_SHOULD_BE_EXPOSED</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FOO_PIE_IS_TASTY.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.FOO_PIE_IS_TASTY.page
index 6dc17b3..132f508 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FOO_PIE_IS_TASTY.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FOO_PIE_IS_TASTY"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FOO_PIE_IS_TASTY</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FOO_SUCCESS_INT.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.FOO_SUCCESS_INT.page
index 6dc17b3..58650ec 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FOO_SUCCESS_INT.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FOO_SUCCESS_INT"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FOO_SUCCESS_INT</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooASingle.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooASingle.page
index 09cd98f..2af7b9e 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooASingle.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooASingle.page
@@ -6,19 +6,11 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="enum" type="guide"/>
-    
+    <link xref="index" group="enum" type="guide"/>
   </info>
   <title>Regress.FooASingle</title>
-  
-  
-  
-    
-  
-  
-  
-  
+
+
 <terms>
 <item>
 <title><code>FooASingle.FOO_SOME_SINGLE_ENUM</code></title>
@@ -26,6 +18,4 @@
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooAddressType.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooAddressType.page
index 008a8f3..a4b82a3 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooAddressType.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooAddressType.page
@@ -6,19 +6,11 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="enum" type="guide"/>
-    
+    <link xref="index" group="enum" type="guide"/>
   </info>
   <title>Regress.FooAddressType</title>
-  
-  
-  
-    
-  
-  
-  
-  
+
+
 <terms>
 <item>
 <title><code>FooAddressType.INVALID</code></title>
@@ -34,6 +26,4 @@
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooBRect-x.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.FooBRect-x.page
index 6dc17b3..b444125 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooBRect-x.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooBRect-x"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooBRect" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooBRect->x</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooBRect-y.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.FooBRect-y.page
index 6dc17b3..8d7b0f1 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooBRect-y.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooBRect-y"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooBRect" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooBRect->y</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooBRect.add.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooBRect.add.page
index c7e03ac..bfd2b6f 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooBRect.add.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooBRect.add.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooBRect" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,23 +21,16 @@
         <api:name>b2</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.FooBRect.add</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.FooBRect, Regress.FooBRect)
 @returns(none)
 def add(self, b2):
     # Python wrapper for regress_foo_brect_add()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -50,6 +42,4 @@ def add(self, b2):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooBRect.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooBRect.page
index fd1e9d6..f1b1155 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooBRect.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooBRect.page
@@ -1,25 +1,40 @@
 <?xml version="1.0"?>
 <page id="Regress.FooBRect"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooBRect</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+from gi.repository import Regress
+
+foo_brect = Regress.FooBRect()
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooBUnion-rect.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.FooBUnion-rect.page
index 6dc17b3..1c7cead 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooBUnion-rect.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooBUnion-rect"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooBUnion" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooBUnion->rect</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooBUnion-type.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.FooBUnion-type.page
index 6dc17b3..6fdd489 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooBUnion-type.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooBUnion-type"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooBUnion" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooBUnion->type</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooBUnion-v.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.FooBUnion-v.page
index 6dc17b3..0a39062 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooBUnion-v.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooBUnion-v"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooBUnion" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooBUnion->v</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooBUnion.get_contained_type.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooBUnion.get_contained_type.page
index 4052ec5..364d844 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooBUnion.get_contained_type.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooBUnion.get_contained_type.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooBUnion" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>self</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.FooBUnion.get_contained_type</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.FooBUnion)
 @returns(int)
 def get_contained_type(self):
     # Python wrapper for regress_foo_bunion_get_contained_type()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -46,6 +38,4 @@ def get_contained_type(self):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooBUnion.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooBUnion.page
index 8644d96..d39a74a 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooBUnion.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooBUnion.page
@@ -1,25 +1,40 @@
 <?xml version="1.0"?>
 <page id="Regress.FooBUnion"
-      type="topic"
-      style="default"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooBUnion</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+from gi.repository import Regress
+
+foo_bunion = Regress.FooBUnion()
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooBoxed.method.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooBoxed.method.page
index 95f06fb..249d74a 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooBoxed.method.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooBoxed.method.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooBoxed" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>self</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.FooBoxed.method</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.FooBoxed)
 @returns(none)
 def method(self):
     # Python wrapper for regress_foo_boxed_method()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -42,6 +34,4 @@ def method(self):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooBoxed.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooBoxed.page
index bca1f99..1d8f818 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooBoxed.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooBoxed.page
@@ -1,25 +1,40 @@
 <?xml version="1.0"?>
 <page id="Regress.FooBoxed"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooBoxed</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+from gi.repository import Regress
+
+foo_boxed = Regress.FooBoxed()
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooBuffer.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooBuffer.page
index 1a51542..8486713 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooBuffer.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooBuffer.page
@@ -6,23 +6,16 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="class" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooBuffer</title>
-  
   <synopsis><code>
 from gi.repository import Regress
 
-foo_buffer = Regress.FooBuffer()  </code></synopsis>
+foo_buffer = Regress.FooBuffer()
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
   <synopsis>
     <title>Hierarchy</title>
     <tree>
@@ -37,8 +30,11 @@ foo_buffer = Regress.FooBuffer()  </code></synopsis>
       </item>
     </tree>
   </synopsis>
-
-  
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/python"
          groups="method" style="linklist">
@@ -47,7 +43,7 @@ foo_buffer = Regress.FooBuffer()  </code></synopsis>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/python"
          groups="function" style="linklist">
-    <title>Functions</title>
+    <title>Static Functions</title>
   </links>
   <links type="topic" ui:expanded="true" groups="property" style="linklist">
     <title>Properties</title>
@@ -58,8 +54,10 @@ foo_buffer = Regress.FooBuffer()  </code></synopsis>
   <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
     <title>Virtual functions</title>
   </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
   <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
     <title>Other</title>
   </links>
-
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooBuffer.some_method.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooBuffer.some_method.page
index e971b2d..bc4588e 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooBuffer.some_method.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooBuffer.some_method.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooBuffer" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>self</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.FooBuffer.some_method</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.FooBuffer)
 @returns(none)
 def some_method(self):
     # Python wrapper for regress_foo_buffer_some_method()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -42,6 +34,4 @@ def some_method(self):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooCallback.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooCallback.page
index 52feda2..91c12cb 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooCallback.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooCallback.page
@@ -1,25 +1,38 @@
 <?xml version="1.0"?>
 <page id="Regress.FooCallback"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="callback" type="guide"/>
   </info>
   <title>Regress.FooCallback</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-python">
+ accepts(Regress.FooObject, bool, gpointer)
+ returns(bool)
+def on_FooCallback(regress_foo, b, data):
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>regress_foo</code></title>
+
+</item>
+<item>
+<title><code>b</code></title>
+
+</item>
+<item>
+<title><code>data</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooDBusData.method.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooDBusData.method.page
index fe1b647..9e8a0df 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooDBusData.method.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooDBusData.method.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooDBusData" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>self</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.FooDBusData.method</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.FooDBusData)
 @returns(none)
 def method(self):
     # Python wrapper for regress_foo_dbus_data_method()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -42,6 +34,4 @@ def method(self):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooDBusData.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooDBusData.page
index b4eaead..8b23b4d 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooDBusData.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooDBusData.page
@@ -1,25 +1,40 @@
 <?xml version="1.0"?>
 <page id="Regress.FooDBusData"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooDBusData</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+from gi.repository import Regress
+
+foo_dbus_data = Regress.FooDBusData()
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooEnumFullname.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooEnumFullname.page
index 00169aa..6184391 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooEnumFullname.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooEnumFullname.page
@@ -6,19 +6,11 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="enum" type="guide"/>
-    
+    <link xref="index" group="enum" type="guide"/>
   </info>
   <title>Regress.FooEnumFullname</title>
-  
-  
-  
-    
-  
-  
-  
-  
+
+
 <terms>
 <item>
 <title><code>FooEnumFullname.ONE</code></title>
@@ -34,6 +26,4 @@
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooEnumNoType.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooEnumNoType.page
index d2b41e6..44c091a 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooEnumNoType.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooEnumNoType.page
@@ -6,19 +6,11 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="enum" type="guide"/>
-    
+    <link xref="index" group="enum" type="guide"/>
   </info>
   <title>Regress.FooEnumNoType</title>
-  
-  
-  
-    
-  
-  
-  
-  
+
+
 <terms>
 <item>
 <title><code>FooEnumNoType.UN</code></title>
@@ -38,6 +30,4 @@
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooEnumType.method.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooEnumType.method.page
index a802f26..948cc80 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooEnumType.method.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooEnumType.method.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>regress_foo_enum</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.method</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.method</title>
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.FooEnumType)
 @returns(int)
 def method(regress_foo_enum):
     # Python wrapper for regress_foo_enum_type_method()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>regress_foo_enum</code></title>
@@ -46,6 +38,4 @@ def method(regress_foo_enum):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooEnumType.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooEnumType.page
index c3ff89b..5827bd6 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooEnumType.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooEnumType.page
@@ -6,19 +6,11 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="enum" type="guide"/>
-    
+    <link xref="index" group="enum" type="guide"/>
   </info>
   <title>Regress.FooEnumType</title>
-  
-  
-  
-    
-  
-  
-  
-  
+
+
 <terms>
 <item>
 <title><code>FooEnumType.ALPHA</code></title>
@@ -34,6 +26,4 @@
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooEnumType.returnv.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooEnumType.returnv.page
index 149cc4f..7b5c4e9 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooEnumType.returnv.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooEnumType.returnv.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>x</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.returnv</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.returnv</title>
+  <synopsis><code mime="text/x-python">
 @accepts(int)
 @returns(Regress.FooEnumType)
 def returnv(x):
     # Python wrapper for regress_foo_enum_type_returnv()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>x</code></title>
@@ -46,6 +38,4 @@ def returnv(x):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooError.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooError.page
index 8c0b6a2..873701b 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooError.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooError.page
@@ -6,19 +6,11 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="enum" type="guide"/>
-    
+    <link xref="index" group="enum" type="guide"/>
   </info>
   <title>Regress.FooError</title>
-  
-  
-  
-    
-  
-  
-  
-  
+
+
 <terms>
 <item>
 <title><code>FooError.GOOD</code></title>
@@ -34,6 +26,4 @@
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooError.quark.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooError.quark.page
index 81f81a7..3acb845 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooError.quark.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooError.quark.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_foo_error_quark</api:name>
     </api:function>
-
   </info>
-  <title>Index.quark</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.quark</title>
+  <synopsis><code mime="text/x-python">
 @returns(GLib.Quark)
 def quark():
     # Python wrapper for regress_foo_error_quark()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def quark():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooEvent-any.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.FooEvent-any.page
index 6dc17b3..aab09bd 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooEvent-any.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooEvent-any"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooEvent" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooEvent->any</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooEvent-expose.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.FooEvent-expose.page
index 6dc17b3..58dc674 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooEvent-expose.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooEvent-expose"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooEvent" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooEvent->expose</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooEvent-type.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.FooEvent-type.page
index 6dc17b3..d9ea332 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooEvent-type.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooEvent-type"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooEvent" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooEvent->type</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooEvent.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooEvent.page
index ce36830..a4cbcac 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooEvent.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooEvent.page
@@ -1,25 +1,40 @@
 <?xml version="1.0"?>
 <page id="Regress.FooEvent"
-      type="topic"
-      style="default"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooEvent</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+from gi.repository import Regress
+
+foo_event = Regress.FooEvent()
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooEventAny-send_event.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.FooEventAny-send_event.page
index 6dc17b3..045be53 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooEventAny-send_event.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooEventAny-send_event"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooEventAny" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooEventAny->send_event</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooEventAny.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooEventAny.page
index 562ec03..dca4dc0 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooEventAny.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooEventAny.page
@@ -1,25 +1,40 @@
 <?xml version="1.0"?>
 <page id="Regress.FooEventAny"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooEventAny</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+from gi.repository import Regress
+
+foo_event_any = Regress.FooEventAny()
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooEventExpose-count.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.FooEventExpose-count.page
index 6dc17b3..f9e410c 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooEventExpose-count.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooEventExpose-count"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooEventExpose" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooEventExpose->count</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooEventExpose-send_event.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.FooEventExpose-send_event.page
index 6dc17b3..d06c23a 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooEventExpose-send_event.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooEventExpose-send_event"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooEventExpose" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooEventExpose->send_event</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooEventExpose.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooEventExpose.page
index 0000add..3569c0b 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooEventExpose.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooEventExpose.page
@@ -1,25 +1,40 @@
 <?xml version="1.0"?>
 <page id="Regress.FooEventExpose"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooEventExpose</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+from gi.repository import Regress
+
+foo_event_expose = Regress.FooEventExpose()
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooFlagsNoType.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooFlagsNoType.page
index 53539d4..930b6d0 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooFlagsNoType.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooFlagsNoType.page
@@ -6,20 +6,9 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
   <title>Regress.FooFlagsNoType</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooFlagsType.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooFlagsType.page
index 2b4afeb..96e9759 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooFlagsType.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooFlagsType.page
@@ -6,20 +6,9 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
   <title>Regress.FooFlagsType</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooForeignStruct-regress_foo.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.FooForeignStruct-regress_foo.page
index 6dc17b3..07c098c 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooForeignStruct-regress_foo.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooForeignStruct-regress_foo"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooForeignStruct" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooForeignStruct->regress_foo</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooForeignStruct.copy.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooForeignStruct.copy.page
index 1dbb5dc..2de9139 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooForeignStruct.copy.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooForeignStruct.copy.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooForeignStruct" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>self</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.FooForeignStruct.copy</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.FooForeignStruct)
 @returns(Regress.FooForeignStruct)
 def copy(self):
     # Python wrapper for regress_foo_foreign_struct_copy()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -46,6 +38,4 @@ def copy(self):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooForeignStruct.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooForeignStruct.page
index 312994a..03395eb 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooForeignStruct.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooForeignStruct.page
@@ -1,25 +1,40 @@
 <?xml version="1.0"?>
 <page id="Regress.FooForeignStruct"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooForeignStruct</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+from gi.repository import Regress
+
+foo_foreign_struct = Regress.FooForeignStruct()
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooInterface-do_regress_foo.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooInterface-do_regress_foo.page
index d0be1eb..e7e9478 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooInterface-do_regress_foo.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooInterface-do_regress_foo.page
@@ -6,24 +6,16 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="Regress.FooInterface" group="vfunc" type="guide"/>
-    
+    <link xref="Regress.FooInterface" group="vfunc" type="guide"/>
   </info>
   <title>Regress.FooInterface::do_regress_foo</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.FooInterface, int)
 @returns(none)
 def do_do_regress_foo(self, x):
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -35,6 +27,4 @@ def do_do_regress_foo(self, x):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooInterface.do_regress_foo.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooInterface.do_regress_foo.page
index 3b2f26d..75f7add 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooInterface.do_regress_foo.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooInterface.do_regress_foo.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooInterface" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,23 +21,16 @@
         <api:name>x</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.FooInterface.do_regress_foo</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.FooInterface, int)
 @returns(none)
 def do_regress_foo(self, x):
     # Python wrapper for regress_foo_interface_do_regress_foo()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -50,6 +42,4 @@ def do_regress_foo(self, x):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooInterface.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooInterface.page
index d2a482f..9bb64e7 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooInterface.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooInterface.page
@@ -1,38 +1,33 @@
 <?xml version="1.0"?>
 <page id="Regress.FooInterface"
       type="guide"
-      style="class"
+      style="interface"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="class" type="guide"/>
-    
+    <link xref="index" group="interface" type="guide"/>
   </info>
   <title>Regress.FooInterface</title>
-  
   <synopsis><code>
 from gi.repository import Regress
 
 foo_interface = Regress.FooInterface()  </code></synopsis>
 
-  
-    
-  
-  
-  
-  
+
   <synopsis>
-    <title>Hierarchy</title>
-    <tree>
-      <item>
-        <code>Regress.FooInterface</code>
-      </item>
-    </tree>
+    <title>Prerequisites</title>
+    <p>FooInterface requires GObject.Object</p>
+  </synopsis>
+  <synopsis>
+    <title>Known Implementations</title>
+    <p>FooInterface is implemented by FooBuffer, FooObject and FooSubobject</p>
   </synopsis>
-
-  
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/python"
          groups="method" style="linklist">
@@ -41,7 +36,7 @@ foo_interface = Regress.FooInterface()  </code></synopsis>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/python"
          groups="function" style="linklist">
-    <title>Functions</title>
+    <title>Static Functions</title>
   </links>
   <links type="topic" ui:expanded="true" groups="property" style="linklist">
     <title>Properties</title>
@@ -52,8 +47,10 @@ foo_interface = Regress.FooInterface()  </code></synopsis>
   <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
     <title>Virtual functions</title>
   </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
   <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
     <title>Other</title>
   </links>
-
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooInterface.static_method.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooInterface.static_method.page
index 1c6c166..1fd4713 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooInterface.static_method.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooInterface.static_method.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooInterface" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>x</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.FooInterface.static_method</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(int)
 @returns(none)
 def static_method(x):
     # Python wrapper for regress_foo_interface_static_method()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>x</code></title>
@@ -42,6 +34,4 @@ def static_method(x):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject-parent_instance.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.FooObject-parent_instance.page
index 6dc17b3..d9cf9b8 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject-parent_instance.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooObject-parent_instance"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooObject" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooObject->parent_instance</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject-read_fn.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject-read_fn.page
index 6cf532b..54ca4a0 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject-read_fn.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject-read_fn.page
@@ -6,39 +6,29 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="Regress.FooObject" group="vfunc" type="guide"/>
-    
+    <link xref="Regress.FooObject" group="vfunc" type="guide"/>
   </info>
   <title>Regress.FooObject::read_fn</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.FooObject, int, int)
 @returns(none)
 def do_read_fn(object, offset, length):
-</code></synopsis>
+  </code></synopsis>
+  <p>Read some stuff.</p>
 
-  
-    <p>Read some stuff.</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>object</code></title>
-<p>obj</p>
+  <p>obj</p>
 </item>
 <item>
 <title><code>offset</code></title>
-<p>offset</p>
+  <p>offset</p>
 </item>
 <item>
 <title><code>length</code></title>
-<p>length</p>
+  <p>length</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject-signal.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject-signal.page
index ee6c20c..3ef5897 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject-signal.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject-signal.page
@@ -6,23 +6,15 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooObject" group="signal" type="guide"/>
     <title type="link" role="topic">signal</title>
-
   </info>
   <title>Regress.FooObject::signal</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 def callback(foo_object, object, p0, user_param1, ...)
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>foo_object</code></title>
@@ -48,6 +40,4 @@ def callback(foo_object, object, p0, user_param1, ...)
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject-some_int.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.FooObject-some_int.page
index 6dc17b3..b45dca8 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject-some_int.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooObject-some_int"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooObject" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooObject->some_int</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject-string.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject-string.page
index 9d61f3a..2e4ce74 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject-string.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject-string.page
@@ -6,24 +6,13 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooObject" group="property" type="guide"/>
     <title type="link" role="topic">string</title>
-
   </info>
   <title>Regress.FooObject:string</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 "string"             unicode                : Read / Write / Construct
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
-  
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject-virtual_method.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject-virtual_method.page
index 01cf6db..b049bd1 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject-virtual_method.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject-virtual_method.page
@@ -6,24 +6,16 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="Regress.FooObject" group="vfunc" type="guide"/>
-    
+    <link xref="Regress.FooObject" group="vfunc" type="guide"/>
   </info>
   <title>Regress.FooObject::virtual_method</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.FooObject, int)
 @returns(bool)
 def do_virtual_method(object, first_param):
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>object</code></title>
@@ -39,6 +31,4 @@ def do_virtual_method(object, first_param):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.a_global_method.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.a_global_method.page
index 87645bc..47cbe31 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.a_global_method.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.a_global_method.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooObject" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>obj</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.FooObject.a_global_method</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Utility.Object)
 @returns(none)
 def a_global_method(obj):
     # Python wrapper for regress_foo_object_a_global_method()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>obj</code></title>
@@ -42,6 +34,4 @@ def a_global_method(obj):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.append_new_stack_layer.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.append_new_stack_layer.page
index 23ba26b..940f4a1 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.append_new_stack_layer.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.append_new_stack_layer.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,23 +21,16 @@
         <api:name>x</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.FooObject.append_new_stack_layer</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.FooObject, int)
 @returns(Regress.FooOtherObject)
 def append_new_stack_layer(self, x):
     # Python wrapper for regress_foo_object_append_new_stack_layer()
-</code></synopsis>
+  </code></synopsis>
+  <p>This shouldn't be scanned as a constructor.</p>
 
-  
-    <p>This shouldn't be scanned as a constructor.</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -54,6 +46,4 @@ def append_new_stack_layer(self, x):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.dup_name.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.dup_name.page
index dcc20f6..a711dd3 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.dup_name.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.dup_name.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>self</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.FooObject.dup_name</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.FooObject)
 @returns(unicode)
 def dup_name(self):
     # Python wrapper for regress_foo_object_dup_name()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -46,6 +38,4 @@ def dup_name(self):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.external_type.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.external_type.page
index 0b32bef..fc41e2b 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.external_type.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.external_type.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,27 +17,20 @@
         <api:name>self</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.FooObject.external_type</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.FooObject)
 @returns(Utility.Object)
 def external_type(self):
     # Python wrapper for regress_foo_object_external_type()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
-<p>a <link xref="Regress.FooObject"/></p>
+  <p>a <link xref="Regress.FooObject"/></p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -46,6 +38,4 @@ def external_type(self):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.get_default.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.get_default.page
index 826efd8..3876136 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.get_default.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.get_default.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooObject" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,23 +13,16 @@
       </api:returns>
       <api:name>regress_foo_object_get_default</api:name>
     </api:function>
-
   </info>
   <title>Regress.FooObject.get_default</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @returns(Regress.FooSubobject)
 def get_default():
     # Python wrapper for regress_foo_object_get_default()
-</code></synopsis>
-
-  
-    <p>This function is intended to match clutter_stage_get_default which
+  </code></synopsis>
+  <p>This function is intended to match clutter_stage_get_default which
 uses a C sugar return type.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -38,6 +30,4 @@ uses a C sugar return type.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.get_name.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.get_name.page
index e66d493..64575f2 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.get_name.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.get_name.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>self</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.FooObject.get_name</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.FooObject)
 @returns(unicode)
 def get_name(self):
     # Python wrapper for regress_foo_object_get_name()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -46,6 +38,4 @@ def get_name(self):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.handle_glyph.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.handle_glyph.page
index e171f82..236aeb6 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.handle_glyph.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.handle_glyph.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,23 +21,16 @@
         <api:name>glyph</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.FooObject.handle_glyph</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.FooObject, Utility.Glyph)
 @returns(none)
 def handle_glyph(self, glyph):
     # Python wrapper for regress_foo_object_handle_glyph()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -50,6 +42,4 @@ def handle_glyph(self, glyph):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.is_it_time_yet.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.is_it_time_yet.page
index 1781562..62cc7f4 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.is_it_time_yet.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.is_it_time_yet.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,23 +21,16 @@
         <api:name>time</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.FooObject.is_it_time_yet</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.FooObject, int)
 @returns(none)
 def is_it_time_yet(self, time):
     # Python wrapper for regress_foo_object_is_it_time_yet()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -50,6 +42,4 @@ def is_it_time_yet(self, time):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.page
index 3265e6b..2670dd2 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.page
@@ -6,23 +6,16 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="class" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooObject</title>
-  
   <synopsis><code>
 from gi.repository import Regress
 
-foo_object = Regress.FooObject(<link xref='Regress.FooObject-hidden'>hidden</link>=value, <link 
xref='Regress.FooObject-string'>string</link>=value)  </code></synopsis>
+foo_object = Regress.FooObject(<link xref='Regress.FooObject-hidden'>hidden</link>=value, <link 
xref='Regress.FooObject-string'>string</link>=value)
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
   <synopsis>
     <title>Hierarchy</title>
     <tree>
@@ -34,8 +27,11 @@ foo_object = Regress.FooObject(<link xref='Regress.FooObject-hidden'>hidden</lin
       </item>
     </tree>
   </synopsis>
-
-  
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/python"
          groups="method" style="linklist">
@@ -44,7 +40,7 @@ foo_object = Regress.FooObject(<link xref='Regress.FooObject-hidden'>hidden</lin
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/python"
          groups="function" style="linklist">
-    <title>Functions</title>
+    <title>Static Functions</title>
   </links>
   <links type="topic" ui:expanded="true" groups="property" style="linklist">
     <title>Properties</title>
@@ -55,8 +51,10 @@ foo_object = Regress.FooObject(<link xref='Regress.FooObject-hidden'>hidden</lin
   <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
     <title>Virtual functions</title>
   </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
   <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
     <title>Other</title>
   </links>
-
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.read.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.read.page
index 88dee52..d33dff9 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.read.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.read.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -26,38 +25,29 @@
         <api:name>length</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.FooObject.read</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.FooObject, int, int)
 @returns(none)
 def read(self, offset, length):
     # Python wrapper for regress_foo_object_read()
-</code></synopsis>
+  </code></synopsis>
+  <p>Read some stuff.</p>
 
-  
-    <p>Read some stuff.</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
-<p>obj</p>
+  <p>obj</p>
 </item>
 <item>
 <title><code>offset</code></title>
-<p>offset</p>
+  <p>offset</p>
 </item>
 <item>
 <title><code>length</code></title>
-<p>length</p>
+  <p>length</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.static_meth.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.static_meth.page
index c652a10..462e4b2 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.static_meth.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.static_meth.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooObject" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_foo_object_static_meth</api:name>
     </api:function>
-
   </info>
   <title>Regress.FooObject.static_meth</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @returns(int)
 def static_meth():
     # Python wrapper for regress_foo_object_static_meth()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def static_meth():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.various.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.various.page
index efdc5c4..50a7da6 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.various.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.various.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -26,23 +25,16 @@
         <api:name>some_type</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.FooObject.various</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.FooObject, gpointer, GType)
 @returns(none)
 def various(self, data, some_type):
     # Python wrapper for regress_foo_object_various()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -58,6 +50,4 @@ def various(self, data, some_type):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.virtual_method.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.virtual_method.page
index f4920be..fb77107 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.virtual_method.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.virtual_method.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,23 +21,16 @@
         <api:name>first_param</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.FooObject.virtual_method</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.FooObject, int)
 @returns(bool)
 def virtual_method(self, first_param):
     # Python wrapper for regress_foo_object_virtual_method()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -54,6 +46,4 @@ def virtual_method(self, first_param):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObjectCookie.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObjectCookie.page
index 44a63ab..fecc554 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObjectCookie.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObjectCookie.page
@@ -6,20 +6,9 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
   <title>Regress.FooObjectCookie</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooOtherObject.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooOtherObject.page
index dadf523..69a2798 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooOtherObject.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooOtherObject.page
@@ -6,23 +6,16 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="class" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooOtherObject</title>
-  
   <synopsis><code>
 from gi.repository import Regress
 
-foo_other_object = Regress.FooOtherObject()  </code></synopsis>
+foo_other_object = Regress.FooOtherObject()
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
   <synopsis>
     <title>Hierarchy</title>
     <tree>
@@ -34,8 +27,11 @@ foo_other_object = Regress.FooOtherObject()  </code></synopsis>
       </item>
     </tree>
   </synopsis>
-
-  
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/python"
          groups="method" style="linklist">
@@ -44,7 +40,7 @@ foo_other_object = Regress.FooOtherObject()  </code></synopsis>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/python"
          groups="function" style="linklist">
-    <title>Functions</title>
+    <title>Static Functions</title>
   </links>
   <links type="topic" ui:expanded="true" groups="property" style="linklist">
     <title>Properties</title>
@@ -55,8 +51,10 @@ foo_other_object = Regress.FooOtherObject()  </code></synopsis>
   <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
     <title>Virtual functions</title>
   </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
   <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
     <title>Other</title>
   </links>
-
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooRectangle-height.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.FooRectangle-height.page
index 6dc17b3..f1da68f 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooRectangle-height.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooRectangle-height"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooRectangle" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooRectangle->height</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooRectangle-width.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.FooRectangle-width.page
index 6dc17b3..dd55384 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooRectangle-width.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooRectangle-width"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooRectangle" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooRectangle->width</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooRectangle-x.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.FooRectangle-x.page
index 6dc17b3..2c4377b 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooRectangle-x.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooRectangle-x"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooRectangle" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooRectangle->x</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooRectangle-y.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.FooRectangle-y.page
index 6dc17b3..8b4a9a3 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooRectangle-y.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooRectangle-y"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooRectangle" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooRectangle->y</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooRectangle.add.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooRectangle.add.page
index fe924f4..3dce1cb 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooRectangle.add.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooRectangle.add.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooRectangle" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,34 +21,25 @@
         <api:name>r2</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.FooRectangle.add</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.FooRectangle, Regress.FooRectangle)
 @returns(none)
 def add(self, r2):
     # Python wrapper for regress_foo_rectangle_add()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
-<p>add to this rect</p>
+  <p>add to this rect</p>
 </item>
 <item>
 <title><code>r2</code></title>
-<p>source rectangle</p>
+  <p>source rectangle</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooRectangle.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooRectangle.page
index 0cfef62..3555480 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooRectangle.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooRectangle.page
@@ -1,25 +1,40 @@
 <?xml version="1.0"?>
 <page id="Regress.FooRectangle"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooRectangle</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+from gi.repository import Regress
+
+foo_rectangle = Regress.FooRectangle()
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooStackLayer.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooStackLayer.page
index 8a08c9a..bb6bc51 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooStackLayer.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooStackLayer.page
@@ -6,19 +6,11 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="enum" type="guide"/>
-    
+    <link xref="index" group="enum" type="guide"/>
   </info>
   <title>Regress.FooStackLayer</title>
-  
-  
-  
-    
-  
-  
-  
-  
+
+
 <terms>
 <item>
 <title><code>FooStackLayer.DESKTOP</code></title>
@@ -58,6 +50,4 @@
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooStruct-member.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.FooStruct-member.page
index 6dc17b3..655d65d 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooStruct-member.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooStruct-member"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooStruct" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooStruct->member</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooStruct-priv.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.FooStruct-priv.page
index 6dc17b3..a0d9891 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooStruct-priv.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooStruct-priv"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooStruct" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooStruct->priv</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooStruct.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooStruct.page
index 84f5d19..9e4a576 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooStruct.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooStruct.page
@@ -1,25 +1,40 @@
 <?xml version="1.0"?>
 <page id="Regress.FooStruct"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooStruct</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+from gi.repository import Regress
+
+foo_struct = Regress.FooStruct()
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface-destroy-event.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface-destroy-event.page
index a42bb17..3b323e1 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface-destroy-event.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface-destroy-event.page
@@ -6,23 +6,15 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooSubInterface" group="signal" type="guide"/>
     <title type="link" role="topic">destroy-event</title>
-
   </info>
   <title>Regress.FooSubInterface::destroy-event</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 def callback(foo_sub_interface, user_param1, ...)
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>foo_sub_interface</code></title>
@@ -36,6 +28,4 @@ def callback(foo_sub_interface, user_param1, ...)
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface-destroy_event.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface-destroy_event.page
index 82dbc62..dad4853 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface-destroy_event.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface-destroy_event.page
@@ -6,24 +6,16 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="Regress.FooSubInterface" group="vfunc" type="guide"/>
-    
+    <link xref="Regress.FooSubInterface" group="vfunc" type="guide"/>
   </info>
   <title>Regress.FooSubInterface::destroy_event</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.FooSubInterface)
 @returns(none)
 def do_destroy_event(self):
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -31,6 +23,4 @@ def do_destroy_event(self):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface-do_bar.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface-do_bar.page
index a035189..1ed2e3b 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface-do_bar.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface-do_bar.page
@@ -6,24 +6,16 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="Regress.FooSubInterface" group="vfunc" type="guide"/>
-    
+    <link xref="Regress.FooSubInterface" group="vfunc" type="guide"/>
   </info>
   <title>Regress.FooSubInterface::do_bar</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.FooSubInterface)
 @returns(none)
 def do_do_bar(self):
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -31,6 +23,4 @@ def do_do_bar(self):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface-do_baz.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface-do_baz.page
index 3b0404f..aa5a402 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface-do_baz.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface-do_baz.page
@@ -6,24 +6,16 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="Regress.FooSubInterface" group="vfunc" type="guide"/>
-    
+    <link xref="Regress.FooSubInterface" group="vfunc" type="guide"/>
   </info>
   <title>Regress.FooSubInterface::do_baz</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.FooSubInterface, GObject.Callback, gpointer)
 @returns(none)
 def do_do_baz(self, callback, user_data):
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -39,6 +31,4 @@ def do_do_baz(self, callback, user_data):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface.do_bar.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface.do_bar.page
index 1ecac0d..495168a 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface.do_bar.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface.do_bar.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooSubInterface" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>self</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.FooSubInterface.do_bar</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.FooSubInterface)
 @returns(none)
 def do_bar(self):
     # Python wrapper for regress_foo_sub_interface_do_bar()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -42,6 +34,4 @@ def do_bar(self):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface.do_baz.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface.do_baz.page
index 071fb0d..5b76e3f 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface.do_baz.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface.do_baz.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.FooSubInterface" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -26,23 +25,16 @@
         <api:name>user_data</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.FooSubInterface.do_baz</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.FooSubInterface, GObject.Callback, gpointer)
 @returns(none)
 def do_baz(self, callback, user_data):
     # Python wrapper for regress_foo_sub_interface_do_baz()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -58,6 +50,4 @@ def do_baz(self, callback, user_data):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface.page
index 81593d3..611edb1 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface.page
@@ -1,38 +1,33 @@
 <?xml version="1.0"?>
 <page id="Regress.FooSubInterface"
       type="guide"
-      style="class"
+      style="interface"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="class" type="guide"/>
-    
+    <link xref="index" group="interface" type="guide"/>
   </info>
   <title>Regress.FooSubInterface</title>
-  
   <synopsis><code>
 from gi.repository import Regress
 
 foo_sub_interface = Regress.FooSubInterface()  </code></synopsis>
 
-  
-    
-  
-  
-  
-  
+
   <synopsis>
-    <title>Hierarchy</title>
-    <tree>
-      <item>
-        <code>Regress.FooSubInterface</code>
-      </item>
-    </tree>
+    <title>Prerequisites</title>
+    <p>FooSubInterface requires Regress.FooInterface</p>
+  </synopsis>
+  <synopsis>
+    <title>Known Implementations</title>
+    <p>None</p>
   </synopsis>
-
-  
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/python"
          groups="method" style="linklist">
@@ -41,7 +36,7 @@ foo_sub_interface = Regress.FooSubInterface()  </code></synopsis>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/python"
          groups="function" style="linklist">
-    <title>Functions</title>
+    <title>Static Functions</title>
   </links>
   <links type="topic" ui:expanded="true" groups="property" style="linklist">
     <title>Properties</title>
@@ -52,8 +47,10 @@ foo_sub_interface = Regress.FooSubInterface()  </code></synopsis>
   <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
     <title>Virtual functions</title>
   </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
   <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
     <title>Other</title>
   </links>
-
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubobject-parent_instance.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.FooSubobject-parent_instance.page
index 6dc17b3..33994c7 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubobject-parent_instance.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooSubobject-parent_instance"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooSubobject" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooSubobject->parent_instance</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubobject.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubobject.page
index fc7b5ad..9cc4d6b 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubobject.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubobject.page
@@ -6,23 +6,16 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="class" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooSubobject</title>
-  
   <synopsis><code>
 from gi.repository import Regress
 
-foo_subobject = Regress.FooSubobject()  </code></synopsis>
+foo_subobject = Regress.FooSubobject()
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
   <synopsis>
     <title>Hierarchy</title>
     <tree>
@@ -37,8 +30,11 @@ foo_subobject = Regress.FooSubobject()  </code></synopsis>
       </item>
     </tree>
   </synopsis>
-
-  
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/python"
          groups="method" style="linklist">
@@ -47,7 +43,7 @@ foo_subobject = Regress.FooSubobject()  </code></synopsis>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/python"
          groups="function" style="linklist">
-    <title>Functions</title>
+    <title>Static Functions</title>
   </links>
   <links type="topic" ui:expanded="true" groups="property" style="linklist">
     <title>Properties</title>
@@ -58,8 +54,10 @@ foo_subobject = Regress.FooSubobject()  </code></synopsis>
   <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
     <title>Virtual functions</title>
   </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
   <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
     <title>Other</title>
   </links>
-
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooThingWithArray-data.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.FooThingWithArray-data.page
index 6dc17b3..cc40f8f 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooThingWithArray-data.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooThingWithArray-data"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooThingWithArray" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooThingWithArray->data</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooThingWithArray-lines.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.FooThingWithArray-lines.page
index 6dc17b3..6db4319 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooThingWithArray-lines.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooThingWithArray-lines"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooThingWithArray" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooThingWithArray->lines</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooThingWithArray-x.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.FooThingWithArray-x.page
index 6dc17b3..c13779f 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooThingWithArray-x.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooThingWithArray-x"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooThingWithArray" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooThingWithArray->x</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooThingWithArray-y.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.FooThingWithArray-y.page
index 6dc17b3..df8f251 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooThingWithArray-y.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooThingWithArray-y"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooThingWithArray" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooThingWithArray->y</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooThingWithArray.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooThingWithArray.page
index 430dce7..b5224c3 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooThingWithArray.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooThingWithArray.page
@@ -1,25 +1,40 @@
 <?xml version="1.0"?>
 <page id="Regress.FooThingWithArray"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooThingWithArray</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+from gi.repository import Regress
+
+foo_thing_with_array = Regress.FooThingWithArray()
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooUnion-regress_foo.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.FooUnion-regress_foo.page
index 6dc17b3..6c180dd 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooUnion-regress_foo.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooUnion-regress_foo"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooUnion" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooUnion->regress_foo</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooUnion.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooUnion.page
index 9746f17..84a0b44 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooUnion.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooUnion.page
@@ -1,25 +1,40 @@
 <?xml version="1.0"?>
 <page id="Regress.FooUnion"
-      type="topic"
-      style="default"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooUnion</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+from gi.repository import Regress
+
+foo_union = Regress.FooUnion()
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooUtilityStruct-bar.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.FooUtilityStruct-bar.page
index 6dc17b3..26d131c 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooUtilityStruct-bar.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.FooUtilityStruct-bar"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.FooUtilityStruct" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.FooUtilityStruct->bar</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooUtilityStruct.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooUtilityStruct.page
index 2b94f69..7c2d3e6 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooUtilityStruct.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooUtilityStruct.page
@@ -1,25 +1,40 @@
 <?xml version="1.0"?>
 <page id="Regress.FooUtilityStruct"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.FooUtilityStruct</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+from gi.repository import Regress
+
+foo_utility_struct = Regress.FooUtilityStruct()
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooXEvent.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.FooXEvent.page
index c389ef0..19bee42 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.FooXEvent.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooXEvent.page
@@ -6,20 +6,9 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
   <title>Regress.FooXEvent</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.GI_SCANNER_ELSE.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.GI_SCANNER_ELSE.page
index 6dc17b3..e9876e0 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.GI_SCANNER_ELSE.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.GI_SCANNER_ELSE"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.GI_SCANNER_ELSE</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.GI_SCANNER_IFDEF.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.GI_SCANNER_IFDEF.page
index 6dc17b3..bfef183 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.GI_SCANNER_IFDEF.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.GI_SCANNER_IFDEF"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.GI_SCANNER_IFDEF</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.GUINT64_CONSTANT.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.GUINT64_CONSTANT.page
index 6dc17b3..8c16dd2 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.GUINT64_CONSTANT.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.GUINT64_CONSTANT"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.GUINT64_CONSTANT</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.GUINT64_CONSTANTA.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.GUINT64_CONSTANTA.page
index 6dc17b3..3b0d6f1 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.GUINT64_CONSTANTA.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.GUINT64_CONSTANTA"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.GUINT64_CONSTANTA</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.G_GINT64_CONSTANT.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.G_GINT64_CONSTANT.page
index 6dc17b3..cdce607 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.G_GINT64_CONSTANT.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.G_GINT64_CONSTANT"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.G_GINT64_CONSTANT</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.INT_CONSTANT.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.INT_CONSTANT.page
index 6dc17b3..e0512ab 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.INT_CONSTANT.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.INT_CONSTANT"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.INT_CONSTANT</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.LONG_STRING_CONSTANT.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.LONG_STRING_CONSTANT.page
index 6dc17b3..85fe96e 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.LONG_STRING_CONSTANT.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.LONG_STRING_CONSTANT"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.LONG_STRING_CONSTANT</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.LikeGnomeKeyringPasswordSchema-attributes.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.LikeGnomeKeyringPasswordSchema-attributes.page
new file mode 100644
index 0000000..db51500
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.LikeGnomeKeyringPasswordSchema-attributes.page
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<page id="Regress.LikeGnomeKeyringPasswordSchema-attributes"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.LikeGnomeKeyringPasswordSchema"
+      group="field"
+      type="guide"/>
+  </info>
+  <title>Regress.LikeGnomeKeyringPasswordSchema->attributes</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.LikeGnomeKeyringPasswordSchema-dummy.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.LikeGnomeKeyringPasswordSchema-dummy.page
new file mode 100644
index 0000000..3bfbac1
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.LikeGnomeKeyringPasswordSchema-dummy.page
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<page id="Regress.LikeGnomeKeyringPasswordSchema-dummy"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.LikeGnomeKeyringPasswordSchema"
+      group="field"
+      type="guide"/>
+  </info>
+  <title>Regress.LikeGnomeKeyringPasswordSchema->dummy</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.LikeGnomeKeyringPasswordSchema-dummy2.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.LikeGnomeKeyringPasswordSchema-dummy2.page
new file mode 100644
index 0000000..408ab29
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.LikeGnomeKeyringPasswordSchema-dummy2.page
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<page id="Regress.LikeGnomeKeyringPasswordSchema-dummy2"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.LikeGnomeKeyringPasswordSchema"
+      group="field"
+      type="guide"/>
+  </info>
+  <title>Regress.LikeGnomeKeyringPasswordSchema->dummy2</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.LikeGnomeKeyringPasswordSchema.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.LikeGnomeKeyringPasswordSchema.page
index 44a946e..94945b8 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.LikeGnomeKeyringPasswordSchema.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.LikeGnomeKeyringPasswordSchema.page
@@ -1,25 +1,40 @@
 <?xml version="1.0"?>
 <page id="Regress.LikeGnomeKeyringPasswordSchema"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.LikeGnomeKeyringPasswordSchema</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+from gi.repository import Regress
+
+like_gnome_keyring_password_schema = Regress.LikeGnomeKeyringPasswordSchema()
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.LikeXklConfigItem-name.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.LikeXklConfigItem-name.page
index 6dc17b3..dbc8998 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.LikeXklConfigItem-name.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.LikeXklConfigItem-name"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.LikeXklConfigItem" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.LikeXklConfigItem->name</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.LikeXklConfigItem.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.LikeXklConfigItem.page
index fb4831f..7e9839e 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.LikeXklConfigItem.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.LikeXklConfigItem.page
@@ -1,25 +1,40 @@
 <?xml version="1.0"?>
 <page id="Regress.LikeXklConfigItem"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.LikeXklConfigItem</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+from gi.repository import Regress
+
+like_xkl_config_item = Regress.LikeXklConfigItem()
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.LikeXklConfigItem.set_name.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.LikeXklConfigItem.set_name.page
index a6815c8..f84c257 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.LikeXklConfigItem.set_name.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.LikeXklConfigItem.set_name.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.LikeXklConfigItem" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,23 +21,16 @@
         <api:name>name</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.LikeXklConfigItem.set_name</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.LikeXklConfigItem, unicode)
 @returns(none)
 def set_name(self, name):
     # Python wrapper for regress_like_xkl_config_item_set_name()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -50,6 +42,4 @@ def set_name(self, name):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.MAXUINT64.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.MAXUINT64.page
index 6dc17b3..91d7ce5 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.MAXUINT64.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.MAXUINT64"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.MAXUINT64</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.MININT64.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.MININT64.page
index 6dc17b3..1531540 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.MININT64.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.MININT64"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.MININT64</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.Mixed_Case_Constant.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.Mixed_Case_Constant.page
index 6dc17b3..29e7314 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.Mixed_Case_Constant.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.Mixed_Case_Constant"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.Mixed_Case_Constant</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.NEGATIVE_INT_CONSTANT.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.NEGATIVE_INT_CONSTANT.page
index 6dc17b3..a0aad76 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.NEGATIVE_INT_CONSTANT.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.NEGATIVE_INT_CONSTANT"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.NEGATIVE_INT_CONSTANT</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.PtrArrayAlias.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.PtrArrayAlias.page
index f66aee4..1acd4d2 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.PtrArrayAlias.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.PtrArrayAlias.page
@@ -6,20 +6,9 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
   <title>Regress.PtrArrayAlias</title>
-  
-  
-  
-    <p>Typedef'd GPtrArray for some reason</p>
-  
-  
-  
-  
-  
-  
-  
+  <p>Typedef'd GPtrArray for some reason</p>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.STRING_CONSTANT.page
similarity index 56%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.STRING_CONSTANT.page
index 6dc17b3..be1d6e1 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.STRING_CONSTANT.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.STRING_CONSTANT"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.STRING_CONSTANT</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestABCError.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestABCError.page
index f31b58e..9ab2189 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestABCError.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestABCError.page
@@ -6,19 +6,11 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="enum" type="guide"/>
-    
+    <link xref="index" group="enum" type="guide"/>
   </info>
   <title>Regress.TestABCError</title>
-  
-  
-  
-    
-  
-  
-  
-  
+
+
 <terms>
 <item>
 <title><code>TestABCError.CODE1</code></title>
@@ -34,6 +26,4 @@
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestABCError.quark.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestABCError.quark.page
index 8a8114d..d47bc9a 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestABCError.quark.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestABCError.quark.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_abc_error_quark</api:name>
     </api:function>
-
   </info>
-  <title>Index.quark</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.quark</title>
+  <synopsis><code mime="text/x-python">
 @returns(GLib.Quark)
 def quark():
     # Python wrapper for regress_test_abc_error_quark()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def quark():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxed-nested_a.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxed-nested_a.page
index 6dc17b3..d394f4d 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxed-nested_a.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestBoxed-nested_a"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestBoxed" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestBoxed->nested_a</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxed-priv.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxed-priv.page
index 6dc17b3..3084c21 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxed-priv.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestBoxed-priv"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestBoxed" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestBoxed->priv</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxed-some_int8.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxed-some_int8.page
index 6dc17b3..36f6632 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxed-some_int8.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestBoxed-some_int8"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestBoxed" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestBoxed->some_int8</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxed.copy.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxed.copy.page
index 6e69b52..2bbe466 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxed.copy.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxed.copy.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestBoxed" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>self</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestBoxed.copy</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestBoxed)
 @returns(Regress.TestBoxed)
 def copy(self):
     # Python wrapper for regress_test_boxed_copy()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -46,6 +38,4 @@ def copy(self):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxed.equals.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxed.equals.page
index b4e88aa..e15ba35 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxed.equals.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxed.equals.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestBoxed" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,23 +21,16 @@
         <api:name>other</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestBoxed.equals</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestBoxed, Regress.TestBoxed)
 @returns(bool)
 def equals(self, other):
     # Python wrapper for regress_test_boxed_equals()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -54,6 +46,4 @@ def equals(self, other):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxed.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxed.page
index baa423f..45b56f9 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxed.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxed.page
@@ -1,25 +1,40 @@
 <?xml version="1.0"?>
 <page id="Regress.TestBoxed"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestBoxed</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+from gi.repository import Regress
+
+test_boxed = Regress.TestBoxed()
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedB-some_int8.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedB-some_int8.page
index 6dc17b3..c7666c7 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedB-some_int8.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestBoxedB-some_int8"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestBoxedB" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestBoxedB->some_int8</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedB-some_long.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedB-some_long.page
index 6dc17b3..a5f4a34 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedB-some_long.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestBoxedB-some_long"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestBoxedB" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestBoxedB->some_long</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedB.copy.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedB.copy.page
index 2629154..4885067 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedB.copy.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedB.copy.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestBoxedB" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>self</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestBoxedB.copy</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestBoxedB)
 @returns(Regress.TestBoxedB)
 def copy(self):
     # Python wrapper for regress_test_boxed_b_copy()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -46,6 +38,4 @@ def copy(self):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedB.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedB.page
index 0e39780..835e8d6 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedB.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedB.page
@@ -1,25 +1,40 @@
 <?xml version="1.0"?>
 <page id="Regress.TestBoxedB"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestBoxedB</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+from gi.repository import Regress
+
+test_boxed_b = Regress.TestBoxedB()
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedC-another_thing.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedC-another_thing.page
index 6dc17b3..a5d7c2b 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedC-another_thing.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestBoxedC-another_thing"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestBoxedC" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestBoxedC->another_thing</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedC-refcount.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedC-refcount.page
index 6dc17b3..0f755dd 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedC-refcount.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestBoxedC-refcount"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestBoxedC" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestBoxedC->refcount</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedC.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedC.page
index 18b77d9..adc2dc8 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedC.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedC.page
@@ -1,25 +1,40 @@
 <?xml version="1.0"?>
 <page id="Regress.TestBoxedC"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestBoxedC</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+from gi.repository import Regress
+
+test_boxed_c = Regress.TestBoxedC()
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedD.copy.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedD.copy.page
index 9910236..94c6fec 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedD.copy.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedD.copy.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestBoxedD" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>self</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestBoxedD.copy</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestBoxedD)
 @returns(Regress.TestBoxedD)
 def copy(self):
     # Python wrapper for regress_test_boxed_d_copy()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -46,6 +38,4 @@ def copy(self):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedD.free.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedD.free.page
index 9750cc3..377d841 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedD.free.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedD.free.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestBoxedD" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>self</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestBoxedD.free</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestBoxedD)
 @returns(none)
 def free(self):
     # Python wrapper for regress_test_boxed_d_free()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -42,6 +34,4 @@ def free(self):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedD.get_magic.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedD.get_magic.page
index f050eb6..d28544c 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedD.get_magic.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedD.get_magic.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestBoxedD" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>self</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestBoxedD.get_magic</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestBoxedD)
 @returns(int)
 def get_magic(self):
     # Python wrapper for regress_test_boxed_d_get_magic()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -46,6 +38,4 @@ def get_magic(self):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedD.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedD.page
index 995e80d..ea57619 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedD.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedD.page
@@ -1,25 +1,40 @@
 <?xml version="1.0"?>
 <page id="Regress.TestBoxedD"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestBoxedD</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+from gi.repository import Regress
+
+test_boxed_d = Regress.TestBoxedD()
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestCallback.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestCallback.page
index bed84d5..89bde37 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestCallback.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestCallback.page
@@ -1,25 +1,25 @@
 <?xml version="1.0"?>
 <page id="Regress.TestCallback"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="callback" type="guide"/>
   </info>
   <title>Regress.TestCallback</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-python">
+ returns(int)
+def on_TestCallback():
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestCallbackArray.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestCallbackArray.page
index 7d3f7b8..aa45b05 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestCallbackArray.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestCallbackArray.page
@@ -1,25 +1,42 @@
 <?xml version="1.0"?>
 <page id="Regress.TestCallbackArray"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="callback" type="guide"/>
   </info>
   <title>Regress.TestCallbackArray</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-python">
+ accepts([int], gsize, [unicode], int)
+ returns(int)
+def on_TestCallbackArray(one, one_length, two, two_length):
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>one</code></title>
+
+</item>
+<item>
+<title><code>one_length</code></title>
+
+</item>
+<item>
+<title><code>two</code></title>
+
+</item>
+<item>
+<title><code>two_length</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestCallbackFull.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestCallbackFull.page
index 0b8fca1..73a5992 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestCallbackFull.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestCallbackFull.page
@@ -1,25 +1,38 @@
 <?xml version="1.0"?>
 <page id="Regress.TestCallbackFull"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="callback" type="guide"/>
   </info>
   <title>Regress.TestCallbackFull</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-python">
+ accepts(int, float, filename)
+ returns(int)
+def on_TestCallbackFull(foo, bar, path):
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>foo</code></title>
+  <p>the investment rate</p>
+</item>
+<item>
+<title><code>bar</code></title>
+  <p>how much money</p>
+</item>
+<item>
+<title><code>path</code></title>
+  <p>Path to file</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestCallbackGError.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestCallbackGError.page
index 804382f..e5da462 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestCallbackGError.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestCallbackGError.page
@@ -1,25 +1,26 @@
 <?xml version="1.0"?>
 <page id="Regress.TestCallbackGError"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="callback" type="guide"/>
   </info>
   <title>Regress.TestCallbackGError</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-python">
+ accepts(GLib.Error)
+ returns(none)
+def on_TestCallbackGError(error):
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>error</code></title>
+
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestCallbackHashtable.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestCallbackHashtable.page
index 06ebb70..27918f6 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestCallbackHashtable.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestCallbackHashtable.page
@@ -1,25 +1,26 @@
 <?xml version="1.0"?>
 <page id="Regress.TestCallbackHashtable"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="callback" type="guide"/>
   </info>
   <title>Regress.TestCallbackHashtable</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-python">
+ accepts({unicode: int})
+ returns(none)
+def on_TestCallbackHashtable(data):
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>data</code></title>
+  <p>a hash table; will be modified</p>
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestCallbackOwnedGError.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestCallbackOwnedGError.page
index 28b21ea..e45a3f4 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestCallbackOwnedGError.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestCallbackOwnedGError.page
@@ -1,25 +1,26 @@
 <?xml version="1.0"?>
 <page id="Regress.TestCallbackOwnedGError"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="callback" type="guide"/>
   </info>
   <title>Regress.TestCallbackOwnedGError</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-python">
+ accepts(GLib.Error)
+ returns(none)
+def on_TestCallbackOwnedGError(error):
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>error</code></title>
+  <p>GError instance; must be freed by the callback</p>
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestCallbackUserData.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestCallbackUserData.page
index 286c830..b34f92a 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestCallbackUserData.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestCallbackUserData.page
@@ -1,25 +1,30 @@
 <?xml version="1.0"?>
 <page id="Regress.TestCallbackUserData"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="callback" type="guide"/>
   </info>
   <title>Regress.TestCallbackUserData</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-python">
+ accepts(gpointer)
+ returns(int)
+def on_TestCallbackUserData(user_data):
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>user_data</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestDEFError.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestDEFError.page
index 589059d..4ee8637 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestDEFError.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestDEFError.page
@@ -6,19 +6,11 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="enum" type="guide"/>
-    
+    <link xref="index" group="enum" type="guide"/>
   </info>
   <title>Regress.TestDEFError</title>
-  
-  
-  
-    
-  
-  
-  
-  
+
+
 <terms>
 <item>
 <title><code>TestDEFError.CODE0</code></title>
@@ -34,6 +26,4 @@
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestEnum.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestEnum.page
index 814b474..10a6897 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestEnum.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestEnum.page
@@ -6,27 +6,19 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="enum" type="guide"/>
-    
+    <link xref="index" group="enum" type="guide"/>
   </info>
   <title>Regress.TestEnum</title>
-  
-  
-  
-    <p>By purpose, not all members have documentation</p>
-  
-  
-  
-  
+  <p>By purpose, not all members have documentation</p>
+
 <terms>
 <item>
 <title><code>TestEnum.VALUE1</code></title>
-<p>value 1</p>
+  <p>value 1</p>
 </item>
 <item>
 <title><code>TestEnum.VALUE2</code></title>
-<p>value 2</p>
+  <p>value 2</p>
 </item>
 <item>
 <title><code>TestEnum.VALUE3</code></title>
@@ -38,6 +30,4 @@
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestEnum.param.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestEnum.param.page
index 2468478..162276e 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestEnum.param.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestEnum.param.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>e</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.param</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.param</title>
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestEnum)
 @returns(unicode)
 def param(e):
     # Python wrapper for regress_test_enum_param()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>e</code></title>
@@ -46,6 +38,4 @@ def param(e):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestEnumNoGEnum.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestEnumNoGEnum.page
index 5c0c559..34de1b8 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestEnumNoGEnum.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestEnumNoGEnum.page
@@ -6,19 +6,11 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="enum" type="guide"/>
-    
+    <link xref="index" group="enum" type="guide"/>
   </info>
   <title>Regress.TestEnumNoGEnum</title>
-  
-  
-  
-    
-  
-  
-  
-  
+
+
 <terms>
 <item>
 <title><code>TestEnumNoGEnum.EVALUE1</code></title>
@@ -34,6 +26,4 @@
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestEnumUnsigned.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestEnumUnsigned.page
index df3cfa1..e6976c8 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestEnumUnsigned.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestEnumUnsigned.page
@@ -6,19 +6,11 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="enum" type="guide"/>
-    
+    <link xref="index" group="enum" type="guide"/>
   </info>
   <title>Regress.TestEnumUnsigned</title>
-  
-  
-  
-    
-  
-  
-  
-  
+
+
 <terms>
 <item>
 <title><code>TestEnumUnsigned.VALUE1</code></title>
@@ -30,6 +22,4 @@
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestError.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestError.page
index d6a6ebb..15f5583 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestError.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestError.page
@@ -6,19 +6,11 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="enum" type="guide"/>
-    
+    <link xref="index" group="enum" type="guide"/>
   </info>
   <title>Regress.TestError</title>
-  
-  
-  
-    
-  
-  
-  
-  
+
+
 <terms>
 <item>
 <title><code>TestError.CODE1</code></title>
@@ -34,6 +26,4 @@
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestError.quark.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestError.quark.page
index 07a91a3..747f149 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestError.quark.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestError.quark.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_error_quark</api:name>
     </api:function>
-
   </info>
-  <title>Index.quark</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.quark</title>
+  <synopsis><code mime="text/x-python">
 @returns(GLib.Quark)
 def quark():
     # Python wrapper for regress_test_error_quark()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def quark():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestFlags.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFlags.page
index d5bfeeb..efab1a0 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestFlags.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFlags.page
@@ -6,20 +6,9 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
   <title>Regress.TestFlags</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFloating-parent_instance.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestFloating-parent_instance.page
index 6dc17b3..c546875 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFloating-parent_instance.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestFloating-parent_instance"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestFloating" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestFloating->parent_instance</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestFloating.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFloating.page
index a2b80e1..e61af14 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestFloating.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFloating.page
@@ -6,23 +6,16 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="class" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestFloating</title>
-  
   <synopsis><code>
 from gi.repository import Regress
 
-test_floating = Regress.TestFloating()  </code></synopsis>
+test_floating = Regress.TestFloating()
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
   <synopsis>
     <title>Hierarchy</title>
     <tree>
@@ -37,8 +30,11 @@ test_floating = Regress.TestFloating()  </code></synopsis>
       </item>
     </tree>
   </synopsis>
-
-  
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/python"
          groups="method" style="linklist">
@@ -47,7 +43,7 @@ test_floating = Regress.TestFloating()  </code></synopsis>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/python"
          groups="function" style="linklist">
-    <title>Functions</title>
+    <title>Static Functions</title>
   </links>
   <links type="topic" ui:expanded="true" groups="property" style="linklist">
     <title>Properties</title>
@@ -58,8 +54,10 @@ test_floating = Regress.TestFloating()  </code></synopsis>
   <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
     <title>Virtual functions</title>
   </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
   <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
     <title>Other</title>
   </links>
-
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObject-flags.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObject-flags.page
index 6dc17b3..875ba30 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObject-flags.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestFundamentalObject-flags"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestFundamentalObject" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestFundamentalObject->flags</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObject-instance.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObject-instance.page
index 6dc17b3..693df03 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObject-instance.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestFundamentalObject-instance"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestFundamentalObject" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestFundamentalObject->instance</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObject-refcount.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObject-refcount.page
index 6dc17b3..3413765 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObject-refcount.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestFundamentalObject-refcount"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestFundamentalObject" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestFundamentalObject->refcount</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObject.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObject.page
index 7035407..fe54afd 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObject.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObject.page
@@ -6,23 +6,16 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="class" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestFundamentalObject</title>
-  
   <synopsis><code>
 from gi.repository import Regress
 
-test_fundamental_object = Regress.TestFundamentalObject()  </code></synopsis>
+test_fundamental_object = Regress.TestFundamentalObject()
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
   <synopsis>
     <title>Hierarchy</title>
     <tree>
@@ -31,8 +24,11 @@ test_fundamental_object = Regress.TestFundamentalObject()  </code></synopsis>
       </item>
     </tree>
   </synopsis>
-
-  
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/python"
          groups="method" style="linklist">
@@ -41,7 +37,7 @@ test_fundamental_object = Regress.TestFundamentalObject()  </code></synopsis>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/python"
          groups="function" style="linklist">
-    <title>Functions</title>
+    <title>Static Functions</title>
   </links>
   <links type="topic" ui:expanded="true" groups="property" style="linklist">
     <title>Properties</title>
@@ -52,8 +48,10 @@ test_fundamental_object = Regress.TestFundamentalObject()  </code></synopsis>
   <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
     <title>Virtual functions</title>
   </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
   <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
     <title>Other</title>
   </links>
-
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObject.ref.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObject.ref.page
index ed3159d..cbd364b 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObject.ref.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObject.ref.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestFundamentalObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>self</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestFundamentalObject.ref</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestFundamentalObject)
 @returns(Regress.TestFundamentalObject)
 def ref(self):
     # Python wrapper for regress_test_fundamental_object_ref()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -46,6 +38,4 @@ def ref(self):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObject.unref.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObject.unref.page
index 1ecf6c1..a356238 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObject.unref.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObject.unref.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestFundamentalObject" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>self</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestFundamentalObject.unref</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestFundamentalObject)
 @returns(none)
 def unref(self):
     # Python wrapper for regress_test_fundamental_object_unref()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -42,6 +34,4 @@ def unref(self):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObjectCopyFunction.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObjectCopyFunction.page
index 73a3328..d776e83 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObjectCopyFunction.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObjectCopyFunction.page
@@ -1,25 +1,30 @@
 <?xml version="1.0"?>
 <page id="Regress.TestFundamentalObjectCopyFunction"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="callback" type="guide"/>
   </info>
   <title>Regress.TestFundamentalObjectCopyFunction</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-python">
+ accepts(Regress.TestFundamentalObject)
+ returns(Regress.TestFundamentalObject)
+def on_TestFundamentalObjectCopyFunction(obj):
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>obj</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObjectFinalizeFunction.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObjectFinalizeFunction.page
index df0e8fb..beaa9fd 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObjectFinalizeFunction.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObjectFinalizeFunction.page
@@ -1,25 +1,26 @@
 <?xml version="1.0"?>
 <page id="Regress.TestFundamentalObjectFinalizeFunction"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="callback" type="guide"/>
   </info>
   <title>Regress.TestFundamentalObjectFinalizeFunction</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-python">
+ accepts(Regress.TestFundamentalObject)
+ returns(none)
+def on_TestFundamentalObjectFinalizeFunction(obj):
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>obj</code></title>
+
+</item>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalSubObject-data.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalSubObject-data.page
index 6dc17b3..02269eb 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalSubObject-data.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestFundamentalSubObject-data"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestFundamentalSubObject" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestFundamentalSubObject->data</title>
+
+
 </page>
diff --git 
a/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalSubObject-fundamental_object.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalSubObject-fundamental_object.page
new file mode 100644
index 0000000..27c5cf4
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalSubObject-fundamental_object.page
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFundamentalSubObject-fundamental_object"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestFundamentalSubObject" group="field" type="guide"/>
+  </info>
+  <title>Regress.TestFundamentalSubObject->fundamental_object</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalSubObject.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalSubObject.page
index 6b1e810..8a454a6 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalSubObject.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalSubObject.page
@@ -6,23 +6,16 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="class" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestFundamentalSubObject</title>
-  
   <synopsis><code>
 from gi.repository import Regress
 
-test_fundamental_sub_object = Regress.TestFundamentalSubObject()  </code></synopsis>
+test_fundamental_sub_object = Regress.TestFundamentalSubObject()
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
   <synopsis>
     <title>Hierarchy</title>
     <tree>
@@ -34,8 +27,11 @@ test_fundamental_sub_object = Regress.TestFundamentalSubObject()  </code></synop
       </item>
     </tree>
   </synopsis>
-
-  
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/python"
          groups="method" style="linklist">
@@ -44,7 +40,7 @@ test_fundamental_sub_object = Regress.TestFundamentalSubObject()  </code></synop
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/python"
          groups="function" style="linklist">
-    <title>Functions</title>
+    <title>Static Functions</title>
   </links>
   <links type="topic" ui:expanded="true" groups="property" style="linklist">
     <title>Properties</title>
@@ -55,8 +51,10 @@ test_fundamental_sub_object = Regress.TestFundamentalSubObject()  </code></synop
   <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
     <title>Virtual functions</title>
   </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
   <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
     <title>Other</title>
   </links>
-
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritDrawable-parent_instance.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritDrawable-parent_instance.page
index 6dc17b3..2295feb 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritDrawable-parent_instance.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestInheritDrawable-parent_instance"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestInheritDrawable" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestInheritDrawable->parent_instance</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritDrawable.do_foo.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritDrawable.do_foo.page
index 1cfcfdc..c472c32 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritDrawable.do_foo.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritDrawable.do_foo.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestInheritDrawable" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,23 +21,16 @@
         <api:name>x</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestInheritDrawable.do_foo</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestInheritDrawable, int)
 @returns(none)
 def do_foo(self, x):
     # Python wrapper for regress_test_inherit_drawable_do_foo()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -50,6 +42,4 @@ def do_foo(self, x):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritDrawable.do_foo_maybe_throw.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritDrawable.do_foo_maybe_throw.page
index e00b489..97ccc2b 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritDrawable.do_foo_maybe_throw.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritDrawable.do_foo_maybe_throw.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestInheritDrawable" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,23 +21,16 @@
         <api:name>x</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestInheritDrawable.do_foo_maybe_throw</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestInheritDrawable, int)
 @returns(none)
 def do_foo_maybe_throw(self, x):
     # Python wrapper for regress_test_inherit_drawable_do_foo_maybe_throw()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -50,6 +42,4 @@ def do_foo_maybe_throw(self, x):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritDrawable.get_origin.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritDrawable.get_origin.page
index 357d069..08044b3 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritDrawable.get_origin.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritDrawable.get_origin.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestInheritDrawable" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -26,23 +25,16 @@
         <api:name>y</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestInheritDrawable.get_origin</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestInheritDrawable, int, int)
 @returns(none)
 def get_origin(self, x, y):
     # Python wrapper for regress_test_inherit_drawable_get_origin()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -58,6 +50,4 @@ def get_origin(self, x, y):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritDrawable.get_size.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritDrawable.get_size.page
index 3bbdfed..95ecf36 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritDrawable.get_size.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritDrawable.get_size.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestInheritDrawable" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -26,23 +25,16 @@
         <api:name>height</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestInheritDrawable.get_size</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestInheritDrawable, int, int)
 @returns(none)
 def get_size(self, width, height):
     # Python wrapper for regress_test_inherit_drawable_get_size()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -58,6 +50,4 @@ def get_size(self, width, height):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritDrawable.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritDrawable.page
index 1fdd2c8..7322be0 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritDrawable.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritDrawable.page
@@ -6,23 +6,16 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="class" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestInheritDrawable</title>
-  
   <synopsis><code>
 from gi.repository import Regress
 
-test_inherit_drawable = Regress.TestInheritDrawable()  </code></synopsis>
+test_inherit_drawable = Regress.TestInheritDrawable()
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
   <synopsis>
     <title>Hierarchy</title>
     <tree>
@@ -34,8 +27,11 @@ test_inherit_drawable = Regress.TestInheritDrawable()  </code></synopsis>
       </item>
     </tree>
   </synopsis>
-
-  
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/python"
          groups="method" style="linklist">
@@ -44,7 +40,7 @@ test_inherit_drawable = Regress.TestInheritDrawable()  </code></synopsis>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/python"
          groups="function" style="linklist">
-    <title>Functions</title>
+    <title>Static Functions</title>
   </links>
   <links type="topic" ui:expanded="true" groups="property" style="linklist">
     <title>Properties</title>
@@ -55,8 +51,10 @@ test_inherit_drawable = Regress.TestInheritDrawable()  </code></synopsis>
   <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
     <title>Virtual functions</title>
   </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
   <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
     <title>Other</title>
   </links>
-
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritPixmapObjectClass-parent_class.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritPixmapObjectClass-parent_class.page
new file mode 100644
index 0000000..bf056d8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritPixmapObjectClass-parent_class.page
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<page id="Regress.TestInheritPixmapObjectClass-parent_class"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestInheritPixmapObjectClass" group="field" type="guide"/>
+  </info>
+  <title>Regress.TestInheritPixmapObjectClass->parent_class</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritPixmapObjectClass.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritPixmapObjectClass.page
index 0df0396..14b0ab6 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritPixmapObjectClass.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritPixmapObjectClass.page
@@ -1,25 +1,40 @@
 <?xml version="1.0"?>
 <page id="Regress.TestInheritPixmapObjectClass"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestInheritPixmapObjectClass</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+from gi.repository import Regress
+
+test_inherit_pixmap_object_class = Regress.TestInheritPixmapObjectClass()
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestInterface.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestInterface.page
index 807e18a..7fb4c88 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestInterface.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestInterface.page
@@ -1,38 +1,33 @@
 <?xml version="1.0"?>
 <page id="Regress.TestInterface"
       type="guide"
-      style="class"
+      style="interface"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="class" type="guide"/>
-    
+    <link xref="index" group="interface" type="guide"/>
   </info>
   <title>Regress.TestInterface</title>
-  
   <synopsis><code>
 from gi.repository import Regress
 
 test_interface = Regress.TestInterface()  </code></synopsis>
 
-  
-    
-  
-  
-  
-  
+
   <synopsis>
-    <title>Hierarchy</title>
-    <tree>
-      <item>
-        <code>Regress.TestInterface</code>
-      </item>
-    </tree>
+    <title>Prerequisites</title>
+    <p>TestInterface requires GObject.Object</p>
+  </synopsis>
+  <synopsis>
+    <title>Known Implementations</title>
+    <p>None</p>
   </synopsis>
-
-  
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/python"
          groups="method" style="linklist">
@@ -41,7 +36,7 @@ test_interface = Regress.TestInterface()  </code></synopsis>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/python"
          groups="function" style="linklist">
-    <title>Functions</title>
+    <title>Static Functions</title>
   </links>
   <links type="topic" ui:expanded="true" groups="property" style="linklist">
     <title>Properties</title>
@@ -52,8 +47,10 @@ test_interface = Regress.TestInterface()  </code></synopsis>
   <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
     <title>Virtual functions</title>
   </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
   <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
     <title>Other</title>
   </links>
-
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-all.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-all.page
index f8fb4a1..bf42080 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-all.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-all.page
@@ -6,23 +6,15 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="signal" type="guide"/>
     <title type="link" role="topic">all</title>
-
   </info>
   <title>Regress.TestObj::all</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 def callback(test_obj, user_param1, ...)
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>test_obj</code></title>
@@ -36,6 +28,4 @@ def callback(test_obj, user_param1, ...)
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-allow_none_vfunc.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-allow_none_vfunc.page
index 7a3b9c9..adae8c0 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-allow_none_vfunc.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-allow_none_vfunc.page
@@ -6,24 +6,16 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="Regress.TestObj" group="vfunc" type="guide"/>
-    
+    <link xref="Regress.TestObj" group="vfunc" type="guide"/>
   </info>
   <title>Regress.TestObj::allow_none_vfunc</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestObj, Regress.TestObj)
 @returns(none)
 def do_allow_none_vfunc(obj, two):
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>obj</code></title>
@@ -31,10 +23,8 @@ def do_allow_none_vfunc(obj, two):
 </item>
 <item>
 <title><code>two</code></title>
-<p>Another object</p>
+  <p>Another object</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-bare.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-bare.page
index f1f1b52..cb3eaf3 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-bare.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-bare.page
@@ -6,24 +6,13 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="property" type="guide"/>
     <title type="link" role="topic">bare</title>
-
   </info>
   <title>Regress.TestObj:bare</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 "bare"             GObject.Object                : Read / Write
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
-  
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-boxed.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-boxed.page
index a392a77..8e97615 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-boxed.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-boxed.page
@@ -6,24 +6,13 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="property" type="guide"/>
     <title type="link" role="topic">boxed</title>
-
   </info>
   <title>Regress.TestObj:boxed</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 "boxed"             Regress.TestBoxed                : Read / Write
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
-  
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-cleanup.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-cleanup.page
index f35c031..1ef90a9 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-cleanup.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-cleanup.page
@@ -6,23 +6,15 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="signal" type="guide"/>
     <title type="link" role="topic">cleanup</title>
-
   </info>
   <title>Regress.TestObj::cleanup</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 def callback(test_obj, user_param1, ...)
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>test_obj</code></title>
@@ -36,6 +28,4 @@ def callback(test_obj, user_param1, ...)
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-double.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-double.page
index 70fd579..1641a85 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-double.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-double.page
@@ -6,24 +6,13 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="property" type="guide"/>
     <title type="link" role="topic">double</title>
-
   </info>
   <title>Regress.TestObj:double</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 "double"             float                : Read / Write
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
-  
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-first.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-first.page
index b5bcd2c..e7515c9 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-first.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-first.page
@@ -6,23 +6,15 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="signal" type="guide"/>
     <title type="link" role="topic">first</title>
-
   </info>
   <title>Regress.TestObj::first</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 def callback(test_obj, user_param1, ...)
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>test_obj</code></title>
@@ -36,6 +28,4 @@ def callback(test_obj, user_param1, ...)
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-float.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-float.page
index 87be50f..7d05695 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-float.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-float.page
@@ -6,24 +6,13 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="property" type="guide"/>
     <title type="link" role="topic">float</title>
-
   </info>
   <title>Regress.TestObj:float</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 "float"             float                : Read / Write
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
-  
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-gtype.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-gtype.page
index 6b222e4..e1da126 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-gtype.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-gtype.page
@@ -6,24 +6,13 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="property" type="guide"/>
     <title type="link" role="topic">gtype</title>
-
   </info>
   <title>Regress.TestObj:gtype</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 "gtype"             GType                : Read / Write
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
-  
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-hash-table-old.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-hash-table-old.page
index c796f36..4137113 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-hash-table-old.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-hash-table-old.page
@@ -6,24 +6,13 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="property" type="guide"/>
     <title type="link" role="topic">hash-table-old</title>
-
   </info>
   <title>Regress.TestObj:hash-table-old</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 "hash-table-old"             {unicode: gint8}                : Read / Write
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
-  
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-hash-table.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-hash-table.page
index c5d426c..5567b58 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-hash-table.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-hash-table.page
@@ -6,24 +6,13 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="property" type="guide"/>
     <title type="link" role="topic">hash-table</title>
-
   </info>
   <title>Regress.TestObj:hash-table</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 "hash-table"             {unicode: gint8}                : Read / Write
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
-  
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-hash_table.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-hash_table.page
index 6dc17b3..40653a9 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-hash_table.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestObj-hash_table"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestObj" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestObj->hash_table</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-int.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-int.page
index db7a89e..3830204 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-int.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-int.page
@@ -6,24 +6,13 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="property" type="guide"/>
     <title type="link" role="topic">int</title>
-
   </info>
   <title>Regress.TestObj:int</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 "int"             int                : Read / Write
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
-  
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-list-old.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-list-old.page
index 95367ec..eee06b8 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-list-old.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-list-old.page
@@ -6,24 +6,13 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="property" type="guide"/>
     <title type="link" role="topic">list-old</title>
-
   </info>
   <title>Regress.TestObj:list-old</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 "list-old"             [unicode]                : Read / Write
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
-  
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-list.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-list.page
index aca148d..e23acdb 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-list.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-list.page
@@ -6,24 +6,13 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="property" type="guide"/>
     <title type="link" role="topic">list</title>
-
   </info>
   <title>Regress.TestObj:list</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 "list"             [unicode]                : Read / Write
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
-  
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-matrix.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-matrix.page
index 742e6da..857ddb7 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-matrix.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-matrix.page
@@ -6,34 +6,26 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="Regress.TestObj" group="vfunc" type="guide"/>
-    
+    <link xref="Regress.TestObj" group="vfunc" type="guide"/>
   </info>
   <title>Regress.TestObj::matrix</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestObj, unicode)
 @returns(int)
 def do_matrix(obj, somestr):
-</code></synopsis>
-
-  
-    <p>This method is virtual.  Notably its name differs from the virtual
+  </code></synopsis>
+  <p>This method is virtual.  Notably its name differs from the virtual
 slot name, which makes it useful for testing bindings handle this
 case.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>obj</code></title>
-<p>A <link xref="Regress.TestObj"/></p>
+  <p>A <link xref="Regress.TestObj"/></p>
 </item>
 <item>
 <title><code>somestr</code></title>
-<p>Meaningless string</p>
+  <p>Meaningless string</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -41,6 +33,4 @@ case.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-parent_instance.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-parent_instance.page
index 6dc17b3..52b356b 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-parent_instance.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestObj-parent_instance"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestObj" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestObj->parent_instance</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-array-len-prop.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-array-len-prop.page
index a228de1..2b38065 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-array-len-prop.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-array-len-prop.page
@@ -6,23 +6,15 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="signal" type="guide"/>
     <title type="link" role="topic">sig-with-array-len-prop</title>
-
   </info>
   <title>Regress.TestObj::sig-with-array-len-prop</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 def callback(test_obj, arr, len, user_param1, ...)
-</code></synopsis>
+  </code></synopsis>
+  <p>This test signal similar to GSettings::change-event</p>
 
-  
-    <p>This test signal similar to GSettings::change-event</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>test_obj</code></title>
@@ -30,11 +22,11 @@ def callback(test_obj, arr, len, user_param1, ...)
 </item>
 <item>
 <title><code>arr</code></title>
-<p>numbers, or <code>None</code></p>
+  <p>numbers, or <code>None</code></p>
 </item>
 <item>
 <title><code>len</code></title>
-<p>length of <code>arr</code>, or 0</p>
+  <p>length of <code>arr</code>, or 0</p>
 </item>
 <title><code>user_param1</code></title>
 <p>first user parameter (if any) specified with the connect() method</p>
@@ -44,6 +36,4 @@ def callback(test_obj, arr, len, user_param1, ...)
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-array-prop.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-array-prop.page
index eb1b99f..e0a8849 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-array-prop.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-array-prop.page
@@ -6,24 +6,16 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="signal" type="guide"/>
     <title type="link" role="topic">sig-with-array-prop</title>
-
   </info>
   <title>Regress.TestObj::sig-with-array-prop</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 def callback(test_obj, arr, user_param1, ...)
-</code></synopsis>
-
-  
-    <p>This test signal is like TelepathyGlib's
+  </code></synopsis>
+  <p>This test signal is like TelepathyGlib's
  TpChannel:: group-members-changed-detailed:</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>test_obj</code></title>
@@ -31,7 +23,7 @@ def callback(test_obj, arr, user_param1, ...)
 </item>
 <item>
 <title><code>arr</code></title>
-<p>numbers</p>
+  <p>numbers</p>
 </item>
 <title><code>user_param1</code></title>
 <p>first user parameter (if any) specified with the connect() method</p>
@@ -41,6 +33,4 @@ def callback(test_obj, arr, user_param1, ...)
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-foreign-struct.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-foreign-struct.page
index 36a30d7..e4f05e6 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-foreign-struct.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-foreign-struct.page
@@ -6,23 +6,15 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="signal" type="guide"/>
     <title type="link" role="topic">sig-with-foreign-struct</title>
-
   </info>
   <title>Regress.TestObj::sig-with-foreign-struct</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 def callback(test_obj, cr, user_param1, ...)
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>test_obj</code></title>
@@ -30,7 +22,7 @@ def callback(test_obj, cr, user_param1, ...)
 </item>
 <item>
 <title><code>cr</code></title>
-<p>A cairo context.</p>
+  <p>A cairo context.</p>
 </item>
 <title><code>user_param1</code></title>
 <p>first user parameter (if any) specified with the connect() method</p>
@@ -40,6 +32,4 @@ def callback(test_obj, cr, user_param1, ...)
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-hash-prop.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-hash-prop.page
index 2048ad2..9308415 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-hash-prop.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-hash-prop.page
@@ -6,24 +6,16 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="signal" type="guide"/>
     <title type="link" role="topic">sig-with-hash-prop</title>
-
   </info>
   <title>Regress.TestObj::sig-with-hash-prop</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 def callback(test_obj, hash, user_param1, ...)
-</code></synopsis>
-
-  
-    <p>This test signal is like TelepathyGlib's
+  </code></synopsis>
+  <p>This test signal is like TelepathyGlib's
  TpAccount::status-changed</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>test_obj</code></title>
@@ -41,6 +33,4 @@ def callback(test_obj, hash, user_param1, ...)
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-int64-prop.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-int64-prop.page
index a782484..d1e8718 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-int64-prop.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-int64-prop.page
@@ -6,24 +6,16 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="signal" type="guide"/>
     <title type="link" role="topic">sig-with-int64-prop</title>
-
   </info>
   <title>Regress.TestObj::sig-with-int64-prop</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 def callback(test_obj, i, user_param1, ...)
-</code></synopsis>
-
-  
-    <p>You can use this with regress_test_obj_emit_sig_with_int64, or raise from
+  </code></synopsis>
+  <p>You can use this with regress_test_obj_emit_sig_with_int64, or raise from
 the introspection client langage.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>test_obj</code></title>
@@ -31,7 +23,7 @@ the introspection client langage.</p>
 </item>
 <item>
 <title><code>i</code></title>
-<p>an integer</p>
+  <p>an integer</p>
 </item>
 <title><code>user_param1</code></title>
 <p>first user parameter (if any) specified with the connect() method</p>
@@ -45,6 +37,4 @@ the introspection client langage.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-intarray-ret.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-intarray-ret.page
index d070f17..45964c9 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-intarray-ret.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-intarray-ret.page
@@ -6,23 +6,15 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="signal" type="guide"/>
     <title type="link" role="topic">sig-with-intarray-ret</title>
-
   </info>
   <title>Regress.TestObj::sig-with-intarray-ret</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 def callback(test_obj, i, user_param1, ...)
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>test_obj</code></title>
@@ -30,7 +22,7 @@ def callback(test_obj, i, user_param1, ...)
 </item>
 <item>
 <title><code>i</code></title>
-<p>an integer</p>
+  <p>an integer</p>
 </item>
 <title><code>user_param1</code></title>
 <p>first user parameter (if any) specified with the connect() method</p>
@@ -40,6 +32,4 @@ def callback(test_obj, i, user_param1, ...)
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-obj.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-obj.page
index d4814a8..0f21e17 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-obj.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-obj.page
@@ -6,24 +6,16 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="signal" type="guide"/>
     <title type="link" role="topic">sig-with-obj</title>
-
   </info>
   <title>Regress.TestObj::sig-with-obj</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 def callback(test_obj, obj, user_param1, ...)
-</code></synopsis>
-
-  
-    <p>Test transfer none GObject as a param (tests refcounting).
+  </code></synopsis>
+  <p>Test transfer none GObject as a param (tests refcounting).
 Use with regress_test_obj_emit_sig_with_obj</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>test_obj</code></title>
@@ -31,7 +23,7 @@ Use with regress_test_obj_emit_sig_with_obj</p>
 </item>
 <item>
 <title><code>obj</code></title>
-<p>A newly created RegressTestObj</p>
+  <p>A newly created RegressTestObj</p>
 </item>
 <title><code>user_param1</code></title>
 <p>first user parameter (if any) specified with the connect() method</p>
@@ -41,6 +33,4 @@ Use with regress_test_obj_emit_sig_with_obj</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-strv.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-strv.page
index a7037a4..ae04a85 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-strv.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-strv.page
@@ -6,23 +6,15 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="signal" type="guide"/>
     <title type="link" role="topic">sig-with-strv</title>
-
   </info>
   <title>Regress.TestObj::sig-with-strv</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 def callback(test_obj, strs, user_param1, ...)
-</code></synopsis>
+  </code></synopsis>
+  <p>Test GStrv as a param.</p>
 
-  
-    <p>Test GStrv as a param.</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>test_obj</code></title>
@@ -30,7 +22,7 @@ def callback(test_obj, strs, user_param1, ...)
 </item>
 <item>
 <title><code>strs</code></title>
-<p>strings</p>
+  <p>strings</p>
 </item>
 <title><code>user_param1</code></title>
 <p>first user parameter (if any) specified with the connect() method</p>
@@ -40,6 +32,4 @@ def callback(test_obj, strs, user_param1, ...)
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-uint64-prop.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-uint64-prop.page
index c89d1d1..045bd4b 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-uint64-prop.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-uint64-prop.page
@@ -6,24 +6,16 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="signal" type="guide"/>
     <title type="link" role="topic">sig-with-uint64-prop</title>
-
   </info>
   <title>Regress.TestObj::sig-with-uint64-prop</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 def callback(test_obj, i, user_param1, ...)
-</code></synopsis>
-
-  
-    <p>You can use this with regress_test_obj_emit_sig_with_uint64, or raise from
+  </code></synopsis>
+  <p>You can use this with regress_test_obj_emit_sig_with_uint64, or raise from
 the introspection client langage.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>test_obj</code></title>
@@ -31,7 +23,7 @@ the introspection client langage.</p>
 </item>
 <item>
 <title><code>i</code></title>
-<p>an integer</p>
+  <p>an integer</p>
 </item>
 <title><code>user_param1</code></title>
 <p>first user parameter (if any) specified with the connect() method</p>
@@ -45,6 +37,4 @@ the introspection client langage.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-some_double.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-some_double.page
index 6dc17b3..ffd77f1 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-some_double.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestObj-some_double"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestObj" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestObj->some_double</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-some_float.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-some_float.page
index 6dc17b3..0c22a20 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-some_float.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestObj-some_float"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestObj" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestObj->some_float</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-some_int8.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-some_int8.page
index 6dc17b3..8836889 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-some_int8.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestObj-some_int8"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestObj" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestObj->some_int8</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-string.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-string.page
index fa49993..7d3a819 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-string.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-string.page
@@ -6,24 +6,13 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="property" type="guide"/>
     <title type="link" role="topic">string</title>
-
   </info>
   <title>Regress.TestObj:string</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 "string"             unicode                : Read / Write
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
-  
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-test-with-static-scope-arg.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-test-with-static-scope-arg.page
index 736814c..bbf8c29 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-test-with-static-scope-arg.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-test-with-static-scope-arg.page
@@ -6,23 +6,15 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="signal" type="guide"/>
     <title type="link" role="topic">test-with-static-scope-arg</title>
-
   </info>
   <title>Regress.TestObj::test-with-static-scope-arg</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 def callback(test_obj, object, user_param1, ...)
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>test_obj</code></title>
@@ -40,6 +32,4 @@ def callback(test_obj, object, user_param1, ...)
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-test.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-test.page
index e09f531..c2dbf6e 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-test.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-test.page
@@ -6,23 +6,15 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="signal" type="guide"/>
     <title type="link" role="topic">test</title>
-
   </info>
   <title>Regress.TestObj::test</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 def callback(test_obj, user_param1, ...)
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>test_obj</code></title>
@@ -36,6 +28,4 @@ def callback(test_obj, user_param1, ...)
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.do_matrix.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.do_matrix.page
index 07eaa50..994c3a5 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.do_matrix.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.do_matrix.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,33 +21,26 @@
         <api:name>somestr</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestObj.do_matrix</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestObj, unicode)
 @returns(int)
 def do_matrix(self, somestr):
     # Python wrapper for regress_test_obj_do_matrix()
-</code></synopsis>
-
-  
-    <p>This method is virtual.  Notably its name differs from the virtual
+  </code></synopsis>
+  <p>This method is virtual.  Notably its name differs from the virtual
 slot name, which makes it useful for testing bindings handle this
 case.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>self</code></title>
-<p>A <link xref="Regress.TestObj"/></p>
+  <p>A <link xref="Regress.TestObj"/></p>
 </item>
 <item>
 <title><code>somestr</code></title>
-<p>Meaningless string</p>
+  <p>Meaningless string</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -56,6 +48,4 @@ case.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.emit_sig_with_foreign_struct.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.emit_sig_with_foreign_struct.page
index 065d745..2400bc6 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.emit_sig_with_foreign_struct.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.emit_sig_with_foreign_struct.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>self</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestObj.emit_sig_with_foreign_struct</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestObj)
 @returns(none)
 def emit_sig_with_foreign_struct(self):
     # Python wrapper for regress_test_obj_emit_sig_with_foreign_struct()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -42,6 +34,4 @@ def emit_sig_with_foreign_struct(self):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.emit_sig_with_int64.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.emit_sig_with_int64.page
index fb0679a..5760c64 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.emit_sig_with_int64.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.emit_sig_with_int64.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>self</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestObj.emit_sig_with_int64</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestObj)
 @returns(none)
 def emit_sig_with_int64(self):
     # Python wrapper for regress_test_obj_emit_sig_with_int64()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -42,6 +34,4 @@ def emit_sig_with_int64(self):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.emit_sig_with_obj.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.emit_sig_with_obj.page
index 2515498..eb961af 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.emit_sig_with_obj.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.emit_sig_with_obj.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>self</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestObj.emit_sig_with_obj</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestObj)
 @returns(none)
 def emit_sig_with_obj(self):
     # Python wrapper for regress_test_obj_emit_sig_with_obj()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -42,6 +34,4 @@ def emit_sig_with_obj(self):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.emit_sig_with_uint64.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.emit_sig_with_uint64.page
index 34fbfe3..659b882 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.emit_sig_with_uint64.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.emit_sig_with_uint64.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>self</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestObj.emit_sig_with_uint64</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestObj)
 @returns(none)
 def emit_sig_with_uint64(self):
     # Python wrapper for regress_test_obj_emit_sig_with_uint64()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -42,6 +34,4 @@ def emit_sig_with_uint64(self):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.forced_method.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.forced_method.page
index e477052..a8dbc9a 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.forced_method.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.forced_method.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,30 +17,21 @@
         <api:name>self</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestObj.forced_method</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestObj)
 @returns(none)
 def forced_method(self):
     # Python wrapper for regress_forced_method()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
-<p>A <link xref="Regress.TestObj"/></p>
+  <p>A <link xref="Regress.TestObj"/></p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.instance_method.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.instance_method.page
index 58c58e3..cd73b23 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.instance_method.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.instance_method.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>self</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestObj.instance_method</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestObj)
 @returns(int)
 def instance_method(self):
     # Python wrapper for regress_test_obj_instance_method()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -46,6 +38,4 @@ def instance_method(self):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.instance_method_callback.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.instance_method_callback.page
index d491fa6..15402e6 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.instance_method_callback.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.instance_method_callback.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,23 +21,16 @@
         <api:name>callback</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestObj.instance_method_callback</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestObj, Regress.TestCallback)
 @returns(none)
 def instance_method_callback(self, callback):
     # Python wrapper for regress_test_obj_instance_method_callback()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -50,6 +42,4 @@ def instance_method_callback(self, callback):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.null_out.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.null_out.page
index a1c0660..3c6146b 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.null_out.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.null_out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,30 +17,21 @@
         <api:name>obj</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestObj.null_out</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestObj)
 @returns(none)
 def null_out(obj):
     # Python wrapper for regress_test_obj_null_out()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>obj</code></title>
-<p>A <link xref="Regress.TestObj"/></p>
+  <p>A <link xref="Regress.TestObj"/></p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.page
index 1ded23c..56033fd 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.page
@@ -6,23 +6,16 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="class" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestObj</title>
-  
   <synopsis><code>
 from gi.repository import Regress
 
-test_obj = Regress.TestObj(<link xref='Regress.TestObj-bare'>bare</link>=value, <link 
xref='Regress.TestObj-boxed'>boxed</link>=value, <link xref='Regress.TestObj-double'>double</link>=value, 
<link xref='Regress.TestObj-float'>float</link>=value, <link xref='Regress.TestObj-gtype'>gtype</link>=value, 
<link xref='Regress.TestObj-hash-table'>hash_table</link>=value, <link 
xref='Regress.TestObj-hash-table-old'>hash_table_old</link>=value, <link 
xref='Regress.TestObj-int'>int</link>=value, <link xref='Regress.TestObj-list'>list</link>=value, <link 
xref='Regress.TestObj-list-old'>list_old</link>=value, <link 
xref='Regress.TestObj-string'>string</link>=value)  </code></synopsis>
+test_obj = Regress.TestObj(<link xref='Regress.TestObj-bare'>bare</link>=value, <link 
xref='Regress.TestObj-boxed'>boxed</link>=value, <link xref='Regress.TestObj-double'>double</link>=value, 
<link xref='Regress.TestObj-float'>float</link>=value, <link xref='Regress.TestObj-gtype'>gtype</link>=value, 
<link xref='Regress.TestObj-hash-table'>hash_table</link>=value, <link 
xref='Regress.TestObj-hash-table-old'>hash_table_old</link>=value, <link 
xref='Regress.TestObj-int'>int</link>=value, <link xref='Regress.TestObj-list'>list</link>=value, <link 
xref='Regress.TestObj-list-old'>list_old</link>=value, <link 
xref='Regress.TestObj-string'>string</link>=value)
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
   <synopsis>
     <title>Hierarchy</title>
     <tree>
@@ -34,8 +27,11 @@ test_obj = Regress.TestObj(<link xref='Regress.TestObj-bare'>bare</link>=value,
       </item>
     </tree>
   </synopsis>
-
-  
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/python"
          groups="method" style="linklist">
@@ -44,7 +40,7 @@ test_obj = Regress.TestObj(<link xref='Regress.TestObj-bare'>bare</link>=value,
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/python"
          groups="function" style="linklist">
-    <title>Functions</title>
+    <title>Static Functions</title>
   </links>
   <links type="topic" ui:expanded="true" groups="property" style="linklist">
     <title>Properties</title>
@@ -55,8 +51,10 @@ test_obj = Regress.TestObj(<link xref='Regress.TestObj-bare'>bare</link>=value,
   <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
     <title>Virtual functions</title>
   </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
   <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
     <title>Other</title>
   </links>
-
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.set_bare.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.set_bare.page
index 63acc89..2d405e9 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.set_bare.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.set_bare.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,23 +21,16 @@
         <api:name>bare</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestObj.set_bare</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestObj, GObject.Object)
 @returns(none)
 def set_bare(self, bare):
     # Python wrapper for regress_test_obj_set_bare()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -50,6 +42,4 @@ def set_bare(self, bare):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.skip_inout_param.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.skip_inout_param.page
index 3d32ba0..e3ba881 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.skip_inout_param.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.skip_inout_param.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -46,55 +45,48 @@
         <api:name>num2</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestObj.skip_inout_param</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestObj, int, int, float, int, int, int, int)
 @returns(bool)
 def skip_inout_param(self, a, out_b, c, inout_d, out_sum, num1, num2):
     # Python wrapper for regress_test_obj_skip_inout_param()
-</code></synopsis>
+  </code></synopsis>
+  <p>Check that the out value is skipped</p>
 
-  
-    <p>Check that the out value is skipped</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
-<p>A <link xref="Regress.TestObj"/>.</p>
+  <p>A <link xref="Regress.TestObj"/>.</p>
 </item>
 <item>
 <title><code>a</code></title>
-<p>Parameter.</p>
+  <p>Parameter.</p>
 </item>
 <item>
 <title><code>out_b</code></title>
-<p>Return value.</p>
+  <p>Return value.</p>
 </item>
 <item>
 <title><code>c</code></title>
-<p>Other parameter.</p>
+  <p>Other parameter.</p>
 </item>
 <item>
 <title><code>inout_d</code></title>
-<p>Will be incremented.</p>
+  <p>Will be incremented.</p>
 </item>
 <item>
 <title><code>out_sum</code></title>
-<p>Return value.</p>
+  <p>Return value.</p>
 </item>
 <item>
 <title><code>num1</code></title>
-<p>Number.</p>
+  <p>Number.</p>
 </item>
 <item>
 <title><code>num2</code></title>
-<p>Number.</p>
+  <p>Number.</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -102,6 +94,4 @@ def skip_inout_param(self, a, out_b, c, inout_d, out_sum, num1, num2):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.skip_out_param.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.skip_out_param.page
index 58c5268..e055130 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.skip_out_param.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.skip_out_param.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -46,55 +45,48 @@
         <api:name>num2</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestObj.skip_out_param</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestObj, int, int, float, int, int, int, int)
 @returns(bool)
 def skip_out_param(self, a, out_b, c, inout_d, out_sum, num1, num2):
     # Python wrapper for regress_test_obj_skip_out_param()
-</code></synopsis>
+  </code></synopsis>
+  <p>Check that the out value is skipped</p>
 
-  
-    <p>Check that the out value is skipped</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
-<p>A <link xref="Regress.TestObj"/>.</p>
+  <p>A <link xref="Regress.TestObj"/>.</p>
 </item>
 <item>
 <title><code>a</code></title>
-<p>Parameter.</p>
+  <p>Parameter.</p>
 </item>
 <item>
 <title><code>out_b</code></title>
-<p>Return value.</p>
+  <p>Return value.</p>
 </item>
 <item>
 <title><code>c</code></title>
-<p>Other parameter.</p>
+  <p>Other parameter.</p>
 </item>
 <item>
 <title><code>inout_d</code></title>
-<p>Will be incremented.</p>
+  <p>Will be incremented.</p>
 </item>
 <item>
 <title><code>out_sum</code></title>
-<p>Return value.</p>
+  <p>Return value.</p>
 </item>
 <item>
 <title><code>num1</code></title>
-<p>Number.</p>
+  <p>Number.</p>
 </item>
 <item>
 <title><code>num2</code></title>
-<p>Number.</p>
+  <p>Number.</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -102,6 +94,4 @@ def skip_out_param(self, a, out_b, c, inout_d, out_sum, num1, num2):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.skip_param.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.skip_param.page
index c02f3b9..77fc43d 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.skip_param.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.skip_param.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -46,55 +45,48 @@
         <api:name>num2</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestObj.skip_param</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestObj, int, int, float, int, int, int, int)
 @returns(bool)
 def skip_param(self, a, out_b, c, inout_d, out_sum, num1, num2):
     # Python wrapper for regress_test_obj_skip_param()
-</code></synopsis>
+  </code></synopsis>
+  <p>Check that a parameter is skipped</p>
 
-  
-    <p>Check that a parameter is skipped</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
-<p>A <link xref="Regress.TestObj"/>.</p>
+  <p>A <link xref="Regress.TestObj"/>.</p>
 </item>
 <item>
 <title><code>a</code></title>
-<p>Parameter.</p>
+  <p>Parameter.</p>
 </item>
 <item>
 <title><code>out_b</code></title>
-<p>Return value.</p>
+  <p>Return value.</p>
 </item>
 <item>
 <title><code>c</code></title>
-<p>Other parameter.</p>
+  <p>Other parameter.</p>
 </item>
 <item>
 <title><code>inout_d</code></title>
-<p>Will be incremented.</p>
+  <p>Will be incremented.</p>
 </item>
 <item>
 <title><code>out_sum</code></title>
-<p>Return value.</p>
+  <p>Return value.</p>
 </item>
 <item>
 <title><code>num1</code></title>
-<p>Number.</p>
+  <p>Number.</p>
 </item>
 <item>
 <title><code>num2</code></title>
-<p>Number.</p>
+  <p>Number.</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -102,6 +94,4 @@ def skip_param(self, a, out_b, c, inout_d, out_sum, num1, num2):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.skip_return_val.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.skip_return_val.page
index 2aadb42..dc4e915 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.skip_return_val.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.skip_return_val.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -46,55 +45,48 @@
         <api:name>num2</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestObj.skip_return_val</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestObj, int, int, float, int, int, int, int)
 @returns(bool)
 def skip_return_val(self, a, out_b, c, inout_d, out_sum, num1, num2):
     # Python wrapper for regress_test_obj_skip_return_val()
-</code></synopsis>
+  </code></synopsis>
+  <p>Check that the return value is skipped</p>
 
-  
-    <p>Check that the return value is skipped</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
-<p>a <link xref="Regress.TestObj"/></p>
+  <p>a <link xref="Regress.TestObj"/></p>
 </item>
 <item>
 <title><code>a</code></title>
-<p>Parameter.</p>
+  <p>Parameter.</p>
 </item>
 <item>
 <title><code>out_b</code></title>
-<p>A return value.</p>
+  <p>A return value.</p>
 </item>
 <item>
 <title><code>c</code></title>
-<p>Other parameter.</p>
+  <p>Other parameter.</p>
 </item>
 <item>
 <title><code>inout_d</code></title>
-<p>Will be incremented.</p>
+  <p>Will be incremented.</p>
 </item>
 <item>
 <title><code>out_sum</code></title>
-<p>Return value.</p>
+  <p>Return value.</p>
 </item>
 <item>
 <title><code>num1</code></title>
-<p>Number.</p>
+  <p>Number.</p>
 </item>
 <item>
 <title><code>num2</code></title>
-<p>Number.</p>
+  <p>Number.</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -102,6 +94,4 @@ def skip_return_val(self, a, out_b, c, inout_d, out_sum, num1, num2):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.skip_return_val_no_out.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.skip_return_val_no_out.page
index f0c50f5..77b925e 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.skip_return_val_no_out.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.skip_return_val_no_out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,32 +21,25 @@
         <api:name>a</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestObj.skip_return_val_no_out</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestObj, int)
 @returns(bool)
 def skip_return_val_no_out(self, a):
     # Python wrapper for regress_test_obj_skip_return_val_no_out()
-</code></synopsis>
-
-  
-    <p>Check that the return value is skipped. Succeed if a is nonzero, otherwise
+  </code></synopsis>
+  <p>Check that the return value is skipped. Succeed if a is nonzero, otherwise
 raise an error.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>self</code></title>
-<p>a <link xref="Regress.TestObj"/></p>
+  <p>a <link xref="Regress.TestObj"/></p>
 </item>
 <item>
 <title><code>a</code></title>
-<p>Parameter.</p>
+  <p>Parameter.</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -55,6 +47,4 @@ raise an error.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.static_method.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.static_method.page
index 6751026..a3cbb87 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.static_method.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.static_method.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>x</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestObj.static_method</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(int)
 @returns(float)
 def static_method(x):
     # Python wrapper for regress_test_obj_static_method()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>x</code></title>
@@ -46,6 +38,4 @@ def static_method(x):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.static_method_callback.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.static_method_callback.page
index 4d97f31..e28dfae 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.static_method_callback.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.static_method_callback.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>callback</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestObj.static_method_callback</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestCallback)
 @returns(none)
 def static_method_callback(callback):
     # Python wrapper for regress_test_obj_static_method_callback()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>callback</code></title>
@@ -42,6 +34,4 @@ def static_method_callback(callback):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.torture_signature_0.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.torture_signature_0.page
index 4cc806d..d1c7596 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.torture_signature_0.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.torture_signature_0.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -42,27 +41,20 @@
         <api:name>m</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestObj.torture_signature_0</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestObj, int, float, int, unicode, int, int)
 @returns(none)
 def torture_signature_0(self, x, y, z, foo, q, m):
     # Python wrapper for regress_test_obj_torture_signature_0()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
-<p>A <link xref="Regress.TestObj"/></p>
+  <p>A <link xref="Regress.TestObj"/></p>
 </item>
 <item>
 <title><code>x</code></title>
@@ -90,6 +82,4 @@ def torture_signature_0(self, x, y, z, foo, q, m):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.torture_signature_1.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.torture_signature_1.page
index 7ccc132..2ab1ed7 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.torture_signature_1.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.torture_signature_1.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -42,27 +41,20 @@
         <api:name>m</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestObj.torture_signature_1</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestObj, int, float, int, unicode, int, int)
 @returns(bool)
 def torture_signature_1(self, x, y, z, foo, q, m):
     # Python wrapper for regress_test_obj_torture_signature_1()
-</code></synopsis>
+  </code></synopsis>
+  <p>This function throws an error if m is odd.</p>
 
-  
-    <p>This function throws an error if m is odd.</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
-<p>A <link xref="Regress.TestObj"/></p>
+  <p>A <link xref="Regress.TestObj"/></p>
 </item>
 <item>
 <title><code>x</code></title>
@@ -94,6 +86,4 @@ def torture_signature_1(self, x, y, z, foo, q, m):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestOtherError.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestOtherError.page
index 858e58a..f968c9c 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestOtherError.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestOtherError.page
@@ -6,19 +6,11 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="enum" type="guide"/>
-    
+    <link xref="index" group="enum" type="guide"/>
   </info>
   <title>Regress.TestOtherError</title>
-  
-  
-  
-    
-  
-  
-  
-  
+
+
 <terms>
 <item>
 <title><code>TestOtherError.CODE1</code></title>
@@ -34,6 +26,4 @@
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestOtherError.quark.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestOtherError.quark.page
index 341e774..6982f70 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestOtherError.quark.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestOtherError.quark.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_unconventional_error_quark</api:name>
     </api:function>
-
   </info>
-  <title>Index.quark</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.quark</title>
+  <synopsis><code mime="text/x-python">
 @returns(GLib.Quark)
 def quark():
     # Python wrapper for regress_test_unconventional_error_quark()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def quark():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestPrivateEnum.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestPrivateEnum.page
index 66b477d..0cf17c1 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestPrivateEnum.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestPrivateEnum.page
@@ -6,20 +6,9 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
   <title>Regress.TestPrivateEnum</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestPrivateStruct-this_is_public_after.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestPrivateStruct-this_is_public_after.page
index 6dc17b3..843ed30 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestPrivateStruct-this_is_public_after.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestPrivateStruct-this_is_public_after"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestPrivateStruct" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestPrivateStruct->this_is_public_after</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestPrivateStruct-this_is_public_before.page
similarity index 50%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestPrivateStruct-this_is_public_before.page
index 6dc17b3..84a6eca 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestPrivateStruct-this_is_public_before.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestPrivateStruct-this_is_public_before"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestPrivateStruct" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestPrivateStruct->this_is_public_before</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestPrivateStruct.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestPrivateStruct.page
index 7b1309d..d5ea6d0 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestPrivateStruct.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestPrivateStruct.page
@@ -1,25 +1,40 @@
 <?xml version="1.0"?>
 <page id="Regress.TestPrivateStruct"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestPrivateStruct</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+from gi.repository import Regress
+
+test_private_struct = Regress.TestPrivateStruct()
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestReferenceEnum.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestReferenceEnum.page
index 2c8b1ab..afda5f3 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestReferenceEnum.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestReferenceEnum.page
@@ -6,19 +6,11 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="enum" type="guide"/>
-    
+    <link xref="index" group="enum" type="guide"/>
   </info>
   <title>Regress.TestReferenceEnum</title>
-  
-  
-  
-    
-  
-  
-  
-  
+
+
 <terms>
 <item>
 <title><code>TestReferenceEnum.0</code></title>
@@ -46,6 +38,4 @@
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedA-some_double.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedA-some_double.page
index 6dc17b3..61e4303 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedA-some_double.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestSimpleBoxedA-some_double"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestSimpleBoxedA" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestSimpleBoxedA->some_double</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedA-some_enum.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedA-some_enum.page
index 6dc17b3..c31c20d 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedA-some_enum.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestSimpleBoxedA-some_enum"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestSimpleBoxedA" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestSimpleBoxedA->some_enum</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedA-some_int.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedA-some_int.page
index 6dc17b3..aad211d 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedA-some_int.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestSimpleBoxedA-some_int"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestSimpleBoxedA" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestSimpleBoxedA->some_int</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedA-some_int8.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedA-some_int8.page
index 6dc17b3..349c0af 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedA-some_int8.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestSimpleBoxedA-some_int8"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestSimpleBoxedA" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestSimpleBoxedA->some_int8</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedA.const_return.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedA.const_return.page
index 499a047..2b7ee6a 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedA.const_return.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedA.const_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestSimpleBoxedA" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_simple_boxed_a_const_return</api:name>
     </api:function>
-
   </info>
   <title>Regress.TestSimpleBoxedA.const_return</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @returns(Regress.TestSimpleBoxedA)
 def const_return():
     # Python wrapper for regress_test_simple_boxed_a_const_return()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def const_return():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedA.copy.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedA.copy.page
index 5e3fc24..62a3467 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedA.copy.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedA.copy.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestSimpleBoxedA" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>self</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestSimpleBoxedA.copy</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestSimpleBoxedA)
 @returns(Regress.TestSimpleBoxedA)
 def copy(self):
     # Python wrapper for regress_test_simple_boxed_a_copy()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -46,6 +38,4 @@ def copy(self):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedA.equals.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedA.equals.page
index a9ae5b2..caebbf8 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedA.equals.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedA.equals.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestSimpleBoxedA" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,23 +21,16 @@
         <api:name>other_a</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestSimpleBoxedA.equals</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestSimpleBoxedA, Regress.TestSimpleBoxedA)
 @returns(bool)
 def equals(self, other_a):
     # Python wrapper for regress_test_simple_boxed_a_equals()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -54,6 +46,4 @@ def equals(self, other_a):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedA.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedA.page
index 9117ddb..a758ab6 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedA.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedA.page
@@ -1,25 +1,40 @@
 <?xml version="1.0"?>
 <page id="Regress.TestSimpleBoxedA"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestSimpleBoxedA</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+from gi.repository import Regress
+
+test_simple_boxed_a = Regress.TestSimpleBoxedA()
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedB-nested_a.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedB-nested_a.page
index 6dc17b3..6014279 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedB-nested_a.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestSimpleBoxedB-nested_a"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestSimpleBoxedB" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestSimpleBoxedB->nested_a</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedB-some_int8.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedB-some_int8.page
index 6dc17b3..8c8b86d 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedB-some_int8.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestSimpleBoxedB-some_int8"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestSimpleBoxedB" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestSimpleBoxedB->some_int8</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedB.copy.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedB.copy.page
index 999c850..feae1ab 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedB.copy.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedB.copy.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestSimpleBoxedB" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>self</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestSimpleBoxedB.copy</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestSimpleBoxedB)
 @returns(Regress.TestSimpleBoxedB)
 def copy(self):
     # Python wrapper for regress_test_simple_boxed_b_copy()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -46,6 +38,4 @@ def copy(self):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedB.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedB.page
index 7ecc623..5201ea6 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedB.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedB.page
@@ -1,25 +1,40 @@
 <?xml version="1.0"?>
 <page id="Regress.TestSimpleBoxedB"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestSimpleBoxedB</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+from gi.repository import Regress
+
+test_simple_boxed_b = Regress.TestSimpleBoxedB()
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleCallback.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleCallback.page
index f815782..da812bb 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleCallback.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleCallback.page
@@ -1,25 +1,21 @@
 <?xml version="1.0"?>
 <page id="Regress.TestSimpleCallback"
       type="topic"
-      style="default"
+      style="callback"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="callback" type="guide"/>
   </info>
   <title>Regress.TestSimpleCallback</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code mime="text/x-python">
+ returns(none)
+def on_TestSimpleCallback():
+  </code></synopsis>
+
+
+<terms>
+</terms>
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructA-some_double.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestStructA-some_double.page
index 6dc17b3..6cc6110 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructA-some_double.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestStructA-some_double"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestStructA" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestStructA->some_double</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructA-some_enum.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestStructA-some_enum.page
index 6dc17b3..1fc8f31 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructA-some_enum.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestStructA-some_enum"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestStructA" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestStructA->some_enum</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructA-some_int.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestStructA-some_int.page
index 6dc17b3..b3e1d84 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructA-some_int.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestStructA-some_int"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestStructA" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestStructA->some_int</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructA-some_int8.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestStructA-some_int8.page
index 6dc17b3..cdfd2a9 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructA-some_int8.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestStructA-some_int8"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestStructA" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestStructA->some_int8</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructA.clone.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructA.clone.page
index cb2ea92..a849bfb 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructA.clone.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructA.clone.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestStructA" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,34 +21,25 @@
         <api:name>a_out</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestStructA.clone</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestStructA, Regress.TestStructA)
 @returns(none)
 def clone(self, a_out):
     # Python wrapper for regress_test_struct_a_clone()
-</code></synopsis>
+  </code></synopsis>
+  <p>Make a copy of a RegressTestStructA</p>
 
-  
-    <p>Make a copy of a RegressTestStructA</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
-<p>the structure</p>
+  <p>the structure</p>
 </item>
 <item>
 <title><code>a_out</code></title>
-<p>the cloned structure</p>
+  <p>the cloned structure</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructA.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructA.page
index a6a9817..0974017 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructA.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructA.page
@@ -1,25 +1,40 @@
 <?xml version="1.0"?>
 <page id="Regress.TestStructA"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestStructA</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+from gi.repository import Regress
+
+test_struct_a = Regress.TestStructA()
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructA.parse.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructA.parse.page
index bfd3189..42bade9 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructA.parse.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructA.parse.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestStructA" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,34 +21,25 @@
         <api:name>string</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestStructA.parse</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestStructA, unicode)
 @returns(none)
 def parse(a_out, string):
     # Python wrapper for regress_test_struct_a_parse()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>a_out</code></title>
-<p>the structure that is to be filled</p>
+  <p>the structure that is to be filled</p>
 </item>
 <item>
 <title><code>string</code></title>
-<p>ignored</p>
+  <p>ignored</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructB-nested_a.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestStructB-nested_a.page
index 6dc17b3..5864588 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructB-nested_a.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestStructB-nested_a"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestStructB" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestStructB->nested_a</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructB-some_int8.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestStructB-some_int8.page
index 6dc17b3..d7e90d7 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructB-some_int8.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestStructB-some_int8"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestStructB" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestStructB->some_int8</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructB.clone.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructB.clone.page
index ea78efd..3ddabd6 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructB.clone.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructB.clone.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestStructB" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,34 +21,25 @@
         <api:name>b_out</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestStructB.clone</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestStructB, Regress.TestStructB)
 @returns(none)
 def clone(self, b_out):
     # Python wrapper for regress_test_struct_b_clone()
-</code></synopsis>
+  </code></synopsis>
+  <p>Make a copy of a RegressTestStructB</p>
 
-  
-    <p>Make a copy of a RegressTestStructB</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
-<p>the structure</p>
+  <p>the structure</p>
 </item>
 <item>
 <title><code>b_out</code></title>
-<p>the cloned structure</p>
+  <p>the cloned structure</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructB.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructB.page
index 21d8626..df4a287 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructB.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructB.page
@@ -1,25 +1,40 @@
 <?xml version="1.0"?>
 <page id="Regress.TestStructB"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestStructB</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+from gi.repository import Regress
+
+test_struct_b = Regress.TestStructB()
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructC-another_int.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestStructC-another_int.page
index 6dc17b3..9d3e222 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructC-another_int.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestStructC-another_int"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestStructC" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestStructC->another_int</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructC-obj.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestStructC-obj.page
index 6dc17b3..ecf3c25 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructC-obj.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestStructC-obj"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestStructC" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestStructC->obj</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructC.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructC.page
index 6bd5812..89036d2 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructC.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructC.page
@@ -1,25 +1,40 @@
 <?xml version="1.0"?>
 <page id="Regress.TestStructC"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestStructC</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+from gi.repository import Regress
+
+test_struct_c = Regress.TestStructC()
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructD-array1.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestStructD-array1.page
index 6dc17b3..6e8cf23 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructD-array1.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestStructD-array1"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestStructD" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestStructD->array1</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructD-array2.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestStructD-array2.page
index 6dc17b3..93995fe 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructD-array2.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestStructD-array2"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestStructD" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestStructD->array2</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructD-field.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestStructD-field.page
index 6dc17b3..e46d5da 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructD-field.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestStructD-field"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestStructD" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestStructD->field</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructD-garray.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestStructD-garray.page
index 6dc17b3..39adf11 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructD-garray.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestStructD-garray"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestStructD" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestStructD->garray</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructD-list.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestStructD-list.page
index 6dc17b3..2601051 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructD-list.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestStructD-list"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestStructD" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestStructD->list</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructD.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructD.page
index aa9f131..64c8105 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructD.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructD.page
@@ -1,25 +1,40 @@
 <?xml version="1.0"?>
 <page id="Regress.TestStructD"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestStructD</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+from gi.repository import Regress
+
+test_struct_d = Regress.TestStructD()
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructE-some_type.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestStructE-some_type.page
index 6dc17b3..ea61037 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructE-some_type.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestStructE-some_type"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestStructE" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestStructE->some_type</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructE-some_union.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestStructE-some_union.page
index 6dc17b3..fda8d2a 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructE-some_union.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestStructE-some_union"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestStructE" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestStructE->some_union</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructE.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructE.page
index b931c36..8726b95 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructE.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructE.page
@@ -1,25 +1,40 @@
 <?xml version="1.0"?>
 <page id="Regress.TestStructE"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestStructE</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+from gi.repository import Regress
+
+test_struct_e = Regress.TestStructE()
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructE__some_union__union-v_double.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructE__some_union__union-v_double.page
new file mode 100644
index 0000000..d80e779
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructE__some_union__union-v_double.page
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructE__some_union__union-v_double"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestStructE__some_union__union"
+      group="field"
+      type="guide"/>
+  </info>
+  <title>Regress.TestStructE__some_union__union->v_double</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructE__some_union__union-v_float.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructE__some_union__union-v_float.page
new file mode 100644
index 0000000..30d6126
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructE__some_union__union-v_float.page
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructE__some_union__union-v_float"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestStructE__some_union__union"
+      group="field"
+      type="guide"/>
+  </info>
+  <title>Regress.TestStructE__some_union__union->v_float</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructE__some_union__union-v_int.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructE__some_union__union-v_int.page
new file mode 100644
index 0000000..487a6c5
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructE__some_union__union-v_int.page
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructE__some_union__union-v_int"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestStructE__some_union__union"
+      group="field"
+      type="guide"/>
+  </info>
+  <title>Regress.TestStructE__some_union__union->v_int</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructE__some_union__union-v_int64.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructE__some_union__union-v_int64.page
new file mode 100644
index 0000000..fbe75bf
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructE__some_union__union-v_int64.page
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructE__some_union__union-v_int64"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestStructE__some_union__union"
+      group="field"
+      type="guide"/>
+  </info>
+  <title>Regress.TestStructE__some_union__union->v_int64</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructE__some_union__union-v_long.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructE__some_union__union-v_long.page
new file mode 100644
index 0000000..a909fa8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructE__some_union__union-v_long.page
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructE__some_union__union-v_long"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestStructE__some_union__union"
+      group="field"
+      type="guide"/>
+  </info>
+  <title>Regress.TestStructE__some_union__union->v_long</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructE__some_union__union-v_pointer.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructE__some_union__union-v_pointer.page
new file mode 100644
index 0000000..8dca96c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructE__some_union__union-v_pointer.page
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructE__some_union__union-v_pointer"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestStructE__some_union__union"
+      group="field"
+      type="guide"/>
+  </info>
+  <title>Regress.TestStructE__some_union__union->v_pointer</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructE__some_union__union-v_uint.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructE__some_union__union-v_uint.page
new file mode 100644
index 0000000..61d30a2
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructE__some_union__union-v_uint.page
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructE__some_union__union-v_uint"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestStructE__some_union__union"
+      group="field"
+      type="guide"/>
+  </info>
+  <title>Regress.TestStructE__some_union__union->v_uint</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructE__some_union__union-v_uint64.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructE__some_union__union-v_uint64.page
new file mode 100644
index 0000000..360e1e9
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructE__some_union__union-v_uint64.page
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructE__some_union__union-v_uint64"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestStructE__some_union__union"
+      group="field"
+      type="guide"/>
+  </info>
+  <title>Regress.TestStructE__some_union__union->v_uint64</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructE__some_union__union-v_ulong.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructE__some_union__union-v_ulong.page
new file mode 100644
index 0000000..117b95f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructE__some_union__union-v_ulong.page
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructE__some_union__union-v_ulong"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestStructE__some_union__union"
+      group="field"
+      type="guide"/>
+  </info>
+  <title>Regress.TestStructE__some_union__union->v_ulong</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructE__some_union__union.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructE__some_union__union.page
index 3b81e62..f2d50b0 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructE__some_union__union.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructE__some_union__union.page
@@ -1,25 +1,40 @@
 <?xml version="1.0"?>
 <page id="Regress.TestStructE__some_union__union"
-      type="topic"
-      style="default"
+      type="guide"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestStructE__some_union__union</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+from gi.repository import Regress
+
+test_struct_e__some_union__union = Regress.TestStructE__some_union__union()
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructF-data1.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestStructF-data1.page
index 6dc17b3..5d424ad 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructF-data1.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestStructF-data1"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestStructF" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestStructF->data1</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructF-data2.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestStructF-data2.page
index 6dc17b3..b03800e 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructF-data2.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestStructF-data2"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestStructF" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestStructF->data2</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructF-data3.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestStructF-data3.page
index 6dc17b3..e25e712 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructF-data3.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestStructF-data3"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestStructF" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestStructF->data3</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructF-data4.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestStructF-data4.page
index 6dc17b3..ceedf9d 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructF-data4.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestStructF-data4"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestStructF" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestStructF->data4</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructF-data5.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestStructF-data5.page
index 6dc17b3..d239488 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructF-data5.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestStructF-data5"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestStructF" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestStructF->data5</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructF-data6.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestStructF-data6.page
index 6dc17b3..09d7215 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructF-data6.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestStructF-data6"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestStructF" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestStructF->data6</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructF-ref_count.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestStructF-ref_count.page
index 6dc17b3..98fad0b 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructF-ref_count.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestStructF-ref_count"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestStructF" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestStructF->ref_count</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructF.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructF.page
index cfb434b..42be286 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructF.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructF.page
@@ -1,25 +1,40 @@
 <?xml version="1.0"?>
 <page id="Regress.TestStructF"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestStructF</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+from gi.repository import Regress
+
+test_struct_f = Regress.TestStructF()
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructFixedArray-array.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestStructFixedArray-array.page
index 6dc17b3..fb214ce 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructFixedArray-array.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestStructFixedArray-array"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestStructFixedArray" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestStructFixedArray->array</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructFixedArray-just_int.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestStructFixedArray-just_int.page
index 6dc17b3..0c8a594 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructFixedArray-just_int.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestStructFixedArray-just_int"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestStructFixedArray" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestStructFixedArray->just_int</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructFixedArray.frob.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructFixedArray.frob.page
index 8f9e288..ed2f460 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructFixedArray.frob.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructFixedArray.frob.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestStructFixedArray" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>self</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestStructFixedArray.frob</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestStructFixedArray)
 @returns(none)
 def frob(self):
     # Python wrapper for regress_test_struct_fixed_array_frob()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -42,6 +34,4 @@ def frob(self):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructFixedArray.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructFixedArray.page
index db6e789..61dcf2c 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructFixedArray.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructFixedArray.page
@@ -1,25 +1,40 @@
 <?xml version="1.0"?>
 <page id="Regress.TestStructFixedArray"
       type="guide"
-      style="record"
+      style="class"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="record" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestStructFixedArray</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <synopsis><code>
+from gi.repository import Regress
+
+test_struct_fixed_array = Regress.TestStructFixedArray()
+  </code></synopsis>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSubObj-parent_instance.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestSubObj-parent_instance.page
index 6dc17b3..15b87da 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSubObj-parent_instance.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestSubObj-parent_instance"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestSubObj" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestSubObj->parent_instance</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestSubObj.instance_method.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSubObj.instance_method.page
index 9806d28..09872dc 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestSubObj.instance_method.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSubObj.instance_method.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestSubObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>self</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestSubObj.instance_method</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestSubObj)
 @returns(int)
 def instance_method(self):
     # Python wrapper for regress_test_sub_obj_instance_method()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -46,6 +38,4 @@ def instance_method(self):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestSubObj.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSubObj.page
index b1dc19b..da1c0db 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestSubObj.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSubObj.page
@@ -6,23 +6,16 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="class" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestSubObj</title>
-  
   <synopsis><code>
 from gi.repository import Regress
 
-test_sub_obj = Regress.TestSubObj()  </code></synopsis>
+test_sub_obj = Regress.TestSubObj()
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
   <synopsis>
     <title>Hierarchy</title>
     <tree>
@@ -37,8 +30,11 @@ test_sub_obj = Regress.TestSubObj()  </code></synopsis>
       </item>
     </tree>
   </synopsis>
-
-  
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/python"
          groups="method" style="linklist">
@@ -47,7 +43,7 @@ test_sub_obj = Regress.TestSubObj()  </code></synopsis>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/python"
          groups="function" style="linklist">
-    <title>Functions</title>
+    <title>Static Functions</title>
   </links>
   <links type="topic" ui:expanded="true" groups="property" style="linklist">
     <title>Properties</title>
@@ -58,8 +54,10 @@ test_sub_obj = Regress.TestSubObj()  </code></synopsis>
   <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
     <title>Virtual functions</title>
   </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
   <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
     <title>Other</title>
   </links>
-
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestSubObj.unset_bare.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSubObj.unset_bare.page
index 2b54839..c5c1a13 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestSubObj.unset_bare.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSubObj.unset_bare.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestSubObj" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>self</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestSubObj.unset_bare</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestSubObj)
 @returns(none)
 def unset_bare(self):
     # Python wrapper for regress_test_sub_obj_unset_bare()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -42,6 +34,4 @@ def unset_bare(self):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestTypeGUInt64.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestTypeGUInt64.page
index e0a7bc0..fcb2f3b 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestTypeGUInt64.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestTypeGUInt64.page
@@ -6,20 +6,9 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
   <title>Regress.TestTypeGUInt64</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestWi8021x-parent_instance.page
similarity index 51%
copy from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
copy to tests/scanner/Regress-1.0-Python-expected/Regress.TestWi8021x-parent_instance.page
index 6dc17b3..7bdb8c1 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestWi8021x-parent_instance.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.TestWi8021x-parent_instance"
       type="topic"
-      style="default"
+      style="field"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="Regress.TestWi8021x" group="field" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.TestWi8021x->parent_instance</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestWi8021x-testbool.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestWi8021x-testbool.page
index 00c168b..8f9603d 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestWi8021x-testbool.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestWi8021x-testbool.page
@@ -6,24 +6,13 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestWi8021x" group="property" type="guide"/>
     <title type="link" role="topic">testbool</title>
-
   </info>
   <title>Regress.TestWi8021x:testbool</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 "testbool"             bool                : Read / Write
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
-  
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestWi8021x.get_testbool.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestWi8021x.get_testbool.page
index cd83b9d..17049bc 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestWi8021x.get_testbool.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestWi8021x.get_testbool.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestWi8021x" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>self</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestWi8021x.get_testbool</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestWi8021x)
 @returns(bool)
 def get_testbool(self):
     # Python wrapper for regress_test_wi_802_1x_get_testbool()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -46,6 +38,4 @@ def get_testbool(self):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestWi8021x.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestWi8021x.page
index aef0387..8b8bf05 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestWi8021x.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestWi8021x.page
@@ -6,23 +6,16 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="class" type="guide"/>
-    
+    <link xref="index" group="class" type="guide"/>
   </info>
   <title>Regress.TestWi8021x</title>
-  
   <synopsis><code>
 from gi.repository import Regress
 
-test_wi8021x = Regress.TestWi8021x(<link xref='Regress.TestWi8021x-testbool'>testbool</link>=value)  
</code></synopsis>
+test_wi8021x = Regress.TestWi8021x(<link xref='Regress.TestWi8021x-testbool'>testbool</link>=value)
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
   <synopsis>
     <title>Hierarchy</title>
     <tree>
@@ -34,8 +27,11 @@ test_wi8021x = Regress.TestWi8021x(<link xref='Regress.TestWi8021x-testbool'>tes
       </item>
     </tree>
   </synopsis>
-
-  
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/python"
          groups="method" style="linklist">
@@ -44,7 +40,7 @@ test_wi8021x = Regress.TestWi8021x(<link xref='Regress.TestWi8021x-testbool'>tes
   <links type="topic" ui:expanded="true"
          api:type="function" api:mime="text/python"
          groups="function" style="linklist">
-    <title>Functions</title>
+    <title>Static Functions</title>
   </links>
   <links type="topic" ui:expanded="true" groups="property" style="linklist">
     <title>Properties</title>
@@ -55,8 +51,10 @@ test_wi8021x = Regress.TestWi8021x(<link xref='Regress.TestWi8021x-testbool'>tes
   <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
     <title>Virtual functions</title>
   </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
   <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
     <title>Other</title>
   </links>
-
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestWi8021x.set_testbool.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestWi8021x.set_testbool.page
index 59dbbd9..19b2ec5 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestWi8021x.set_testbool.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestWi8021x.set_testbool.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestWi8021x" group="method" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,23 +21,16 @@
         <api:name>v</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestWi8021x.set_testbool</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestWi8021x, bool)
 @returns(none)
 def set_testbool(self, v):
     # Python wrapper for regress_test_wi_802_1x_set_testbool()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>self</code></title>
@@ -50,6 +42,4 @@ def set_testbool(self, v):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestWi8021x.static_method.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestWi8021x.static_method.page
index d2d83e3..635b57f 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestWi8021x.static_method.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestWi8021x.static_method.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="Regress.TestWi8021x" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>x</api:name>
       </api:arg>
     </api:function>
-
   </info>
   <title>Regress.TestWi8021x.static_method</title>
-  
-<synopsis><code mime="text/x-python">
+  <synopsis><code mime="text/x-python">
 @accepts(int)
 @returns(int)
 def static_method(x):
     # Python wrapper for regress_test_wi_802_1x_static_method()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>x</code></title>
@@ -46,6 +38,4 @@ def static_method(x):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.UTF8_CONSTANT.page
similarity index 56%
rename from tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
rename to tests/scanner/Regress-1.0-Python-expected/Regress.UTF8_CONSTANT.page
index 6dc17b3..343ad00 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.UTF8_CONSTANT.page
@@ -1,25 +1,14 @@
 <?xml version="1.0"?>
-<page id="Regress.AnAnonymousUnion.None"
+<page id="Regress.UTF8_CONSTANT"
       type="topic"
       style="default"
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
-      <link xref="index" group="default" type="guide"/>
-    
+    <link xref="index" group="default" type="guide"/>
   </info>
-  <title>Regress.AnAnonymousUnion.None</title>
-  
-  
-  
-    
-  
-  
-  
-  
-  
-  
-  
+  <title>Regress.UTF8_CONSTANT</title>
+
+
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.aliased_caller_alloc.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.aliased_caller_alloc.page
index e210a97..046658d 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.aliased_caller_alloc.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.aliased_caller_alloc.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>boxed</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.aliased_caller_alloc</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.aliased_caller_alloc</title>
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.AliasedTestBoxed)
 @returns(none)
 def aliased_caller_alloc(boxed):
     # Python wrapper for regress_aliased_caller_alloc()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>boxed</code></title>
@@ -42,6 +34,4 @@ def aliased_caller_alloc(boxed):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_attribute_func.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_attribute_func.page
index edee18b..d5b7337 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_attribute_func.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_attribute_func.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,31 +21,24 @@
         <api:name>data</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.annotation_attribute_func</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.annotation_attribute_func</title>
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.AnnotationObject, unicode)
 @returns(int)
 def annotation_attribute_func(object, data):
     # Python wrapper for regress_annotation_attribute_func()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>object</code></title>
-<p>A <link xref="Regress.AnnotationObject"/>.</p>
+  <p>A <link xref="Regress.AnnotationObject"/>.</p>
 </item>
 <item>
 <title><code>data</code></title>
-<p>Some data.</p>
+  <p>Some data.</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -54,6 +46,4 @@ def annotation_attribute_func(object, data):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_custom_destroy.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_custom_destroy.page
index 860107f..2883312 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_custom_destroy.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_custom_destroy.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -26,28 +25,21 @@
         <api:name>data</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.annotation_custom_destroy</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.annotation_custom_destroy</title>
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.AnnotationCallback, Regress.AnnotationNotifyFunc, gpointer)
 @returns(none)
 def annotation_custom_destroy(callback, destroy, data):
     # Python wrapper for regress_annotation_custom_destroy()
-</code></synopsis>
-
-  
-    <p>Test messing up the heuristic of closure/destroy-notification
+  </code></synopsis>
+  <p>Test messing up the heuristic of closure/destroy-notification
 detection, and fixing it via annotations.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>callback</code></title>
-<p>Destroy notification</p>
+  <p>Destroy notification</p>
 </item>
 <item>
 <title><code>destroy</code></title>
@@ -59,6 +51,4 @@ detection, and fixing it via annotations.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_get_source_file.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_get_source_file.page
index 51a2ce4..c3fced4 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_get_source_file.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_get_source_file.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_annotation_get_source_file</api:name>
     </api:function>
-
   </info>
-  <title>Index.annotation_get_source_file</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.annotation_get_source_file</title>
+  <synopsis><code mime="text/x-python">
 @returns(filename)
 def annotation_get_source_file():
     # Python wrapper for regress_annotation_get_source_file()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def annotation_get_source_file():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_init.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_init.page
index 16c7ebd..b87747a 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_init.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_init.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,34 +21,25 @@
         <api:name>argv</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.annotation_init</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.annotation_init</title>
+  <synopsis><code mime="text/x-python">
 @accepts(int, [unicode])
 @returns(none)
 def annotation_init(argc, argv):
     # Python wrapper for regress_annotation_init()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>argc</code></title>
-<p>The number of args.</p>
+  <p>The number of args.</p>
 </item>
 <item>
 <title><code>argv</code></title>
-<p>The arguments.</p>
+  <p>The arguments.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_invalid_regress_annotation.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_invalid_regress_annotation.page
index 5870104..e64d0ee 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_invalid_regress_annotation.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_invalid_regress_annotation.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,30 +17,21 @@
         <api:name>foo</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.annotation_invalid_regress_annotation</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.annotation_invalid_regress_annotation</title>
+  <synopsis><code mime="text/x-python">
 @accepts(int)
 @returns(none)
 def annotation_invalid_regress_annotation(foo):
     # Python wrapper for regress_annotation_invalid_regress_annotation()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>foo</code></title>
-<p>some text (e.g. example) or else</p>
+  <p>some text (e.g. example) or else</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_ptr_array.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_ptr_array.page
index 62cfbf7..2a09bdc 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_ptr_array.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_ptr_array.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,30 +17,21 @@
         <api:name>array</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.annotation_ptr_array</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.annotation_ptr_array</title>
+  <synopsis><code mime="text/x-python">
 @accepts([GObject.Value])
 @returns(none)
 def annotation_ptr_array(array):
     # Python wrapper for regress_annotation_ptr_array()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>array</code></title>
-<p>the array</p>
+  <p>the array</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_return_array.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_return_array.page
index fa1908d..374b21b 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_return_array.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_return_array.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,27 +17,20 @@
         <api:name>length</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.annotation_return_array</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.annotation_return_array</title>
+  <synopsis><code mime="text/x-python">
 @accepts(int)
 @returns([unicode])
 def annotation_return_array(length):
     # Python wrapper for regress_annotation_return_array()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>length</code></title>
-<p>Number of return values</p>
+  <p>Number of return values</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -46,6 +38,4 @@ def annotation_return_array(length):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_return_filename.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_return_filename.page
index 4cbc4db..2cf6fef 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_return_filename.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_return_filename.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_annotation_return_filename</api:name>
     </api:function>
-
   </info>
-  <title>Index.annotation_return_filename</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.annotation_return_filename</title>
+  <synopsis><code mime="text/x-python">
 @returns(filename)
 def annotation_return_filename():
     # Python wrapper for regress_annotation_return_filename()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def annotation_return_filename():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_set_source_file.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_set_source_file.page
index 6eb6e85..7da1060 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_set_source_file.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_set_source_file.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,30 +17,21 @@
         <api:name>fname</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.annotation_set_source_file</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.annotation_set_source_file</title>
+  <synopsis><code mime="text/x-python">
 @accepts(filename)
 @returns(none)
 def annotation_set_source_file(fname):
     # Python wrapper for regress_annotation_set_source_file()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>fname</code></title>
-<p>Source file</p>
+  <p>Source file</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_space_after_comment_bug631690.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_space_after_comment_bug631690.page
index 0015484..86daca5 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_space_after_comment_bug631690.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_space_after_comment_bug631690.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,25 +13,16 @@
       </api:returns>
       <api:name>regress_annotation_space_after_comment_bug631690</api:name>
     </api:function>
-
   </info>
-  <title>Index.annotation_space_after_comment_bug631690</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.annotation_space_after_comment_bug631690</title>
+  <synopsis><code mime="text/x-python">
 @returns(none)
 def annotation_space_after_comment_bug631690():
     # Python wrapper for regress_annotation_space_after_comment_bug631690()
-</code></synopsis>
+  </code></synopsis>
+  <p>Explicitly test having a space after the ** here.</p>
 
-  
-    <p>Explicitly test having a space after the ** here.</p>
-  
-  
-  
-  
 <terms>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_string_array_length.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_string_array_length.page
index c7d2409..9e3c823 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_string_array_length.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_string_array_length.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,23 +21,16 @@
         <api:name>properties</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.annotation_string_array_length</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.annotation_string_array_length</title>
+  <synopsis><code mime="text/x-python">
 @accepts(int, [unicode])
 @returns(none)
 def annotation_string_array_length(n_properties, properties):
     # Python wrapper for regress_annotation_string_array_length()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>n_properties</code></title>
@@ -50,6 +42,4 @@ def annotation_string_array_length(n_properties, properties):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_string_zero_terminated.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_string_zero_terminated.page
index 765658c..24ac475 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_string_zero_terminated.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_string_zero_terminated.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_annotation_string_zero_terminated</api:name>
     </api:function>
-
   </info>
-  <title>Index.annotation_string_zero_terminated</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.annotation_string_zero_terminated</title>
+  <synopsis><code mime="text/x-python">
 @returns([unicode])
 def annotation_string_zero_terminated():
     # Python wrapper for regress_annotation_string_zero_terminated()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def annotation_string_zero_terminated():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_string_zero_terminated_out.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_string_zero_terminated_out.page
index 1a9e2a4..a5fcc99 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_string_zero_terminated_out.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_string_zero_terminated_out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>out</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.annotation_string_zero_terminated_out</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.annotation_string_zero_terminated_out</title>
+  <synopsis><code mime="text/x-python">
 @accepts([unicode])
 @returns(none)
 def annotation_string_zero_terminated_out(out):
     # Python wrapper for regress_annotation_string_zero_terminated_out()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>out</code></title>
@@ -42,6 +34,4 @@ def annotation_string_zero_terminated_out(out):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_test_parsing_bug630862.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_test_parsing_bug630862.page
index 868c2d8..f247ad4 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_test_parsing_bug630862.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_test_parsing_bug630862.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_annotation_test_parsing_bug630862</api:name>
     </api:function>
-
   </info>
-  <title>Index.annotation_test_parsing_bug630862</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.annotation_test_parsing_bug630862</title>
+  <synopsis><code mime="text/x-python">
 @returns(GObject.Object)
 def annotation_test_parsing_bug630862():
     # Python wrapper for regress_annotation_test_parsing_bug630862()
-</code></synopsis>
+  </code></synopsis>
+  <p>See https://bugzilla.gnome.org/show_bug.cgi?id=630862</p>
 
-  
-    <p>See https://bugzilla.gnome.org/show_bug.cgi?id=630862</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def annotation_test_parsing_bug630862():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_transfer_floating.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_transfer_floating.page
index 223d1a2..f8f68c1 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_transfer_floating.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_transfer_floating.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_annotation_transfer_floating</api:name>
     </api:function>
-
   </info>
-  <title>Index.annotation_transfer_floating</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.annotation_transfer_floating</title>
+  <synopsis><code mime="text/x-python">
 @returns(GObject.Object)
 def annotation_transfer_floating():
     # Python wrapper for regress_annotation_transfer_floating()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def annotation_transfer_floating():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_versioned.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_versioned.page
index 51d53cd..6132e91 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_versioned.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_versioned.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,26 +13,16 @@
       </api:returns>
       <api:name>regress_annotation_versioned</api:name>
     </api:function>
-
   </info>
-  <title>Index.annotation_versioned</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.annotation_versioned</title>
+  <synopsis><code mime="text/x-python">
 @returns(none)
 def annotation_versioned():
     # Python wrapper for regress_annotation_versioned()
-</code></synopsis>
+  </code></synopsis>
 
-  
-    
-  
-  
-    <p>Since 0.6</p>
-  
-  
+  <p>Since 0.6</p>
 <terms>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.atest_error_quark.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.atest_error_quark.page
index 9adb4a8..af23bfb 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.atest_error_quark.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.atest_error_quark.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_atest_error_quark</api:name>
     </api:function>
-
   </info>
-  <title>Index.atest_error_quark</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.atest_error_quark</title>
+  <synopsis><code mime="text/x-python">
 @returns(GLib.Quark)
 def atest_error_quark():
     # Python wrapper for regress_atest_error_quark()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def atest_error_quark():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.foo_async_ready_callback.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_async_ready_callback.page
index b2c0a69..3827a9c 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.foo_async_ready_callback.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_async_ready_callback.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -26,23 +25,16 @@
         <api:name>user_data</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.foo_async_ready_callback</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.foo_async_ready_callback</title>
+  <synopsis><code mime="text/x-python">
 @accepts(Gio.Cancellable, Gio.AsyncReadyCallback, gpointer)
 @returns(none)
 def foo_async_ready_callback(cancellable, callback, user_data):
     # Python wrapper for regress_foo_async_ready_callback()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>cancellable</code></title>
@@ -58,6 +50,4 @@ def foo_async_ready_callback(cancellable, callback, user_data):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.foo_destroy_notify_callback.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_destroy_notify_callback.page
index 873beb2..c910180 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.foo_destroy_notify_callback.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_destroy_notify_callback.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -26,23 +25,16 @@
         <api:name>destroy</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.foo_destroy_notify_callback</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.foo_destroy_notify_callback</title>
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.FooCallback, gpointer, GLib.DestroyNotify)
 @returns(none)
 def foo_destroy_notify_callback(callback, data, destroy):
     # Python wrapper for regress_foo_destroy_notify_callback()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>callback</code></title>
@@ -58,6 +50,4 @@ def foo_destroy_notify_callback(callback, data, destroy):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.foo_init.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_init.page
index 6b62ac4..9af9201 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.foo_init.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_init.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_foo_init</api:name>
     </api:function>
-
   </info>
-  <title>Index.foo_init</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.foo_init</title>
+  <synopsis><code mime="text/x-python">
 @returns(int)
 def foo_init():
     # Python wrapper for regress_foo_init()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def foo_init():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.foo_method_external_references.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_method_external_references.page
index 4be8179..bc6c91f 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.foo_method_external_references.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_method_external_references.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -30,23 +29,16 @@
         <api:name>s</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.foo_method_external_references</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.foo_method_external_references</title>
+  <synopsis><code mime="text/x-python">
 @accepts(Utility.Object, Utility.EnumType, Utility.FlagType, Utility.Struct)
 @returns(none)
 def foo_method_external_references(object, e, f, s):
     # Python wrapper for regress_foo_method_external_references()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>object</code></title>
@@ -66,6 +58,4 @@ def foo_method_external_references(object, e, f, s):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.foo_not_a_constructor_new.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_not_a_constructor_new.page
index 0f9ba11..7559bea 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.foo_not_a_constructor_new.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_not_a_constructor_new.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,23 +13,16 @@
       </api:returns>
       <api:name>regress_foo_not_a_constructor_new</api:name>
     </api:function>
-
   </info>
-  <title>Index.foo_not_a_constructor_new</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.foo_not_a_constructor_new</title>
+  <synopsis><code mime="text/x-python">
 @returns(Regress.FooObject)
 def foo_not_a_constructor_new():
     # Python wrapper for regress_foo_not_a_constructor_new()
-</code></synopsis>
-
-  
-    <p>This should be scanned as a top-level function, and shouldn't cause
+  </code></synopsis>
+  <p>This should be scanned as a top-level function, and shouldn't cause
 a "Can't find matching type for constructor" warning.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -38,6 +30,4 @@ a "Can't find matching type for constructor" warning.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_array.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_array.page
index d8cdbf5..102747c 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_array.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_array.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_foo_test_array</api:name>
     </api:function>
-
   </info>
-  <title>Index.foo_test_array</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.foo_test_array</title>
+  <synopsis><code mime="text/x-python">
 @returns([unicode])
 def foo_test_array():
     # Python wrapper for regress_foo_test_array()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def foo_test_array():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_const_char_param.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_const_char_param.page
index fa7bc2e..73a82be 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_const_char_param.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_const_char_param.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>param</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.foo_test_const_char_param</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.foo_test_const_char_param</title>
+  <synopsis><code mime="text/x-python">
 @accepts(unicode)
 @returns(none)
 def foo_test_const_char_param(param):
     # Python wrapper for regress_foo_test_const_char_param()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>param</code></title>
@@ -42,6 +34,4 @@ def foo_test_const_char_param(param):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_const_char_retval.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_const_char_retval.page
index 34ae3f9..e1c7f87 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_const_char_retval.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_const_char_retval.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_foo_test_const_char_retval</api:name>
     </api:function>
-
   </info>
-  <title>Index.foo_test_const_char_retval</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.foo_test_const_char_retval</title>
+  <synopsis><code mime="text/x-python">
 @returns(unicode)
 def foo_test_const_char_retval():
     # Python wrapper for regress_foo_test_const_char_retval()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def foo_test_const_char_retval():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_const_struct_param.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_const_struct_param.page
index f32ff39..75c2cc8 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_const_struct_param.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_const_struct_param.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>param</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.foo_test_const_struct_param</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.foo_test_const_struct_param</title>
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.FooStruct)
 @returns(none)
 def foo_test_const_struct_param(param):
     # Python wrapper for regress_foo_test_const_struct_param()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>param</code></title>
@@ -42,6 +34,4 @@ def foo_test_const_struct_param(param):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_const_struct_retval.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_const_struct_retval.page
index 24337f0..35e246a 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_const_struct_retval.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_const_struct_retval.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_foo_test_const_struct_retval</api:name>
     </api:function>
-
   </info>
-  <title>Index.foo_test_const_struct_retval</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.foo_test_const_struct_retval</title>
+  <synopsis><code mime="text/x-python">
 @returns(Regress.FooStruct)
 def foo_test_const_struct_retval():
     # Python wrapper for regress_foo_test_const_struct_retval()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def foo_test_const_struct_retval():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_string_array.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_string_array.page
index 8e242c5..16f72c2 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_string_array.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_string_array.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>array</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.foo_test_string_array</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.foo_test_string_array</title>
+  <synopsis><code mime="text/x-python">
 @accepts([unicode])
 @returns(none)
 def foo_test_string_array(array):
     # Python wrapper for regress_foo_test_string_array()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>array</code></title>
@@ -42,6 +34,4 @@ def foo_test_string_array(array):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_string_array_with_g.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_string_array_with_g.page
index 92752bf..e2dfd8b 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_string_array_with_g.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_string_array_with_g.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>array</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.foo_test_string_array_with_g</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.foo_test_string_array_with_g</title>
+  <synopsis><code mime="text/x-python">
 @accepts([unicode])
 @returns(none)
 def foo_test_string_array_with_g(array):
     # Python wrapper for regress_foo_test_string_array_with_g()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>array</code></title>
@@ -42,6 +34,4 @@ def foo_test_string_array_with_g(array):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_unsigned_qualifier.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_unsigned_qualifier.page
index 2006eae..48559b9 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_unsigned_qualifier.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_unsigned_qualifier.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>unsigned_param</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.foo_test_unsigned_qualifier</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.foo_test_unsigned_qualifier</title>
+  <synopsis><code mime="text/x-python">
 @accepts(int)
 @returns(none)
 def foo_test_unsigned_qualifier(unsigned_param):
     # Python wrapper for regress_foo_test_unsigned_qualifier()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>unsigned_param</code></title>
@@ -42,6 +34,4 @@ def foo_test_unsigned_qualifier(unsigned_param):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_unsigned_type.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_unsigned_type.page
index c32efe8..c3eafeb 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_unsigned_type.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_unsigned_type.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>unsigned_param</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.foo_test_unsigned_type</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.foo_test_unsigned_type</title>
+  <synopsis><code mime="text/x-python">
 @accepts(int)
 @returns(none)
 def foo_test_unsigned_type(unsigned_param):
     # Python wrapper for regress_foo_test_unsigned_type()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>unsigned_param</code></title>
@@ -42,6 +34,4 @@ def foo_test_unsigned_type(unsigned_param):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.func_obj_null_in.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.func_obj_null_in.page
index 1e737c0..58571ed 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.func_obj_null_in.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.func_obj_null_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,30 +17,21 @@
         <api:name>obj</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.func_obj_null_in</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.func_obj_null_in</title>
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestObj)
 @returns(none)
 def func_obj_null_in(obj):
     # Python wrapper for regress_func_obj_null_in()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>obj</code></title>
-<p>A <link xref="Regress.TestObj"/></p>
+  <p>A <link xref="Regress.TestObj"/></p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.global_get_flags_out.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.global_get_flags_out.page
index 825fe35..a01a068 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.global_get_flags_out.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.global_get_flags_out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,30 +17,21 @@
         <api:name>v</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.global_get_flags_out</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.global_get_flags_out</title>
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestFlags)
 @returns(none)
 def global_get_flags_out(v):
     # Python wrapper for regress_global_get_flags_out()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>v</code></title>
-<p>A flags value</p>
+  <p>A flags value</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.has_parameter_named_attrs.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.has_parameter_named_attrs.page
index 51ae15f..bc4cd70 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.has_parameter_named_attrs.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.has_parameter_named_attrs.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,35 +21,26 @@
         <api:name>attributes</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.has_parameter_named_attrs</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.has_parameter_named_attrs</title>
+  <synopsis><code mime="text/x-python">
 @accepts(int, [guint32])
 @returns(none)
 def has_parameter_named_attrs(foo, attributes):
     # Python wrapper for regress_has_parameter_named_attrs()
-</code></synopsis>
-
-  
-    <p>This test case mirrors GnomeKeyringPasswordSchema from
+  </code></synopsis>
+  <p>This test case mirrors GnomeKeyringPasswordSchema from
 libgnome-keyring.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>foo</code></title>
-<p>some int</p>
+  <p>some int</p>
 </item>
 <item>
 <title><code>attributes</code></title>
-<p>list of attributes</p>
+  <p>list of attributes</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.introspectable_via_alias.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.introspectable_via_alias.page
index 9fc5a47..121f4a3 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.introspectable_via_alias.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.introspectable_via_alias.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>data</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.introspectable_via_alias</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.introspectable_via_alias</title>
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.PtrArrayAlias)
 @returns(none)
 def introspectable_via_alias(data):
     # Python wrapper for regress_introspectable_via_alias()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>data</code></title>
@@ -42,6 +34,4 @@ def introspectable_via_alias(data):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.set_abort_on_error.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.set_abort_on_error.page
index ad81bff..6e2d6e6 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.set_abort_on_error.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.set_abort_on_error.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>abort_on_error</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.set_abort_on_error</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.set_abort_on_error</title>
+  <synopsis><code mime="text/x-python">
 @accepts(bool)
 @returns(none)
 def set_abort_on_error(abort_on_error):
     # Python wrapper for regress_set_abort_on_error()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>abort_on_error</code></title>
@@ -42,6 +34,4 @@ def set_abort_on_error(abort_on_error):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_callback.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_callback.page
index 536a02c..c47120e 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_callback.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_callback.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>callback</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_array_callback</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_array_callback</title>
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestCallbackArray)
 @returns(int)
 def test_array_callback(callback):
     # Python wrapper for regress_test_array_callback()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>callback</code></title>
@@ -46,6 +38,4 @@ def test_array_callback(callback):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_fixed_out_objects.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_fixed_out_objects.page
index 26ddf0c..f00d8a2 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_fixed_out_objects.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_fixed_out_objects.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,30 +17,21 @@
         <api:name>objs</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_array_fixed_out_objects</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_array_fixed_out_objects</title>
+  <synopsis><code mime="text/x-python">
 @accepts([Regress.TestObj])
 @returns(none)
 def test_array_fixed_out_objects(objs):
     # Python wrapper for regress_test_array_fixed_out_objects()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>objs</code></title>
-<p>An array of <link xref="Regress.TestObj"/></p>
+  <p>An array of <link xref="Regress.TestObj"/></p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_fixed_size_int_in.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_fixed_size_int_in.page
index eb816b8..a1986cf 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_fixed_size_int_in.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_fixed_size_int_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,27 +17,20 @@
         <api:name>ints</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_array_fixed_size_int_in</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_array_fixed_size_int_in</title>
+  <synopsis><code mime="text/x-python">
 @accepts([int])
 @returns(int)
 def test_array_fixed_size_int_in(ints):
     # Python wrapper for regress_test_array_fixed_size_int_in()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>ints</code></title>
-<p>a list of 5 integers</p>
+  <p>a list of 5 integers</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -46,6 +38,4 @@ def test_array_fixed_size_int_in(ints):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_fixed_size_int_out.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_fixed_size_int_out.page
index 39db1de..768bcb7 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_fixed_size_int_out.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_fixed_size_int_out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,30 +17,21 @@
         <api:name>ints</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_array_fixed_size_int_out</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_array_fixed_size_int_out</title>
+  <synopsis><code mime="text/x-python">
 @accepts([int])
 @returns(none)
 def test_array_fixed_size_int_out(ints):
     # Python wrapper for regress_test_array_fixed_size_int_out()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>ints</code></title>
-<p>a list of 5 integers ranging from 0 to 4</p>
+  <p>a list of 5 integers ranging from 0 to 4</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_fixed_size_int_return.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_fixed_size_int_return.page
index 30cfee8..afe8709 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_fixed_size_int_return.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_fixed_size_int_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_array_fixed_size_int_return</api:name>
     </api:function>
-
   </info>
-  <title>Index.test_array_fixed_size_int_return</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_array_fixed_size_int_return</title>
+  <synopsis><code mime="text/x-python">
 @returns([int])
 def test_array_fixed_size_int_return():
     # Python wrapper for regress_test_array_fixed_size_int_return()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def test_array_fixed_size_int_return():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_gint16_in.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_gint16_in.page
index 62c1c4c..b50f461 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_gint16_in.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_gint16_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,23 +21,16 @@
         <api:name>ints</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_array_gint16_in</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_array_gint16_in</title>
+  <synopsis><code mime="text/x-python">
 @accepts(int, [gint16])
 @returns(int)
 def test_array_gint16_in(n_ints, ints):
     # Python wrapper for regress_test_array_gint16_in()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>n_ints</code></title>
@@ -46,7 +38,7 @@ def test_array_gint16_in(n_ints, ints):
 </item>
 <item>
 <title><code>ints</code></title>
-<p>List of ints</p>
+  <p>List of ints</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -54,6 +46,4 @@ def test_array_gint16_in(n_ints, ints):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_gint32_in.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_gint32_in.page
index 948b271..b259d7a 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_gint32_in.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_gint32_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,23 +21,16 @@
         <api:name>ints</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_array_gint32_in</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_array_gint32_in</title>
+  <synopsis><code mime="text/x-python">
 @accepts(int, [gint32])
 @returns(gint32)
 def test_array_gint32_in(n_ints, ints):
     # Python wrapper for regress_test_array_gint32_in()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>n_ints</code></title>
@@ -46,7 +38,7 @@ def test_array_gint32_in(n_ints, ints):
 </item>
 <item>
 <title><code>ints</code></title>
-<p>List of ints</p>
+  <p>List of ints</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -54,6 +46,4 @@ def test_array_gint32_in(n_ints, ints):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_gint64_in.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_gint64_in.page
index 6756e0d..2e5e313 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_gint64_in.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_gint64_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,23 +21,16 @@
         <api:name>ints</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_array_gint64_in</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_array_gint64_in</title>
+  <synopsis><code mime="text/x-python">
 @accepts(int, [int])
 @returns(int)
 def test_array_gint64_in(n_ints, ints):
     # Python wrapper for regress_test_array_gint64_in()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>n_ints</code></title>
@@ -46,7 +38,7 @@ def test_array_gint64_in(n_ints, ints):
 </item>
 <item>
 <title><code>ints</code></title>
-<p>List of ints</p>
+  <p>List of ints</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -54,6 +46,4 @@ def test_array_gint64_in(n_ints, ints):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_gint8_in.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_gint8_in.page
index a7d7001..4900dbe 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_gint8_in.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_gint8_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,23 +21,16 @@
         <api:name>ints</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_array_gint8_in</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_array_gint8_in</title>
+  <synopsis><code mime="text/x-python">
 @accepts(int, [gint8])
 @returns(int)
 def test_array_gint8_in(n_ints, ints):
     # Python wrapper for regress_test_array_gint8_in()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>n_ints</code></title>
@@ -46,7 +38,7 @@ def test_array_gint8_in(n_ints, ints):
 </item>
 <item>
 <title><code>ints</code></title>
-<p>List of ints</p>
+  <p>List of ints</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -54,6 +46,4 @@ def test_array_gint8_in(n_ints, ints):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_gtype_in.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_gtype_in.page
index e56b522..42c5332 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_gtype_in.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_gtype_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,23 +21,16 @@
         <api:name>types</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_array_gtype_in</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_array_gtype_in</title>
+  <synopsis><code mime="text/x-python">
 @accepts(int, [GType])
 @returns(unicode)
 def test_array_gtype_in(n_types, types):
     # Python wrapper for regress_test_array_gtype_in()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>n_types</code></title>
@@ -46,7 +38,7 @@ def test_array_gtype_in(n_types, types):
 </item>
 <item>
 <title><code>types</code></title>
-<p>List of types</p>
+  <p>List of types</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -54,6 +46,4 @@ def test_array_gtype_in(n_types, types):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_full_out.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_full_out.page
index 42cbb0f..87eb1a3 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_full_out.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_full_out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,27 +17,20 @@
         <api:name>len</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_array_int_full_out</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_array_int_full_out</title>
+  <synopsis><code mime="text/x-python">
 @accepts(int)
 @returns([int])
 def test_array_int_full_out(len):
     # Python wrapper for regress_test_array_int_full_out()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>len</code></title>
-<p>length of the returned array.</p>
+  <p>length of the returned array.</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -46,6 +38,4 @@ def test_array_int_full_out(len):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_in.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_in.page
index 8e706e8..f3e2709 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_in.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,23 +21,16 @@
         <api:name>ints</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_array_int_in</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_array_int_in</title>
+  <synopsis><code mime="text/x-python">
 @accepts(int, [int])
 @returns(int)
 def test_array_int_in(n_ints, ints):
     # Python wrapper for regress_test_array_int_in()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>n_ints</code></title>
@@ -46,7 +38,7 @@ def test_array_int_in(n_ints, ints):
 </item>
 <item>
 <title><code>ints</code></title>
-<p>List of ints</p>
+  <p>List of ints</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -54,6 +46,4 @@ def test_array_int_in(n_ints, ints):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_inout.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_inout.page
index b3f4448..f52feba 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_inout.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_inout.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,34 +21,25 @@
         <api:name>ints</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_array_int_inout</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_array_int_inout</title>
+  <synopsis><code mime="text/x-python">
 @accepts(int, [int])
 @returns(none)
 def test_array_int_inout(n_ints, ints):
     # Python wrapper for regress_test_array_int_inout()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>n_ints</code></title>
-<p>the length of <code>ints</code></p>
+  <p>the length of <code>ints</code></p>
 </item>
 <item>
 <title><code>ints</code></title>
-<p>a list of integers whose items will be increased by 1, except the first that will be dropped</p>
+  <p>a list of integers whose items will be increased by 1, except the first that will be dropped</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_none_out.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_none_out.page
index 21e5bac..7d47b82 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_none_out.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_none_out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,27 +17,20 @@
         <api:name>len</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_array_int_none_out</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_array_int_none_out</title>
+  <synopsis><code mime="text/x-python">
 @accepts(int)
 @returns([int])
 def test_array_int_none_out(len):
     # Python wrapper for regress_test_array_int_none_out()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>len</code></title>
-<p>length of the returned array.</p>
+  <p>length of the returned array.</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -46,6 +38,4 @@ def test_array_int_none_out(len):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_null_in.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_null_in.page
index 9b3fc8b..2383f04 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_null_in.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_null_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,23 +21,16 @@
         <api:name>len</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_array_int_null_in</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_array_int_null_in</title>
+  <synopsis><code mime="text/x-python">
 @accepts([int], int)
 @returns(none)
 def test_array_int_null_in(arr, len):
     # Python wrapper for regress_test_array_int_null_in()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>arr</code></title>
@@ -46,10 +38,8 @@ def test_array_int_null_in(arr, len):
 </item>
 <item>
 <title><code>len</code></title>
-<p>length</p>
+  <p>length</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_null_out.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_null_out.page
index 5b83b30..0ecf204 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_null_out.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_null_out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,23 +21,16 @@
         <api:name>len</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_array_int_null_out</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_array_int_null_out</title>
+  <synopsis><code mime="text/x-python">
 @accepts([int], int)
 @returns(none)
 def test_array_int_null_out(arr, len):
     # Python wrapper for regress_test_array_int_null_out()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>arr</code></title>
@@ -46,10 +38,8 @@ def test_array_int_null_out(arr, len):
 </item>
 <item>
 <title><code>len</code></title>
-<p>length</p>
+  <p>length</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_out.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_out.page
index b8f4441..8a766cd 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_out.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,34 +21,25 @@
         <api:name>ints</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_array_int_out</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_array_int_out</title>
+  <synopsis><code mime="text/x-python">
 @accepts(int, [int])
 @returns(none)
 def test_array_int_out(n_ints, ints):
     # Python wrapper for regress_test_array_int_out()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>n_ints</code></title>
-<p>the length of <code>ints</code></p>
+  <p>the length of <code>ints</code></p>
 </item>
 <item>
 <title><code>ints</code></title>
-<p>a list of 5 integers, from 0 to 4 in consecutive order</p>
+  <p>a list of 5 integers, from 0 to 4 in consecutive order</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_async_ready_callback.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_async_ready_callback.page
index 1dcf46c..8001c87 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_async_ready_callback.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_async_ready_callback.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>callback</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_async_ready_callback</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_async_ready_callback</title>
+  <synopsis><code mime="text/x-python">
 @accepts(Gio.AsyncReadyCallback)
 @returns(none)
 def test_async_ready_callback(callback):
     # Python wrapper for regress_test_async_ready_callback()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>callback</code></title>
@@ -42,6 +34,4 @@ def test_async_ready_callback(callback):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_boolean.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_boolean.page
index 22d2ebf..a3e12a8 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_boolean.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_boolean.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_boolean</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_boolean</title>
+  <synopsis><code mime="text/x-python">
 @accepts(bool)
 @returns(bool)
 def test_boolean(in):
     # Python wrapper for regress_test_boolean()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -46,6 +38,4 @@ def test_boolean(in):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_boolean_false.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_boolean_false.page
index 877f582..7a3d352 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_boolean_false.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_boolean_false.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_boolean_false</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_boolean_false</title>
+  <synopsis><code mime="text/x-python">
 @accepts(bool)
 @returns(bool)
 def test_boolean_false(in):
     # Python wrapper for regress_test_boolean_false()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -46,6 +38,4 @@ def test_boolean_false(in):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_boolean_true.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_boolean_true.page
index 3a1fc20..983517c 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_boolean_true.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_boolean_true.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_boolean_true</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_boolean_true</title>
+  <synopsis><code mime="text/x-python">
 @accepts(bool)
 @returns(bool)
 def test_boolean_true(in):
     # Python wrapper for regress_test_boolean_true()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -46,6 +38,4 @@ def test_boolean_true(in):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_cairo_context_full_return.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_cairo_context_full_return.page
index 4bf83f0..ea38b4c 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_cairo_context_full_return.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_cairo_context_full_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_cairo_context_full_return</api:name>
     </api:function>
-
   </info>
-  <title>Index.test_cairo_context_full_return</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_cairo_context_full_return</title>
+  <synopsis><code mime="text/x-python">
 @returns(cairo.Context)
 def test_cairo_context_full_return():
     # Python wrapper for regress_test_cairo_context_full_return()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def test_cairo_context_full_return():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_cairo_context_none_in.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_cairo_context_none_in.page
index a30b8d2..860d5b9 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_cairo_context_none_in.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_cairo_context_none_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>context</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_cairo_context_none_in</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_cairo_context_none_in</title>
+  <synopsis><code mime="text/x-python">
 @accepts(cairo.Context)
 @returns(none)
 def test_cairo_context_none_in(context):
     # Python wrapper for regress_test_cairo_context_none_in()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>context</code></title>
@@ -42,6 +34,4 @@ def test_cairo_context_none_in(context):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_cairo_surface_full_out.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_cairo_surface_full_out.page
index cfda6fd..a5b4753 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_cairo_surface_full_out.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_cairo_surface_full_out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>surface</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_cairo_surface_full_out</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_cairo_surface_full_out</title>
+  <synopsis><code mime="text/x-python">
 @accepts(cairo.Surface)
 @returns(none)
 def test_cairo_surface_full_out(surface):
     # Python wrapper for regress_test_cairo_surface_full_out()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>surface</code></title>
@@ -42,6 +34,4 @@ def test_cairo_surface_full_out(surface):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_cairo_surface_full_return.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_cairo_surface_full_return.page
index 5de20a9..b86412f 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_cairo_surface_full_return.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_cairo_surface_full_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_cairo_surface_full_return</api:name>
     </api:function>
-
   </info>
-  <title>Index.test_cairo_surface_full_return</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_cairo_surface_full_return</title>
+  <synopsis><code mime="text/x-python">
 @returns(cairo.Surface)
 def test_cairo_surface_full_return():
     # Python wrapper for regress_test_cairo_surface_full_return()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def test_cairo_surface_full_return():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_cairo_surface_none_in.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_cairo_surface_none_in.page
index af1b948..f284ad3 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_cairo_surface_none_in.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_cairo_surface_none_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>surface</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_cairo_surface_none_in</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_cairo_surface_none_in</title>
+  <synopsis><code mime="text/x-python">
 @accepts(cairo.Surface)
 @returns(none)
 def test_cairo_surface_none_in(surface):
     # Python wrapper for regress_test_cairo_surface_none_in()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>surface</code></title>
@@ -42,6 +34,4 @@ def test_cairo_surface_none_in(surface):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_cairo_surface_none_return.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_cairo_surface_none_return.page
index 98fa6eb..4ef2959 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_cairo_surface_none_return.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_cairo_surface_none_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_cairo_surface_none_return</api:name>
     </api:function>
-
   </info>
-  <title>Index.test_cairo_surface_none_return</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_cairo_surface_none_return</title>
+  <synopsis><code mime="text/x-python">
 @returns(cairo.Surface)
 def test_cairo_surface_none_return():
     # Python wrapper for regress_test_cairo_surface_none_return()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def test_cairo_surface_none_return():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_callback.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_callback.page
index 3481fc1..a4a7c7a 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_callback.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_callback.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>callback</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_callback</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_callback</title>
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestCallback)
 @returns(int)
 def test_callback(callback):
     # Python wrapper for regress_test_callback()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>callback</code></title>
@@ -46,6 +38,4 @@ def test_callback(callback):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_callback_async.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_callback_async.page
index 21dc7ee..7de1412 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_callback_async.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_callback_async.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,23 +21,16 @@
         <api:name>user_data</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_callback_async</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_callback_async</title>
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestCallbackUserData, gpointer)
 @returns(none)
 def test_callback_async(callback, user_data):
     # Python wrapper for regress_test_callback_async()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>callback</code></title>
@@ -50,6 +42,4 @@ def test_callback_async(callback, user_data):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_callback_destroy_notify.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_callback_destroy_notify.page
index 86df794..7d9d27e 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_callback_destroy_notify.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_callback_destroy_notify.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -26,24 +25,17 @@
         <api:name>notify</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_callback_destroy_notify</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_callback_destroy_notify</title>
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestCallbackUserData, gpointer, GLib.DestroyNotify)
 @returns(int)
 def test_callback_destroy_notify(callback, user_data, notify):
     # Python wrapper for regress_test_callback_destroy_notify()
-</code></synopsis>
-
-  
-    <p>Notified - callback persists until a DestroyNotify delegate
+  </code></synopsis>
+  <p>Notified - callback persists until a DestroyNotify delegate
 is invoked.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>callback</code></title>
@@ -63,6 +55,4 @@ is invoked.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_callback_destroy_notify_no_user_data.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_callback_destroy_notify_no_user_data.page
index 05883e8..60f53b5 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_callback_destroy_notify_no_user_data.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_callback_destroy_notify_no_user_data.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,24 +21,17 @@
         <api:name>notify</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_callback_destroy_notify_no_user_data</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_callback_destroy_notify_no_user_data</title>
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestCallbackUserData, GLib.DestroyNotify)
 @returns(int)
 def test_callback_destroy_notify_no_user_data(callback, notify):
     # Python wrapper for regress_test_callback_destroy_notify_no_user_data()
-</code></synopsis>
-
-  
-    <p>Adds a scope notified callback with no user data. This can invoke an error
+  </code></synopsis>
+  <p>Adds a scope notified callback with no user data. This can invoke an error
 condition in bindings which needs to be tested.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>callback</code></title>
@@ -55,6 +47,4 @@ condition in bindings which needs to be tested.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_callback_thaw_async.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_callback_thaw_async.page
index d362cb8..0418eee 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_callback_thaw_async.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_callback_thaw_async.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_callback_thaw_async</api:name>
     </api:function>
-
   </info>
-  <title>Index.test_callback_thaw_async</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_callback_thaw_async</title>
+  <synopsis><code mime="text/x-python">
 @returns(int)
 def test_callback_thaw_async():
     # Python wrapper for regress_test_callback_thaw_async()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def test_callback_thaw_async():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_callback_thaw_notifications.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_callback_thaw_notifications.page
index 485e69b..6d57146 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_callback_thaw_notifications.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_callback_thaw_notifications.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,24 +13,17 @@
       </api:returns>
       <api:name>regress_test_callback_thaw_notifications</api:name>
     </api:function>
-
   </info>
-  <title>Index.test_callback_thaw_notifications</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_callback_thaw_notifications</title>
+  <synopsis><code mime="text/x-python">
 @returns(int)
 def test_callback_thaw_notifications():
     # Python wrapper for regress_test_callback_thaw_notifications()
-</code></synopsis>
-
-  
-    <p>Invokes all callbacks installed by #test_callback_destroy_notify(),
+  </code></synopsis>
+  <p>Invokes all callbacks installed by #test_callback_destroy_notify(),
 adding up their return values, and removes them, invoking the
 corresponding destroy notfications.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -39,6 +31,4 @@ corresponding destroy notfications.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_callback_user_data.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_callback_user_data.page
index 8ec8376..5245a42 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_callback_user_data.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_callback_user_data.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,24 +21,17 @@
         <api:name>user_data</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_callback_user_data</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_callback_user_data</title>
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestCallbackUserData, gpointer)
 @returns(int)
 def test_callback_user_data(callback, user_data):
     # Python wrapper for regress_test_callback_user_data()
-</code></synopsis>
-
-  
-    <p>Call - callback parameter persists for the duration of the method
+  </code></synopsis>
+  <p>Call - callback parameter persists for the duration of the method
 call and can be released on return.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>callback</code></title>
@@ -55,6 +47,4 @@ call and can be released on return.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_closure.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_closure.page
index d11a8a0..aed5622 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_closure.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_closure.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>closure</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_closure</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_closure</title>
+  <synopsis><code mime="text/x-python">
 @accepts(GObject.Closure)
 @returns(int)
 def test_closure(closure):
     # Python wrapper for regress_test_closure()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>closure</code></title>
@@ -46,6 +38,4 @@ def test_closure(closure):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_closure_one_arg.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_closure_one_arg.page
index f8d91f1..69c5c19 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_closure_one_arg.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_closure_one_arg.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,23 +21,16 @@
         <api:name>arg</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_closure_one_arg</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_closure_one_arg</title>
+  <synopsis><code mime="text/x-python">
 @accepts(GObject.Closure, int)
 @returns(int)
 def test_closure_one_arg(closure, arg):
     # Python wrapper for regress_test_closure_one_arg()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>closure</code></title>
@@ -54,6 +46,4 @@ def test_closure_one_arg(closure, arg):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_closure_variant.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_closure_variant.page
index 7d6a1ac..ca362d7 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_closure_variant.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_closure_variant.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,31 +21,24 @@
         <api:name>arg</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_closure_variant</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_closure_variant</title>
+  <synopsis><code mime="text/x-python">
 @accepts(GObject.Closure, GLib.Variant)
 @returns(GLib.Variant)
 def test_closure_variant(closure, arg):
     # Python wrapper for regress_test_closure_variant()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>closure</code></title>
-<p>GClosure which takes one GVariant and returns a GVariant</p>
+  <p>GClosure which takes one GVariant and returns a GVariant</p>
 </item>
 <item>
 <title><code>arg</code></title>
-<p>a GVariant passed as argument to <code>closure</code></p>
+  <p>a GVariant passed as argument to <code>closure</code></p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -54,6 +46,4 @@ def test_closure_variant(closure, arg):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_date_in_gvalue.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_date_in_gvalue.page
index 0428986..becfae6 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_date_in_gvalue.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_date_in_gvalue.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_date_in_gvalue</api:name>
     </api:function>
-
   </info>
-  <title>Index.test_date_in_gvalue</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_date_in_gvalue</title>
+  <synopsis><code mime="text/x-python">
 @returns(GObject.Value)
 def test_date_in_gvalue():
     # Python wrapper for regress_test_date_in_gvalue()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def test_date_in_gvalue():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_def_error_quark.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_def_error_quark.page
index 95f40e3..78665a0 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_def_error_quark.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_def_error_quark.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_def_error_quark</api:name>
     </api:function>
-
   </info>
-  <title>Index.test_def_error_quark</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_def_error_quark</title>
+  <synopsis><code mime="text/x-python">
 @returns(GLib.Quark)
 def test_def_error_quark():
     # Python wrapper for regress_test_def_error_quark()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def test_def_error_quark():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_double.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_double.page
index 9a2b786..47397f3 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_double.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_double.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_double</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_double</title>
+  <synopsis><code mime="text/x-python">
 @accepts(float)
 @returns(float)
 def test_double(in):
     # Python wrapper for regress_test_double()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -46,6 +38,4 @@ def test_double(in):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_filename_return.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_filename_return.page
index d267b55..14d6b3a 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_filename_return.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_filename_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_filename_return</api:name>
     </api:function>
-
   </info>
-  <title>Index.test_filename_return</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_filename_return</title>
+  <synopsis><code mime="text/x-python">
 @returns([filename])
 def test_filename_return():
     # Python wrapper for regress_test_filename_return()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def test_filename_return():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_float.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_float.page
index 9d362f8..dc9c306 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_float.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_float.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_float</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_float</title>
+  <synopsis><code mime="text/x-python">
 @accepts(float)
 @returns(float)
 def test_float(in):
     # Python wrapper for regress_test_float()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -46,6 +38,4 @@ def test_float(in):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_garray_container_return.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_garray_container_return.page
index 43990b2..f8093f6 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_garray_container_return.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_garray_container_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_garray_container_return</api:name>
     </api:function>
-
   </info>
-  <title>Index.test_garray_container_return</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_garray_container_return</title>
+  <synopsis><code mime="text/x-python">
 @returns([unicode])
 def test_garray_container_return():
     # Python wrapper for regress_test_garray_container_return()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def test_garray_container_return():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_garray_full_return.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_garray_full_return.page
index f0bfb6d..8f14652 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_garray_full_return.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_garray_full_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_garray_full_return</api:name>
     </api:function>
-
   </info>
-  <title>Index.test_garray_full_return</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_garray_full_return</title>
+  <synopsis><code mime="text/x-python">
 @returns([unicode])
 def test_garray_full_return():
     # Python wrapper for regress_test_garray_full_return()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def test_garray_full_return():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_gerror_callback.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gerror_callback.page
index 5630526..72d8bc4 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_gerror_callback.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gerror_callback.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>callback</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_gerror_callback</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_gerror_callback</title>
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestCallbackGError)
 @returns(none)
 def test_gerror_callback(callback):
     # Python wrapper for regress_test_gerror_callback()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>callback</code></title>
@@ -42,6 +34,4 @@ def test_gerror_callback(callback):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_container_return.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_container_return.page
index ec91c45..482d3e8 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_container_return.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_container_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_ghash_container_return</api:name>
     </api:function>
-
   </info>
-  <title>Index.test_ghash_container_return</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_ghash_container_return</title>
+  <synopsis><code mime="text/x-python">
 @returns({unicode: unicode})
 def test_ghash_container_return():
     # Python wrapper for regress_test_ghash_container_return()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def test_ghash_container_return():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_everything_return.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_everything_return.page
index 5356c01..43feb5f 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_everything_return.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_everything_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_ghash_everything_return</api:name>
     </api:function>
-
   </info>
-  <title>Index.test_ghash_everything_return</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_ghash_everything_return</title>
+  <synopsis><code mime="text/x-python">
 @returns({unicode: unicode})
 def test_ghash_everything_return():
     # Python wrapper for regress_test_ghash_everything_return()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def test_ghash_everything_return():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_gvalue_in.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_gvalue_in.page
index 8273602..ab380d9 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_gvalue_in.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_gvalue_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,31 +17,22 @@
         <api:name>hash</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_ghash_gvalue_in</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_ghash_gvalue_in</title>
+  <synopsis><code mime="text/x-python">
 @accepts({unicode: GObject.Value})
 @returns(none)
 def test_ghash_gvalue_in(hash):
     # Python wrapper for regress_test_ghash_gvalue_in()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>hash</code></title>
-<p>the hash table returned by
+  <p>the hash table returned by
 <link xref="Regress.test_ghash_gvalue_return"/>.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_gvalue_return.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_gvalue_return.page
index 6d6a257..81eac0e 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_gvalue_return.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_gvalue_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_ghash_gvalue_return</api:name>
     </api:function>
-
   </info>
-  <title>Index.test_ghash_gvalue_return</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_ghash_gvalue_return</title>
+  <synopsis><code mime="text/x-python">
 @returns({unicode: GObject.Value})
 def test_ghash_gvalue_return():
     # Python wrapper for regress_test_ghash_gvalue_return()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def test_ghash_gvalue_return():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_nested_everything_return.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_nested_everything_return.page
index 6bc643f..ef755d3 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_nested_everything_return.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_nested_everything_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_ghash_nested_everything_return</api:name>
     </api:function>
-
   </info>
-  <title>Index.test_ghash_nested_everything_return</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_ghash_nested_everything_return</title>
+  <synopsis><code mime="text/x-python">
 @returns({unicode: {unicode: unicode}})
 def test_ghash_nested_everything_return():
     # Python wrapper for regress_test_ghash_nested_everything_return()
-</code></synopsis>
+  </code></synopsis>
+  <p>Specify nested parameterized types directly with the (type ) annotation.</p>
 
-  
-    <p>Specify nested parameterized types directly with the (type ) annotation.</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def test_ghash_nested_everything_return():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_nested_everything_return2.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_nested_everything_return2.page
index 1cb3442..708363d 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_nested_everything_return2.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_nested_everything_return2.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,23 +13,16 @@
       </api:returns>
       <api:name>regress_test_ghash_nested_everything_return2</api:name>
     </api:function>
-
   </info>
-  <title>Index.test_ghash_nested_everything_return2</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_ghash_nested_everything_return2</title>
+  <synopsis><code mime="text/x-python">
 @returns({unicode: {unicode: unicode}})
 def test_ghash_nested_everything_return2():
     # Python wrapper for regress_test_ghash_nested_everything_return2()
-</code></synopsis>
-
-  
-    <p>Another way of specifying nested parameterized types: using the
+  </code></synopsis>
+  <p>Another way of specifying nested parameterized types: using the
 element-type annotation.</p>
-  
-  
-  
-  
+
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -38,6 +30,4 @@ element-type annotation.</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_nothing_in.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_nothing_in.page
index b1d295c..70cd4d4 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_nothing_in.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_nothing_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_ghash_nothing_in</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_ghash_nothing_in</title>
+  <synopsis><code mime="text/x-python">
 @accepts({unicode: unicode})
 @returns(none)
 def test_ghash_nothing_in(in):
     # Python wrapper for regress_test_ghash_nothing_in()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -42,6 +34,4 @@ def test_ghash_nothing_in(in):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_nothing_in2.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_nothing_in2.page
index df58bb6..b83ff33 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_nothing_in2.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_nothing_in2.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_ghash_nothing_in2</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_ghash_nothing_in2</title>
+  <synopsis><code mime="text/x-python">
 @accepts({unicode: unicode})
 @returns(none)
 def test_ghash_nothing_in2(in):
     # Python wrapper for regress_test_ghash_nothing_in2()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -42,6 +34,4 @@ def test_ghash_nothing_in2(in):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_nothing_return.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_nothing_return.page
index 072fed9..817cde2 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_nothing_return.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_nothing_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_ghash_nothing_return</api:name>
     </api:function>
-
   </info>
-  <title>Index.test_ghash_nothing_return</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_ghash_nothing_return</title>
+  <synopsis><code mime="text/x-python">
 @returns({unicode: unicode})
 def test_ghash_nothing_return():
     # Python wrapper for regress_test_ghash_nothing_return()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def test_ghash_nothing_return():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_nothing_return2.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_nothing_return2.page
index 161d3f6..dac2400 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_nothing_return2.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_nothing_return2.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_ghash_nothing_return2</api:name>
     </api:function>
-
   </info>
-  <title>Index.test_ghash_nothing_return2</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_ghash_nothing_return2</title>
+  <synopsis><code mime="text/x-python">
 @returns({unicode: unicode})
 def test_ghash_nothing_return2():
     # Python wrapper for regress_test_ghash_nothing_return2()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def test_ghash_nothing_return2():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_null_in.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_null_in.page
index ee3ed32..7349fdd 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_null_in.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_null_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_ghash_null_in</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_ghash_null_in</title>
+  <synopsis><code mime="text/x-python">
 @accepts({unicode: unicode})
 @returns(none)
 def test_ghash_null_in(in):
     # Python wrapper for regress_test_ghash_null_in()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -42,6 +34,4 @@ def test_ghash_null_in(in):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_null_out.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_null_out.page
index 683efc4..40f5540 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_null_out.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_null_out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>out</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_ghash_null_out</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_ghash_null_out</title>
+  <synopsis><code mime="text/x-python">
 @accepts({unicode: unicode})
 @returns(none)
 def test_ghash_null_out(out):
     # Python wrapper for regress_test_ghash_null_out()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>out</code></title>
@@ -42,6 +34,4 @@ def test_ghash_null_out(out):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_null_return.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_null_return.page
index ea51622..78f3d73 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_null_return.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_null_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_ghash_null_return</api:name>
     </api:function>
-
   </info>
-  <title>Index.test_ghash_null_return</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_ghash_null_return</title>
+  <synopsis><code mime="text/x-python">
 @returns({unicode: unicode})
 def test_ghash_null_return():
     # Python wrapper for regress_test_ghash_null_return()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def test_ghash_null_return():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_container_return.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_container_return.page
index 9d098ba..e204db0 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_container_return.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_container_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_glist_container_return</api:name>
     </api:function>
-
   </info>
-  <title>Index.test_glist_container_return</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_glist_container_return</title>
+  <synopsis><code mime="text/x-python">
 @returns([unicode])
 def test_glist_container_return():
     # Python wrapper for regress_test_glist_container_return()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def test_glist_container_return():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_everything_return.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_everything_return.page
index 6b2d370..4b922a4 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_everything_return.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_everything_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_glist_everything_return</api:name>
     </api:function>
-
   </info>
-  <title>Index.test_glist_everything_return</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_glist_everything_return</title>
+  <synopsis><code mime="text/x-python">
 @returns([unicode])
 def test_glist_everything_return():
     # Python wrapper for regress_test_glist_everything_return()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def test_glist_everything_return():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_nothing_in.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_nothing_in.page
index 4873a19..0210e0a 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_nothing_in.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_nothing_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_glist_nothing_in</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_glist_nothing_in</title>
+  <synopsis><code mime="text/x-python">
 @accepts([unicode])
 @returns(none)
 def test_glist_nothing_in(in):
     # Python wrapper for regress_test_glist_nothing_in()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -42,6 +34,4 @@ def test_glist_nothing_in(in):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_nothing_in2.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_nothing_in2.page
index e28d3a8..0247875 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_nothing_in2.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_nothing_in2.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_glist_nothing_in2</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_glist_nothing_in2</title>
+  <synopsis><code mime="text/x-python">
 @accepts([unicode])
 @returns(none)
 def test_glist_nothing_in2(in):
     # Python wrapper for regress_test_glist_nothing_in2()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -42,6 +34,4 @@ def test_glist_nothing_in2(in):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_nothing_return.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_nothing_return.page
index b4b12c8..99cd304 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_nothing_return.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_nothing_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_glist_nothing_return</api:name>
     </api:function>
-
   </info>
-  <title>Index.test_glist_nothing_return</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_glist_nothing_return</title>
+  <synopsis><code mime="text/x-python">
 @returns([unicode])
 def test_glist_nothing_return():
     # Python wrapper for regress_test_glist_nothing_return()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def test_glist_nothing_return():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_nothing_return2.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_nothing_return2.page
index aab83e5..74264db 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_nothing_return2.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_nothing_return2.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_glist_nothing_return2</api:name>
     </api:function>
-
   </info>
-  <title>Index.test_glist_nothing_return2</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_glist_nothing_return2</title>
+  <synopsis><code mime="text/x-python">
 @returns([unicode])
 def test_glist_nothing_return2():
     # Python wrapper for regress_test_glist_nothing_return2()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def test_glist_nothing_return2():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_null_in.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_null_in.page
index ac3f3d6..f403de3 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_null_in.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_null_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_glist_null_in</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_glist_null_in</title>
+  <synopsis><code mime="text/x-python">
 @accepts([unicode])
 @returns(none)
 def test_glist_null_in(in):
     # Python wrapper for regress_test_glist_null_in()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -42,6 +34,4 @@ def test_glist_null_in(in):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_null_out.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_null_out.page
index 335d1b2..86bf40d 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_null_out.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_null_out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>out_list</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_glist_null_out</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_glist_null_out</title>
+  <synopsis><code mime="text/x-python">
 @accepts([unicode])
 @returns(none)
 def test_glist_null_out(out_list):
     # Python wrapper for regress_test_glist_null_out()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>out_list</code></title>
@@ -42,6 +34,4 @@ def test_glist_null_out(out_list):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_container_return.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_container_return.page
index 702c635..89b98f4 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_container_return.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_container_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_gslist_container_return</api:name>
     </api:function>
-
   </info>
-  <title>Index.test_gslist_container_return</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_gslist_container_return</title>
+  <synopsis><code mime="text/x-python">
 @returns([unicode])
 def test_gslist_container_return():
     # Python wrapper for regress_test_gslist_container_return()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def test_gslist_container_return():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_everything_return.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_everything_return.page
index 95fd40c..49d81db 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_everything_return.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_everything_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_gslist_everything_return</api:name>
     </api:function>
-
   </info>
-  <title>Index.test_gslist_everything_return</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_gslist_everything_return</title>
+  <synopsis><code mime="text/x-python">
 @returns([unicode])
 def test_gslist_everything_return():
     # Python wrapper for regress_test_gslist_everything_return()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def test_gslist_everything_return():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_nothing_in.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_nothing_in.page
index 534ac13..b72f0c5 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_nothing_in.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_nothing_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_gslist_nothing_in</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_gslist_nothing_in</title>
+  <synopsis><code mime="text/x-python">
 @accepts([unicode])
 @returns(none)
 def test_gslist_nothing_in(in):
     # Python wrapper for regress_test_gslist_nothing_in()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -42,6 +34,4 @@ def test_gslist_nothing_in(in):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_nothing_in2.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_nothing_in2.page
index a7e0635..016ab04 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_nothing_in2.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_nothing_in2.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_gslist_nothing_in2</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_gslist_nothing_in2</title>
+  <synopsis><code mime="text/x-python">
 @accepts([unicode])
 @returns(none)
 def test_gslist_nothing_in2(in):
     # Python wrapper for regress_test_gslist_nothing_in2()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -42,6 +34,4 @@ def test_gslist_nothing_in2(in):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_nothing_return.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_nothing_return.page
index ff7d7e5..e250994 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_nothing_return.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_nothing_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_gslist_nothing_return</api:name>
     </api:function>
-
   </info>
-  <title>Index.test_gslist_nothing_return</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_gslist_nothing_return</title>
+  <synopsis><code mime="text/x-python">
 @returns([unicode])
 def test_gslist_nothing_return():
     # Python wrapper for regress_test_gslist_nothing_return()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def test_gslist_nothing_return():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_nothing_return2.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_nothing_return2.page
index cf0f67a..fe208c1 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_nothing_return2.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_nothing_return2.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_gslist_nothing_return2</api:name>
     </api:function>
-
   </info>
-  <title>Index.test_gslist_nothing_return2</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_gslist_nothing_return2</title>
+  <synopsis><code mime="text/x-python">
 @returns([unicode])
 def test_gslist_nothing_return2():
     # Python wrapper for regress_test_gslist_nothing_return2()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def test_gslist_nothing_return2():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_null_in.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_null_in.page
index b017466..d6872af 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_null_in.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_null_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_gslist_null_in</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_gslist_null_in</title>
+  <synopsis><code mime="text/x-python">
 @accepts([unicode])
 @returns(none)
 def test_gslist_null_in(in):
     # Python wrapper for regress_test_gslist_null_in()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -42,6 +34,4 @@ def test_gslist_null_in(in):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_null_out.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_null_out.page
index 24ef27f..2bdeb03 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_null_out.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_null_out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>out_list</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_gslist_null_out</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_gslist_null_out</title>
+  <synopsis><code mime="text/x-python">
 @accepts([unicode])
 @returns(none)
 def test_gslist_null_out(out_list):
     # Python wrapper for regress_test_gslist_null_out()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>out_list</code></title>
@@ -42,6 +34,4 @@ def test_gslist_null_out(out_list):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_gtype.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gtype.page
index 38ffb44..3f936fd 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_gtype.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gtype.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_gtype</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_gtype</title>
+  <synopsis><code mime="text/x-python">
 @accepts(GType)
 @returns(GType)
 def test_gtype(in):
     # Python wrapper for regress_test_gtype()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -46,6 +38,4 @@ def test_gtype(in):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_gvariant_as.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gvariant_as.page
index f4c4cd8..b2bd44b 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_gvariant_as.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gvariant_as.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_gvariant_as</api:name>
     </api:function>
-
   </info>
-  <title>Index.test_gvariant_as</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_gvariant_as</title>
+  <synopsis><code mime="text/x-python">
 @returns(GLib.Variant)
 def test_gvariant_as():
     # Python wrapper for regress_test_gvariant_as()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def test_gvariant_as():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_gvariant_asv.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gvariant_asv.page
index 8357191..dbb9c2b 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_gvariant_asv.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gvariant_asv.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_gvariant_asv</api:name>
     </api:function>
-
   </info>
-  <title>Index.test_gvariant_asv</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_gvariant_asv</title>
+  <synopsis><code mime="text/x-python">
 @returns(GLib.Variant)
 def test_gvariant_asv():
     # Python wrapper for regress_test_gvariant_asv()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def test_gvariant_asv():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_gvariant_i.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gvariant_i.page
index c0db460..238b002 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_gvariant_i.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gvariant_i.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_gvariant_i</api:name>
     </api:function>
-
   </info>
-  <title>Index.test_gvariant_i</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_gvariant_i</title>
+  <synopsis><code mime="text/x-python">
 @returns(GLib.Variant)
 def test_gvariant_i():
     # Python wrapper for regress_test_gvariant_i()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def test_gvariant_i():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_gvariant_s.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gvariant_s.page
index 454fc8a..f360849 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_gvariant_s.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gvariant_s.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_gvariant_s</api:name>
     </api:function>
-
   </info>
-  <title>Index.test_gvariant_s</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_gvariant_s</title>
+  <synopsis><code mime="text/x-python">
 @returns(GLib.Variant)
 def test_gvariant_s():
     # Python wrapper for regress_test_gvariant_s()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def test_gvariant_s():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_gvariant_v.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gvariant_v.page
index e8a6c00..d13b7a1 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_gvariant_v.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gvariant_v.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_gvariant_v</api:name>
     </api:function>
-
   </info>
-  <title>Index.test_gvariant_v</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_gvariant_v</title>
+  <synopsis><code mime="text/x-python">
 @returns(GLib.Variant)
 def test_gvariant_v():
     # Python wrapper for regress_test_gvariant_v()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def test_gvariant_v():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_hash_table_callback.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_hash_table_callback.page
index 2f8ebcb..1264f29 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_hash_table_callback.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_hash_table_callback.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,27 +21,20 @@
         <api:name>callback</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_hash_table_callback</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_hash_table_callback</title>
+  <synopsis><code mime="text/x-python">
 @accepts({unicode: int}, Regress.TestCallbackHashtable)
 @returns(none)
 def test_hash_table_callback(data, callback):
     # Python wrapper for regress_test_hash_table_callback()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>data</code></title>
-<p>GHashTable that gets passed to callback</p>
+  <p>GHashTable that gets passed to callback</p>
 </item>
 <item>
 <title><code>callback</code></title>
@@ -50,6 +42,4 @@ def test_hash_table_callback(data, callback):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_int.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_int.page
index d039883..b695f1b 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_int.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_int.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_int</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_int</title>
+  <synopsis><code mime="text/x-python">
 @accepts(int)
 @returns(int)
 def test_int(in):
     # Python wrapper for regress_test_int()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -46,6 +38,4 @@ def test_int(in):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_int16.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_int16.page
index 7e99517..23cd04f 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_int16.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_int16.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_int16</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_int16</title>
+  <synopsis><code mime="text/x-python">
 @accepts(gint16)
 @returns(gint16)
 def test_int16(in):
     # Python wrapper for regress_test_int16()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -46,6 +38,4 @@ def test_int16(in):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_int32.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_int32.page
index 03e5c07..7f69a51 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_int32.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_int32.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_int32</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_int32</title>
+  <synopsis><code mime="text/x-python">
 @accepts(gint32)
 @returns(gint32)
 def test_int32(in):
     # Python wrapper for regress_test_int32()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -46,6 +38,4 @@ def test_int32(in):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_int64.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_int64.page
index 645792c..94b67ed 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_int64.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_int64.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_int64</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_int64</title>
+  <synopsis><code mime="text/x-python">
 @accepts(int)
 @returns(int)
 def test_int64(in):
     # Python wrapper for regress_test_int64()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -46,6 +38,4 @@ def test_int64(in):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_int8.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_int8.page
index c733d1b..80c27ed 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_int8.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_int8.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_int8</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_int8</title>
+  <synopsis><code mime="text/x-python">
 @accepts(gint8)
 @returns(gint8)
 def test_int8(in):
     # Python wrapper for regress_test_int8()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -46,6 +38,4 @@ def test_int8(in):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_int_out_utf8.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_int_out_utf8.page
index f43f0bc..1123838 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_int_out_utf8.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_int_out_utf8.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,23 +21,16 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_int_out_utf8</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_int_out_utf8</title>
+  <synopsis><code mime="text/x-python">
 @accepts(int, unicode)
 @returns(none)
 def test_int_out_utf8(length, in):
     # Python wrapper for regress_test_int_out_utf8()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>length</code></title>
@@ -50,6 +42,4 @@ def test_int_out_utf8(length, in):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_int_value_arg.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_int_value_arg.page
index d7210b5..b759240 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_int_value_arg.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_int_value_arg.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>v</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_int_value_arg</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_int_value_arg</title>
+  <synopsis><code mime="text/x-python">
 @accepts(GObject.Value)
 @returns(int)
 def test_int_value_arg(v):
     # Python wrapper for regress_test_int_value_arg()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>v</code></title>
@@ -46,6 +38,4 @@ def test_int_value_arg(v):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_long.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_long.page
index 147cae2..bef24f9 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_long.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_long.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_long</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_long</title>
+  <synopsis><code mime="text/x-python">
 @accepts(int)
 @returns(int)
 def test_long(in):
     # Python wrapper for regress_test_long()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -46,6 +38,4 @@ def test_long(in):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_multi_callback.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_multi_callback.page
index c195b82..9f25f97 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_multi_callback.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_multi_callback.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>callback</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_multi_callback</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_multi_callback</title>
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestCallback)
 @returns(int)
 def test_multi_callback(callback):
     # Python wrapper for regress_test_multi_callback()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>callback</code></title>
@@ -46,6 +38,4 @@ def test_multi_callback(callback):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_multi_double_args.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_multi_double_args.page
index 7946d57..ee94e27 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_multi_double_args.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_multi_double_args.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -26,23 +25,16 @@
         <api:name>two</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_multi_double_args</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_multi_double_args</title>
+  <synopsis><code mime="text/x-python">
 @accepts(float, float, float)
 @returns(none)
 def test_multi_double_args(in, one, two):
     # Python wrapper for regress_test_multi_double_args()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -58,6 +50,4 @@ def test_multi_double_args(in, one, two):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_multiline_doc_comments.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_multiline_doc_comments.page
index 2516138..80ec8cd 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_multiline_doc_comments.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_multiline_doc_comments.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,25 +13,16 @@
       </api:returns>
       <api:name>regress_test_multiline_doc_comments</api:name>
     </api:function>
-
   </info>
-  <title>Index.test_multiline_doc_comments</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_multiline_doc_comments</title>
+  <synopsis><code mime="text/x-python">
 @returns(none)
 def test_multiline_doc_comments():
     # Python wrapper for regress_test_multiline_doc_comments()
-</code></synopsis>
+  </code></synopsis>
+  <p>This is a function.</p>  <p>It has multiple lines in the documentation.</p>  <p>The sky is blue.</p>  
<p>You will give me your credit card number.</p>
 
-  
-    <p>This is a function.</p><p>It has multiple lines in the documentation.</p><p>The sky is 
blue.</p><p>You will give me your credit card number.</p>
-  
-  
-  
-  
 <terms>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_nested_parameter.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_nested_parameter.page
index 98c1fd3..c386b91 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_nested_parameter.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_nested_parameter.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,19 +17,15 @@
         <api:name>a</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_nested_parameter</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_nested_parameter</title>
+  <synopsis><code mime="text/x-python">
 @accepts(int)
 @returns(none)
 def test_nested_parameter(a):
     # Python wrapper for regress_test_nested_parameter()
-</code></synopsis>
-
-  
-    <p>&lt;informaltable&gt;
+  </code></synopsis>
+  <p>&lt;informaltable&gt;
   &lt;tgroup cols="3"&gt;
     &lt;thead&gt;
       &lt;row&gt;
@@ -55,18 +50,13 @@ rgb(20%, 30%, 0%)&lt;/literallayout&gt;&lt;/entry&gt;
       &lt;/row&gt;
    &lt;/tbody&gt;
  &lt;/tgroup&gt;
-&lt;/informaltable&gt;</p><p>What we're testing here is that the scanner ignores the <code>a</code> nested 
inside XML.</p>
-  
-  
-  
-  
+&lt;/informaltable&gt;</p>  <p>What we're testing here is that the scanner ignores the <code>a</code> nested 
inside XML.</p>
+
 <terms>
 <item>
 <title><code>a</code></title>
-<p>An integer</p>
+  <p>An integer</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_null_gerror_callback.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_null_gerror_callback.page
index cdb1b92..5c71e87 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_null_gerror_callback.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_null_gerror_callback.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>callback</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_null_gerror_callback</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_null_gerror_callback</title>
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestCallbackGError)
 @returns(none)
 def test_null_gerror_callback(callback):
     # Python wrapper for regress_test_null_gerror_callback()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>callback</code></title>
@@ -42,6 +34,4 @@ def test_null_gerror_callback(callback):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_owned_gerror_callback.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_owned_gerror_callback.page
index f33b39e..882083e 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_owned_gerror_callback.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_owned_gerror_callback.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>callback</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_owned_gerror_callback</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_owned_gerror_callback</title>
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestCallbackOwnedGError)
 @returns(none)
 def test_owned_gerror_callback(callback):
     # Python wrapper for regress_test_owned_gerror_callback()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>callback</code></title>
@@ -42,6 +34,4 @@ def test_owned_gerror_callback(callback):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_short.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_short.page
index e2f4563..5deeb7d 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_short.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_short.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_short</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_short</title>
+  <synopsis><code mime="text/x-python">
 @accepts(gshort)
 @returns(gshort)
 def test_short(in):
     # Python wrapper for regress_test_short()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -46,6 +38,4 @@ def test_short(in):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_simple_callback.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_simple_callback.page
index a9fa29c..4a5da37 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_simple_callback.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_simple_callback.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>callback</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_simple_callback</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_simple_callback</title>
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestSimpleCallback)
 @returns(none)
 def test_simple_callback(callback):
     # Python wrapper for regress_test_simple_callback()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>callback</code></title>
@@ -42,6 +34,4 @@ def test_simple_callback(callback):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_size.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_size.page
index 7935c21..fb761b3 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_size.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_size.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_size</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_size</title>
+  <synopsis><code mime="text/x-python">
 @accepts(gsize)
 @returns(gsize)
 def test_size(in):
     # Python wrapper for regress_test_size()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -46,6 +38,4 @@ def test_size(in):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_ssize.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ssize.page
index 47fe2cd..a681b17 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_ssize.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ssize.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_ssize</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_ssize</title>
+  <synopsis><code mime="text/x-python">
 @accepts(gssize)
 @returns(gssize)
 def test_ssize(in):
     # Python wrapper for regress_test_ssize()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -46,6 +38,4 @@ def test_ssize(in):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_strv_in.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_strv_in.page
index 1121a7d..f70904d 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_strv_in.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_strv_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>arr</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_strv_in</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_strv_in</title>
+  <synopsis><code mime="text/x-python">
 @accepts([unicode])
 @returns(bool)
 def test_strv_in(arr):
     # Python wrapper for regress_test_strv_in()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>arr</code></title>
@@ -46,6 +38,4 @@ def test_strv_in(arr):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_strv_in_gvalue.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_strv_in_gvalue.page
index fcffe1b..6481456 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_strv_in_gvalue.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_strv_in_gvalue.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_strv_in_gvalue</api:name>
     </api:function>
-
   </info>
-  <title>Index.test_strv_in_gvalue</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_strv_in_gvalue</title>
+  <synopsis><code mime="text/x-python">
 @returns(GObject.Value)
 def test_strv_in_gvalue():
     # Python wrapper for regress_test_strv_in_gvalue()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def test_strv_in_gvalue():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_strv_out.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_strv_out.page
index eea084c..0c69875 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_strv_out.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_strv_out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_strv_out</api:name>
     </api:function>
-
   </info>
-  <title>Index.test_strv_out</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_strv_out</title>
+  <synopsis><code mime="text/x-python">
 @returns([unicode])
 def test_strv_out():
     # Python wrapper for regress_test_strv_out()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def test_strv_out():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_strv_out_c.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_strv_out_c.page
index c800fa0..bce768a 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_strv_out_c.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_strv_out_c.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_strv_out_c</api:name>
     </api:function>
-
   </info>
-  <title>Index.test_strv_out_c</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_strv_out_c</title>
+  <synopsis><code mime="text/x-python">
 @returns([unicode])
 def test_strv_out_c():
     # Python wrapper for regress_test_strv_out_c()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def test_strv_out_c():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_strv_out_container.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_strv_out_container.page
index 69f6c56..4f8a906 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_strv_out_container.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_strv_out_container.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_strv_out_container</api:name>
     </api:function>
-
   </info>
-  <title>Index.test_strv_out_container</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_strv_out_container</title>
+  <synopsis><code mime="text/x-python">
 @returns([unicode])
 def test_strv_out_container():
     # Python wrapper for regress_test_strv_out_container()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def test_strv_out_container():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_strv_outarg.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_strv_outarg.page
index 3624f8a..cf37489 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_strv_outarg.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_strv_outarg.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>retp</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_strv_outarg</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_strv_outarg</title>
+  <synopsis><code mime="text/x-python">
 @accepts([unicode])
 @returns(none)
 def test_strv_outarg(retp):
     # Python wrapper for regress_test_strv_outarg()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>retp</code></title>
@@ -42,6 +34,4 @@ def test_strv_outarg(retp):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_timet.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_timet.page
index 5169828..7ba8fe5 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_timet.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_timet.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_timet</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_timet</title>
+  <synopsis><code mime="text/x-python">
 @accepts(int)
 @returns(int)
 def test_timet(in):
     # Python wrapper for regress_test_timet()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -46,6 +38,4 @@ def test_timet(in):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_torture_signature_0.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_torture_signature_0.page
index 7875a81..0f2413f 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_torture_signature_0.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_torture_signature_0.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -38,23 +37,16 @@
         <api:name>m</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_torture_signature_0</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_torture_signature_0</title>
+  <synopsis><code mime="text/x-python">
 @accepts(int, float, int, unicode, int, int)
 @returns(none)
 def test_torture_signature_0(x, y, z, foo, q, m):
     # Python wrapper for regress_test_torture_signature_0()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>x</code></title>
@@ -82,6 +74,4 @@ def test_torture_signature_0(x, y, z, foo, q, m):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_torture_signature_1.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_torture_signature_1.page
index 6a499a5..8a99c2c 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_torture_signature_1.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_torture_signature_1.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -38,23 +37,16 @@
         <api:name>m</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_torture_signature_1</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_torture_signature_1</title>
+  <synopsis><code mime="text/x-python">
 @accepts(int, float, int, unicode, int, int)
 @returns(bool)
 def test_torture_signature_1(x, y, z, foo, q, m):
     # Python wrapper for regress_test_torture_signature_1()
-</code></synopsis>
+  </code></synopsis>
+  <p>This function throws an error if m is odd.</p>
 
-  
-    <p>This function throws an error if m is odd.</p>
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>x</code></title>
@@ -86,6 +78,4 @@ def test_torture_signature_1(x, y, z, foo, q, m):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_torture_signature_2.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_torture_signature_2.page
index 01f7778..f982841 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_torture_signature_2.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_torture_signature_2.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -50,23 +49,16 @@
         <api:name>m</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_torture_signature_2</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_torture_signature_2</title>
+  <synopsis><code mime="text/x-python">
 @accepts(int, Regress.TestCallbackUserData, gpointer, GLib.DestroyNotify, float, int, unicode, int, int)
 @returns(none)
 def test_torture_signature_2(x, callback, user_data, notify, y, z, foo, q, m):
     # Python wrapper for regress_test_torture_signature_2()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>x</code></title>
@@ -106,6 +98,4 @@ def test_torture_signature_2(x, callback, user_data, notify, y, z, foo, q, m):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_uint.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_uint.page
index f6943c0..d4bcf56 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_uint.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_uint.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_uint</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_uint</title>
+  <synopsis><code mime="text/x-python">
 @accepts(int)
 @returns(int)
 def test_uint(in):
     # Python wrapper for regress_test_uint()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -46,6 +38,4 @@ def test_uint(in):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_uint16.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_uint16.page
index 5ace288..181beae 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_uint16.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_uint16.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_uint16</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_uint16</title>
+  <synopsis><code mime="text/x-python">
 @accepts(guint16)
 @returns(guint16)
 def test_uint16(in):
     # Python wrapper for regress_test_uint16()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -46,6 +38,4 @@ def test_uint16(in):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_uint32.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_uint32.page
index 084d619..ea052bc 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_uint32.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_uint32.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_uint32</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_uint32</title>
+  <synopsis><code mime="text/x-python">
 @accepts(guint32)
 @returns(guint32)
 def test_uint32(in):
     # Python wrapper for regress_test_uint32()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -46,6 +38,4 @@ def test_uint32(in):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_uint64.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_uint64.page
index b2234a3..63841e4 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_uint64.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_uint64.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_uint64</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_uint64</title>
+  <synopsis><code mime="text/x-python">
 @accepts(int)
 @returns(int)
 def test_uint64(in):
     # Python wrapper for regress_test_uint64()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -46,6 +38,4 @@ def test_uint64(in):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_uint8.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_uint8.page
index 94e367b..377cf5d 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_uint8.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_uint8.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_uint8</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_uint8</title>
+  <synopsis><code mime="text/x-python">
 @accepts(guint8)
 @returns(guint8)
 def test_uint8(in):
     # Python wrapper for regress_test_uint8()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -46,6 +38,4 @@ def test_uint8(in):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_ulong.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ulong.page
index dc98e47..10e75d9 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_ulong.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ulong.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_ulong</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_ulong</title>
+  <synopsis><code mime="text/x-python">
 @accepts(int)
 @returns(int)
 def test_ulong(in):
     # Python wrapper for regress_test_ulong()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -46,6 +38,4 @@ def test_ulong(in):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_unichar.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_unichar.page
index abc373e..4fe338d 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_unichar.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_unichar.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_unichar</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_unichar</title>
+  <synopsis><code mime="text/x-python">
 @accepts(unicode)
 @returns(unicode)
 def test_unichar(in):
     # Python wrapper for regress_test_unichar()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -46,6 +38,4 @@ def test_unichar(in):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_unsigned_enum_param.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_unsigned_enum_param.page
index eb7ff64..0a99c9a 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_unsigned_enum_param.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_unsigned_enum_param.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>e</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_unsigned_enum_param</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_unsigned_enum_param</title>
+  <synopsis><code mime="text/x-python">
 @accepts(Regress.TestEnumUnsigned)
 @returns(unicode)
 def test_unsigned_enum_param(e):
     # Python wrapper for regress_test_unsigned_enum_param()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>e</code></title>
@@ -46,6 +38,4 @@ def test_unsigned_enum_param(e):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_ushort.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ushort.page
index 4bebadc..383547a 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_ushort.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ushort.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_ushort</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_ushort</title>
+  <synopsis><code mime="text/x-python">
 @accepts(gushort)
 @returns(gushort)
 def test_ushort(in):
     # Python wrapper for regress_test_ushort()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -46,6 +38,4 @@ def test_ushort(in):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_const_in.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_const_in.page
index 4d4ff1a..05eb0d4 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_const_in.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_const_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_utf8_const_in</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_utf8_const_in</title>
+  <synopsis><code mime="text/x-python">
 @accepts(unicode)
 @returns(none)
 def test_utf8_const_in(in):
     # Python wrapper for regress_test_utf8_const_in()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -42,6 +34,4 @@ def test_utf8_const_in(in):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_const_return.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_const_return.page
index 7149eac..04c7325 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_const_return.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_const_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_utf8_const_return</api:name>
     </api:function>
-
   </info>
-  <title>Index.test_utf8_const_return</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_utf8_const_return</title>
+  <synopsis><code mime="text/x-python">
 @returns(unicode)
 def test_utf8_const_return():
     # Python wrapper for regress_test_utf8_const_return()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def test_utf8_const_return():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_inout.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_inout.page
index 28ecfc2..a47d745 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_inout.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_inout.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>inout</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_utf8_inout</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_utf8_inout</title>
+  <synopsis><code mime="text/x-python">
 @accepts(unicode)
 @returns(none)
 def test_utf8_inout(inout):
     # Python wrapper for regress_test_utf8_inout()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>inout</code></title>
@@ -42,6 +34,4 @@ def test_utf8_inout(inout):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_nonconst_return.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_nonconst_return.page
index 1d1be7d..82bc903 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_nonconst_return.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_nonconst_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,22 +13,15 @@
       </api:returns>
       <api:name>regress_test_utf8_nonconst_return</api:name>
     </api:function>
-
   </info>
-  <title>Index.test_utf8_nonconst_return</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_utf8_nonconst_return</title>
+  <synopsis><code mime="text/x-python">
 @returns(unicode)
 def test_utf8_nonconst_return():
     # Python wrapper for regress_test_utf8_nonconst_return()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>Returns</code></title>
@@ -37,6 +29,4 @@ def test_utf8_nonconst_return():
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_null_in.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_null_in.page
index 8074caf..8f01c44 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_null_in.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_null_in.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>in</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_utf8_null_in</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_utf8_null_in</title>
+  <synopsis><code mime="text/x-python">
 @accepts(unicode)
 @returns(none)
 def test_utf8_null_in(in):
     # Python wrapper for regress_test_utf8_null_in()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>in</code></title>
@@ -42,6 +34,4 @@ def test_utf8_null_in(in):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_null_out.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_null_out.page
index da98d74..0beedb3 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_null_out.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_null_out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>char_out</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_utf8_null_out</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_utf8_null_out</title>
+  <synopsis><code mime="text/x-python">
 @accepts(unicode)
 @returns(none)
 def test_utf8_null_out(char_out):
     # Python wrapper for regress_test_utf8_null_out()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>char_out</code></title>
@@ -42,6 +34,4 @@ def test_utf8_null_out(char_out):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_out.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_out.page
index 3aa56f0..9fbf938 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_out.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,23 +17,16 @@
         <api:name>out</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_utf8_out</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_utf8_out</title>
+  <synopsis><code mime="text/x-python">
 @accepts(unicode)
 @returns(none)
 def test_utf8_out(out):
     # Python wrapper for regress_test_utf8_out()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>out</code></title>
@@ -42,6 +34,4 @@ def test_utf8_out(out):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_out_nonconst_return.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_out_nonconst_return.page
index 0b775cc..127c763 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_out_nonconst_return.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_out_nonconst_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,27 +17,20 @@
         <api:name>out</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_utf8_out_nonconst_return</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_utf8_out_nonconst_return</title>
+  <synopsis><code mime="text/x-python">
 @accepts(unicode)
 @returns(unicode)
 def test_utf8_out_nonconst_return(out):
     # Python wrapper for regress_test_utf8_out_nonconst_return()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>out</code></title>
-<p>a copy of "second"</p>
+  <p>a copy of "second"</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -46,6 +38,4 @@ def test_utf8_out_nonconst_return(out):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_out_out.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_out_out.page
index 5a6bc2e..a93227d 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_out_out.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_out_out.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -22,34 +21,25 @@
         <api:name>out1</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_utf8_out_out</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_utf8_out_out</title>
+  <synopsis><code mime="text/x-python">
 @accepts(unicode, unicode)
 @returns(none)
 def test_utf8_out_out(out0, out1):
     # Python wrapper for regress_test_utf8_out_out()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>out0</code></title>
-<p>a copy of "first"</p>
+  <p>a copy of "first"</p>
 </item>
 <item>
 <title><code>out1</code></title>
-<p>a copy of "second"</p>
+  <p>a copy of "second"</p>
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_value_return.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_value_return.page
index ef9f97e..d35a11a 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_value_return.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_value_return.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -18,27 +17,20 @@
         <api:name>i</api:name>
       </api:arg>
     </api:function>
-
   </info>
-  <title>Index.test_value_return</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_value_return</title>
+  <synopsis><code mime="text/x-python">
 @accepts(int)
 @returns(GObject.Value)
 def test_value_return(i):
     # Python wrapper for regress_test_value_return()
-</code></synopsis>
+  </code></synopsis>
+
 
-  
-    
-  
-  
-  
-  
 <terms>
 <item>
 <title><code>i</code></title>
-<p>an int</p>
+  <p>an int</p>
 </item>
 <item>
 <title><code>Returns</code></title>
@@ -46,6 +38,4 @@ def test_value_return(i):
 </item>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_versioning.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.test_versioning.page
index 847a5c3..de64f26 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.test_versioning.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_versioning.page
@@ -6,7 +6,6 @@
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
   <info>
-    
     <link xref="index" group="function" type="guide"/>
     <api:function>
       <api:returns>
@@ -14,26 +13,16 @@
       </api:returns>
       <api:name>regress_test_versioning</api:name>
     </api:function>
-
   </info>
-  <title>Index.test_versioning</title>
-  
-<synopsis><code mime="text/x-python">
+  <title>Regress.test_versioning</title>
+  <synopsis><code mime="text/x-python">
 @returns(none)
 def test_versioning():
     # Python wrapper for regress_test_versioning()
-</code></synopsis>
+  </code></synopsis>
 
-  
-    
-  
-  
-    <p>Since 1.32.1</p>
-  
-  
+  <p>Since 1.32.1</p>
 <terms>
 </terms>
 
-  
-  
 </page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/index.page 
b/tests/scanner/Regress-1.0-Python-expected/index.page
index a5426d8..426ebed 100644
--- a/tests/scanner/Regress-1.0-Python-expected/index.page
+++ b/tests/scanner/Regress-1.0-Python-expected/index.page
@@ -5,21 +5,9 @@
       xmlns="http://projectmallard.org/1.0/";
       xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/1.0/ui/";>
-  <info>
-    
-
-  </info>
-  <title>Index</title>
-  
-  
-  
-
-  
-
-  
-  
-  
-  <links type="topic" ui:expanded="true" groups="class" style="linklist">
+  <info>  </info>
+  <title>Regress</title>
+  <links type="topic" ui:expanded="true" groups="class interface" style="linklist">
     <title>Classes</title>
   </links>
   <links type="topic" ui:expanded="true" groups="function" style="linklist">



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]